1951a39d68df598db08dfced8b4707755864a0492Ying Wang/**************************************************************************** 2951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 3951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 4951a39d68df598db08dfced8b4707755864a0492Ying Wang *** This header was automatically generated from a Linux kernel header 5951a39d68df598db08dfced8b4707755864a0492Ying Wang *** of the same name, to make information necessary for userspace to 6951a39d68df598db08dfced8b4707755864a0492Ying Wang *** call into the kernel available to libc. It contains only constants, 7951a39d68df598db08dfced8b4707755864a0492Ying Wang *** structures, and macros generated from the original header, and thus, 8951a39d68df598db08dfced8b4707755864a0492Ying Wang *** contains no copyrightable information. 9951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 10951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/ 12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef LINUX_NFSD_H 13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LINUX_NFSD_H 14951a39d68df598db08dfced8b4707755864a0492Ying Wang 15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/fs.h> 16951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/vfs.h> 17951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/nfs.h> 18951a39d68df598db08dfced8b4707755864a0492Ying Wang 19951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_fhandle { 20951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 21951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 22951a39d68df598db08dfced8b4707755864a0492Ying Wang 23951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_sattrargs { 24951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 25951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iattr attrs; 26951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 27951a39d68df598db08dfced8b4707755864a0492Ying Wang 28951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_diropargs { 29951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 30951a39d68df598db08dfced8b4707755864a0492Ying Wang char * name; 31951a39d68df598db08dfced8b4707755864a0492Ying Wang int len; 32951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 33951a39d68df598db08dfced8b4707755864a0492Ying Wang 34951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_readargs { 35951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 36951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 offset; 37951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 count; 38951a39d68df598db08dfced8b4707755864a0492Ying Wang struct kvec vec[RPCSVC_MAXPAGES]; 39951a39d68df598db08dfced8b4707755864a0492Ying Wang int vlen; 40951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 41951a39d68df598db08dfced8b4707755864a0492Ying Wang 42951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_writeargs { 43951a39d68df598db08dfced8b4707755864a0492Ying Wang svc_fh fh; 44951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 offset; 45951a39d68df598db08dfced8b4707755864a0492Ying Wang int len; 46951a39d68df598db08dfced8b4707755864a0492Ying Wang struct kvec vec[RPCSVC_MAXPAGES]; 47951a39d68df598db08dfced8b4707755864a0492Ying Wang int vlen; 48951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 49951a39d68df598db08dfced8b4707755864a0492Ying Wang 50951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_createargs { 51951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 52951a39d68df598db08dfced8b4707755864a0492Ying Wang char * name; 53951a39d68df598db08dfced8b4707755864a0492Ying Wang int len; 54951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iattr attrs; 55951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 56951a39d68df598db08dfced8b4707755864a0492Ying Wang 57951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_renameargs { 58951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh ffh; 59951a39d68df598db08dfced8b4707755864a0492Ying Wang char * fname; 60951a39d68df598db08dfced8b4707755864a0492Ying Wang int flen; 61951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh tfh; 62951a39d68df598db08dfced8b4707755864a0492Ying Wang char * tname; 63951a39d68df598db08dfced8b4707755864a0492Ying Wang int tlen; 64951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 65951a39d68df598db08dfced8b4707755864a0492Ying Wang 66951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_readlinkargs { 67951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 68951a39d68df598db08dfced8b4707755864a0492Ying Wang char * buffer; 69951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 70951a39d68df598db08dfced8b4707755864a0492Ying Wang 71951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_linkargs { 72951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh ffh; 73951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh tfh; 74951a39d68df598db08dfced8b4707755864a0492Ying Wang char * tname; 75951a39d68df598db08dfced8b4707755864a0492Ying Wang int tlen; 76951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 77951a39d68df598db08dfced8b4707755864a0492Ying Wang 78951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_symlinkargs { 79951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh ffh; 80951a39d68df598db08dfced8b4707755864a0492Ying Wang char * fname; 81951a39d68df598db08dfced8b4707755864a0492Ying Wang int flen; 82951a39d68df598db08dfced8b4707755864a0492Ying Wang char * tname; 83951a39d68df598db08dfced8b4707755864a0492Ying Wang int tlen; 84951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iattr attrs; 85951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 86951a39d68df598db08dfced8b4707755864a0492Ying Wang 87951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_readdirargs { 88951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 89951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 cookie; 90951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 count; 91951a39d68df598db08dfced8b4707755864a0492Ying Wang u32 * buffer; 92951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 93951a39d68df598db08dfced8b4707755864a0492Ying Wang 94951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_attrstat { 95951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 96951a39d68df598db08dfced8b4707755864a0492Ying Wang struct kstat stat; 97951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 98951a39d68df598db08dfced8b4707755864a0492Ying Wang 99951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_diropres { 100951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 101951a39d68df598db08dfced8b4707755864a0492Ying Wang struct kstat stat; 102951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 103951a39d68df598db08dfced8b4707755864a0492Ying Wang 104951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_readlinkres { 105951a39d68df598db08dfced8b4707755864a0492Ying Wang int len; 106951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 107951a39d68df598db08dfced8b4707755864a0492Ying Wang 108951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_readres { 109951a39d68df598db08dfced8b4707755864a0492Ying Wang struct svc_fh fh; 110951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long count; 111951a39d68df598db08dfced8b4707755864a0492Ying Wang struct kstat stat; 112951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 113951a39d68df598db08dfced8b4707755864a0492Ying Wang 114951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_readdirres { 115951a39d68df598db08dfced8b4707755864a0492Ying Wang int count; 116951a39d68df598db08dfced8b4707755864a0492Ying Wang 117951a39d68df598db08dfced8b4707755864a0492Ying Wang struct readdir_cd common; 118951a39d68df598db08dfced8b4707755864a0492Ying Wang u32 * buffer; 119951a39d68df598db08dfced8b4707755864a0492Ying Wang int buflen; 120951a39d68df598db08dfced8b4707755864a0492Ying Wang u32 * offset; 121951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 122951a39d68df598db08dfced8b4707755864a0492Ying Wang 123951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct nfsd_statfsres { 124951a39d68df598db08dfced8b4707755864a0492Ying Wang struct kstatfs stats; 125951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 126951a39d68df598db08dfced8b4707755864a0492Ying Wang 127951a39d68df598db08dfced8b4707755864a0492Ying Wangunion nfsd_xdrstore { 128951a39d68df598db08dfced8b4707755864a0492Ying Wang struct nfsd_sattrargs sattr; 129951a39d68df598db08dfced8b4707755864a0492Ying Wang struct nfsd_diropargs dirop; 130951a39d68df598db08dfced8b4707755864a0492Ying Wang struct nfsd_readargs read; 131951a39d68df598db08dfced8b4707755864a0492Ying Wang struct nfsd_writeargs write; 132951a39d68df598db08dfced8b4707755864a0492Ying Wang struct nfsd_createargs create; 133951a39d68df598db08dfced8b4707755864a0492Ying Wang struct nfsd_renameargs rename; 134951a39d68df598db08dfced8b4707755864a0492Ying Wang struct nfsd_linkargs link; 135951a39d68df598db08dfced8b4707755864a0492Ying Wang struct nfsd_symlinkargs symlink; 136951a39d68df598db08dfced8b4707755864a0492Ying Wang struct nfsd_readdirargs readdir; 137951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 138951a39d68df598db08dfced8b4707755864a0492Ying Wang 139951a39d68df598db08dfced8b4707755864a0492Ying Wang#define NFS2_SVC_XDRSIZE sizeof(union nfsd_xdrstore) 140951a39d68df598db08dfced8b4707755864a0492Ying Wang 141951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 142