• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)
27 struct nfs_fsid {
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29  uint64_t major;
30  uint64_t minor;
31 };
32 struct 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
77 struct 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 };
92 struct 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 */
104 struct 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 };
112 struct 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 */
119 struct 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 };
125 struct nfs_seqid;
126 struct 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 };
147 struct 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 */
164 struct 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 };
170 struct nfs_open_confirmres {
171  nfs4_stateid stateid;
172 };
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 struct 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 };
182 struct 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 */
189 struct nfs_lowner {
190  __u64 clientid;
191  u32 id;
192 };
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 struct 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 */
209 struct nfs_lock_res {
210  nfs4_stateid stateid;
211 };
212 struct 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 };
220 struct nfs_locku_res {
221  nfs4_stateid stateid;
222 };
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 struct 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 };
230 struct nfs_lockt_res {
231  struct file_lock * denied;
232 };
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 struct 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 };
240 struct 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 };
245 struct 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 };
255 struct 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 };
261 struct 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 */
274 struct 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 */
279 struct 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 };
286 struct 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 */
299 struct nfs_sattrargs {
300  struct nfs_fh * fh;
301  struct iattr * sattr;
302 };
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304 struct 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 };
310 struct 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 };
317 struct 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 };
327 struct 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 };
336 struct 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 */
344 struct 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 };
351 struct 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 };
356 struct 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 */
364 struct 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 */
374 struct 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 };
381 struct 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 };
387 struct 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 };
396 struct 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 };
401 struct 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 */
409 struct 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 };
416 struct 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 };
422 struct nfs3_accessargs {
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424  struct nfs_fh * fh;
425  __u32 access;
426 };
427 struct 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 };
437 struct 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 };
445 struct 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 };
455 struct 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 };
465 struct 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 };
475 struct 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 };
482 struct 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 };
492 struct 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 */
499 struct nfs3_accessres {
500  struct nfs_fattr * fattr;
501  __u32 access;
502 };
503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504 struct 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 };
511 struct 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 };
516 struct 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 };
521 struct 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 };
527 struct 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 };
537 struct nfs_page;
538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539 #define NFS_PAGEVEC_SIZE (8U)
540 struct 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 };
557 struct 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 };
576 struct nfs_access_entry;
577 struct 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