/*
 * Copyright (C) 2009 Red Hat <nfs@redhat.com>
 * support/include/v4root.h
 *
 * Support routines for dynamic pseudo roots.
 *
 */

#ifndef V4ROOT_H
#define V4ROOT_H

extern int v4root_needed;
extern void v4root_set(void);

#endif /* V4ROOT_H */
