1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef _LINUX_NFSD_FH_H 13 #define _LINUX_NFSD_FH_H 14 15 #include <asm/types.h> 16 #include <linux/nfsd/const.h> 17 #include <linux/nfsd/debug.h> 18 19 struct nfs_fhbase_old { 20 __u32 fb_dcookie; 21 __u32 fb_ino; 22 __u32 fb_dirino; 23 __u32 fb_dev; 24 __u32 fb_xdev; 25 __u32 fb_xino; 26 __u32 fb_generation; 27 }; 28 29 struct nfs_fhbase_new { 30 __u8 fb_version; 31 __u8 fb_auth_type; 32 __u8 fb_fsid_type; 33 __u8 fb_fileid_type; 34 __u32 fb_auth[1]; 35 36 }; 37 38 struct knfsd_fh { 39 unsigned int fh_size; 40 union { 41 struct nfs_fhbase_old fh_old; 42 __u32 fh_pad[NFS4_FHSIZE/4]; 43 struct nfs_fhbase_new fh_new; 44 } fh_base; 45 }; 46 47 #define ofh_dcookie fh_base.fh_old.fb_dcookie 48 #define ofh_ino fh_base.fh_old.fb_ino 49 #define ofh_dirino fh_base.fh_old.fb_dirino 50 #define ofh_dev fh_base.fh_old.fb_dev 51 #define ofh_xdev fh_base.fh_old.fb_xdev 52 #define ofh_xino fh_base.fh_old.fb_xino 53 #define ofh_generation fh_base.fh_old.fb_generation 54 55 #define fh_version fh_base.fh_new.fb_version 56 #define fh_fsid_type fh_base.fh_new.fb_fsid_type 57 #define fh_auth_type fh_base.fh_new.fb_auth_type 58 #define fh_fileid_type fh_base.fh_new.fb_fileid_type 59 #define fh_auth fh_base.fh_new.fb_auth 60 #define fh_fsid fh_base.fh_new.fb_auth 61 62 #endif 63