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
19struct nfsd_fhandle {
20 struct svc_fh fh;
21};
22
23struct nfsd_sattrargs {
24 struct svc_fh fh;
25 struct iattr attrs;
26};
27
28struct nfsd_diropargs {
29 struct svc_fh fh;
30 char * name;
31 int len;
32};
33
34struct nfsd_readargs {
35 struct svc_fh fh;
36 __u32 offset;
37 __u32 count;
38 struct kvec vec[RPCSVC_MAXPAGES];
39 int vlen;
40};
41
42struct nfsd_writeargs {
43 svc_fh fh;
44 __u32 offset;
45 int len;
46 struct kvec vec[RPCSVC_MAXPAGES];
47 int vlen;
48};
49
50struct nfsd_createargs {
51 struct svc_fh fh;
52 char * name;
53 int len;
54 struct iattr attrs;
55};
56
57struct 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
66struct nfsd_readlinkargs {
67 struct svc_fh fh;
68 char * buffer;
69};
70
71struct nfsd_linkargs {
72 struct svc_fh ffh;
73 struct svc_fh tfh;
74 char * tname;
75 int tlen;
76};
77
78struct 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
87struct nfsd_readdirargs {
88 struct svc_fh fh;
89 __u32 cookie;
90 __u32 count;
91 u32 * buffer;
92};
93
94struct nfsd_attrstat {
95 struct svc_fh fh;
96 struct kstat stat;
97};
98
99struct nfsd_diropres {
100 struct svc_fh fh;
101 struct kstat stat;
102};
103
104struct nfsd_readlinkres {
105 int len;
106};
107
108struct nfsd_readres {
109 struct svc_fh fh;
110 unsigned long count;
111 struct kstat stat;
112};
113
114struct nfsd_readdirres {
115 int count;
116
117 struct readdir_cd common;
118 u32 * buffer;
119 int buflen;
120 u32 * offset;
121};
122
123struct nfsd_statfsres {
124 struct kstatfs stats;
125};
126
127union 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