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 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_NFS_XDR_H
20#define _LINUX_NFS_XDR_H
21#include <linux/sunrpc/xprt.h>
22#include <linux/nfsacl.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define NFS_MAX_FILE_IO_SIZE (1048576U)
25#define NFS_DEF_FILE_IO_SIZE (4096U)
26#define NFS_MIN_FILE_IO_SIZE (1024U)
27struct nfs_fsid {
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 uint64_t major;
30 uint64_t minor;
31};
32struct nfs_fattr {
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 unsigned short valid;
35 __u64 pre_size;
36 struct timespec pre_mtime;
37 struct timespec pre_ctime;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 enum nfs_ftype type;
40 __u32 mode;
41 __u32 nlink;
42 __u32 uid;
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 __u32 gid;
45 __u64 size;
46 union {
47 struct {
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 __u32 blocksize;
50 __u32 blocks;
51 } nfs2;
52 struct {
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 __u64 used;
55 } nfs3;
56 } du;
57 dev_t rdev;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 struct nfs_fsid fsid;
60 __u64 fileid;
61 struct timespec atime;
62 struct timespec mtime;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 struct timespec ctime;
65 __u32 bitmap[2];
66 __u64 change_attr;
67 __u64 pre_change_attr;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 unsigned long time_start;
70};
71#define NFS_ATTR_WCC 0x0001
72#define NFS_ATTR_FATTR 0x0002
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define NFS_ATTR_FATTR_V3 0x0004
75#define NFS_ATTR_FATTR_V4 0x0008
76#define NFS_ATTR_FATTR_V4_REFERRAL 0x0010
77struct nfs_fsinfo {
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 struct nfs_fattr *fattr;
80 __u32 rtmax;
81 __u32 rtpref;
82 __u32 rtmult;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 __u32 wtmax;
85 __u32 wtpref;
86 __u32 wtmult;
87 __u32 dtpref;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 __u64 maxfilesize;
90 __u32 lease_time;
91};
92struct nfs_fsstat {
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 struct nfs_fattr *fattr;
95 __u64 tbytes;
96 __u64 fbytes;
97 __u64 abytes;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 __u64 tfiles;
100 __u64 ffiles;
101 __u64 afiles;
102};
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104struct nfs2_fsstat {
105 __u32 tsize;
106 __u32 bsize;
107 __u32 blocks;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 __u32 bfree;
110 __u32 bavail;
111};
112struct nfs_pathconf {
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 struct nfs_fattr *fattr;
115 __u32 max_link;
116 __u32 max_namelen;
117};
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119struct nfs4_change_info {
120 u32 atomic;
121 u64 before;
122 u64 after;
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124};
125struct nfs_seqid;
126struct nfs_openargs {
127 const struct nfs_fh * fh;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 struct nfs_seqid * seqid;
130 int open_flags;
131 __u64 clientid;
132 __u32 id;
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 union {
135 struct iattr * attrs;
136 nfs4_verifier verifier;
137 nfs4_stateid delegation;
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 int delegation_type;
140 } u;
141 const struct qstr * name;
142 const struct nfs_server *server;
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 const u32 * bitmask;
145 __u32 claim;
146};
147struct nfs_openres {
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 nfs4_stateid stateid;
150 struct nfs_fh fh;
151 struct nfs4_change_info cinfo;
152 __u32 rflags;
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 struct nfs_fattr * f_attr;
155 struct nfs_fattr * dir_attr;
156 const struct nfs_server *server;
157 int delegation_type;
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 nfs4_stateid delegation;
160 __u32 do_recall;
161 __u64 maxsize;
162};
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164struct nfs_open_confirmargs {
165 const struct nfs_fh * fh;
166 nfs4_stateid * stateid;
167 struct nfs_seqid * seqid;
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169};
170struct nfs_open_confirmres {
171 nfs4_stateid stateid;
172};
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174struct nfs_closeargs {
175 struct nfs_fh * fh;
176 nfs4_stateid * stateid;
177 struct nfs_seqid * seqid;
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 int open_flags;
180 const u32 * bitmask;
181};
182struct nfs_closeres {
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 nfs4_stateid stateid;
185 struct nfs_fattr * fattr;
186 const struct nfs_server *server;
187};
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189struct nfs_lowner {
190 __u64 clientid;
191 u32 id;
192};
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194struct nfs_lock_args {
195 struct nfs_fh * fh;
196 struct file_lock * fl;
197 struct nfs_seqid * lock_seqid;
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 nfs4_stateid * lock_stateid;
200 struct nfs_seqid * open_seqid;
201 nfs4_stateid * open_stateid;
202 struct nfs_lowner lock_owner;
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 unsigned char block : 1;
205 unsigned char reclaim : 1;
206 unsigned char new_lock_owner : 1;
207};
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209struct nfs_lock_res {
210 nfs4_stateid stateid;
211};
212struct nfs_locku_args {
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 struct nfs_fh * fh;
215 struct file_lock * fl;
216 struct nfs_seqid * seqid;
217 nfs4_stateid * stateid;
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219};
220struct nfs_locku_res {
221 nfs4_stateid stateid;
222};
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224struct nfs_lockt_args {
225 struct nfs_fh * fh;
226 struct file_lock * fl;
227 struct nfs_lowner lock_owner;
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229};
230struct nfs_lockt_res {
231 struct file_lock * denied;
232};
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234struct nfs4_delegreturnargs {
235 const struct nfs_fh *fhandle;
236 const nfs4_stateid *stateid;
237 const u32 * bitmask;
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239};
240struct nfs4_delegreturnres {
241 struct nfs_fattr * fattr;
242 const struct nfs_server *server;
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244};
245struct nfs_readargs {
246 struct nfs_fh * fh;
247 struct nfs_open_context *context;
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249 __u64 offset;
250 __u32 count;
251 unsigned int pgbase;
252 struct page ** pages;
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254};
255struct nfs_readres {
256 struct nfs_fattr * fattr;
257 __u32 count;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259 int eof;
260};
261struct nfs_writeargs {
262 struct nfs_fh * fh;
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264 struct nfs_open_context *context;
265 __u64 offset;
266 __u32 count;
267 enum nfs3_stable_how stable;
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 unsigned int pgbase;
270 struct page ** pages;
271 const u32 * bitmask;
272};
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274struct nfs_writeverf {
275 enum nfs3_stable_how committed;
276 __u32 verifier[2];
277};
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279struct nfs_writeres {
280 struct nfs_fattr * fattr;
281 struct nfs_writeverf * verf;
282 __u32 count;
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 const struct nfs_server *server;
285};
286struct nfs_entry {
287 __u64 ino;
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289 __u64 cookie,
290 prev_cookie;
291 const char * name;
292 unsigned int len;
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294 int eof;
295 struct nfs_fh * fh;
296 struct nfs_fattr * fattr;
297};
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299struct nfs_sattrargs {
300 struct nfs_fh * fh;
301 struct iattr * sattr;
302};
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304struct nfs_diropargs {
305 struct nfs_fh * fh;
306 const char * name;
307 unsigned int len;
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309};
310struct nfs_createargs {
311 struct nfs_fh * fh;
312 const char * name;
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314 unsigned int len;
315 struct iattr * sattr;
316};
317struct nfs_renameargs {
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319 struct nfs_fh * fromfh;
320 const char * fromname;
321 unsigned int fromlen;
322 struct nfs_fh * tofh;
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 const char * toname;
325 unsigned int tolen;
326};
327struct nfs_setattrargs {
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329 struct nfs_fh * fh;
330 nfs4_stateid stateid;
331 struct iattr * iap;
332 const struct nfs_server * server;
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334 const u32 * bitmask;
335};
336struct nfs_setaclargs {
337 struct nfs_fh * fh;
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339 size_t acl_len;
340 unsigned int acl_pgbase;
341 struct page ** acl_pages;
342};
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344struct nfs_getaclargs {
345 struct nfs_fh * fh;
346 size_t acl_len;
347 unsigned int acl_pgbase;
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349 struct page ** acl_pages;
350};
351struct nfs_setattrres {
352 struct nfs_fattr * fattr;
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 const struct nfs_server * server;
355};
356struct nfs_linkargs {
357 struct nfs_fh * fromfh;
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 struct nfs_fh * tofh;
360 const char * toname;
361 unsigned int tolen;
362};
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364struct nfs_symlinkargs {
365 struct nfs_fh * fromfh;
366 const char * fromname;
367 unsigned int fromlen;
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 const char * topath;
370 unsigned int tolen;
371 struct iattr * sattr;
372};
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374struct nfs_readdirargs {
375 struct nfs_fh * fh;
376 __u32 cookie;
377 unsigned int count;
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379 struct page ** pages;
380};
381struct nfs3_getaclargs {
382 struct nfs_fh * fh;
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384 int mask;
385 struct page ** pages;
386};
387struct nfs3_setaclargs {
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 struct inode * inode;
390 int mask;
391 struct posix_acl * acl_access;
392 struct posix_acl * acl_default;
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 struct page ** pages;
395};
396struct nfs_diropok {
397 struct nfs_fh * fh;
398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 struct nfs_fattr * fattr;
400};
401struct nfs_readlinkargs {
402 struct nfs_fh * fh;
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404 unsigned int pgbase;
405 unsigned int pglen;
406 struct page ** pages;
407};
408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409struct nfs3_sattrargs {
410 struct nfs_fh * fh;
411 struct iattr * sattr;
412 unsigned int guard;
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414 struct timespec guardtime;
415};
416struct nfs3_diropargs {
417 struct nfs_fh * fh;
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419 const char * name;
420 unsigned int len;
421};
422struct nfs3_accessargs {
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424 struct nfs_fh * fh;
425 __u32 access;
426};
427struct nfs3_createargs {
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429 struct nfs_fh * fh;
430 const char * name;
431 unsigned int len;
432 struct iattr * sattr;
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 enum nfs3_createmode createmode;
435 __u32 verifier[2];
436};
437struct nfs3_mkdirargs {
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439 struct nfs_fh * fh;
440 const char * name;
441 unsigned int len;
442 struct iattr * sattr;
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444};
445struct nfs3_symlinkargs {
446 struct nfs_fh * fromfh;
447 const char * fromname;
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449 unsigned int fromlen;
450 const char * topath;
451 unsigned int tolen;
452 struct iattr * sattr;
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454};
455struct nfs3_mknodargs {
456 struct nfs_fh * fh;
457 const char * name;
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459 unsigned int len;
460 enum nfs3_ftype type;
461 struct iattr * sattr;
462 dev_t rdev;
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464};
465struct nfs3_renameargs {
466 struct nfs_fh * fromfh;
467 const char * fromname;
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469 unsigned int fromlen;
470 struct nfs_fh * tofh;
471 const char * toname;
472 unsigned int tolen;
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474};
475struct nfs3_linkargs {
476 struct nfs_fh * fromfh;
477 struct nfs_fh * tofh;
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479 const char * toname;
480 unsigned int tolen;
481};
482struct nfs3_readdirargs {
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484 struct nfs_fh * fh;
485 __u64 cookie;
486 __u32 verf[2];
487 int plus;
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489 unsigned int count;
490 struct page ** pages;
491};
492struct nfs3_diropres {
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 struct nfs_fattr * dir_attr;
495 struct nfs_fh * fh;
496 struct nfs_fattr * fattr;
497};
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499struct nfs3_accessres {
500 struct nfs_fattr * fattr;
501 __u32 access;
502};
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504struct nfs3_readlinkargs {
505 struct nfs_fh * fh;
506 unsigned int pgbase;
507 unsigned int pglen;
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509 struct page ** pages;
510};
511struct nfs3_renameres {
512 struct nfs_fattr * fromattr;
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514 struct nfs_fattr * toattr;
515};
516struct nfs3_linkres {
517 struct nfs_fattr * dir_attr;
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519 struct nfs_fattr * fattr;
520};
521struct nfs3_readdirres {
522 struct nfs_fattr * dir_attr;
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524 __u32 * verf;
525 int plus;
526};
527struct nfs3_getaclres {
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529 struct nfs_fattr * fattr;
530 int mask;
531 unsigned int acl_access_count;
532 unsigned int acl_default_count;
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 struct posix_acl * acl_access;
535 struct posix_acl * acl_default;
536};
537struct nfs_page;
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539#define NFS_PAGEVEC_SIZE (8U)
540struct nfs_read_data {
541 int flags;
542 struct rpc_task task;
543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544 struct inode *inode;
545 struct rpc_cred *cred;
546 struct nfs_fattr fattr;
547 struct list_head pages;
548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549 struct nfs_page *req;
550 struct page **pagevec;
551 unsigned int npages;
552 struct nfs_readargs args;
553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554 struct nfs_readres res;
555 struct page *page_array[NFS_PAGEVEC_SIZE];
556};
557struct nfs_write_data {
558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559 int flags;
560 struct rpc_task task;
561 struct inode *inode;
562 struct rpc_cred *cred;
563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564 struct nfs_fattr fattr;
565 struct nfs_writeverf verf;
566 struct list_head pages;
567 struct nfs_page *req;
568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569 struct page **pagevec;
570 unsigned int npages;
571 struct nfs_writeargs args;
572 struct nfs_writeres res;
573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574 struct page *page_array[NFS_PAGEVEC_SIZE];
575};
576struct nfs_access_entry;
577struct nfs_rpc_ops {
578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579 int version;
580 struct dentry_operations *dentry_ops;
581 struct inode_operations *dir_inode_ops;
582 struct inode_operations *file_inode_ops;
583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584 int (*getroot) (struct nfs_server *, struct nfs_fh *,
585 struct nfs_fsinfo *);
586 int (*getattr) (struct nfs_server *, struct nfs_fh *,
587 struct nfs_fattr *);
588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589 int (*setattr) (struct dentry *, struct nfs_fattr *,
590 struct iattr *);
591 int (*lookup) (struct inode *, struct qstr *,
592 struct nfs_fh *, struct nfs_fattr *);
593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594 int (*access) (struct inode *, struct nfs_access_entry *);
595 int (*readlink)(struct inode *, struct page *, unsigned int,
596 unsigned int);
597 int (*read) (struct nfs_read_data *);
598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599 int (*write) (struct nfs_write_data *);
600 int (*commit) (struct nfs_write_data *);
601 int (*create) (struct inode *, struct dentry *,
602 struct iattr *, int, struct nameidata *);
603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604 int (*remove) (struct inode *, struct qstr *);
605 int (*unlink_setup) (struct rpc_message *,
606 struct dentry *, struct qstr *);
607 int (*unlink_done) (struct dentry *, struct rpc_task *);
608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609 int (*rename) (struct inode *, struct qstr *,
610 struct inode *, struct qstr *);
611 int (*link) (struct inode *, struct inode *, struct qstr *);
612 int (*symlink) (struct inode *, struct qstr *, struct qstr *,
613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614 struct iattr *, struct nfs_fh *,
615 struct nfs_fattr *);
616 int (*mkdir) (struct inode *, struct dentry *, struct iattr *);
617 int (*rmdir) (struct inode *, struct qstr *);
618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619 int (*readdir) (struct dentry *, struct rpc_cred *,
620 u64, struct page *, unsigned int, int);
621 int (*mknod) (struct inode *, struct dentry *, struct iattr *,
622 dev_t);
623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624 int (*statfs) (struct nfs_server *, struct nfs_fh *,
625 struct nfs_fsstat *);
626 int (*fsinfo) (struct nfs_server *, struct nfs_fh *,
627 struct nfs_fsinfo *);
628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629 int (*pathconf) (struct nfs_server *, struct nfs_fh *,
630 struct nfs_pathconf *);
631 u32 * (*decode_dirent)(u32 *, struct nfs_entry *, int plus);
632 void (*read_setup) (struct nfs_read_data *);
633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634 int (*read_done) (struct rpc_task *, struct nfs_read_data *);
635 void (*write_setup) (struct nfs_write_data *, int how);
636 int (*write_done) (struct rpc_task *, struct nfs_write_data *);
637 void (*commit_setup) (struct nfs_write_data *, int how);
638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639 int (*commit_done) (struct rpc_task *, struct nfs_write_data *);
640 int (*file_open) (struct inode *, struct file *);
641 int (*file_release) (struct inode *, struct file *);
642 int (*lock)(struct file *, int, struct file_lock *);
643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644 void (*clear_acl_cache)(struct inode *);
645};
646#define NFS_CALL(op, inode, args) NFS_PROTO(inode)->op args
647#endif
648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649