/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _NFS_H_RPCGEN
#define _NFS_H_RPCGEN

#include "xdr_impl.h"


#ifdef __cplusplus
extern "C" {
#endif

#define NFS3_FHSIZE 64
#define NFS3_WRITEVERFSIZE 8
#define NFS3_CREATEVERFSIZE 8
#define NFS3_COOKIEVERFSIZE 8

typedef char cookieverf3[NFS3_COOKIEVERFSIZE];

typedef uint64_t cookie3;

typedef xdr_string_t nfs_fh3;

typedef xdr_string_t filename3;

struct diropargs3 {
	nfs_fh3 dir;
	filename3 name;
};
typedef struct diropargs3 diropargs3;

enum ftype3 {
	NF3REG = 1,
	NF3DIR = 2,
	NF3BLK = 3,
	NF3CHR = 4,
	NF3LNK = 5,
	NF3SOCK = 6,
	NF3FIFO = 7,
};
typedef enum ftype3 ftype3;

typedef u_int mode3;

typedef u_int uid3;

typedef u_int gid3;

typedef uint64_t size3;

typedef uint64_t fileid3;

struct specdata3 {
	u_int specdata1;
	u_int specdata2;
};
typedef struct specdata3 specdata3;

struct nfstime3 {
	u_int seconds;
	u_int nseconds;
};
typedef struct nfstime3 nfstime3;

struct fattr3 {
	ftype3 type;
	mode3 mode;
	u_int nlink;
	uid3 uid;
	gid3 gid;
	size3 size;
	size3 used;
	specdata3 rdev;
	uint64_t fsid;
	fileid3 fileid;
	nfstime3 atime;
	nfstime3 mtime;
	nfstime3 ctime;
};
typedef struct fattr3 fattr3;

struct post_op_attr {
	bool_t attributes_follow;
	union {
		fattr3 attributes;
	};
};
typedef struct post_op_attr post_op_attr;

enum nfsstat3 {
	NFS3_OK = 0,
	NFS3ERR_PERM = 1,
	NFS3ERR_NOENT = 2,
	NFS3ERR_IO = 5,
	NFS3ERR_NXIO = 6,
	NFS3ERR_ACCES = 13,
	NFS3ERR_EXIST = 17,
	NFS3ERR_XDEV = 18,
	NFS3ERR_NODEV = 19,
	NFS3ERR_NOTDIR = 20,
	NFS3ERR_ISDIR = 21,
	NFS3ERR_INVAL = 22,
	NFS3ERR_FBIG = 27,
	NFS3ERR_NOSPC = 28,
	NFS3ERR_ROFS = 30,
	NFS3ERR_MLINK = 31,
	NFS3ERR_NAMETOOLONG = 63,
	NFS3ERR_NOTEMPTY = 66,
	NFS3ERR_DQUOT = 69,
	NFS3ERR_STALE = 70,
	NFS3ERR_REMOTE = 71,
	NFS3ERR_BADHANDLE = 10001,
	NFS3ERR_NOT_SYNC = 10002,
	NFS3ERR_BAD_COOKIE = 10003,
	NFS3ERR_NOTSUPP = 10004,
	NFS3ERR_TOOSMALL = 10005,
	NFS3ERR_SERVERFAULT = 10006,
	NFS3ERR_BADTYPE = 10007,
	NFS3ERR_JUKEBOX = 10008,
};
typedef enum nfsstat3 nfsstat3;

enum stable_how {
	UNSTABLE = 0,
	DATA_SYNC = 1,
	FILE_SYNC = 2,
};
typedef enum stable_how stable_how;

typedef uint64_t offset3;

typedef u_int count3;

struct wcc_attr {
	size3 size;
	nfstime3 mtime;
	nfstime3 ctime;
};
typedef struct wcc_attr wcc_attr;

struct pre_op_attr {
	bool_t attributes_follow;
	union {
		wcc_attr attributes;
	};
};
typedef struct pre_op_attr pre_op_attr;

struct wcc_data {
	pre_op_attr before;
	post_op_attr after;
};
typedef struct wcc_data wcc_data;

struct WRITE3args {
	nfs_fh3 file;
	offset3 offset;
	count3 count;
	stable_how stable;
	xdr_string_t data;
};
typedef struct WRITE3args WRITE3args;

typedef char writeverf3[NFS3_WRITEVERFSIZE];

struct WRITE3resok {
	wcc_data file_wcc;
	count3 count;
	stable_how committed;
	writeverf3 verf;
};
typedef struct WRITE3resok WRITE3resok;

struct WRITE3resfail {
	wcc_data file_wcc;
};
typedef struct WRITE3resfail WRITE3resfail;

struct WRITE3res {
	nfsstat3 status;
	union {
		WRITE3resok resok;
		WRITE3resfail resfail;
	};
};
typedef struct WRITE3res WRITE3res;

struct LOOKUP3args {
	diropargs3 what;
};
typedef struct LOOKUP3args LOOKUP3args;

struct LOOKUP3resok {
	nfs_fh3 object;
	post_op_attr obj_attributes;
	post_op_attr dir_attributes;
};
typedef struct LOOKUP3resok LOOKUP3resok;

struct LOOKUP3resfail {
	post_op_attr dir_attributes;
};
typedef struct LOOKUP3resfail LOOKUP3resfail;

struct LOOKUP3res {
	nfsstat3 status;
	union {
		LOOKUP3resok resok;
		LOOKUP3resfail resfail;
	};
};
typedef struct LOOKUP3res LOOKUP3res;

struct COMMIT3args {
	nfs_fh3 file;
	offset3 offset;
	count3 count;
};
typedef struct COMMIT3args COMMIT3args;

struct COMMIT3resok {
	wcc_data file_wcc;
	writeverf3 verf;
};
typedef struct COMMIT3resok COMMIT3resok;

struct COMMIT3resfail {
	wcc_data file_wcc;
};
typedef struct COMMIT3resfail COMMIT3resfail;

struct COMMIT3res {
	nfsstat3 status;
	union {
		COMMIT3resok resok;
		COMMIT3resfail resfail;
	};
};
typedef struct COMMIT3res COMMIT3res;
#define ACCESS3_READ 0x0001
#define ACCESS3_LOOKUP 0x0002
#define ACCESS3_MODIFY 0x0004
#define ACCESS3_EXTEND 0x0008
#define ACCESS3_DELETE 0x0010
#define ACCESS3_EXECUTE 0x0020

struct ACCESS3args {
	nfs_fh3 object;
	u_int access;
};
typedef struct ACCESS3args ACCESS3args;

struct ACCESS3resok {
	post_op_attr obj_attributes;
	u_int access;
};
typedef struct ACCESS3resok ACCESS3resok;

struct ACCESS3resfail {
	post_op_attr obj_attributes;
};
typedef struct ACCESS3resfail ACCESS3resfail;

struct ACCESS3res {
	nfsstat3 status;
	union {
		ACCESS3resok resok;
		ACCESS3resfail resfail;
	};
};
typedef struct ACCESS3res ACCESS3res;

struct GETATTR3args {
	nfs_fh3 object;
};
typedef struct GETATTR3args GETATTR3args;

struct GETATTR3resok {
	fattr3 obj_attributes;
};
typedef struct GETATTR3resok GETATTR3resok;

struct GETATTR3res {
	nfsstat3 status;
	union {
		GETATTR3resok resok;
	};
};
typedef struct GETATTR3res GETATTR3res;

enum time_how {
	DONT_CHANGE = 0,
	SET_TO_SERVER_TIME = 1,
	SET_TO_CLIENT_TIME = 2,
};
typedef enum time_how time_how;

struct set_mode3 {
	bool_t set_it;
	union {
		mode3 mode;
	};
};
typedef struct set_mode3 set_mode3;

struct set_uid3 {
	bool_t set_it;
	union {
		uid3 uid;
	};
};
typedef struct set_uid3 set_uid3;

struct set_gid3 {
	bool_t set_it;
	union {
		gid3 gid;
	};
};
typedef struct set_gid3 set_gid3;

struct set_size3 {
	bool_t set_it;
	union {
		size3 size;
	};
};
typedef struct set_size3 set_size3;

struct set_atime {
	time_how set_it;
	union {
		nfstime3 atime;
	};
};
typedef struct set_atime set_atime;

struct set_mtime {
	time_how set_it;
	union {
		nfstime3 mtime;
	};
};
typedef struct set_mtime set_mtime;

struct sattr3 {
	set_mode3 mode;
	set_uid3 uid;
	set_gid3 gid;
	set_size3 size;
	set_atime atime;
	set_mtime mtime;
};
typedef struct sattr3 sattr3;

enum createmode3 {
	NFS_UNCHECKED = 0,
	NFS_GUARDED = 1,
	NFS_EXCLUSIVE = 2,
};
typedef enum createmode3 createmode3;

typedef char createverf3[NFS3_CREATEVERFSIZE];

struct createhow3 {
	createmode3 mode;
	union {
		sattr3 obj_attributes;
		sattr3 g_obj_attributes;
		createverf3 verf;
	};
};
typedef struct createhow3 createhow3;

struct CREATE3args {
	diropargs3 where;
	createhow3 how;
};
typedef struct CREATE3args CREATE3args;

struct post_op_fh3 {
	bool_t handle_follows;
	union {
		nfs_fh3 handle;
	};
};
typedef struct post_op_fh3 post_op_fh3;

struct CREATE3resok {
	post_op_fh3 obj;
	post_op_attr obj_attributes;
	wcc_data dir_wcc;
};
typedef struct CREATE3resok CREATE3resok;

struct CREATE3resfail {
	wcc_data dir_wcc;
};
typedef struct CREATE3resfail CREATE3resfail;

struct CREATE3res {
	nfsstat3 status;
	union {
		CREATE3resok resok;
		CREATE3resfail resfail;
	};
};
typedef struct CREATE3res CREATE3res;

struct REMOVE3args {
	diropargs3 object;
};
typedef struct REMOVE3args REMOVE3args;

struct REMOVE3resok {
	wcc_data dir_wcc;
};
typedef struct REMOVE3resok REMOVE3resok;

struct REMOVE3resfail {
	wcc_data dir_wcc;
};
typedef struct REMOVE3resfail REMOVE3resfail;

struct REMOVE3res {
	nfsstat3 status;
	union {
		REMOVE3resok resok;
		REMOVE3resfail resfail;
	};
};
typedef struct REMOVE3res REMOVE3res;

struct READ3args {
	nfs_fh3 file;
	offset3 offset;
	count3 count;
};
typedef struct READ3args READ3args;

struct READ3resok {
	post_op_attr file_attributes;
	count3 count;
	bool_t eof;
	xdr_string_t data;
};
typedef struct READ3resok READ3resok;

struct READ3resfail {
	post_op_attr file_attributes;
};
typedef struct READ3resfail READ3resfail;

struct READ3res {
	nfsstat3 status;
	union {
		READ3resok resok;
		READ3resfail resfail;
	};
};
typedef struct READ3res READ3res;
#define FSF3_LINK 0x0001
#define FSF3_SYMLINK 0x0002
#define FSF3_HOMOGENEOUS 0x0008
#define FSF3_CANSETTIME 0x0010

struct FSINFO3args {
	nfs_fh3 fsroot;
};
typedef struct FSINFO3args FSINFO3args;

struct FSINFO3resok {
	post_op_attr obj_attributes;
	u_int rtmax;
	u_int rtpref;
	u_int rtmult;
	u_int wtmax;
	u_int wtpref;
	u_int wtmult;
	u_int dtpref;
	size3 maxfilesize;
	nfstime3 time_delta;
	u_int properties;
};
typedef struct FSINFO3resok FSINFO3resok;

struct FSINFO3resfail {
	post_op_attr obj_attributes;
};
typedef struct FSINFO3resfail FSINFO3resfail;

struct FSINFO3res {
	nfsstat3 status;
	union {
		FSINFO3resok resok;
		FSINFO3resfail resfail;
	};
};
typedef struct FSINFO3res FSINFO3res;

struct FSSTAT3args {
	nfs_fh3 fsroot;
};
typedef struct FSSTAT3args FSSTAT3args;

struct FSSTAT3resok {
	post_op_attr obj_attributes;
	size3 tbytes;
	size3 fbytes;
	size3 abytes;
	size3 tfiles;
	size3 ffiles;
	size3 afiles;
	u_int invarsec;
};
typedef struct FSSTAT3resok FSSTAT3resok;

struct FSSTAT3resfail {
	post_op_attr obj_attributes;
};
typedef struct FSSTAT3resfail FSSTAT3resfail;

struct FSSTAT3res {
	nfsstat3 status;
	union {
		FSSTAT3resok resok;
		FSSTAT3resfail resfail;
	};
};
typedef struct FSSTAT3res FSSTAT3res;

struct PATHCONF3args {
	nfs_fh3 object;
};
typedef struct PATHCONF3args PATHCONF3args;

struct PATHCONF3resok {
	post_op_attr obj_attributes;
	u_int linkmax;
	u_int name_max;
	bool_t no_trunc;
	bool_t chown_restricted;
	bool_t case_insensitive;
	bool_t case_preserving;
};
typedef struct PATHCONF3resok PATHCONF3resok;

struct PATHCONF3resfail {
	post_op_attr obj_attributes;
};
typedef struct PATHCONF3resfail PATHCONF3resfail;

struct PATHCONF3res {
	nfsstat3 status;
	union {
		PATHCONF3resok resok;
		PATHCONF3resfail resfail;
	};
};
typedef struct PATHCONF3res PATHCONF3res;

typedef xdr_string_t nfspath3;

struct symlinkdata3 {
	sattr3 symlink_attributes;
	nfspath3 symlink_data;
};
typedef struct symlinkdata3 symlinkdata3;

struct SYMLINK3args {
	diropargs3 where;
	symlinkdata3 symlink;
};
typedef struct SYMLINK3args SYMLINK3args;

struct SYMLINK3resok {
	post_op_fh3 obj;
	post_op_attr obj_attributes;
	wcc_data dir_wcc;
};
typedef struct SYMLINK3resok SYMLINK3resok;

struct SYMLINK3resfail {
	wcc_data dir_wcc;
};
typedef struct SYMLINK3resfail SYMLINK3resfail;

struct SYMLINK3res {
	nfsstat3 status;
	union {
		SYMLINK3resok resok;
		SYMLINK3resfail resfail;
	};
};
typedef struct SYMLINK3res SYMLINK3res;

struct READLINK3args {
	nfs_fh3 symlink;
};
typedef struct READLINK3args READLINK3args;

struct READLINK3resok {
	post_op_attr symlink_attributes;
	nfspath3 data;
};
typedef struct READLINK3resok READLINK3resok;

struct READLINK3resfail {
	post_op_attr symlink_attributes;
};
typedef struct READLINK3resfail READLINK3resfail;

struct READLINK3res {
	nfsstat3 status;
	union {
		READLINK3resok resok;
		READLINK3resfail resfail;
	};
};
typedef struct READLINK3res READLINK3res;

struct devicedata3 {
	sattr3 dev_attributes;
	specdata3 spec;
};
typedef struct devicedata3 devicedata3;

struct mknoddata3 {
	ftype3 type;
	union {
		devicedata3 chr_device;
		devicedata3 blk_device;
		sattr3 sock_attributes;
		sattr3 pipe_attributes;
	};
};
typedef struct mknoddata3 mknoddata3;

struct MKNOD3args {
	diropargs3 where;
	mknoddata3 what;
};
typedef struct MKNOD3args MKNOD3args;

struct MKNOD3resok {
	post_op_fh3 obj;
	post_op_attr obj_attributes;
	wcc_data dir_wcc;
};
typedef struct MKNOD3resok MKNOD3resok;

struct MKNOD3resfail {
	wcc_data dir_wcc;
};
typedef struct MKNOD3resfail MKNOD3resfail;

struct MKNOD3res {
	nfsstat3 status;
	union {
		MKNOD3resok resok;
		MKNOD3resfail resfail;
	};
};
typedef struct MKNOD3res MKNOD3res;

struct MKDIR3args {
	diropargs3 where;
	sattr3 attributes;
};
typedef struct MKDIR3args MKDIR3args;

struct MKDIR3resok {
	post_op_fh3 obj;
	post_op_attr obj_attributes;
	wcc_data dir_wcc;
};
typedef struct MKDIR3resok MKDIR3resok;

struct MKDIR3resfail {
	wcc_data dir_wcc;
};
typedef struct MKDIR3resfail MKDIR3resfail;

struct MKDIR3res {
	nfsstat3 status;
	union {
		MKDIR3resok resok;
		MKDIR3resfail resfail;
	};
};
typedef struct MKDIR3res MKDIR3res;

struct RMDIR3args {
	diropargs3 object;
};
typedef struct RMDIR3args RMDIR3args;

struct RMDIR3resok {
	wcc_data dir_wcc;
};
typedef struct RMDIR3resok RMDIR3resok;

struct RMDIR3resfail {
	wcc_data dir_wcc;
};
typedef struct RMDIR3resfail RMDIR3resfail;

struct RMDIR3res {
	nfsstat3 status;
	union {
		RMDIR3resok resok;
		RMDIR3resfail resfail;
	};
};
typedef struct RMDIR3res RMDIR3res;

struct RENAME3args {
	diropargs3 from;
	diropargs3 to;
};
typedef struct RENAME3args RENAME3args;

struct RENAME3resok {
	wcc_data fromdir_wcc;
	wcc_data todir_wcc;
};
typedef struct RENAME3resok RENAME3resok;

struct RENAME3resfail {
	wcc_data fromdir_wcc;
	wcc_data todir_wcc;
};
typedef struct RENAME3resfail RENAME3resfail;

struct RENAME3res {
	nfsstat3 status;
	union {
		RENAME3resok resok;
		RENAME3resfail resfail;
	};
};
typedef struct RENAME3res RENAME3res;

struct READDIRPLUS3args {
	nfs_fh3 dir;
	cookie3 cookie;
	cookieverf3 cookieverf;
	count3 dircount;
	count3 maxcount;
};
typedef struct READDIRPLUS3args READDIRPLUS3args;

struct entryplus3 {
	fileid3 fileid;
	filename3 name;
	cookie3 cookie;
	post_op_attr name_attributes;
	post_op_fh3 name_handle;
	struct entryplus3 *nextentry;
};
typedef struct entryplus3 entryplus3;

struct dirlistplus3 {
	entryplus3 *entries;
	bool_t eof;
};
typedef struct dirlistplus3 dirlistplus3;

struct READDIRPLUS3resok {
	post_op_attr dir_attributes;
	cookieverf3 cookieverf;
	dirlistplus3 reply;
};
typedef struct READDIRPLUS3resok READDIRPLUS3resok;

struct READDIRPLUS3resfail {
	post_op_attr dir_attributes;
};
typedef struct READDIRPLUS3resfail READDIRPLUS3resfail;

struct READDIRPLUS3res {
	nfsstat3 status;
	union {
		READDIRPLUS3resok resok;
		READDIRPLUS3resfail resfail;
	};
};
typedef struct READDIRPLUS3res READDIRPLUS3res;

struct READDIR3args {
	nfs_fh3 dir;
	cookie3 cookie;
	cookieverf3 cookieverf;
	count3 count;
};
typedef struct READDIR3args READDIR3args;

struct entry3 {
	fileid3 fileid;
	filename3 name;
	cookie3 cookie;
	struct entry3 *nextentry;
};
typedef struct entry3 entry3;

struct dirlist3 {
	entry3 *entries;
	bool_t eof;
};
typedef struct dirlist3 dirlist3;

struct READDIR3resok {
	post_op_attr dir_attributes;
	cookieverf3 cookieverf;
	dirlist3 reply;
};
typedef struct READDIR3resok READDIR3resok;

struct READDIR3resfail {
	post_op_attr dir_attributes;
};
typedef struct READDIR3resfail READDIR3resfail;

struct READDIR3res {
	nfsstat3 status;
	union {
		READDIR3resok resok;
		READDIR3resfail resfail;
	};
};
typedef struct READDIR3res READDIR3res;

struct LINK3args {
	nfs_fh3 file;
	diropargs3 link;
};
typedef struct LINK3args LINK3args;

struct LINK3resok {
	post_op_attr file_attributes;
	wcc_data linkdir_wcc;
};
typedef struct LINK3resok LINK3resok;

struct LINK3resfail {
	post_op_attr file_attributes;
	wcc_data linkdir_wcc;
};
typedef struct LINK3resfail LINK3resfail;

struct LINK3res {
	nfsstat3 status;
	union {
		LINK3resok resok;
		LINK3resfail resfail;
	};
};
typedef struct LINK3res LINK3res;

struct sattrguard3 {
	bool_t check;
	union {
		nfstime3 obj_ctime;
	};
};
typedef struct sattrguard3 sattrguard3;

struct SETATTR3args {
	nfs_fh3 object;
	sattr3 new_attributes;
	sattrguard3 guard;
};
typedef struct SETATTR3args SETATTR3args;

struct SETATTR3resok {
	wcc_data obj_wcc;
};
typedef struct SETATTR3resok SETATTR3resok;

struct SETATTR3resfail {
	wcc_data obj_wcc;
};
typedef struct SETATTR3resfail SETATTR3resfail;

struct SETATTR3res {
	nfsstat3 status;
	union {
		SETATTR3resok resok;
		SETATTR3resfail resfail;
	};
};
typedef struct SETATTR3res SETATTR3res;
#define FHSIZE2 32

typedef char fhandle2[FHSIZE2];

enum ftype2 {
	NF2NON = 0,
	NF2REG = 1,
	NF2DIR = 2,
	NF2BLK = 3,
	NF2CHR = 4,
	NF2LNK = 5,
};
typedef enum ftype2 ftype2;

struct fattr2 {
	ftype2 type;
	u_int mode;
	u_int nlink;
	u_int uid;
	u_int gid;
	u_int size;
	u_int blocksize;
	u_int rdev;
	u_int blocks;
	u_int fsid;
	u_int fileid;
	nfstime3 atime;
	nfstime3 mtime;
	nfstime3 ctime;
};
typedef struct fattr2 fattr2;

struct sattr2 {
	u_int mode;
	u_int uid;
	u_int gid;
	u_int size;
	nfstime3 atime;
	nfstime3 mtime;
};
typedef struct sattr2 sattr2;
#define MAXNAMLEN2 255

typedef xdr_string_t filename2;
#define MAXPATHLEN2 1024

typedef xdr_string_t path2;
#define NFSMAXDATA2 8192

typedef xdr_string_t nfsdata2;
#define NFSCOOKIESIZE2 4

typedef char nfscookie2[NFSCOOKIESIZE2];

struct entry2 {
	u_int fileid;
	filename2 name;
	nfscookie2 cookie;
	struct entry2 *nextentry;
};
typedef struct entry2 entry2;

struct diropargs2 {
	fhandle2 dir;
	filename2 name;
};
typedef struct diropargs2 diropargs2;

struct GETATTR2args {
	fhandle2 fhandle;
};
typedef struct GETATTR2args GETATTR2args;

struct GETATTR2resok {
	fattr2 attributes;
};
typedef struct GETATTR2resok GETATTR2resok;

struct GETATTR2res {
	nfsstat3 status;
	union {
		GETATTR2resok resok;
	};
};
typedef struct GETATTR2res GETATTR2res;

struct SETATTR2args {
	fhandle2 fhandle;
	sattr2 attributes;
};
typedef struct SETATTR2args SETATTR2args;

struct SETATTR2resok {
	fattr2 attributes;
};
typedef struct SETATTR2resok SETATTR2resok;

struct SETATTR2res {
	nfsstat3 status;
	union {
		SETATTR2resok resok;
	};
};
typedef struct SETATTR2res SETATTR2res;

struct LOOKUP2args {
	diropargs2 what;
};
typedef struct LOOKUP2args LOOKUP2args;

struct LOOKUP2resok {
	fhandle2 file;
	fattr2 attributes;
};
typedef struct LOOKUP2resok LOOKUP2resok;

struct LOOKUP2res {
	nfsstat3 status;
	union {
		LOOKUP2resok resok;
	};
};
typedef struct LOOKUP2res LOOKUP2res;

struct READLINK2args {
	fhandle2 file;
};
typedef struct READLINK2args READLINK2args;

struct READLINK2resok {
	path2 data;
};
typedef struct READLINK2resok READLINK2resok;

struct READLINK2res {
	nfsstat3 status;
	union {
		READLINK2resok resok;
	};
};
typedef struct READLINK2res READLINK2res;

struct READ2args {
	fhandle2 file;
	u_int offset;
	u_int count;
	u_int totalcount;
};
typedef struct READ2args READ2args;

struct READ2resok {
	fattr2 attributes;
	nfsdata2 data;
};
typedef struct READ2resok READ2resok;

struct READ2res {
	nfsstat3 status;
	union {
		READ2resok resok;
	};
};
typedef struct READ2res READ2res;

struct WRITE2args {
	fhandle2 file;
	u_int beginoffset;
	u_int offset;
	u_int totalcount;
	nfsdata2 data;
};
typedef struct WRITE2args WRITE2args;

struct WRITE2resok {
	fattr2 attributes;
};
typedef struct WRITE2resok WRITE2resok;

struct WRITE2res {
	nfsstat3 status;
	union {
		WRITE2resok resok;
	};
};
typedef struct WRITE2res WRITE2res;

struct CREATE2args {
	diropargs2 where;
	sattr2 attributes;
};
typedef struct CREATE2args CREATE2args;

struct CREATE2resok {
	fhandle2 file;
	fattr2 attributes;
};
typedef struct CREATE2resok CREATE2resok;

struct CREATE2res {
	nfsstat3 status;
	union {
		CREATE2resok resok;
	};
};
typedef struct CREATE2res CREATE2res;

struct REMOVE2args {
	diropargs2 what;
};
typedef struct REMOVE2args REMOVE2args;

struct REMOVE2res {
	nfsstat3 status;
};
typedef struct REMOVE2res REMOVE2res;

struct RENAME2args {
	diropargs2 from;
	diropargs2 to;
};
typedef struct RENAME2args RENAME2args;

struct RENAME2res {
	nfsstat3 status;
};
typedef struct RENAME2res RENAME2res;

struct LINK2args {
	fhandle2 from;
	diropargs2 to;
};
typedef struct LINK2args LINK2args;

struct LINK2res {
	nfsstat3 status;
};
typedef struct LINK2res LINK2res;

struct SYMLINK2args {
	diropargs2 from;
	path2 to;
	sattr2 attributes;
};
typedef struct SYMLINK2args SYMLINK2args;

struct SYMLINK2res {
	nfsstat3 status;
};
typedef struct SYMLINK2res SYMLINK2res;

struct MKDIR2args {
	diropargs2 where;
	sattr2 attributes;
};
typedef struct MKDIR2args MKDIR2args;

struct MKDIR2resok {
	fhandle2 file;
	fattr2 attributes;
};
typedef struct MKDIR2resok MKDIR2resok;

struct MKDIR2res {
	nfsstat3 status;
	union {
		MKDIR2resok resok;
	};
};
typedef struct MKDIR2res MKDIR2res;

struct RMDIR2args {
	diropargs2 what;
};
typedef struct RMDIR2args RMDIR2args;

struct RMDIR2res {
	nfsstat3 status;
};
typedef struct RMDIR2res RMDIR2res;

struct READDIR2args {
	fhandle2 dir;
	nfscookie2 cookie;
	u_int count;
};
typedef struct READDIR2args READDIR2args;

struct READDIR2resok {
	entry2 *entries;
	bool_t eof;
};
typedef struct READDIR2resok READDIR2resok;

struct READDIR2res {
	nfsstat3 status;
	union {
		READDIR2resok resok;
	};
};
typedef struct READDIR2res READDIR2res;

struct STATFS2args {
	fhandle2 dir;
};
typedef struct STATFS2args STATFS2args;

struct STATFS2resok {
	u_int tsize;
	u_int bsize;
	u_int blocks;
	u_int bfree;
	u_int bavail;
};
typedef struct STATFS2resok STATFS2resok;

struct STATFS2res {
	nfsstat3 status;
	union {
		STATFS2resok resok;
	};
};
typedef struct STATFS2res STATFS2res;

enum nfsacl_type {
	NFSACL_TYPE_USER_OBJ = 0x0001,
	NFSACL_TYPE_USER = 0x0002,
	NFSACL_TYPE_GROUP_OBJ = 0x0004,
	NFSACL_TYPE_GROUP = 0x0008,
	NFSACL_TYPE_CLASS_OBJ = 0x0010,
	NFSACL_TYPE_CLASS = 0x0020,
	NFSACL_TYPE_DEFAULT = 0x1000,
	NFSACL_TYPE_DEFAULT_USER_OBJ = 0x1001,
	NFSACL_TYPE_DEFAULT_USER = 0x1002,
	NFSACL_TYPE_DEFAULT_GROUP_OBJ = 0x1004,
	NFSACL_TYPE_DEFAULT_GROUP = 0x1008,
	NFSACL_TYPE_DEFAULT_CLASS_OBJ = 0x1010,
	NFSACL_TYPE_DEFAULT_OTHER_OBJ = 0x1020,
};
typedef enum nfsacl_type nfsacl_type;
#define NFSACL_PERM_READ 0x04
#define NFSACL_PERM_WRITE 0x02
#define NFSACL_PERM_EXEC 0x01

struct nfsacl_ace {
	enum nfsacl_type type;
	u_int id;
	u_int perm;
};
typedef struct nfsacl_ace nfsacl_ace;
#define NFSACL_MASK_ACL_ENTRY 0x0001
#define NFSACL_MASK_ACL_COUNT 0x0002
#define NFSACL_MASK_ACL_DEFAULT_ENTRY 0x0004
#define NFSACL_MASK_ACL_DEFAULT_COUNT 0x0008

struct GETACL3args {
	nfs_fh3 dir;
	u_int mask;
};
typedef struct GETACL3args GETACL3args;

struct GETACL3resok {
	post_op_attr attr;
	u_int mask;
	u_int ace_count;
	struct {
		u_int ace_len;
		struct nfsacl_ace *ace_val;
	} ace;
	u_int default_ace_count;
	struct {
		u_int default_ace_len;
		struct nfsacl_ace *default_ace_val;
	} default_ace;
};
typedef struct GETACL3resok GETACL3resok;

struct GETACL3res {
	nfsstat3 status;
	union {
		GETACL3resok resok;
	};
};
typedef struct GETACL3res GETACL3res;

struct SETACL3args {
	nfs_fh3 dir;
	u_int mask;
	u_int ace_count;
	struct {
		u_int ace_len;
		struct nfsacl_ace *ace_val;
	} ace;
	u_int default_ace_count;
	struct {
		u_int default_ace_len;
		struct nfsacl_ace *default_ace_val;
	} default_ace;
};
typedef struct SETACL3args SETACL3args;

struct SETACL3resok {
	post_op_attr attr;
};
typedef struct SETACL3resok SETACL3resok;

struct SETACL3res {
	nfsstat3 status;
	union {
		SETACL3resok resok;
	};
};
typedef struct SETACL3res SETACL3res;
#define MNTPATHLEN 1024
#define MNTNAMLEN 255

typedef xdr_string_t nfs_dirpath;

typedef xdr_string_t nfs_name;

enum nfs_mountstat3 {
	MNT3_OK = 0,
	MNT3ERR_PERM = 1,
	MNT3ERR_NOENT = 2,
	MNT3ERR_IO = 5,
	MNT3ERR_ACCES = 13,
	MNT3ERR_NOTDIR = 20,
	MNT3ERR_INVAL = 22,
	MNT3ERR_NAMETOOLONG = 63,
	MNT3ERR_NOTSUPP = 10004,
	MNT3ERR_SERVERFAULT = 10006,
};
typedef enum nfs_mountstat3 nfs_mountstat3;

typedef struct nfs_mountbody *nfs_mountlist;

struct nfs_mountbody {
	nfs_name ml_hostname;
	nfs_dirpath ml_directory;
	nfs_mountlist ml_next;
};
typedef struct nfs_mountbody nfs_mountbody;

typedef struct nfs_groupnode *nfs_groups;

struct nfs_groupnode {
	nfs_name gr_name;
	nfs_groups gr_next;
};
typedef struct nfs_groupnode nfs_groupnode;

typedef struct nfs_exportnode *nfs_exports;

struct nfs_exportnode {
	nfs_dirpath ex_dir;
	nfs_groups ex_groups;
	nfs_exports ex_next;
};
typedef struct nfs_exportnode nfs_exportnode;

struct nfs_mountres3_ok {
	nfs_fh3 fhandle;
	struct {
		u_int auth_flavors_len;
		u_int *auth_flavors_val;
	} auth_flavors;
};
typedef struct nfs_mountres3_ok nfs_mountres3_ok;

struct nfs_mountres3 {
	nfs_mountstat3 fhs_status;
	union {
		nfs_mountres3_ok mountinfo;
	};
};
typedef struct nfs_mountres3 nfs_mountres3;

enum nfs_mountstat1 {
	MNT1_OK = 0,
	MNT1ERR_PERM = 1,
	MNT1ERR_NOENT = 2,
	MNT1ERR_IO = 5,
	MNT1ERR_ACCES = 13,
	MNT1ERR_NOTDIR = 20,
	MNT1ERR_INVAL = 22,
	MNT1ERR_NAMETOOLONG = 63,
	MNT1ERR_NOTSUPP = 10004,
	MNT1ERR_SERVERFAULT = 10006,
};
typedef enum nfs_mountstat1 nfs_mountstat1;
#define FHSIZE 32

typedef char nfs_fhandle1[FHSIZE];

struct nfs_mountres1_ok {
	nfs_fhandle1 fhandle;
};
typedef struct nfs_mountres1_ok nfs_mountres1_ok;

struct nfs_mountres1 {
	nfs_mountstat1 fhs_status;
	union {
		nfs_mountres1_ok mountinfo;
	};
};
typedef struct nfs_mountres1 nfs_mountres1;

#define NFS_PROGRAM 100003
#define NFS_V2 2


#define NFS2_NULL 0
#define NFS2_GETATTR 1
#define NFS2_SETATTR 2
#define NFS2_LOOKUP 4
#define NFS2_READLINK 5
#define NFS2_READ 6
#define NFS2_WRITE 8
#define NFS2_CREATE 9
#define NFS2_REMOVE 10
#define NFS2_RENAME 11
#define NFS2_LINK 12
#define NFS2_SYMLINK 13
#define NFS2_MKDIR 14
#define NFS2_RMDIR 15
#define NFS2_READDIR 16
#define NFS2_STATFS 17

#define NFS_V3 3


#define NFS3_NULL 0
#define NFS3_GETATTR 1
#define NFS3_SETATTR 2
#define NFS3_LOOKUP 3
#define NFS3_ACCESS 4
#define NFS3_READLINK 5
#define NFS3_READ 6
#define NFS3_WRITE 7
#define NFS3_CREATE 8
#define NFS3_MKDIR 9
#define NFS3_SYMLINK 10
#define NFS3_MKNOD 11
#define NFS3_REMOVE 12
#define NFS3_RMDIR 13
#define NFS3_RENAME 14
#define NFS3_LINK 15
#define NFS3_READDIR 16
#define NFS3_READDIRPLUS 17
#define NFS3_FSSTAT 18
#define NFS3_FSINFO 19
#define NFS3_PATHCONF 20
#define NFS3_COMMIT 21


#define NFSACL_PROGRAM 100227
#define NFSACL_V3 3


#define NFSACL3_NULL 0
#define NFSACL3_GETACL 1
#define NFSACL3_SETACL 2


#define MOUNT_PROGRAM 100005
#define MOUNT_V1 1


#define MOUNT1_NULL 0
#define MOUNT1_MNT 1
#define MOUNT1_DUMP 2
#define MOUNT1_UMNT 3
#define MOUNT1_UMNTALL 4
#define MOUNT1_EXPORT 5

#define MOUNT_V3 3


#define MOUNT3_NULL 0
#define MOUNT3_MNT 1
#define MOUNT3_DUMP 2
#define MOUNT3_UMNT 3
#define MOUNT3_UMNTALL 4
#define MOUNT3_EXPORT 5


/* the xdr functions */


extern  bool_t xdr_cookieverf3 (XDR *, cookieverf3);
extern  bool_t xdr_cookie3 (XDR *, cookie3*);
extern  bool_t xdr_nfs_fh3 (XDR *, nfs_fh3*);
extern  bool_t xdr_filename3 (XDR *, filename3*);
extern  bool_t xdr_diropargs3 (XDR *, diropargs3*);
extern  bool_t xdr_ftype3 (XDR *, ftype3*);
extern  bool_t xdr_mode3 (XDR *, mode3*);
extern  bool_t xdr_uid3 (XDR *, uid3*);
extern  bool_t xdr_gid3 (XDR *, gid3*);
extern  bool_t xdr_size3 (XDR *, size3*);
extern  bool_t xdr_fileid3 (XDR *, fileid3*);
extern  bool_t xdr_specdata3 (XDR *, specdata3*);
extern  bool_t xdr_nfstime3 (XDR *, nfstime3*);
extern  bool_t xdr_fattr3 (XDR *, fattr3*);
extern  bool_t xdr_post_op_attr (XDR *, post_op_attr*);
extern  bool_t xdr_nfsstat3 (XDR *, nfsstat3*);
extern  bool_t xdr_stable_how (XDR *, stable_how*);
extern  bool_t xdr_offset3 (XDR *, offset3*);
extern  bool_t xdr_count3 (XDR *, count3*);
extern  bool_t xdr_wcc_attr (XDR *, wcc_attr*);
extern  bool_t xdr_pre_op_attr (XDR *, pre_op_attr*);
extern  bool_t xdr_wcc_data (XDR *, wcc_data*);
extern  bool_t xdr_WRITE3args (XDR *, WRITE3args*);
extern  bool_t xdr_writeverf3 (XDR *, writeverf3);
extern  bool_t xdr_WRITE3resok (XDR *, WRITE3resok*);
extern  bool_t xdr_WRITE3resfail (XDR *, WRITE3resfail*);
extern  bool_t xdr_WRITE3res (XDR *, WRITE3res*);
extern  bool_t xdr_LOOKUP3args (XDR *, LOOKUP3args*);
extern  bool_t xdr_LOOKUP3resok (XDR *, LOOKUP3resok*);
extern  bool_t xdr_LOOKUP3resfail (XDR *, LOOKUP3resfail*);
extern  bool_t xdr_LOOKUP3res (XDR *, LOOKUP3res*);
extern  bool_t xdr_COMMIT3args (XDR *, COMMIT3args*);
extern  bool_t xdr_COMMIT3resok (XDR *, COMMIT3resok*);
extern  bool_t xdr_COMMIT3resfail (XDR *, COMMIT3resfail*);
extern  bool_t xdr_COMMIT3res (XDR *, COMMIT3res*);
extern  bool_t xdr_ACCESS3args (XDR *, ACCESS3args*);
extern  bool_t xdr_ACCESS3resok (XDR *, ACCESS3resok*);
extern  bool_t xdr_ACCESS3resfail (XDR *, ACCESS3resfail*);
extern  bool_t xdr_ACCESS3res (XDR *, ACCESS3res*);
extern  bool_t xdr_GETATTR3args (XDR *, GETATTR3args*);
extern  bool_t xdr_GETATTR3resok (XDR *, GETATTR3resok*);
extern  bool_t xdr_GETATTR3res (XDR *, GETATTR3res*);
extern  bool_t xdr_time_how (XDR *, time_how*);
extern  bool_t xdr_set_mode3 (XDR *, set_mode3*);
extern  bool_t xdr_set_uid3 (XDR *, set_uid3*);
extern  bool_t xdr_set_gid3 (XDR *, set_gid3*);
extern  bool_t xdr_set_size3 (XDR *, set_size3*);
extern  bool_t xdr_set_atime (XDR *, set_atime*);
extern  bool_t xdr_set_mtime (XDR *, set_mtime*);
extern  bool_t xdr_sattr3 (XDR *, sattr3*);
extern  bool_t xdr_createmode3 (XDR *, createmode3*);
extern  bool_t xdr_createverf3 (XDR *, createverf3);
extern  bool_t xdr_createhow3 (XDR *, createhow3*);
extern  bool_t xdr_CREATE3args (XDR *, CREATE3args*);
extern  bool_t xdr_post_op_fh3 (XDR *, post_op_fh3*);
extern  bool_t xdr_CREATE3resok (XDR *, CREATE3resok*);
extern  bool_t xdr_CREATE3resfail (XDR *, CREATE3resfail*);
extern  bool_t xdr_CREATE3res (XDR *, CREATE3res*);
extern  bool_t xdr_REMOVE3args (XDR *, REMOVE3args*);
extern  bool_t xdr_REMOVE3resok (XDR *, REMOVE3resok*);
extern  bool_t xdr_REMOVE3resfail (XDR *, REMOVE3resfail*);
extern  bool_t xdr_REMOVE3res (XDR *, REMOVE3res*);
extern  bool_t xdr_READ3args (XDR *, READ3args*);
extern  bool_t xdr_READ3resok (XDR *, READ3resok*);
extern  bool_t xdr_READ3resfail (XDR *, READ3resfail*);
extern  bool_t xdr_READ3res (XDR *, READ3res*);
extern  bool_t xdr_FSINFO3args (XDR *, FSINFO3args*);
extern  bool_t xdr_FSINFO3resok (XDR *, FSINFO3resok*);
extern  bool_t xdr_FSINFO3resfail (XDR *, FSINFO3resfail*);
extern  bool_t xdr_FSINFO3res (XDR *, FSINFO3res*);
extern  bool_t xdr_FSSTAT3args (XDR *, FSSTAT3args*);
extern  bool_t xdr_FSSTAT3resok (XDR *, FSSTAT3resok*);
extern  bool_t xdr_FSSTAT3resfail (XDR *, FSSTAT3resfail*);
extern  bool_t xdr_FSSTAT3res (XDR *, FSSTAT3res*);
extern  bool_t xdr_PATHCONF3args (XDR *, PATHCONF3args*);
extern  bool_t xdr_PATHCONF3resok (XDR *, PATHCONF3resok*);
extern  bool_t xdr_PATHCONF3resfail (XDR *, PATHCONF3resfail*);
extern  bool_t xdr_PATHCONF3res (XDR *, PATHCONF3res*);
extern  bool_t xdr_nfspath3 (XDR *, nfspath3*);
extern  bool_t xdr_symlinkdata3 (XDR *, symlinkdata3*);
extern  bool_t xdr_SYMLINK3args (XDR *, SYMLINK3args*);
extern  bool_t xdr_SYMLINK3resok (XDR *, SYMLINK3resok*);
extern  bool_t xdr_SYMLINK3resfail (XDR *, SYMLINK3resfail*);
extern  bool_t xdr_SYMLINK3res (XDR *, SYMLINK3res*);
extern  bool_t xdr_READLINK3args (XDR *, READLINK3args*);
extern  bool_t xdr_READLINK3resok (XDR *, READLINK3resok*);
extern  bool_t xdr_READLINK3resfail (XDR *, READLINK3resfail*);
extern  bool_t xdr_READLINK3res (XDR *, READLINK3res*);
extern  bool_t xdr_devicedata3 (XDR *, devicedata3*);
extern  bool_t xdr_mknoddata3 (XDR *, mknoddata3*);
extern  bool_t xdr_MKNOD3args (XDR *, MKNOD3args*);
extern  bool_t xdr_MKNOD3resok (XDR *, MKNOD3resok*);
extern  bool_t xdr_MKNOD3resfail (XDR *, MKNOD3resfail*);
extern  bool_t xdr_MKNOD3res (XDR *, MKNOD3res*);
extern  bool_t xdr_MKDIR3args (XDR *, MKDIR3args*);
extern  bool_t xdr_MKDIR3resok (XDR *, MKDIR3resok*);
extern  bool_t xdr_MKDIR3resfail (XDR *, MKDIR3resfail*);
extern  bool_t xdr_MKDIR3res (XDR *, MKDIR3res*);
extern  bool_t xdr_RMDIR3args (XDR *, RMDIR3args*);
extern  bool_t xdr_RMDIR3resok (XDR *, RMDIR3resok*);
extern  bool_t xdr_RMDIR3resfail (XDR *, RMDIR3resfail*);
extern  bool_t xdr_RMDIR3res (XDR *, RMDIR3res*);
extern  bool_t xdr_RENAME3args (XDR *, RENAME3args*);
extern  bool_t xdr_RENAME3resok (XDR *, RENAME3resok*);
extern  bool_t xdr_RENAME3resfail (XDR *, RENAME3resfail*);
extern  bool_t xdr_RENAME3res (XDR *, RENAME3res*);
extern  bool_t xdr_READDIRPLUS3args (XDR *, READDIRPLUS3args*);
extern  bool_t xdr_entryplus3 (XDR *, entryplus3*);
extern  bool_t xdr_dirlistplus3 (XDR *, dirlistplus3*);
extern  bool_t xdr_READDIRPLUS3resok (XDR *, READDIRPLUS3resok*);
extern  bool_t xdr_READDIRPLUS3resfail (XDR *, READDIRPLUS3resfail*);
extern  bool_t xdr_READDIRPLUS3res (XDR *, READDIRPLUS3res*);
extern  bool_t xdr_READDIR3args (XDR *, READDIR3args*);
extern  bool_t xdr_entry3 (XDR *, entry3*);
extern  bool_t xdr_dirlist3 (XDR *, dirlist3*);
extern  bool_t xdr_READDIR3resok (XDR *, READDIR3resok*);
extern  bool_t xdr_READDIR3resfail (XDR *, READDIR3resfail*);
extern  bool_t xdr_READDIR3res (XDR *, READDIR3res*);
extern  bool_t xdr_LINK3args (XDR *, LINK3args*);
extern  bool_t xdr_LINK3resok (XDR *, LINK3resok*);
extern  bool_t xdr_LINK3resfail (XDR *, LINK3resfail*);
extern  bool_t xdr_LINK3res (XDR *, LINK3res*);
extern  bool_t xdr_sattrguard3 (XDR *, sattrguard3*);
extern  bool_t xdr_SETATTR3args (XDR *, SETATTR3args*);
extern  bool_t xdr_SETATTR3resok (XDR *, SETATTR3resok*);
extern  bool_t xdr_SETATTR3resfail (XDR *, SETATTR3resfail*);
extern  bool_t xdr_SETATTR3res (XDR *, SETATTR3res*);
extern  bool_t xdr_fhandle2 (XDR *, fhandle2);
extern  bool_t xdr_ftype2 (XDR *, ftype2*);
extern  bool_t xdr_fattr2 (XDR *, fattr2*);
extern  bool_t xdr_sattr2 (XDR *, sattr2*);
extern  bool_t xdr_filename2 (XDR *, filename2*);
extern  bool_t xdr_path2 (XDR *, path2*);
extern  bool_t xdr_nfsdata2 (XDR *, nfsdata2*);
extern  bool_t xdr_nfscookie2 (XDR *, nfscookie2);
extern  bool_t xdr_entry2 (XDR *, entry2*);
extern  bool_t xdr_diropargs2 (XDR *, diropargs2*);
extern  bool_t xdr_GETATTR2args (XDR *, GETATTR2args*);
extern  bool_t xdr_GETATTR2resok (XDR *, GETATTR2resok*);
extern  bool_t xdr_GETATTR2res (XDR *, GETATTR2res*);
extern  bool_t xdr_SETATTR2args (XDR *, SETATTR2args*);
extern  bool_t xdr_SETATTR2resok (XDR *, SETATTR2resok*);
extern  bool_t xdr_SETATTR2res (XDR *, SETATTR2res*);
extern  bool_t xdr_LOOKUP2args (XDR *, LOOKUP2args*);
extern  bool_t xdr_LOOKUP2resok (XDR *, LOOKUP2resok*);
extern  bool_t xdr_LOOKUP2res (XDR *, LOOKUP2res*);
extern  bool_t xdr_READLINK2args (XDR *, READLINK2args*);
extern  bool_t xdr_READLINK2resok (XDR *, READLINK2resok*);
extern  bool_t xdr_READLINK2res (XDR *, READLINK2res*);
extern  bool_t xdr_READ2args (XDR *, READ2args*);
extern  bool_t xdr_READ2resok (XDR *, READ2resok*);
extern  bool_t xdr_READ2res (XDR *, READ2res*);
extern  bool_t xdr_WRITE2args (XDR *, WRITE2args*);
extern  bool_t xdr_WRITE2resok (XDR *, WRITE2resok*);
extern  bool_t xdr_WRITE2res (XDR *, WRITE2res*);
extern  bool_t xdr_CREATE2args (XDR *, CREATE2args*);
extern  bool_t xdr_CREATE2resok (XDR *, CREATE2resok*);
extern  bool_t xdr_CREATE2res (XDR *, CREATE2res*);
extern  bool_t xdr_REMOVE2args (XDR *, REMOVE2args*);
extern  bool_t xdr_REMOVE2res (XDR *, REMOVE2res*);
extern  bool_t xdr_RENAME2args (XDR *, RENAME2args*);
extern  bool_t xdr_RENAME2res (XDR *, RENAME2res*);
extern  bool_t xdr_LINK2args (XDR *, LINK2args*);
extern  bool_t xdr_LINK2res (XDR *, LINK2res*);
extern  bool_t xdr_SYMLINK2args (XDR *, SYMLINK2args*);
extern  bool_t xdr_SYMLINK2res (XDR *, SYMLINK2res*);
extern  bool_t xdr_MKDIR2args (XDR *, MKDIR2args*);
extern  bool_t xdr_MKDIR2resok (XDR *, MKDIR2resok*);
extern  bool_t xdr_MKDIR2res (XDR *, MKDIR2res*);
extern  bool_t xdr_RMDIR2args (XDR *, RMDIR2args*);
extern  bool_t xdr_RMDIR2res (XDR *, RMDIR2res*);
extern  bool_t xdr_READDIR2args (XDR *, READDIR2args*);
extern  bool_t xdr_READDIR2resok (XDR *, READDIR2resok*);
extern  bool_t xdr_READDIR2res (XDR *, READDIR2res*);
extern  bool_t xdr_STATFS2args (XDR *, STATFS2args*);
extern  bool_t xdr_STATFS2resok (XDR *, STATFS2resok*);
extern  bool_t xdr_STATFS2res (XDR *, STATFS2res*);
extern  bool_t xdr_nfsacl_type (XDR *, nfsacl_type*);
extern  bool_t xdr_nfsacl_ace (XDR *, nfsacl_ace*);
extern  bool_t xdr_GETACL3args (XDR *, GETACL3args*);
extern  bool_t xdr_GETACL3resok (XDR *, GETACL3resok*);
extern  bool_t xdr_GETACL3res (XDR *, GETACL3res*);
extern  bool_t xdr_SETACL3args (XDR *, SETACL3args*);
extern  bool_t xdr_SETACL3resok (XDR *, SETACL3resok*);
extern  bool_t xdr_SETACL3res (XDR *, SETACL3res*);
extern  bool_t xdr_nfs_dirpath (XDR *, nfs_dirpath*);
extern  bool_t xdr_nfs_name (XDR *, nfs_name*);
extern  bool_t xdr_nfs_mountstat3 (XDR *, nfs_mountstat3*);
extern  bool_t xdr_nfs_mountlist (XDR *, nfs_mountlist*);
extern  bool_t xdr_nfs_mountbody (XDR *, nfs_mountbody*);
extern  bool_t xdr_nfs_groups (XDR *, nfs_groups*);
extern  bool_t xdr_nfs_groupnode (XDR *, nfs_groupnode*);
extern  bool_t xdr_nfs_exports (XDR *, nfs_exports*);
extern  bool_t xdr_nfs_exportnode (XDR *, nfs_exportnode*);
extern  bool_t xdr_nfs_mountres3_ok (XDR *, nfs_mountres3_ok*);
extern  bool_t xdr_nfs_mountres3 (XDR *, nfs_mountres3*);
extern  bool_t xdr_nfs_mountstat1 (XDR *, nfs_mountstat1*);
extern  bool_t xdr_nfs_fhandle1 (XDR *, nfs_fhandle1);
extern  bool_t xdr_nfs_mountres1_ok (XDR *, nfs_mountres1_ok*);
extern  bool_t xdr_nfs_mountres1 (XDR *, nfs_mountres1*);


#ifdef __cplusplus
}
#endif

#endif /* !_NFS_H_RPCGEN */
