Home | History | Annotate | Download | only in linux
      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