source: svn/newcon3bcm2_21bu/toolchain/mipsel-linux-uclibc/include/linux/nfsd/xdr3.h

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

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