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_H 13 #define LINUX_NFSD_H 14 15 #include <linux/fs.h> 16 #include <linux/vfs.h> 17 #include <linux/nfs.h> 18 19 struct nfsd_fhandle { 20 struct svc_fh fh; 21 }; 22 23 struct nfsd_sattrargs { 24 struct svc_fh fh; 25 struct iattr attrs; 26 }; 27 28 struct nfsd_diropargs { 29 struct svc_fh fh; 30 char * name; 31 int len; 32 }; 33 34 struct nfsd_readargs { 35 struct svc_fh fh; 36 __u32 offset; 37 __u32 count; 38 struct kvec vec[RPCSVC_MAXPAGES]; 39 int vlen; 40 }; 41 42 struct nfsd_writeargs { 43 svc_fh fh; 44 __u32 offset; 45 int len; 46 struct kvec vec[RPCSVC_MAXPAGES]; 47 int vlen; 48 }; 49 50 struct nfsd_createargs { 51 struct svc_fh fh; 52 char * name; 53 int len; 54 struct iattr attrs; 55 }; 56 57 struct nfsd_renameargs { 58 struct svc_fh ffh; 59 char * fname; 60 int flen; 61 struct svc_fh tfh; 62 char * tname; 63 int tlen; 64 }; 65 66 struct nfsd_readlinkargs { 67 struct svc_fh fh; 68 char * buffer; 69 }; 70 71 struct nfsd_linkargs { 72 struct svc_fh ffh; 73 struct svc_fh tfh; 74 char * tname; 75 int tlen; 76 }; 77 78 struct nfsd_symlinkargs { 79 struct svc_fh ffh; 80 char * fname; 81 int flen; 82 char * tname; 83 int tlen; 84 struct iattr attrs; 85 }; 86 87 struct nfsd_readdirargs { 88 struct svc_fh fh; 89 __u32 cookie; 90 __u32 count; 91 u32 * buffer; 92 }; 93 94 struct nfsd_attrstat { 95 struct svc_fh fh; 96 struct kstat stat; 97 }; 98 99 struct nfsd_diropres { 100 struct svc_fh fh; 101 struct kstat stat; 102 }; 103 104 struct nfsd_readlinkres { 105 int len; 106 }; 107 108 struct nfsd_readres { 109 struct svc_fh fh; 110 unsigned long count; 111 struct kstat stat; 112 }; 113 114 struct nfsd_readdirres { 115 int count; 116 117 struct readdir_cd common; 118 u32 * buffer; 119 int buflen; 120 u32 * offset; 121 }; 122 123 struct nfsd_statfsres { 124 struct kstatfs stats; 125 }; 126 127 union nfsd_xdrstore { 128 struct nfsd_sattrargs sattr; 129 struct nfsd_diropargs dirop; 130 struct nfsd_readargs read; 131 struct nfsd_writeargs write; 132 struct nfsd_createargs create; 133 struct nfsd_renameargs rename; 134 struct nfsd_linkargs link; 135 struct nfsd_symlinkargs symlink; 136 struct nfsd_readdirargs readdir; 137 }; 138 139 #define NFS2_SVC_XDRSIZE sizeof(union nfsd_xdrstore) 140 141 #endif 142