1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _UAPI_LINUX_NFSD_FH_H 7 #define _UAPI_LINUX_NFSD_FH_H 8 #include <linux/types.h> 9 #include <linux/nfs.h> 10 #include <linux/nfs2.h> 11 #include <linux/nfs3.h> 12 #include <linux/nfs4.h> 13 struct nfs_fhbase_old { 14 __u32 fb_dcookie; 15 __u32 fb_ino; 16 __u32 fb_dirino; 17 __u32 fb_dev; 18 __u32 fb_xdev; 19 __u32 fb_xino; 20 __u32 fb_generation; 21 }; 22 struct nfs_fhbase_new { 23 __u8 fb_version; 24 __u8 fb_auth_type; 25 __u8 fb_fsid_type; 26 __u8 fb_fileid_type; 27 __u32 fb_auth[1]; 28 }; 29 struct knfsd_fh { 30 unsigned int fh_size; 31 union { 32 struct nfs_fhbase_old fh_old; 33 __u32 fh_pad[NFS4_FHSIZE/4]; 34 struct nfs_fhbase_new fh_new; 35 } fh_base; 36 }; 37 #define ofh_dcookie fh_base.fh_old.fb_dcookie 38 #define ofh_ino fh_base.fh_old.fb_ino 39 #define ofh_dirino fh_base.fh_old.fb_dirino 40 #define ofh_dev fh_base.fh_old.fb_dev 41 #define ofh_xdev fh_base.fh_old.fb_xdev 42 #define ofh_xino fh_base.fh_old.fb_xino 43 #define ofh_generation fh_base.fh_old.fb_generation 44 #define fh_version fh_base.fh_new.fb_version 45 #define fh_fsid_type fh_base.fh_new.fb_fsid_type 46 #define fh_auth_type fh_base.fh_new.fb_auth_type 47 #define fh_fileid_type fh_base.fh_new.fb_fileid_type 48 #define fh_fsid fh_base.fh_new.fb_auth 49 #define fh_auth fh_base.fh_new.fb_auth 50 #endif 51