/* * 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 */