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