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