OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [linux/] [nfsd/] [xdr3.h] - Blame information for rev 81

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.