Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
fs
nfsd
xdr3.h
Go to the documentation of this file.
1
/*
2
* XDR types for NFSv3 in nfsd.
3
*
4
* Copyright (C) 1996-1998, Olaf Kirch <
[email protected]
>
5
*/
6
7
#ifndef _LINUX_NFSD_XDR3_H
8
#define _LINUX_NFSD_XDR3_H
9
10
#include "
xdr.h
"
11
12
struct
nfsd3_sattrargs
{
13
struct
svc_fh
fh
;
14
struct
iattr
attrs
;
15
int
check_guard
;
16
time_t
guardtime
;
17
};
18
19
struct
nfsd3_diropargs
{
20
struct
svc_fh
fh
;
21
char
*
name
;
22
unsigned
int
len
;
23
};
24
25
struct
nfsd3_accessargs
{
26
struct
svc_fh
fh
;
27
unsigned
int
access
;
28
};
29
30
struct
nfsd3_readargs
{
31
struct
svc_fh
fh
;
32
__u64
offset
;
33
__u32
count
;
34
int
vlen
;
35
};
36
37
struct
nfsd3_writeargs
{
38
svc_fh
fh
;
39
__u64
offset
;
40
__u32
count
;
41
int
stable
;
42
__u32
len
;
43
int
vlen
;
44
};
45
46
struct
nfsd3_createargs
{
47
struct
svc_fh
fh
;
48
char
*
name
;
49
unsigned
int
len
;
50
int
createmode
;
51
struct
iattr
attrs
;
52
__be32
*
verf
;
53
};
54
55
struct
nfsd3_mknodargs
{
56
struct
svc_fh
fh
;
57
char
*
name
;
58
unsigned
int
len
;
59
__u32
ftype
;
60
__u32
major
,
minor
;
61
struct
iattr
attrs
;
62
};
63
64
struct
nfsd3_renameargs
{
65
struct
svc_fh
ffh
;
66
char
*
fname
;
67
unsigned
int
flen
;
68
struct
svc_fh
tfh
;
69
char
*
tname
;
70
unsigned
int
tlen
;
71
};
72
73
struct
nfsd3_readlinkargs
{
74
struct
svc_fh
fh
;
75
char
*
buffer
;
76
};
77
78
struct
nfsd3_linkargs
{
79
struct
svc_fh
ffh
;
80
struct
svc_fh
tfh
;
81
char
*
tname
;
82
unsigned
int
tlen
;
83
};
84
85
struct
nfsd3_symlinkargs
{
86
struct
svc_fh
ffh
;
87
char
*
fname
;
88
unsigned
int
flen
;
89
char
*
tname
;
90
unsigned
int
tlen
;
91
struct
iattr
attrs
;
92
};
93
94
struct
nfsd3_readdirargs
{
95
struct
svc_fh
fh
;
96
__u64
cookie
;
97
__u32
dircount
;
98
__u32
count
;
99
__be32
*
verf
;
100
__be32
*
buffer
;
101
};
102
103
struct
nfsd3_commitargs
{
104
struct
svc_fh
fh
;
105
__u64
offset
;
106
__u32
count
;
107
};
108
109
struct
nfsd3_getaclargs
{
110
struct
svc_fh
fh
;
111
int
mask
;
112
};
113
114
struct
posix_acl
;
115
struct
nfsd3_setaclargs
{
116
struct
svc_fh
fh
;
117
int
mask
;
118
struct
posix_acl
*
acl_access
;
119
struct
posix_acl
*
acl_default
;
120
};
121
122
struct
nfsd3_attrstat
{
123
__be32
status
;
124
struct
svc_fh
fh
;
125
struct
kstat
stat
;
126
};
127
128
/* LOOKUP, CREATE, MKDIR, SYMLINK, MKNOD */
129
struct
nfsd3_diropres
{
130
__be32
status
;
131
struct
svc_fh
dirfh
;
132
struct
svc_fh
fh
;
133
};
134
135
struct
nfsd3_accessres
{
136
__be32
status
;
137
struct
svc_fh
fh
;
138
__u32
access
;
139
};
140
141
struct
nfsd3_readlinkres
{
142
__be32
status
;
143
struct
svc_fh
fh
;
144
__u32
len
;
145
};
146
147
struct
nfsd3_readres
{
148
__be32
status
;
149
struct
svc_fh
fh
;
150
unsigned
long
count
;
151
int
eof
;
152
};
153
154
struct
nfsd3_writeres
{
155
__be32
status
;
156
struct
svc_fh
fh
;
157
unsigned
long
count
;
158
int
committed
;
159
};
160
161
struct
nfsd3_renameres
{
162
__be32
status
;
163
struct
svc_fh
ffh
;
164
struct
svc_fh
tfh
;
165
};
166
167
struct
nfsd3_linkres
{
168
__be32
status
;
169
struct
svc_fh
tfh
;
170
struct
svc_fh
fh
;
171
};
172
173
struct
nfsd3_readdirres
{
174
__be32
status
;
175
struct
svc_fh
fh
;
176
int
count
;
177
__be32
verf
[2];
178
179
struct
readdir_cd
common
;
180
__be32
*
buffer
;
181
int
buflen
;
182
__be32
*
offset
;
183
__be32
*
offset1
;
184
struct
svc_rqst
*
rqstp
;
185
186
};
187
188
struct
nfsd3_fsstatres
{
189
__be32
status
;
190
struct
kstatfs
stats
;
191
__u32
invarsec
;
192
};
193
194
struct
nfsd3_fsinfores
{
195
__be32
status
;
196
__u32
f_rtmax
;
197
__u32
f_rtpref
;
198
__u32
f_rtmult
;
199
__u32
f_wtmax
;
200
__u32
f_wtpref
;
201
__u32
f_wtmult
;
202
__u32
f_dtpref
;
203
__u64
f_maxfilesize
;
204
__u32
f_properties
;
205
};
206
207
struct
nfsd3_pathconfres
{
208
__be32
status
;
209
__u32
p_link_max
;
210
__u32
p_name_max
;
211
__u32
p_no_trunc
;
212
__u32
p_chown_restricted
;
213
__u32
p_case_insensitive
;
214
__u32
p_case_preserving
;
215
};
216
217
struct
nfsd3_commitres
{
218
__be32
status
;
219
struct
svc_fh
fh
;
220
};
221
222
struct
nfsd3_getaclres
{
223
__be32
status
;
224
struct
svc_fh
fh
;
225
int
mask
;
226
struct
posix_acl
*
acl_access
;
227
struct
posix_acl
*
acl_default
;
228
};
229
230
/* dummy type for release */
231
struct
nfsd3_fhandle_pair
{
232
__u32
dummy
;
233
struct
svc_fh
fh1
;
234
struct
svc_fh
fh2
;
235
};
236
237
/*
238
* Storage requirements for XDR arguments and results.
239
*/
240
union
nfsd3_xdrstore
{
241
struct
nfsd3_sattrargs
sattrargs
;
242
struct
nfsd3_diropargs
diropargs
;
243
struct
nfsd3_readargs
readargs
;
244
struct
nfsd3_writeargs
writeargs
;
245
struct
nfsd3_createargs
createargs
;
246
struct
nfsd3_renameargs
renameargs
;
247
struct
nfsd3_linkargs
linkargs
;
248
struct
nfsd3_symlinkargs
symlinkargs
;
249
struct
nfsd3_readdirargs
readdirargs
;
250
struct
nfsd3_diropres
diropres
;
251
struct
nfsd3_accessres
accessres
;
252
struct
nfsd3_readlinkres
readlinkres
;
253
struct
nfsd3_readres
readres
;
254
struct
nfsd3_writeres
writeres
;
255
struct
nfsd3_renameres
renameres
;
256
struct
nfsd3_linkres
linkres
;
257
struct
nfsd3_readdirres
readdirres
;
258
struct
nfsd3_fsstatres
fsstatres
;
259
struct
nfsd3_fsinfores
fsinfores
;
260
struct
nfsd3_pathconfres
pathconfres
;
261
struct
nfsd3_commitres
commitres
;
262
struct
nfsd3_getaclres
getaclres
;
263
};
264
265
#define NFS3_SVC_XDRSIZE sizeof(union nfsd3_xdrstore)
266
267
int
nfs3svc_decode_fhandle
(
struct
svc_rqst
*,
__be32
*,
struct
nfsd_fhandle
*);
268
int
nfs3svc_decode_sattrargs
(
struct
svc_rqst
*,
__be32
*,
269
struct
nfsd3_sattrargs
*);
270
int
nfs3svc_decode_diropargs
(
struct
svc_rqst
*,
__be32
*,
271
struct
nfsd3_diropargs
*);
272
int
nfs3svc_decode_accessargs
(
struct
svc_rqst
*,
__be32
*,
273
struct
nfsd3_accessargs
*);
274
int
nfs3svc_decode_readargs
(
struct
svc_rqst
*,
__be32
*,
275
struct
nfsd3_readargs
*);
276
int
nfs3svc_decode_writeargs
(
struct
svc_rqst
*,
__be32
*,
277
struct
nfsd3_writeargs
*);
278
int
nfs3svc_decode_createargs
(
struct
svc_rqst
*,
__be32
*,
279
struct
nfsd3_createargs
*);
280
int
nfs3svc_decode_mkdirargs
(
struct
svc_rqst
*,
__be32
*,
281
struct
nfsd3_createargs
*);
282
int
nfs3svc_decode_mknodargs
(
struct
svc_rqst
*,
__be32
*,
283
struct
nfsd3_mknodargs
*);
284
int
nfs3svc_decode_renameargs
(
struct
svc_rqst
*,
__be32
*,
285
struct
nfsd3_renameargs
*);
286
int
nfs3svc_decode_readlinkargs
(
struct
svc_rqst
*,
__be32
*,
287
struct
nfsd3_readlinkargs
*);
288
int
nfs3svc_decode_linkargs
(
struct
svc_rqst
*,
__be32
*,
289
struct
nfsd3_linkargs
*);
290
int
nfs3svc_decode_symlinkargs
(
struct
svc_rqst
*,
__be32
*,
291
struct
nfsd3_symlinkargs
*);
292
int
nfs3svc_decode_readdirargs
(
struct
svc_rqst
*,
__be32
*,
293
struct
nfsd3_readdirargs
*);
294
int
nfs3svc_decode_readdirplusargs
(
struct
svc_rqst
*,
__be32
*,
295
struct
nfsd3_readdirargs
*);
296
int
nfs3svc_decode_commitargs
(
struct
svc_rqst
*,
__be32
*,
297
struct
nfsd3_commitargs
*);
298
int
nfs3svc_encode_voidres
(
struct
svc_rqst
*,
__be32
*,
void
*);
299
int
nfs3svc_encode_attrstat
(
struct
svc_rqst
*,
__be32
*,
300
struct
nfsd3_attrstat
*);
301
int
nfs3svc_encode_wccstat
(
struct
svc_rqst
*,
__be32
*,
302
struct
nfsd3_attrstat
*);
303
int
nfs3svc_encode_diropres
(
struct
svc_rqst
*,
__be32
*,
304
struct
nfsd3_diropres
*);
305
int
nfs3svc_encode_accessres
(
struct
svc_rqst
*,
__be32
*,
306
struct
nfsd3_accessres
*);
307
int
nfs3svc_encode_readlinkres
(
struct
svc_rqst
*,
__be32
*,
308
struct
nfsd3_readlinkres
*);
309
int
nfs3svc_encode_readres
(
struct
svc_rqst
*,
__be32
*,
struct
nfsd3_readres
*);
310
int
nfs3svc_encode_writeres
(
struct
svc_rqst
*,
__be32
*,
struct
nfsd3_writeres
*);
311
int
nfs3svc_encode_createres
(
struct
svc_rqst
*,
__be32
*,
312
struct
nfsd3_diropres
*);
313
int
nfs3svc_encode_renameres
(
struct
svc_rqst
*,
__be32
*,
314
struct
nfsd3_renameres
*);
315
int
nfs3svc_encode_linkres
(
struct
svc_rqst
*,
__be32
*,
316
struct
nfsd3_linkres
*);
317
int
nfs3svc_encode_readdirres
(
struct
svc_rqst
*,
__be32
*,
318
struct
nfsd3_readdirres
*);
319
int
nfs3svc_encode_fsstatres
(
struct
svc_rqst
*,
__be32
*,
320
struct
nfsd3_fsstatres
*);
321
int
nfs3svc_encode_fsinfores
(
struct
svc_rqst
*,
__be32
*,
322
struct
nfsd3_fsinfores
*);
323
int
nfs3svc_encode_pathconfres
(
struct
svc_rqst
*,
__be32
*,
324
struct
nfsd3_pathconfres
*);
325
int
nfs3svc_encode_commitres
(
struct
svc_rqst
*,
__be32
*,
326
struct
nfsd3_commitres
*);
327
328
int
nfs3svc_release_fhandle
(
struct
svc_rqst
*,
__be32
*,
329
struct
nfsd3_attrstat
*);
330
int
nfs3svc_release_fhandle2
(
struct
svc_rqst
*,
__be32
*,
331
struct
nfsd3_fhandle_pair
*);
332
int
nfs3svc_encode_entry
(
void
*,
const
char
*
name
,
333
int
namlen, loff_t
offset
,
u64
ino
,
334
unsigned
int
);
335
int
nfs3svc_encode_entry_plus
(
void
*,
const
char
*
name
,
336
int
namlen, loff_t
offset
,
u64
ino
,
337
unsigned
int
);
338
/* Helper functions for NFSv3 ACL code */
339
__be32
*
nfs3svc_encode_post_op_attr
(
struct
svc_rqst
*rqstp,
__be32
*
p
,
340
struct
svc_fh
*fhp);
341
__be32
*
nfs3svc_decode_fh
(
__be32
*
p
,
struct
svc_fh
*fhp);
342
343
344
#endif
/* _LINUX_NFSD_XDR3_H */
Generated on Thu Jan 10 2013 14:48:56 for Linux Kernel by
1.8.2