1 /* This is based on RFC3530 which contains the following copyright statement: 2 3 4 Copyright (C) The Internet Society (2003). All Rights Reserved. 5 6 This document and translations of it may be copied and furnished to 7 others, and derivative works that comment on or otherwise explain it 8 or assist in its implementation may be prepared, copied, published 9 and distributed, in whole or in part, without restriction of any 10 kind, provided that the above copyright notice and this paragraph are 11 included on all such copies and derivative works. However, this 12 document itself may not be modified in any way, such as by removing 13 the copyright notice or references to the Internet Society or other 14 Internet organizations, except as needed for the purpose of 15 developing Internet standards in which case the procedures for 16 copyrights defined in the Internet Standards process must be 17 followed, or as required to translate it into languages other than 18 English. 19 20 The limited permissions granted above are perpetual and will not be 21 revoked by the Internet Society or its successors or assigns. 22 23 This document and the information contained herein is provided on an 24 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 25 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 26 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 27 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 28 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 29 */ 30 /* 31 * Please do not edit this file. 32 * It was generated using rpcgen. 33 */ 34 35 #ifndef _NFS4_H_RPCGEN 36 #define _NFS4_H_RPCGEN 37 38 #include <nfsc/libnfs-zdr.h> 39 40 41 #ifdef __cplusplus 42 extern "C" { 43 #endif 44 45 #define NFS4_FHSIZE 128 46 #define NFS4_VERIFIER_SIZE 8 47 #define NFS4_OPAQUE_LIMIT 1024 48 49 enum nfs_ftype4 { 50 NF4REG = 1, 51 NF4DIR = 2, 52 NF4BLK = 3, 53 NF4CHR = 4, 54 NF4LNK = 5, 55 NF4SOCK = 6, 56 NF4FIFO = 7, 57 NF4ATTRDIR = 8, 58 NF4NAMEDATTR = 9, 59 }; 60 typedef enum nfs_ftype4 nfs_ftype4; 61 62 enum nfsstat4 { 63 NFS4_OK = 0, 64 NFS4ERR_PERM = 1, 65 NFS4ERR_NOENT = 2, 66 NFS4ERR_IO = 5, 67 NFS4ERR_NXIO = 6, 68 NFS4ERR_ACCESS = 13, 69 NFS4ERR_EXIST = 17, 70 NFS4ERR_XDEV = 18, 71 NFS4ERR_NOTDIR = 20, 72 NFS4ERR_ISDIR = 21, 73 NFS4ERR_INVAL = 22, 74 NFS4ERR_FBIG = 27, 75 NFS4ERR_NOSPC = 28, 76 NFS4ERR_ROFS = 30, 77 NFS4ERR_MLINK = 31, 78 NFS4ERR_NAMETOOLONG = 63, 79 NFS4ERR_NOTEMPTY = 66, 80 NFS4ERR_DQUOT = 69, 81 NFS4ERR_STALE = 70, 82 NFS4ERR_BADHANDLE = 10001, 83 NFS4ERR_BAD_COOKIE = 10003, 84 NFS4ERR_NOTSUPP = 10004, 85 NFS4ERR_TOOSMALL = 10005, 86 NFS4ERR_SERVERFAULT = 10006, 87 NFS4ERR_BADTYPE = 10007, 88 NFS4ERR_DELAY = 10008, 89 NFS4ERR_SAME = 10009, 90 NFS4ERR_DENIED = 10010, 91 NFS4ERR_EXPIRED = 10011, 92 NFS4ERR_LOCKED = 10012, 93 NFS4ERR_GRACE = 10013, 94 NFS4ERR_FHEXPIRED = 10014, 95 NFS4ERR_SHARE_DENIED = 10015, 96 NFS4ERR_WRONGSEC = 10016, 97 NFS4ERR_CLID_INUSE = 10017, 98 NFS4ERR_RESOURCE = 10018, 99 NFS4ERR_MOVED = 10019, 100 NFS4ERR_NOFILEHANDLE = 10020, 101 NFS4ERR_MINOR_VERS_MISMATCH = 10021, 102 NFS4ERR_STALE_CLIENTID = 10022, 103 NFS4ERR_STALE_STATEID = 10023, 104 NFS4ERR_OLD_STATEID = 10024, 105 NFS4ERR_BAD_STATEID = 10025, 106 NFS4ERR_BAD_SEQID = 10026, 107 NFS4ERR_NOT_SAME = 10027, 108 NFS4ERR_LOCK_RANGE = 10028, 109 NFS4ERR_SYMLINK = 10029, 110 NFS4ERR_RESTOREFH = 10030, 111 NFS4ERR_LEASE_MOVED = 10031, 112 NFS4ERR_ATTRNOTSUPP = 10032, 113 NFS4ERR_NO_GRACE = 10033, 114 NFS4ERR_RECLAIM_BAD = 10034, 115 NFS4ERR_RECLAIM_CONFLICT = 10035, 116 NFS4ERR_BADZDR = 10036, 117 NFS4ERR_LOCKS_HELD = 10037, 118 NFS4ERR_OPENMODE = 10038, 119 NFS4ERR_BADOWNER = 10039, 120 NFS4ERR_BADCHAR = 10040, 121 NFS4ERR_BADNAME = 10041, 122 NFS4ERR_BAD_RANGE = 10042, 123 NFS4ERR_LOCK_NOTSUPP = 10043, 124 NFS4ERR_OP_ILLEGAL = 10044, 125 NFS4ERR_DEADLOCK = 10045, 126 NFS4ERR_FILE_OPEN = 10046, 127 NFS4ERR_ADMIN_REVOKED = 10047, 128 NFS4ERR_CB_PATH_DOWN = 10048, 129 }; 130 typedef enum nfsstat4 nfsstat4; 131 132 typedef struct { 133 u_int bitmap4_len; 134 uint32_t *bitmap4_val; 135 } bitmap4; 136 137 typedef uint64_t offset4; 138 139 typedef uint32_t count4; 140 141 typedef uint64_t length4; 142 143 typedef uint64_t clientid4; 144 145 typedef uint32_t seqid4; 146 147 typedef struct { 148 u_int utf8string_len; 149 char *utf8string_val; 150 } utf8string; 151 152 typedef utf8string utf8str_cis; 153 154 typedef utf8string utf8str_cs; 155 156 typedef utf8string utf8str_mixed; 157 158 typedef utf8str_cs component4; 159 160 typedef struct { 161 u_int pathname4_len; 162 component4 *pathname4_val; 163 } pathname4; 164 165 typedef uint64_t nfs_lockid4; 166 167 typedef uint64_t nfs_cookie4; 168 169 typedef utf8str_cs linktext4; 170 171 typedef struct { 172 u_int sec_oid4_len; 173 char *sec_oid4_val; 174 } sec_oid4; 175 176 typedef uint32_t qop4; 177 178 typedef uint32_t mode4; 179 180 typedef uint64_t changeid4; 181 182 typedef char verifier4[NFS4_VERIFIER_SIZE]; 183 184 struct nfstime4 { 185 int64_t seconds; 186 uint32_t nseconds; 187 }; 188 typedef struct nfstime4 nfstime4; 189 190 enum time_how4 { 191 SET_TO_SERVER_TIME4 = 0, 192 SET_TO_CLIENT_TIME4 = 1, 193 }; 194 typedef enum time_how4 time_how4; 195 196 struct settime4 { 197 time_how4 set_it; 198 union { 199 nfstime4 time; 200 } settime4_u; 201 }; 202 typedef struct settime4 settime4; 203 204 typedef struct { 205 u_int nfs_fh4_len; 206 char *nfs_fh4_val; 207 } nfs_fh4; 208 209 struct fsid4 { 210 uint64_t major; 211 uint64_t minor; 212 }; 213 typedef struct fsid4 fsid4; 214 215 struct fs_location4 { 216 struct { 217 u_int server_len; 218 utf8str_cis *server_val; 219 } server; 220 pathname4 rootpath; 221 }; 222 typedef struct fs_location4 fs_location4; 223 224 struct fs_locations4 { 225 pathname4 fs_root; 226 struct { 227 u_int locations_len; 228 fs_location4 *locations_val; 229 } locations; 230 }; 231 typedef struct fs_locations4 fs_locations4; 232 #define ACL4_SUPPORT_ALLOW_ACL 0x00000001 233 #define ACL4_SUPPORT_DENY_ACL 0x00000002 234 #define ACL4_SUPPORT_AUDIT_ACL 0x00000004 235 #define ACL4_SUPPORT_ALARM_ACL 0x00000008 236 237 typedef uint32_t acetype4; 238 #define ACE4_ACCESS_ALLOWED_ACE_TYPE 0x00000000 239 #define ACE4_ACCESS_DENIED_ACE_TYPE 0x00000001 240 #define ACE4_SYSTEM_AUDIT_ACE_TYPE 0x00000002 241 #define ACE4_SYSTEM_ALARM_ACE_TYPE 0x00000003 242 243 typedef uint32_t aceflag4; 244 #define ACE4_FILE_INHERIT_ACE 0x00000001 245 #define ACE4_DIRECTORY_INHERIT_ACE 0x00000002 246 #define ACE4_NO_PROPAGATE_INHERIT_ACE 0x00000004 247 #define ACE4_INHERIT_ONLY_ACE 0x00000008 248 #define ACE4_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010 249 #define ACE4_FAILED_ACCESS_ACE_FLAG 0x00000020 250 #define ACE4_IDENTIFIER_GROUP 0x00000040 251 252 typedef uint32_t acemask4; 253 #define ACE4_READ_DATA 0x00000001 254 #define ACE4_LIST_DIRECTORY 0x00000001 255 #define ACE4_WRITE_DATA 0x00000002 256 #define ACE4_ADD_FILE 0x00000002 257 #define ACE4_APPEND_DATA 0x00000004 258 #define ACE4_ADD_SUBDIRECTORY 0x00000004 259 #define ACE4_READ_NAMED_ATTRS 0x00000008 260 #define ACE4_WRITE_NAMED_ATTRS 0x00000010 261 #define ACE4_EXECUTE 0x00000020 262 #define ACE4_DELETE_CHILD 0x00000040 263 #define ACE4_READ_ATTRIBUTES 0x00000080 264 #define ACE4_WRITE_ATTRIBUTES 0x00000100 265 #define ACE4_DELETE 0x00010000 266 #define ACE4_READ_ACL 0x00020000 267 #define ACE4_WRITE_ACL 0x00040000 268 #define ACE4_WRITE_OWNER 0x00080000 269 #define ACE4_SYNCHRONIZE 0x00100000 270 #define ACE4_GENERIC_READ 0x00120081 271 #define ACE4_GENERIC_WRITE 0x00160106 272 #define ACE4_GENERIC_EXECUTE 0x001200A0 273 274 struct nfsace4 { 275 acetype4 type; 276 aceflag4 flag; 277 acemask4 access_mask; 278 utf8str_mixed who; 279 }; 280 typedef struct nfsace4 nfsace4; 281 #define MODE4_SUID 0x800 282 #define MODE4_SGID 0x400 283 #define MODE4_SVTX 0x200 284 #define MODE4_RUSR 0x100 285 #define MODE4_WUSR 0x080 286 #define MODE4_XUSR 0x040 287 #define MODE4_RGRP 0x020 288 #define MODE4_WGRP 0x010 289 #define MODE4_XGRP 0x008 290 #define MODE4_ROTH 0x004 291 #define MODE4_WOTH 0x002 292 #define MODE4_XOTH 0x001 293 294 struct specdata4 { 295 uint32_t specdata1; 296 uint32_t specdata2; 297 }; 298 typedef struct specdata4 specdata4; 299 #define FH4_PERSISTENT 0x00000000 300 #define FH4_NOEXPIRE_WITH_OPEN 0x00000001 301 #define FH4_VOLATILE_ANY 0x00000002 302 #define FH4_VOL_MIGRATION 0x00000004 303 #define FH4_VOL_RENAME 0x00000008 304 305 typedef bitmap4 fattr4_supported_attrs; 306 307 typedef nfs_ftype4 fattr4_type; 308 309 typedef uint32_t fattr4_fh_expire_type; 310 311 typedef changeid4 fattr4_change; 312 313 typedef uint64_t fattr4_size; 314 315 typedef uint32_t fattr4_link_support; 316 317 typedef uint32_t fattr4_symlink_support; 318 319 typedef uint32_t fattr4_named_attr; 320 321 typedef fsid4 fattr4_fsid; 322 323 typedef uint32_t fattr4_unique_handles; 324 325 typedef uint32_t fattr4_lease_time; 326 327 typedef nfsstat4 fattr4_rdattr_error; 328 329 typedef struct { 330 u_int fattr4_acl_len; 331 nfsace4 *fattr4_acl_val; 332 } fattr4_acl; 333 334 typedef uint32_t fattr4_aclsupport; 335 336 typedef uint32_t fattr4_archive; 337 338 typedef uint32_t fattr4_cansettime; 339 340 typedef uint32_t fattr4_case_insensitive; 341 342 typedef uint32_t fattr4_case_preserving; 343 344 typedef uint32_t fattr4_chown_restricted; 345 346 typedef uint64_t fattr4_fileid; 347 348 typedef uint64_t fattr4_files_avail; 349 350 typedef nfs_fh4 fattr4_filehandle; 351 352 typedef uint64_t fattr4_files_free; 353 354 typedef uint64_t fattr4_files_total; 355 356 typedef fs_locations4 fattr4_fs_locations; 357 358 typedef uint32_t fattr4_hidden; 359 360 typedef uint32_t fattr4_homogeneous; 361 362 typedef uint64_t fattr4_maxfilesize; 363 364 typedef uint32_t fattr4_maxlink; 365 366 typedef uint32_t fattr4_maxname; 367 368 typedef uint64_t fattr4_maxread; 369 370 typedef uint64_t fattr4_maxwrite; 371 372 typedef utf8str_cs fattr4_mimetype; 373 374 typedef mode4 fattr4_mode; 375 376 typedef uint64_t fattr4_mounted_on_fileid; 377 378 typedef uint32_t fattr4_no_trunc; 379 380 typedef uint32_t fattr4_numlinks; 381 382 typedef utf8str_mixed fattr4_owner; 383 384 typedef utf8str_mixed fattr4_owner_group; 385 386 typedef uint64_t fattr4_quota_avail_hard; 387 388 typedef uint64_t fattr4_quota_avail_soft; 389 390 typedef uint64_t fattr4_quota_used; 391 392 typedef specdata4 fattr4_rawdev; 393 394 typedef uint64_t fattr4_space_avail; 395 396 typedef uint64_t fattr4_space_free; 397 398 typedef uint64_t fattr4_space_total; 399 400 typedef uint64_t fattr4_space_used; 401 402 typedef uint32_t fattr4_system; 403 404 typedef nfstime4 fattr4_time_access; 405 406 typedef settime4 fattr4_time_access_set; 407 408 typedef nfstime4 fattr4_time_backup; 409 410 typedef nfstime4 fattr4_time_create; 411 412 typedef nfstime4 fattr4_time_delta; 413 414 typedef nfstime4 fattr4_time_metadata; 415 416 typedef nfstime4 fattr4_time_modify; 417 418 typedef settime4 fattr4_time_modify_set; 419 #define FATTR4_SUPPORTED_ATTRS 0 420 #define FATTR4_TYPE 1 421 #define FATTR4_FH_EXPIRE_TYPE 2 422 #define FATTR4_CHANGE 3 423 #define FATTR4_SIZE 4 424 #define FATTR4_LINK_SUPPORT 5 425 #define FATTR4_SYMLINK_SUPPORT 6 426 #define FATTR4_NAMED_ATTR 7 427 #define FATTR4_FSID 8 428 #define FATTR4_UNIQUE_HANDLES 9 429 #define FATTR4_LEASE_TIME 10 430 #define FATTR4_RDATTR_ERROR 11 431 #define FATTR4_FILEHANDLE 19 432 #define FATTR4_ACL 12 433 #define FATTR4_ACLSUPPORT 13 434 #define FATTR4_ARCHIVE 14 435 #define FATTR4_CANSETTIME 15 436 #define FATTR4_CASE_INSENSITIVE 16 437 #define FATTR4_CASE_PRESERVING 17 438 #define FATTR4_CHOWN_RESTRICTED 18 439 #define FATTR4_FILEID 20 440 #define FATTR4_FILES_AVAIL 21 441 #define FATTR4_FILES_FREE 22 442 #define FATTR4_FILES_TOTAL 23 443 #define FATTR4_FS_LOCATIONS 24 444 #define FATTR4_HIDDEN 25 445 #define FATTR4_HOMOGENEOUS 26 446 #define FATTR4_MAXFILESIZE 27 447 #define FATTR4_MAXLINK 28 448 #define FATTR4_MAXNAME 29 449 #define FATTR4_MAXREAD 30 450 #define FATTR4_MAXWRITE 31 451 #define FATTR4_MIMETYPE 32 452 #define FATTR4_MODE 33 453 #define FATTR4_NO_TRUNC 34 454 #define FATTR4_NUMLINKS 35 455 #define FATTR4_OWNER 36 456 #define FATTR4_OWNER_GROUP 37 457 #define FATTR4_QUOTA_AVAIL_HARD 38 458 #define FATTR4_QUOTA_AVAIL_SOFT 39 459 #define FATTR4_QUOTA_USED 40 460 #define FATTR4_RAWDEV 41 461 #define FATTR4_SPACE_AVAIL 42 462 #define FATTR4_SPACE_FREE 43 463 #define FATTR4_SPACE_TOTAL 44 464 #define FATTR4_SPACE_USED 45 465 #define FATTR4_SYSTEM 46 466 #define FATTR4_TIME_ACCESS 47 467 #define FATTR4_TIME_ACCESS_SET 48 468 #define FATTR4_TIME_BACKUP 49 469 #define FATTR4_TIME_CREATE 50 470 #define FATTR4_TIME_DELTA 51 471 #define FATTR4_TIME_METADATA 52 472 #define FATTR4_TIME_MODIFY 53 473 #define FATTR4_TIME_MODIFY_SET 54 474 #define FATTR4_MOUNTED_ON_FILEID 55 475 476 typedef struct { 477 u_int attrlist4_len; 478 char *attrlist4_val; 479 } attrlist4; 480 481 struct fattr4 { 482 bitmap4 attrmask; 483 attrlist4 attr_vals; 484 }; 485 typedef struct fattr4 fattr4; 486 487 struct change_info4 { 488 uint32_t atomic; 489 changeid4 before; 490 changeid4 after; 491 }; 492 typedef struct change_info4 change_info4; 493 494 struct clientaddr4 { 495 char *r_netid; 496 char *r_addr; 497 }; 498 typedef struct clientaddr4 clientaddr4; 499 500 struct cb_client4 { 501 uint32_t cb_program; 502 clientaddr4 cb_location; 503 }; 504 typedef struct cb_client4 cb_client4; 505 506 struct stateid4 { 507 uint32_t seqid; 508 char other[12]; 509 }; 510 typedef struct stateid4 stateid4; 511 512 struct nfs_client_id4 { 513 verifier4 verifier; 514 struct { 515 u_int id_len; 516 char *id_val; 517 } id; 518 }; 519 typedef struct nfs_client_id4 nfs_client_id4; 520 521 struct open_owner4 { 522 clientid4 clientid; 523 struct { 524 u_int owner_len; 525 char *owner_val; 526 } owner; 527 }; 528 typedef struct open_owner4 open_owner4; 529 530 struct lock_owner4 { 531 clientid4 clientid; 532 struct { 533 u_int owner_len; 534 char *owner_val; 535 } owner; 536 }; 537 typedef struct lock_owner4 lock_owner4; 538 539 enum nfs_lock_type4 { 540 READ_LT = 1, 541 WRITE_LT = 2, 542 READW_LT = 3, 543 WRITEW_LT = 4, 544 }; 545 typedef enum nfs_lock_type4 nfs_lock_type4; 546 #define ACCESS4_READ 0x00000001 547 #define ACCESS4_LOOKUP 0x00000002 548 #define ACCESS4_MODIFY 0x00000004 549 #define ACCESS4_EXTEND 0x00000008 550 #define ACCESS4_DELETE 0x00000010 551 #define ACCESS4_EXECUTE 0x00000020 552 553 struct ACCESS4args { 554 uint32_t access; 555 }; 556 typedef struct ACCESS4args ACCESS4args; 557 558 struct ACCESS4resok { 559 uint32_t supported; 560 uint32_t access; 561 }; 562 typedef struct ACCESS4resok ACCESS4resok; 563 564 struct ACCESS4res { 565 nfsstat4 status; 566 union { 567 ACCESS4resok resok4; 568 } ACCESS4res_u; 569 }; 570 typedef struct ACCESS4res ACCESS4res; 571 572 struct CLOSE4args { 573 seqid4 seqid; 574 stateid4 open_stateid; 575 }; 576 typedef struct CLOSE4args CLOSE4args; 577 578 struct CLOSE4res { 579 nfsstat4 status; 580 union { 581 stateid4 open_stateid; 582 } CLOSE4res_u; 583 }; 584 typedef struct CLOSE4res CLOSE4res; 585 586 struct COMMIT4args { 587 offset4 offset; 588 count4 count; 589 }; 590 typedef struct COMMIT4args COMMIT4args; 591 592 struct COMMIT4resok { 593 verifier4 writeverf; 594 }; 595 typedef struct COMMIT4resok COMMIT4resok; 596 597 struct COMMIT4res { 598 nfsstat4 status; 599 union { 600 COMMIT4resok resok4; 601 } COMMIT4res_u; 602 }; 603 typedef struct COMMIT4res COMMIT4res; 604 605 struct createtype4 { 606 nfs_ftype4 type; 607 union { 608 linktext4 linkdata; 609 specdata4 devdata; 610 } createtype4_u; 611 }; 612 typedef struct createtype4 createtype4; 613 614 struct CREATE4args { 615 createtype4 objtype; 616 component4 objname; 617 fattr4 createattrs; 618 }; 619 typedef struct CREATE4args CREATE4args; 620 621 struct CREATE4resok { 622 change_info4 cinfo; 623 bitmap4 attrset; 624 }; 625 typedef struct CREATE4resok CREATE4resok; 626 627 struct CREATE4res { 628 nfsstat4 status; 629 union { 630 CREATE4resok resok4; 631 } CREATE4res_u; 632 }; 633 typedef struct CREATE4res CREATE4res; 634 635 struct DELEGPURGE4args { 636 clientid4 clientid; 637 }; 638 typedef struct DELEGPURGE4args DELEGPURGE4args; 639 640 struct DELEGPURGE4res { 641 nfsstat4 status; 642 }; 643 typedef struct DELEGPURGE4res DELEGPURGE4res; 644 645 struct DELEGRETURN4args { 646 stateid4 deleg_stateid; 647 }; 648 typedef struct DELEGRETURN4args DELEGRETURN4args; 649 650 struct DELEGRETURN4res { 651 nfsstat4 status; 652 }; 653 typedef struct DELEGRETURN4res DELEGRETURN4res; 654 655 struct GETATTR4args { 656 bitmap4 attr_request; 657 }; 658 typedef struct GETATTR4args GETATTR4args; 659 660 struct GETATTR4resok { 661 fattr4 obj_attributes; 662 }; 663 typedef struct GETATTR4resok GETATTR4resok; 664 665 struct GETATTR4res { 666 nfsstat4 status; 667 union { 668 GETATTR4resok resok4; 669 } GETATTR4res_u; 670 }; 671 typedef struct GETATTR4res GETATTR4res; 672 673 struct GETFH4resok { 674 nfs_fh4 object; 675 }; 676 typedef struct GETFH4resok GETFH4resok; 677 678 struct GETFH4res { 679 nfsstat4 status; 680 union { 681 GETFH4resok resok4; 682 } GETFH4res_u; 683 }; 684 typedef struct GETFH4res GETFH4res; 685 686 struct LINK4args { 687 component4 newname; 688 }; 689 typedef struct LINK4args LINK4args; 690 691 struct LINK4resok { 692 change_info4 cinfo; 693 }; 694 typedef struct LINK4resok LINK4resok; 695 696 struct LINK4res { 697 nfsstat4 status; 698 union { 699 LINK4resok resok4; 700 } LINK4res_u; 701 }; 702 typedef struct LINK4res LINK4res; 703 704 struct open_to_lock_owner4 { 705 seqid4 open_seqid; 706 stateid4 open_stateid; 707 seqid4 lock_seqid; 708 lock_owner4 lock_owner; 709 }; 710 typedef struct open_to_lock_owner4 open_to_lock_owner4; 711 712 struct exist_lock_owner4 { 713 stateid4 lock_stateid; 714 seqid4 lock_seqid; 715 }; 716 typedef struct exist_lock_owner4 exist_lock_owner4; 717 718 struct locker4 { 719 uint32_t new_lock_owner; 720 union { 721 open_to_lock_owner4 open_owner; 722 exist_lock_owner4 lock_owner; 723 } locker4_u; 724 }; 725 typedef struct locker4 locker4; 726 727 struct LOCK4args { 728 nfs_lock_type4 locktype; 729 uint32_t reclaim; 730 offset4 offset; 731 length4 length; 732 locker4 locker; 733 }; 734 typedef struct LOCK4args LOCK4args; 735 736 struct LOCK4denied { 737 offset4 offset; 738 length4 length; 739 nfs_lock_type4 locktype; 740 lock_owner4 owner; 741 }; 742 typedef struct LOCK4denied LOCK4denied; 743 744 struct LOCK4resok { 745 stateid4 lock_stateid; 746 }; 747 typedef struct LOCK4resok LOCK4resok; 748 749 struct LOCK4res { 750 nfsstat4 status; 751 union { 752 LOCK4resok resok4; 753 LOCK4denied denied; 754 } LOCK4res_u; 755 }; 756 typedef struct LOCK4res LOCK4res; 757 758 struct LOCKT4args { 759 nfs_lock_type4 locktype; 760 offset4 offset; 761 length4 length; 762 lock_owner4 owner; 763 }; 764 typedef struct LOCKT4args LOCKT4args; 765 766 struct LOCKT4res { 767 nfsstat4 status; 768 union { 769 LOCK4denied denied; 770 } LOCKT4res_u; 771 }; 772 typedef struct LOCKT4res LOCKT4res; 773 774 struct LOCKU4args { 775 nfs_lock_type4 locktype; 776 seqid4 seqid; 777 stateid4 lock_stateid; 778 offset4 offset; 779 length4 length; 780 }; 781 typedef struct LOCKU4args LOCKU4args; 782 783 struct LOCKU4res { 784 nfsstat4 status; 785 union { 786 stateid4 lock_stateid; 787 } LOCKU4res_u; 788 }; 789 typedef struct LOCKU4res LOCKU4res; 790 791 struct LOOKUP4args { 792 component4 objname; 793 }; 794 typedef struct LOOKUP4args LOOKUP4args; 795 796 struct LOOKUP4res { 797 nfsstat4 status; 798 }; 799 typedef struct LOOKUP4res LOOKUP4res; 800 801 struct LOOKUPP4res { 802 nfsstat4 status; 803 }; 804 typedef struct LOOKUPP4res LOOKUPP4res; 805 806 struct NVERIFY4args { 807 fattr4 obj_attributes; 808 }; 809 typedef struct NVERIFY4args NVERIFY4args; 810 811 struct NVERIFY4res { 812 nfsstat4 status; 813 }; 814 typedef struct NVERIFY4res NVERIFY4res; 815 816 enum createmode4 { 817 UNCHECKED4 = 0, 818 GUARDED4 = 1, 819 EXCLUSIVE4 = 2, 820 }; 821 typedef enum createmode4 createmode4; 822 823 struct createhow4 { 824 createmode4 mode; 825 union { 826 fattr4 createattrs; 827 verifier4 createverf; 828 } createhow4_u; 829 }; 830 typedef struct createhow4 createhow4; 831 832 enum opentype4 { 833 OPEN4_NOCREATE = 0, 834 OPEN4_CREATE = 1, 835 }; 836 typedef enum opentype4 opentype4; 837 838 struct openflag4 { 839 opentype4 opentype; 840 union { 841 createhow4 how; 842 } openflag4_u; 843 }; 844 typedef struct openflag4 openflag4; 845 846 enum limit_by4 { 847 NFS_LIMIT_SIZE = 1, 848 NFS_LIMIT_BLOCKS = 2, 849 }; 850 typedef enum limit_by4 limit_by4; 851 852 struct nfs_modified_limit4 { 853 uint32_t num_blocks; 854 uint32_t bytes_per_block; 855 }; 856 typedef struct nfs_modified_limit4 nfs_modified_limit4; 857 858 struct nfs_space_limit4 { 859 limit_by4 limitby; 860 union { 861 uint64_t filesize; 862 nfs_modified_limit4 mod_blocks; 863 } nfs_space_limit4_u; 864 }; 865 typedef struct nfs_space_limit4 nfs_space_limit4; 866 #define OPEN4_SHARE_ACCESS_READ 0x00000001 867 #define OPEN4_SHARE_ACCESS_WRITE 0x00000002 868 #define OPEN4_SHARE_ACCESS_BOTH 0x00000003 869 #define OPEN4_SHARE_DENY_NONE 0x00000000 870 #define OPEN4_SHARE_DENY_READ 0x00000001 871 #define OPEN4_SHARE_DENY_WRITE 0x00000002 872 #define OPEN4_SHARE_DENY_BOTH 0x00000003 873 874 enum open_delegation_type4 { 875 OPEN_DELEGATE_NONE = 0, 876 OPEN_DELEGATE_READ = 1, 877 OPEN_DELEGATE_WRITE = 2, 878 }; 879 typedef enum open_delegation_type4 open_delegation_type4; 880 881 enum open_claim_type4 { 882 CLAIM_NULL = 0, 883 CLAIM_PREVIOUS = 1, 884 CLAIM_DELEGATE_CUR = 2, 885 CLAIM_DELEGATE_PREV = 3, 886 }; 887 typedef enum open_claim_type4 open_claim_type4; 888 889 struct open_claim_delegate_cur4 { 890 stateid4 delegate_stateid; 891 component4 file; 892 }; 893 typedef struct open_claim_delegate_cur4 open_claim_delegate_cur4; 894 895 struct open_claim4 { 896 open_claim_type4 claim; 897 union { 898 component4 file; 899 open_delegation_type4 delegate_type; 900 open_claim_delegate_cur4 delegate_cur_info; 901 component4 file_delegate_prev; 902 } open_claim4_u; 903 }; 904 typedef struct open_claim4 open_claim4; 905 906 struct OPEN4args { 907 seqid4 seqid; 908 uint32_t share_access; 909 uint32_t share_deny; 910 open_owner4 owner; 911 openflag4 openhow; 912 open_claim4 claim; 913 }; 914 typedef struct OPEN4args OPEN4args; 915 916 struct open_read_delegation4 { 917 stateid4 stateid; 918 uint32_t recall; 919 nfsace4 permissions; 920 }; 921 typedef struct open_read_delegation4 open_read_delegation4; 922 923 struct open_write_delegation4 { 924 stateid4 stateid; 925 uint32_t recall; 926 nfs_space_limit4 space_limit; 927 nfsace4 permissions; 928 }; 929 typedef struct open_write_delegation4 open_write_delegation4; 930 931 struct open_delegation4 { 932 open_delegation_type4 delegation_type; 933 union { 934 open_read_delegation4 read; 935 open_write_delegation4 write; 936 } open_delegation4_u; 937 }; 938 typedef struct open_delegation4 open_delegation4; 939 #define OPEN4_RESULT_CONFIRM 0x00000002 940 #define OPEN4_RESULT_LOCKTYPE_POSIX 0x00000004 941 942 struct OPEN4resok { 943 stateid4 stateid; 944 change_info4 cinfo; 945 uint32_t rflags; 946 bitmap4 attrset; 947 open_delegation4 delegation; 948 }; 949 typedef struct OPEN4resok OPEN4resok; 950 951 struct OPEN4res { 952 nfsstat4 status; 953 union { 954 OPEN4resok resok4; 955 } OPEN4res_u; 956 }; 957 typedef struct OPEN4res OPEN4res; 958 959 struct OPENATTR4args { 960 uint32_t createdir; 961 }; 962 typedef struct OPENATTR4args OPENATTR4args; 963 964 struct OPENATTR4res { 965 nfsstat4 status; 966 }; 967 typedef struct OPENATTR4res OPENATTR4res; 968 969 struct OPEN_CONFIRM4args { 970 stateid4 open_stateid; 971 seqid4 seqid; 972 }; 973 typedef struct OPEN_CONFIRM4args OPEN_CONFIRM4args; 974 975 struct OPEN_CONFIRM4resok { 976 stateid4 open_stateid; 977 }; 978 typedef struct OPEN_CONFIRM4resok OPEN_CONFIRM4resok; 979 980 struct OPEN_CONFIRM4res { 981 nfsstat4 status; 982 union { 983 OPEN_CONFIRM4resok resok4; 984 } OPEN_CONFIRM4res_u; 985 }; 986 typedef struct OPEN_CONFIRM4res OPEN_CONFIRM4res; 987 988 struct OPEN_DOWNGRADE4args { 989 stateid4 open_stateid; 990 seqid4 seqid; 991 uint32_t share_access; 992 uint32_t share_deny; 993 }; 994 typedef struct OPEN_DOWNGRADE4args OPEN_DOWNGRADE4args; 995 996 struct OPEN_DOWNGRADE4resok { 997 stateid4 open_stateid; 998 }; 999 typedef struct OPEN_DOWNGRADE4resok OPEN_DOWNGRADE4resok; 1000 1001 struct OPEN_DOWNGRADE4res { 1002 nfsstat4 status; 1003 union { 1004 OPEN_DOWNGRADE4resok resok4; 1005 } OPEN_DOWNGRADE4res_u; 1006 }; 1007 typedef struct OPEN_DOWNGRADE4res OPEN_DOWNGRADE4res; 1008 1009 struct PUTFH4args { 1010 nfs_fh4 object; 1011 }; 1012 typedef struct PUTFH4args PUTFH4args; 1013 1014 struct PUTFH4res { 1015 nfsstat4 status; 1016 }; 1017 typedef struct PUTFH4res PUTFH4res; 1018 1019 struct PUTPUBFH4res { 1020 nfsstat4 status; 1021 }; 1022 typedef struct PUTPUBFH4res PUTPUBFH4res; 1023 1024 struct PUTROOTFH4res { 1025 nfsstat4 status; 1026 }; 1027 typedef struct PUTROOTFH4res PUTROOTFH4res; 1028 1029 struct READ4args { 1030 stateid4 stateid; 1031 offset4 offset; 1032 count4 count; 1033 }; 1034 typedef struct READ4args READ4args; 1035 1036 struct READ4resok { 1037 uint32_t eof; 1038 struct { 1039 u_int data_len; 1040 char *data_val; 1041 } data; 1042 }; 1043 typedef struct READ4resok READ4resok; 1044 1045 struct READ4res { 1046 nfsstat4 status; 1047 union { 1048 READ4resok resok4; 1049 } READ4res_u; 1050 }; 1051 typedef struct READ4res READ4res; 1052 1053 struct READDIR4args { 1054 nfs_cookie4 cookie; 1055 verifier4 cookieverf; 1056 count4 dircount; 1057 count4 maxcount; 1058 bitmap4 attr_request; 1059 }; 1060 typedef struct READDIR4args READDIR4args; 1061 1062 struct entry4 { 1063 nfs_cookie4 cookie; 1064 component4 name; 1065 fattr4 attrs; 1066 struct entry4 *nextentry; 1067 }; 1068 typedef struct entry4 entry4; 1069 1070 struct dirlist4 { 1071 entry4 *entries; 1072 uint32_t eof; 1073 }; 1074 typedef struct dirlist4 dirlist4; 1075 1076 struct READDIR4resok { 1077 verifier4 cookieverf; 1078 dirlist4 reply; 1079 }; 1080 typedef struct READDIR4resok READDIR4resok; 1081 1082 struct READDIR4res { 1083 nfsstat4 status; 1084 union { 1085 READDIR4resok resok4; 1086 } READDIR4res_u; 1087 }; 1088 typedef struct READDIR4res READDIR4res; 1089 1090 struct READLINK4resok { 1091 linktext4 link; 1092 }; 1093 typedef struct READLINK4resok READLINK4resok; 1094 1095 struct READLINK4res { 1096 nfsstat4 status; 1097 union { 1098 READLINK4resok resok4; 1099 } READLINK4res_u; 1100 }; 1101 typedef struct READLINK4res READLINK4res; 1102 1103 struct REMOVE4args { 1104 component4 target; 1105 }; 1106 typedef struct REMOVE4args REMOVE4args; 1107 1108 struct REMOVE4resok { 1109 change_info4 cinfo; 1110 }; 1111 typedef struct REMOVE4resok REMOVE4resok; 1112 1113 struct REMOVE4res { 1114 nfsstat4 status; 1115 union { 1116 REMOVE4resok resok4; 1117 } REMOVE4res_u; 1118 }; 1119 typedef struct REMOVE4res REMOVE4res; 1120 1121 struct RENAME4args { 1122 component4 oldname; 1123 component4 newname; 1124 }; 1125 typedef struct RENAME4args RENAME4args; 1126 1127 struct RENAME4resok { 1128 change_info4 source_cinfo; 1129 change_info4 target_cinfo; 1130 }; 1131 typedef struct RENAME4resok RENAME4resok; 1132 1133 struct RENAME4res { 1134 nfsstat4 status; 1135 union { 1136 RENAME4resok resok4; 1137 } RENAME4res_u; 1138 }; 1139 typedef struct RENAME4res RENAME4res; 1140 1141 struct RENEW4args { 1142 clientid4 clientid; 1143 }; 1144 typedef struct RENEW4args RENEW4args; 1145 1146 struct RENEW4res { 1147 nfsstat4 status; 1148 }; 1149 typedef struct RENEW4res RENEW4res; 1150 1151 struct RESTOREFH4res { 1152 nfsstat4 status; 1153 }; 1154 typedef struct RESTOREFH4res RESTOREFH4res; 1155 1156 struct SAVEFH4res { 1157 nfsstat4 status; 1158 }; 1159 typedef struct SAVEFH4res SAVEFH4res; 1160 1161 struct SETATTR4args { 1162 stateid4 stateid; 1163 fattr4 obj_attributes; 1164 }; 1165 typedef struct SETATTR4args SETATTR4args; 1166 1167 struct SETATTR4res { 1168 nfsstat4 status; 1169 bitmap4 attrsset; 1170 }; 1171 typedef struct SETATTR4res SETATTR4res; 1172 1173 struct SETCLIENTID4args { 1174 nfs_client_id4 client; 1175 cb_client4 callback; 1176 uint32_t callback_ident; 1177 }; 1178 typedef struct SETCLIENTID4args SETCLIENTID4args; 1179 1180 struct SETCLIENTID4resok { 1181 clientid4 clientid; 1182 verifier4 setclientid_confirm; 1183 }; 1184 typedef struct SETCLIENTID4resok SETCLIENTID4resok; 1185 1186 struct SETCLIENTID4res { 1187 nfsstat4 status; 1188 union { 1189 SETCLIENTID4resok resok4; 1190 clientaddr4 client_using; 1191 } SETCLIENTID4res_u; 1192 }; 1193 typedef struct SETCLIENTID4res SETCLIENTID4res; 1194 1195 struct SETCLIENTID_CONFIRM4args { 1196 clientid4 clientid; 1197 verifier4 setclientid_confirm; 1198 }; 1199 typedef struct SETCLIENTID_CONFIRM4args SETCLIENTID_CONFIRM4args; 1200 1201 struct SETCLIENTID_CONFIRM4res { 1202 nfsstat4 status; 1203 }; 1204 typedef struct SETCLIENTID_CONFIRM4res SETCLIENTID_CONFIRM4res; 1205 1206 struct VERIFY4args { 1207 fattr4 obj_attributes; 1208 }; 1209 typedef struct VERIFY4args VERIFY4args; 1210 1211 struct VERIFY4res { 1212 nfsstat4 status; 1213 }; 1214 typedef struct VERIFY4res VERIFY4res; 1215 1216 enum stable_how4 { 1217 UNSTABLE4 = 0, 1218 DATA_SYNC4 = 1, 1219 FILE_SYNC4 = 2, 1220 }; 1221 typedef enum stable_how4 stable_how4; 1222 1223 struct WRITE4args { 1224 stateid4 stateid; 1225 offset4 offset; 1226 stable_how4 stable; 1227 struct { 1228 u_int data_len; 1229 char *data_val; 1230 } data; 1231 }; 1232 typedef struct WRITE4args WRITE4args; 1233 1234 struct WRITE4resok { 1235 count4 count; 1236 stable_how4 committed; 1237 verifier4 writeverf; 1238 }; 1239 typedef struct WRITE4resok WRITE4resok; 1240 1241 struct WRITE4res { 1242 nfsstat4 status; 1243 union { 1244 WRITE4resok resok4; 1245 } WRITE4res_u; 1246 }; 1247 typedef struct WRITE4res WRITE4res; 1248 1249 struct RELEASE_LOCKOWNER4args { 1250 lock_owner4 lock_owner; 1251 }; 1252 typedef struct RELEASE_LOCKOWNER4args RELEASE_LOCKOWNER4args; 1253 1254 struct RELEASE_LOCKOWNER4res { 1255 nfsstat4 status; 1256 }; 1257 typedef struct RELEASE_LOCKOWNER4res RELEASE_LOCKOWNER4res; 1258 1259 struct ILLEGAL4res { 1260 nfsstat4 status; 1261 }; 1262 typedef struct ILLEGAL4res ILLEGAL4res; 1263 1264 enum nfs_opnum4 { 1265 OP_ACCESS = 3, 1266 OP_CLOSE = 4, 1267 OP_COMMIT = 5, 1268 OP_CREATE = 6, 1269 OP_DELEGPURGE = 7, 1270 OP_DELEGRETURN = 8, 1271 OP_GETATTR = 9, 1272 OP_GETFH = 10, 1273 OP_LINK = 11, 1274 OP_LOCK = 12, 1275 OP_LOCKT = 13, 1276 OP_LOCKU = 14, 1277 OP_LOOKUP = 15, 1278 OP_LOOKUPP = 16, 1279 OP_NVERIFY = 17, 1280 OP_OPEN = 18, 1281 OP_OPENATTR = 19, 1282 OP_OPEN_CONFIRM = 20, 1283 OP_OPEN_DOWNGRADE = 21, 1284 OP_PUTFH = 22, 1285 OP_PUTPUBFH = 23, 1286 OP_PUTROOTFH = 24, 1287 OP_READ = 25, 1288 OP_READDIR = 26, 1289 OP_READLINK = 27, 1290 OP_REMOVE = 28, 1291 OP_RENAME = 29, 1292 OP_RENEW = 30, 1293 OP_RESTOREFH = 31, 1294 OP_SAVEFH = 32, 1295 OP_SECINFO = 33, 1296 OP_SETATTR = 34, 1297 OP_SETCLIENTID = 35, 1298 OP_SETCLIENTID_CONFIRM = 36, 1299 OP_VERIFY = 37, 1300 OP_WRITE = 38, 1301 OP_RELEASE_LOCKOWNER = 39, 1302 OP_ILLEGAL = 10044, 1303 }; 1304 typedef enum nfs_opnum4 nfs_opnum4; 1305 1306 struct nfs_argop4 { 1307 nfs_opnum4 argop; 1308 union { 1309 ACCESS4args opaccess; 1310 CLOSE4args opclose; 1311 COMMIT4args opcommit; 1312 CREATE4args opcreate; 1313 DELEGPURGE4args opdelegpurge; 1314 DELEGRETURN4args opdelegreturn; 1315 GETATTR4args opgetattr; 1316 LINK4args oplink; 1317 LOCK4args oplock; 1318 LOCKT4args oplockt; 1319 LOCKU4args oplocku; 1320 LOOKUP4args oplookup; 1321 NVERIFY4args opnverify; 1322 OPEN4args opopen; 1323 OPENATTR4args opopenattr; 1324 OPEN_CONFIRM4args opopen_confirm; 1325 OPEN_DOWNGRADE4args opopen_downgrade; 1326 PUTFH4args opputfh; 1327 READ4args opread; 1328 READDIR4args opreaddir; 1329 REMOVE4args opremove; 1330 RENAME4args oprename; 1331 RENEW4args oprenew; 1332 SETATTR4args opsetattr; 1333 SETCLIENTID4args opsetclientid; 1334 SETCLIENTID_CONFIRM4args opsetclientid_confirm; 1335 VERIFY4args opverify; 1336 WRITE4args opwrite; 1337 RELEASE_LOCKOWNER4args oprelease_lockowner; 1338 } nfs_argop4_u; 1339 }; 1340 typedef struct nfs_argop4 nfs_argop4; 1341 1342 struct nfs_resop4 { 1343 nfs_opnum4 resop; 1344 union { 1345 ACCESS4res opaccess; 1346 CLOSE4res opclose; 1347 COMMIT4res opcommit; 1348 CREATE4res opcreate; 1349 DELEGPURGE4res opdelegpurge; 1350 DELEGRETURN4res opdelegreturn; 1351 GETATTR4res opgetattr; 1352 GETFH4res opgetfh; 1353 LINK4res oplink; 1354 LOCK4res oplock; 1355 LOCKT4res oplockt; 1356 LOCKU4res oplocku; 1357 LOOKUP4res oplookup; 1358 LOOKUPP4res oplookupp; 1359 NVERIFY4res opnverify; 1360 OPEN4res opopen; 1361 OPENATTR4res opopenattr; 1362 OPEN_CONFIRM4res opopen_confirm; 1363 OPEN_DOWNGRADE4res opopen_downgrade; 1364 PUTFH4res opputfh; 1365 PUTPUBFH4res opputpubfh; 1366 PUTROOTFH4res opputrootfh; 1367 READ4res opread; 1368 READDIR4res opreaddir; 1369 READLINK4res opreadlink; 1370 REMOVE4res opremove; 1371 RENAME4res oprename; 1372 RENEW4res oprenew; 1373 RESTOREFH4res oprestorefh; 1374 SAVEFH4res opsavefh; 1375 SETATTR4res opsetattr; 1376 SETCLIENTID4res opsetclientid; 1377 SETCLIENTID_CONFIRM4res opsetclientid_confirm; 1378 VERIFY4res opverify; 1379 WRITE4res opwrite; 1380 RELEASE_LOCKOWNER4res oprelease_lockowner; 1381 ILLEGAL4res opillegal; 1382 } nfs_resop4_u; 1383 }; 1384 typedef struct nfs_resop4 nfs_resop4; 1385 1386 struct COMPOUND4args { 1387 utf8str_cs tag; 1388 uint32_t minorversion; 1389 struct { 1390 u_int argarray_len; 1391 nfs_argop4 *argarray_val; 1392 } argarray; 1393 }; 1394 typedef struct COMPOUND4args COMPOUND4args; 1395 1396 struct COMPOUND4res { 1397 nfsstat4 status; 1398 utf8str_cs tag; 1399 struct { 1400 u_int resarray_len; 1401 nfs_resop4 *resarray_val; 1402 } resarray; 1403 }; 1404 typedef struct COMPOUND4res COMPOUND4res; 1405 1406 struct CB_GETATTR4args { 1407 nfs_fh4 fh; 1408 bitmap4 attr_request; 1409 }; 1410 typedef struct CB_GETATTR4args CB_GETATTR4args; 1411 1412 struct CB_GETATTR4resok { 1413 fattr4 obj_attributes; 1414 }; 1415 typedef struct CB_GETATTR4resok CB_GETATTR4resok; 1416 1417 struct CB_GETATTR4res { 1418 nfsstat4 status; 1419 union { 1420 CB_GETATTR4resok resok4; 1421 } CB_GETATTR4res_u; 1422 }; 1423 typedef struct CB_GETATTR4res CB_GETATTR4res; 1424 1425 struct CB_RECALL4args { 1426 stateid4 stateid; 1427 uint32_t truncate; 1428 nfs_fh4 fh; 1429 }; 1430 typedef struct CB_RECALL4args CB_RECALL4args; 1431 1432 struct CB_RECALL4res { 1433 nfsstat4 status; 1434 }; 1435 typedef struct CB_RECALL4res CB_RECALL4res; 1436 1437 struct CB_ILLEGAL4res { 1438 nfsstat4 status; 1439 }; 1440 typedef struct CB_ILLEGAL4res CB_ILLEGAL4res; 1441 1442 enum nfs_cb_opnum4 { 1443 OP_CB_GETATTR = 3, 1444 OP_CB_RECALL = 4, 1445 OP_CB_ILLEGAL = 10044, 1446 }; 1447 typedef enum nfs_cb_opnum4 nfs_cb_opnum4; 1448 1449 struct nfs_cb_argop4 { 1450 u_int argop; 1451 union { 1452 CB_GETATTR4args opcbgetattr; 1453 CB_RECALL4args opcbrecall; 1454 } nfs_cb_argop4_u; 1455 }; 1456 typedef struct nfs_cb_argop4 nfs_cb_argop4; 1457 1458 struct nfs_cb_resop4 { 1459 u_int resop; 1460 union { 1461 CB_GETATTR4res opcbgetattr; 1462 CB_RECALL4res opcbrecall; 1463 CB_ILLEGAL4res opcbillegal; 1464 } nfs_cb_resop4_u; 1465 }; 1466 typedef struct nfs_cb_resop4 nfs_cb_resop4; 1467 1468 struct CB_COMPOUND4args { 1469 utf8str_cs tag; 1470 uint32_t minorversion; 1471 uint32_t callback_ident; 1472 struct { 1473 u_int argarray_len; 1474 nfs_cb_argop4 *argarray_val; 1475 } argarray; 1476 }; 1477 typedef struct CB_COMPOUND4args CB_COMPOUND4args; 1478 1479 struct CB_COMPOUND4res { 1480 nfsstat4 status; 1481 utf8str_cs tag; 1482 struct { 1483 u_int resarray_len; 1484 nfs_cb_resop4 *resarray_val; 1485 } resarray; 1486 }; 1487 typedef struct CB_COMPOUND4res CB_COMPOUND4res; 1488 1489 #define NFS4_PROGRAM 100003 1490 #define NFS_V4 4 1491 1492 #if defined(__STDC__) || defined(__cplusplus) 1493 #define NFSPROC4_NULL 0 1494 extern void * nfsproc4_null_4(void *, void *); 1495 extern void * nfsproc4_null_4_svc(void *, struct svc_req *); 1496 #define NFSPROC4_COMPOUND 1 1497 extern COMPOUND4res * nfsproc4_compound_4(COMPOUND4args *, void *); 1498 extern COMPOUND4res * nfsproc4_compound_4_svc(COMPOUND4args *, struct svc_req *); 1499 extern int nfs4_program_4_freeresult (void *, zdrproc_t, caddr_t); 1500 1501 #else /* K&R C */ 1502 #define NFSPROC4_NULL 0 1503 extern void * nfsproc4_null_4(); 1504 extern void * nfsproc4_null_4_svc(); 1505 #define NFSPROC4_COMPOUND 1 1506 extern COMPOUND4res * nfsproc4_compound_4(); 1507 extern COMPOUND4res * nfsproc4_compound_4_svc(); 1508 extern int nfs4_program_4_freeresult (); 1509 #endif /* K&R C */ 1510 1511 #define NFS4_CALLBACK 0x40000000 1512 #define NFS_CB 1 1513 1514 #if defined(__STDC__) || defined(__cplusplus) 1515 #define CB_NULL 0 1516 extern void * cb_null_1(void *, void *); 1517 extern void * cb_null_1_svc(void *, struct svc_req *); 1518 #define CB_COMPOUND 1 1519 extern CB_COMPOUND4res * cb_compound_1(CB_COMPOUND4args *, void *); 1520 extern CB_COMPOUND4res * cb_compound_1_svc(CB_COMPOUND4args *, struct svc_req *); 1521 extern int nfs4_callback_1_freeresult (void *, zdrproc_t, caddr_t); 1522 1523 #else /* K&R C */ 1524 #define CB_NULL 0 1525 extern void * cb_null_1(); 1526 extern void * cb_null_1_svc(); 1527 #define CB_COMPOUND 1 1528 extern CB_COMPOUND4res * cb_compound_1(); 1529 extern CB_COMPOUND4res * cb_compound_1_svc(); 1530 extern int nfs4_callback_1_freeresult (); 1531 #endif /* K&R C */ 1532 1533 /* the zdr functions */ 1534 1535 #if defined(__STDC__) || defined(__cplusplus) 1536 extern uint32_t zdr_nfs_ftype4 (ZDR *, nfs_ftype4*); 1537 extern uint32_t zdr_nfsstat4 (ZDR *, nfsstat4*); 1538 extern uint32_t zdr_bitmap4 (ZDR *, bitmap4*); 1539 extern uint32_t zdr_offset4 (ZDR *, offset4*); 1540 extern uint32_t zdr_count4 (ZDR *, count4*); 1541 extern uint32_t zdr_length4 (ZDR *, length4*); 1542 extern uint32_t zdr_clientid4 (ZDR *, clientid4*); 1543 extern uint32_t zdr_seqid4 (ZDR *, seqid4*); 1544 extern uint32_t zdr_utf8string (ZDR *, utf8string*); 1545 extern uint32_t zdr_utf8str_cis (ZDR *, utf8str_cis*); 1546 extern uint32_t zdr_utf8str_cs (ZDR *, utf8str_cs*); 1547 extern uint32_t zdr_utf8str_mixed (ZDR *, utf8str_mixed*); 1548 extern uint32_t zdr_component4 (ZDR *, component4*); 1549 extern uint32_t zdr_pathname4 (ZDR *, pathname4*); 1550 extern uint32_t zdr_nfs_lockid4 (ZDR *, nfs_lockid4*); 1551 extern uint32_t zdr_nfs_cookie4 (ZDR *, nfs_cookie4*); 1552 extern uint32_t zdr_linktext4 (ZDR *, linktext4*); 1553 extern uint32_t zdr_sec_oid4 (ZDR *, sec_oid4*); 1554 extern uint32_t zdr_qop4 (ZDR *, qop4*); 1555 extern uint32_t zdr_mode4 (ZDR *, mode4*); 1556 extern uint32_t zdr_changeid4 (ZDR *, changeid4*); 1557 extern uint32_t zdr_verifier4 (ZDR *, verifier4); 1558 extern uint32_t zdr_nfstime4 (ZDR *, nfstime4*); 1559 extern uint32_t zdr_time_how4 (ZDR *, time_how4*); 1560 extern uint32_t zdr_settime4 (ZDR *, settime4*); 1561 extern uint32_t zdr_nfs_fh4 (ZDR *, nfs_fh4*); 1562 extern uint32_t zdr_fsid4 (ZDR *, fsid4*); 1563 extern uint32_t zdr_fs_location4 (ZDR *, fs_location4*); 1564 extern uint32_t zdr_fs_locations4 (ZDR *, fs_locations4*); 1565 extern uint32_t zdr_acetype4 (ZDR *, acetype4*); 1566 extern uint32_t zdr_aceflag4 (ZDR *, aceflag4*); 1567 extern uint32_t zdr_acemask4 (ZDR *, acemask4*); 1568 extern uint32_t zdr_nfsace4 (ZDR *, nfsace4*); 1569 extern uint32_t zdr_specdata4 (ZDR *, specdata4*); 1570 extern uint32_t zdr_fattr4_supported_attrs (ZDR *, fattr4_supported_attrs*); 1571 extern uint32_t zdr_fattr4_type (ZDR *, fattr4_type*); 1572 extern uint32_t zdr_fattr4_fh_expire_type (ZDR *, fattr4_fh_expire_type*); 1573 extern uint32_t zdr_fattr4_change (ZDR *, fattr4_change*); 1574 extern uint32_t zdr_fattr4_size (ZDR *, fattr4_size*); 1575 extern uint32_t zdr_fattr4_link_support (ZDR *, fattr4_link_support*); 1576 extern uint32_t zdr_fattr4_symlink_support (ZDR *, fattr4_symlink_support*); 1577 extern uint32_t zdr_fattr4_named_attr (ZDR *, fattr4_named_attr*); 1578 extern uint32_t zdr_fattr4_fsid (ZDR *, fattr4_fsid*); 1579 extern uint32_t zdr_fattr4_unique_handles (ZDR *, fattr4_unique_handles*); 1580 extern uint32_t zdr_fattr4_lease_time (ZDR *, fattr4_lease_time*); 1581 extern uint32_t zdr_fattr4_rdattr_error (ZDR *, fattr4_rdattr_error*); 1582 extern uint32_t zdr_fattr4_acl (ZDR *, fattr4_acl*); 1583 extern uint32_t zdr_fattr4_aclsupport (ZDR *, fattr4_aclsupport*); 1584 extern uint32_t zdr_fattr4_archive (ZDR *, fattr4_archive*); 1585 extern uint32_t zdr_fattr4_cansettime (ZDR *, fattr4_cansettime*); 1586 extern uint32_t zdr_fattr4_case_insensitive (ZDR *, fattr4_case_insensitive*); 1587 extern uint32_t zdr_fattr4_case_preserving (ZDR *, fattr4_case_preserving*); 1588 extern uint32_t zdr_fattr4_chown_restricted (ZDR *, fattr4_chown_restricted*); 1589 extern uint32_t zdr_fattr4_fileid (ZDR *, fattr4_fileid*); 1590 extern uint32_t zdr_fattr4_files_avail (ZDR *, fattr4_files_avail*); 1591 extern uint32_t zdr_fattr4_filehandle (ZDR *, fattr4_filehandle*); 1592 extern uint32_t zdr_fattr4_files_free (ZDR *, fattr4_files_free*); 1593 extern uint32_t zdr_fattr4_files_total (ZDR *, fattr4_files_total*); 1594 extern uint32_t zdr_fattr4_fs_locations (ZDR *, fattr4_fs_locations*); 1595 extern uint32_t zdr_fattr4_hidden (ZDR *, fattr4_hidden*); 1596 extern uint32_t zdr_fattr4_homogeneous (ZDR *, fattr4_homogeneous*); 1597 extern uint32_t zdr_fattr4_maxfilesize (ZDR *, fattr4_maxfilesize*); 1598 extern uint32_t zdr_fattr4_maxlink (ZDR *, fattr4_maxlink*); 1599 extern uint32_t zdr_fattr4_maxname (ZDR *, fattr4_maxname*); 1600 extern uint32_t zdr_fattr4_maxread (ZDR *, fattr4_maxread*); 1601 extern uint32_t zdr_fattr4_maxwrite (ZDR *, fattr4_maxwrite*); 1602 extern uint32_t zdr_fattr4_mimetype (ZDR *, fattr4_mimetype*); 1603 extern uint32_t zdr_fattr4_mode (ZDR *, fattr4_mode*); 1604 extern uint32_t zdr_fattr4_mounted_on_fileid (ZDR *, fattr4_mounted_on_fileid*); 1605 extern uint32_t zdr_fattr4_no_trunc (ZDR *, fattr4_no_trunc*); 1606 extern uint32_t zdr_fattr4_numlinks (ZDR *, fattr4_numlinks*); 1607 extern uint32_t zdr_fattr4_owner (ZDR *, fattr4_owner*); 1608 extern uint32_t zdr_fattr4_owner_group (ZDR *, fattr4_owner_group*); 1609 extern uint32_t zdr_fattr4_quota_avail_hard (ZDR *, fattr4_quota_avail_hard*); 1610 extern uint32_t zdr_fattr4_quota_avail_soft (ZDR *, fattr4_quota_avail_soft*); 1611 extern uint32_t zdr_fattr4_quota_used (ZDR *, fattr4_quota_used*); 1612 extern uint32_t zdr_fattr4_rawdev (ZDR *, fattr4_rawdev*); 1613 extern uint32_t zdr_fattr4_space_avail (ZDR *, fattr4_space_avail*); 1614 extern uint32_t zdr_fattr4_space_free (ZDR *, fattr4_space_free*); 1615 extern uint32_t zdr_fattr4_space_total (ZDR *, fattr4_space_total*); 1616 extern uint32_t zdr_fattr4_space_used (ZDR *, fattr4_space_used*); 1617 extern uint32_t zdr_fattr4_system (ZDR *, fattr4_system*); 1618 extern uint32_t zdr_fattr4_time_access (ZDR *, fattr4_time_access*); 1619 extern uint32_t zdr_fattr4_time_access_set (ZDR *, fattr4_time_access_set*); 1620 extern uint32_t zdr_fattr4_time_backup (ZDR *, fattr4_time_backup*); 1621 extern uint32_t zdr_fattr4_time_create (ZDR *, fattr4_time_create*); 1622 extern uint32_t zdr_fattr4_time_delta (ZDR *, fattr4_time_delta*); 1623 extern uint32_t zdr_fattr4_time_metadata (ZDR *, fattr4_time_metadata*); 1624 extern uint32_t zdr_fattr4_time_modify (ZDR *, fattr4_time_modify*); 1625 extern uint32_t zdr_fattr4_time_modify_set (ZDR *, fattr4_time_modify_set*); 1626 extern uint32_t zdr_attrlist4 (ZDR *, attrlist4*); 1627 extern uint32_t zdr_fattr4 (ZDR *, fattr4*); 1628 extern uint32_t zdr_change_info4 (ZDR *, change_info4*); 1629 extern uint32_t zdr_clientaddr4 (ZDR *, clientaddr4*); 1630 extern uint32_t zdr_cb_client4 (ZDR *, cb_client4*); 1631 extern uint32_t zdr_stateid4 (ZDR *, stateid4*); 1632 extern uint32_t zdr_nfs_client_id4 (ZDR *, nfs_client_id4*); 1633 extern uint32_t zdr_open_owner4 (ZDR *, open_owner4*); 1634 extern uint32_t zdr_lock_owner4 (ZDR *, lock_owner4*); 1635 extern uint32_t zdr_nfs_lock_type4 (ZDR *, nfs_lock_type4*); 1636 extern uint32_t zdr_ACCESS4args (ZDR *, ACCESS4args*); 1637 extern uint32_t zdr_ACCESS4resok (ZDR *, ACCESS4resok*); 1638 extern uint32_t zdr_ACCESS4res (ZDR *, ACCESS4res*); 1639 extern uint32_t zdr_CLOSE4args (ZDR *, CLOSE4args*); 1640 extern uint32_t zdr_CLOSE4res (ZDR *, CLOSE4res*); 1641 extern uint32_t zdr_COMMIT4args (ZDR *, COMMIT4args*); 1642 extern uint32_t zdr_COMMIT4resok (ZDR *, COMMIT4resok*); 1643 extern uint32_t zdr_COMMIT4res (ZDR *, COMMIT4res*); 1644 extern uint32_t zdr_createtype4 (ZDR *, createtype4*); 1645 extern uint32_t zdr_CREATE4args (ZDR *, CREATE4args*); 1646 extern uint32_t zdr_CREATE4resok (ZDR *, CREATE4resok*); 1647 extern uint32_t zdr_CREATE4res (ZDR *, CREATE4res*); 1648 extern uint32_t zdr_DELEGPURGE4args (ZDR *, DELEGPURGE4args*); 1649 extern uint32_t zdr_DELEGPURGE4res (ZDR *, DELEGPURGE4res*); 1650 extern uint32_t zdr_DELEGRETURN4args (ZDR *, DELEGRETURN4args*); 1651 extern uint32_t zdr_DELEGRETURN4res (ZDR *, DELEGRETURN4res*); 1652 extern uint32_t zdr_GETATTR4args (ZDR *, GETATTR4args*); 1653 extern uint32_t zdr_GETATTR4resok (ZDR *, GETATTR4resok*); 1654 extern uint32_t zdr_GETATTR4res (ZDR *, GETATTR4res*); 1655 extern uint32_t zdr_GETFH4resok (ZDR *, GETFH4resok*); 1656 extern uint32_t zdr_GETFH4res (ZDR *, GETFH4res*); 1657 extern uint32_t zdr_LINK4args (ZDR *, LINK4args*); 1658 extern uint32_t zdr_LINK4resok (ZDR *, LINK4resok*); 1659 extern uint32_t zdr_LINK4res (ZDR *, LINK4res*); 1660 extern uint32_t zdr_open_to_lock_owner4 (ZDR *, open_to_lock_owner4*); 1661 extern uint32_t zdr_exist_lock_owner4 (ZDR *, exist_lock_owner4*); 1662 extern uint32_t zdr_locker4 (ZDR *, locker4*); 1663 extern uint32_t zdr_LOCK4args (ZDR *, LOCK4args*); 1664 extern uint32_t zdr_LOCK4denied (ZDR *, LOCK4denied*); 1665 extern uint32_t zdr_LOCK4resok (ZDR *, LOCK4resok*); 1666 extern uint32_t zdr_LOCK4res (ZDR *, LOCK4res*); 1667 extern uint32_t zdr_LOCKT4args (ZDR *, LOCKT4args*); 1668 extern uint32_t zdr_LOCKT4res (ZDR *, LOCKT4res*); 1669 extern uint32_t zdr_LOCKU4args (ZDR *, LOCKU4args*); 1670 extern uint32_t zdr_LOCKU4res (ZDR *, LOCKU4res*); 1671 extern uint32_t zdr_LOOKUP4args (ZDR *, LOOKUP4args*); 1672 extern uint32_t zdr_LOOKUP4res (ZDR *, LOOKUP4res*); 1673 extern uint32_t zdr_LOOKUPP4res (ZDR *, LOOKUPP4res*); 1674 extern uint32_t zdr_NVERIFY4args (ZDR *, NVERIFY4args*); 1675 extern uint32_t zdr_NVERIFY4res (ZDR *, NVERIFY4res*); 1676 extern uint32_t zdr_createmode4 (ZDR *, createmode4*); 1677 extern uint32_t zdr_createhow4 (ZDR *, createhow4*); 1678 extern uint32_t zdr_opentype4 (ZDR *, opentype4*); 1679 extern uint32_t zdr_openflag4 (ZDR *, openflag4*); 1680 extern uint32_t zdr_limit_by4 (ZDR *, limit_by4*); 1681 extern uint32_t zdr_nfs_modified_limit4 (ZDR *, nfs_modified_limit4*); 1682 extern uint32_t zdr_nfs_space_limit4 (ZDR *, nfs_space_limit4*); 1683 extern uint32_t zdr_open_delegation_type4 (ZDR *, open_delegation_type4*); 1684 extern uint32_t zdr_open_claim_type4 (ZDR *, open_claim_type4*); 1685 extern uint32_t zdr_open_claim_delegate_cur4 (ZDR *, open_claim_delegate_cur4*); 1686 extern uint32_t zdr_open_claim4 (ZDR *, open_claim4*); 1687 extern uint32_t zdr_OPEN4args (ZDR *, OPEN4args*); 1688 extern uint32_t zdr_open_read_delegation4 (ZDR *, open_read_delegation4*); 1689 extern uint32_t zdr_open_write_delegation4 (ZDR *, open_write_delegation4*); 1690 extern uint32_t zdr_open_delegation4 (ZDR *, open_delegation4*); 1691 extern uint32_t zdr_OPEN4resok (ZDR *, OPEN4resok*); 1692 extern uint32_t zdr_OPEN4res (ZDR *, OPEN4res*); 1693 extern uint32_t zdr_OPENATTR4args (ZDR *, OPENATTR4args*); 1694 extern uint32_t zdr_OPENATTR4res (ZDR *, OPENATTR4res*); 1695 extern uint32_t zdr_OPEN_CONFIRM4args (ZDR *, OPEN_CONFIRM4args*); 1696 extern uint32_t zdr_OPEN_CONFIRM4resok (ZDR *, OPEN_CONFIRM4resok*); 1697 extern uint32_t zdr_OPEN_CONFIRM4res (ZDR *, OPEN_CONFIRM4res*); 1698 extern uint32_t zdr_OPEN_DOWNGRADE4args (ZDR *, OPEN_DOWNGRADE4args*); 1699 extern uint32_t zdr_OPEN_DOWNGRADE4resok (ZDR *, OPEN_DOWNGRADE4resok*); 1700 extern uint32_t zdr_OPEN_DOWNGRADE4res (ZDR *, OPEN_DOWNGRADE4res*); 1701 extern uint32_t zdr_PUTFH4args (ZDR *, PUTFH4args*); 1702 extern uint32_t zdr_PUTFH4res (ZDR *, PUTFH4res*); 1703 extern uint32_t zdr_PUTPUBFH4res (ZDR *, PUTPUBFH4res*); 1704 extern uint32_t zdr_PUTROOTFH4res (ZDR *, PUTROOTFH4res*); 1705 extern uint32_t zdr_READ4args (ZDR *, READ4args*); 1706 extern uint32_t zdr_READ4resok (ZDR *, READ4resok*); 1707 extern uint32_t zdr_READ4res (ZDR *, READ4res*); 1708 extern uint32_t zdr_READDIR4args (ZDR *, READDIR4args*); 1709 extern uint32_t zdr_entry4 (ZDR *, entry4*); 1710 extern uint32_t zdr_dirlist4 (ZDR *, dirlist4*); 1711 extern uint32_t zdr_READDIR4resok (ZDR *, READDIR4resok*); 1712 extern uint32_t zdr_READDIR4res (ZDR *, READDIR4res*); 1713 extern uint32_t zdr_READLINK4resok (ZDR *, READLINK4resok*); 1714 extern uint32_t zdr_READLINK4res (ZDR *, READLINK4res*); 1715 extern uint32_t zdr_REMOVE4args (ZDR *, REMOVE4args*); 1716 extern uint32_t zdr_REMOVE4resok (ZDR *, REMOVE4resok*); 1717 extern uint32_t zdr_REMOVE4res (ZDR *, REMOVE4res*); 1718 extern uint32_t zdr_RENAME4args (ZDR *, RENAME4args*); 1719 extern uint32_t zdr_RENAME4resok (ZDR *, RENAME4resok*); 1720 extern uint32_t zdr_RENAME4res (ZDR *, RENAME4res*); 1721 extern uint32_t zdr_RENEW4args (ZDR *, RENEW4args*); 1722 extern uint32_t zdr_RENEW4res (ZDR *, RENEW4res*); 1723 extern uint32_t zdr_RESTOREFH4res (ZDR *, RESTOREFH4res*); 1724 extern uint32_t zdr_SAVEFH4res (ZDR *, SAVEFH4res*); 1725 extern uint32_t zdr_SETATTR4args (ZDR *, SETATTR4args*); 1726 extern uint32_t zdr_SETATTR4res (ZDR *, SETATTR4res*); 1727 extern uint32_t zdr_SETCLIENTID4args (ZDR *, SETCLIENTID4args*); 1728 extern uint32_t zdr_SETCLIENTID4resok (ZDR *, SETCLIENTID4resok*); 1729 extern uint32_t zdr_SETCLIENTID4res (ZDR *, SETCLIENTID4res*); 1730 extern uint32_t zdr_SETCLIENTID_CONFIRM4args (ZDR *, SETCLIENTID_CONFIRM4args*); 1731 extern uint32_t zdr_SETCLIENTID_CONFIRM4res (ZDR *, SETCLIENTID_CONFIRM4res*); 1732 extern uint32_t zdr_VERIFY4args (ZDR *, VERIFY4args*); 1733 extern uint32_t zdr_VERIFY4res (ZDR *, VERIFY4res*); 1734 extern uint32_t zdr_stable_how4 (ZDR *, stable_how4*); 1735 extern uint32_t zdr_WRITE4args (ZDR *, WRITE4args*); 1736 extern uint32_t zdr_WRITE4resok (ZDR *, WRITE4resok*); 1737 extern uint32_t zdr_WRITE4res (ZDR *, WRITE4res*); 1738 extern uint32_t zdr_RELEASE_LOCKOWNER4args (ZDR *, RELEASE_LOCKOWNER4args*); 1739 extern uint32_t zdr_RELEASE_LOCKOWNER4res (ZDR *, RELEASE_LOCKOWNER4res*); 1740 extern uint32_t zdr_ILLEGAL4res (ZDR *, ILLEGAL4res*); 1741 extern uint32_t zdr_nfs_opnum4 (ZDR *, nfs_opnum4*); 1742 extern uint32_t zdr_nfs_argop4 (ZDR *, nfs_argop4*); 1743 extern uint32_t zdr_nfs_resop4 (ZDR *, nfs_resop4*); 1744 extern uint32_t zdr_COMPOUND4args (ZDR *, COMPOUND4args*); 1745 extern uint32_t zdr_COMPOUND4res (ZDR *, COMPOUND4res*); 1746 extern uint32_t zdr_CB_GETATTR4args (ZDR *, CB_GETATTR4args*); 1747 extern uint32_t zdr_CB_GETATTR4resok (ZDR *, CB_GETATTR4resok*); 1748 extern uint32_t zdr_CB_GETATTR4res (ZDR *, CB_GETATTR4res*); 1749 extern uint32_t zdr_CB_RECALL4args (ZDR *, CB_RECALL4args*); 1750 extern uint32_t zdr_CB_RECALL4res (ZDR *, CB_RECALL4res*); 1751 extern uint32_t zdr_CB_ILLEGAL4res (ZDR *, CB_ILLEGAL4res*); 1752 extern uint32_t zdr_nfs_cb_opnum4 (ZDR *, nfs_cb_opnum4*); 1753 extern uint32_t zdr_nfs_cb_argop4 (ZDR *, nfs_cb_argop4*); 1754 extern uint32_t zdr_nfs_cb_resop4 (ZDR *, nfs_cb_resop4*); 1755 extern uint32_t zdr_CB_COMPOUND4args (ZDR *, CB_COMPOUND4args*); 1756 extern uint32_t zdr_CB_COMPOUND4res (ZDR *, CB_COMPOUND4res*); 1757 1758 #else /* K&R C */ 1759 extern uint32_t zdr_nfs_ftype4 (); 1760 extern uint32_t zdr_nfsstat4 (); 1761 extern uint32_t zdr_bitmap4 (); 1762 extern uint32_t zdr_offset4 (); 1763 extern uint32_t zdr_count4 (); 1764 extern uint32_t zdr_length4 (); 1765 extern uint32_t zdr_clientid4 (); 1766 extern uint32_t zdr_seqid4 (); 1767 extern uint32_t zdr_utf8string (); 1768 extern uint32_t zdr_utf8str_cis (); 1769 extern uint32_t zdr_utf8str_cs (); 1770 extern uint32_t zdr_utf8str_mixed (); 1771 extern uint32_t zdr_component4 (); 1772 extern uint32_t zdr_pathname4 (); 1773 extern uint32_t zdr_nfs_lockid4 (); 1774 extern uint32_t zdr_nfs_cookie4 (); 1775 extern uint32_t zdr_linktext4 (); 1776 extern uint32_t zdr_sec_oid4 (); 1777 extern uint32_t zdr_qop4 (); 1778 extern uint32_t zdr_mode4 (); 1779 extern uint32_t zdr_changeid4 (); 1780 extern uint32_t zdr_verifier4 (); 1781 extern uint32_t zdr_nfstime4 (); 1782 extern uint32_t zdr_time_how4 (); 1783 extern uint32_t zdr_settime4 (); 1784 extern uint32_t zdr_nfs_fh4 (); 1785 extern uint32_t zdr_fsid4 (); 1786 extern uint32_t zdr_fs_location4 (); 1787 extern uint32_t zdr_fs_locations4 (); 1788 extern uint32_t zdr_acetype4 (); 1789 extern uint32_t zdr_aceflag4 (); 1790 extern uint32_t zdr_acemask4 (); 1791 extern uint32_t zdr_nfsace4 (); 1792 extern uint32_t zdr_specdata4 (); 1793 extern uint32_t zdr_fattr4_supported_attrs (); 1794 extern uint32_t zdr_fattr4_type (); 1795 extern uint32_t zdr_fattr4_fh_expire_type (); 1796 extern uint32_t zdr_fattr4_change (); 1797 extern uint32_t zdr_fattr4_size (); 1798 extern uint32_t zdr_fattr4_link_support (); 1799 extern uint32_t zdr_fattr4_symlink_support (); 1800 extern uint32_t zdr_fattr4_named_attr (); 1801 extern uint32_t zdr_fattr4_fsid (); 1802 extern uint32_t zdr_fattr4_unique_handles (); 1803 extern uint32_t zdr_fattr4_lease_time (); 1804 extern uint32_t zdr_fattr4_rdattr_error (); 1805 extern uint32_t zdr_fattr4_acl (); 1806 extern uint32_t zdr_fattr4_aclsupport (); 1807 extern uint32_t zdr_fattr4_archive (); 1808 extern uint32_t zdr_fattr4_cansettime (); 1809 extern uint32_t zdr_fattr4_case_insensitive (); 1810 extern uint32_t zdr_fattr4_case_preserving (); 1811 extern uint32_t zdr_fattr4_chown_restricted (); 1812 extern uint32_t zdr_fattr4_fileid (); 1813 extern uint32_t zdr_fattr4_files_avail (); 1814 extern uint32_t zdr_fattr4_filehandle (); 1815 extern uint32_t zdr_fattr4_files_free (); 1816 extern uint32_t zdr_fattr4_files_total (); 1817 extern uint32_t zdr_fattr4_fs_locations (); 1818 extern uint32_t zdr_fattr4_hidden (); 1819 extern uint32_t zdr_fattr4_homogeneous (); 1820 extern uint32_t zdr_fattr4_maxfilesize (); 1821 extern uint32_t zdr_fattr4_maxlink (); 1822 extern uint32_t zdr_fattr4_maxname (); 1823 extern uint32_t zdr_fattr4_maxread (); 1824 extern uint32_t zdr_fattr4_maxwrite (); 1825 extern uint32_t zdr_fattr4_mimetype (); 1826 extern uint32_t zdr_fattr4_mode (); 1827 extern uint32_t zdr_fattr4_mounted_on_fileid (); 1828 extern uint32_t zdr_fattr4_no_trunc (); 1829 extern uint32_t zdr_fattr4_numlinks (); 1830 extern uint32_t zdr_fattr4_owner (); 1831 extern uint32_t zdr_fattr4_owner_group (); 1832 extern uint32_t zdr_fattr4_quota_avail_hard (); 1833 extern uint32_t zdr_fattr4_quota_avail_soft (); 1834 extern uint32_t zdr_fattr4_quota_used (); 1835 extern uint32_t zdr_fattr4_rawdev (); 1836 extern uint32_t zdr_fattr4_space_avail (); 1837 extern uint32_t zdr_fattr4_space_free (); 1838 extern uint32_t zdr_fattr4_space_total (); 1839 extern uint32_t zdr_fattr4_space_used (); 1840 extern uint32_t zdr_fattr4_system (); 1841 extern uint32_t zdr_fattr4_time_access (); 1842 extern uint32_t zdr_fattr4_time_access_set (); 1843 extern uint32_t zdr_fattr4_time_backup (); 1844 extern uint32_t zdr_fattr4_time_create (); 1845 extern uint32_t zdr_fattr4_time_delta (); 1846 extern uint32_t zdr_fattr4_time_metadata (); 1847 extern uint32_t zdr_fattr4_time_modify (); 1848 extern uint32_t zdr_fattr4_time_modify_set (); 1849 extern uint32_t zdr_attrlist4 (); 1850 extern uint32_t zdr_fattr4 (); 1851 extern uint32_t zdr_change_info4 (); 1852 extern uint32_t zdr_clientaddr4 (); 1853 extern uint32_t zdr_cb_client4 (); 1854 extern uint32_t zdr_stateid4 (); 1855 extern uint32_t zdr_nfs_client_id4 (); 1856 extern uint32_t zdr_open_owner4 (); 1857 extern uint32_t zdr_lock_owner4 (); 1858 extern uint32_t zdr_nfs_lock_type4 (); 1859 extern uint32_t zdr_ACCESS4args (); 1860 extern uint32_t zdr_ACCESS4resok (); 1861 extern uint32_t zdr_ACCESS4res (); 1862 extern uint32_t zdr_CLOSE4args (); 1863 extern uint32_t zdr_CLOSE4res (); 1864 extern uint32_t zdr_COMMIT4args (); 1865 extern uint32_t zdr_COMMIT4resok (); 1866 extern uint32_t zdr_COMMIT4res (); 1867 extern uint32_t zdr_createtype4 (); 1868 extern uint32_t zdr_CREATE4args (); 1869 extern uint32_t zdr_CREATE4resok (); 1870 extern uint32_t zdr_CREATE4res (); 1871 extern uint32_t zdr_DELEGPURGE4args (); 1872 extern uint32_t zdr_DELEGPURGE4res (); 1873 extern uint32_t zdr_DELEGRETURN4args (); 1874 extern uint32_t zdr_DELEGRETURN4res (); 1875 extern uint32_t zdr_GETATTR4args (); 1876 extern uint32_t zdr_GETATTR4resok (); 1877 extern uint32_t zdr_GETATTR4res (); 1878 extern uint32_t zdr_GETFH4resok (); 1879 extern uint32_t zdr_GETFH4res (); 1880 extern uint32_t zdr_LINK4args (); 1881 extern uint32_t zdr_LINK4resok (); 1882 extern uint32_t zdr_LINK4res (); 1883 extern uint32_t zdr_open_to_lock_owner4 (); 1884 extern uint32_t zdr_exist_lock_owner4 (); 1885 extern uint32_t zdr_locker4 (); 1886 extern uint32_t zdr_LOCK4args (); 1887 extern uint32_t zdr_LOCK4denied (); 1888 extern uint32_t zdr_LOCK4resok (); 1889 extern uint32_t zdr_LOCK4res (); 1890 extern uint32_t zdr_LOCKT4args (); 1891 extern uint32_t zdr_LOCKT4res (); 1892 extern uint32_t zdr_LOCKU4args (); 1893 extern uint32_t zdr_LOCKU4res (); 1894 extern uint32_t zdr_LOOKUP4args (); 1895 extern uint32_t zdr_LOOKUP4res (); 1896 extern uint32_t zdr_LOOKUPP4res (); 1897 extern uint32_t zdr_NVERIFY4args (); 1898 extern uint32_t zdr_NVERIFY4res (); 1899 extern uint32_t zdr_createmode4 (); 1900 extern uint32_t zdr_createhow4 (); 1901 extern uint32_t zdr_opentype4 (); 1902 extern uint32_t zdr_openflag4 (); 1903 extern uint32_t zdr_limit_by4 (); 1904 extern uint32_t zdr_nfs_modified_limit4 (); 1905 extern uint32_t zdr_nfs_space_limit4 (); 1906 extern uint32_t zdr_open_delegation_type4 (); 1907 extern uint32_t zdr_open_claim_type4 (); 1908 extern uint32_t zdr_open_claim_delegate_cur4 (); 1909 extern uint32_t zdr_open_claim4 (); 1910 extern uint32_t zdr_OPEN4args (); 1911 extern uint32_t zdr_open_read_delegation4 (); 1912 extern uint32_t zdr_open_write_delegation4 (); 1913 extern uint32_t zdr_open_delegation4 (); 1914 extern uint32_t zdr_OPEN4resok (); 1915 extern uint32_t zdr_OPEN4res (); 1916 extern uint32_t zdr_OPENATTR4args (); 1917 extern uint32_t zdr_OPENATTR4res (); 1918 extern uint32_t zdr_OPEN_CONFIRM4args (); 1919 extern uint32_t zdr_OPEN_CONFIRM4resok (); 1920 extern uint32_t zdr_OPEN_CONFIRM4res (); 1921 extern uint32_t zdr_OPEN_DOWNGRADE4args (); 1922 extern uint32_t zdr_OPEN_DOWNGRADE4resok (); 1923 extern uint32_t zdr_OPEN_DOWNGRADE4res (); 1924 extern uint32_t zdr_PUTFH4args (); 1925 extern uint32_t zdr_PUTFH4res (); 1926 extern uint32_t zdr_PUTPUBFH4res (); 1927 extern uint32_t zdr_PUTROOTFH4res (); 1928 extern uint32_t zdr_READ4args (); 1929 extern uint32_t zdr_READ4resok (); 1930 extern uint32_t zdr_READ4res (); 1931 extern uint32_t zdr_READDIR4args (); 1932 extern uint32_t zdr_entry4 (); 1933 extern uint32_t zdr_dirlist4 (); 1934 extern uint32_t zdr_READDIR4resok (); 1935 extern uint32_t zdr_READDIR4res (); 1936 extern uint32_t zdr_READLINK4resok (); 1937 extern uint32_t zdr_READLINK4res (); 1938 extern uint32_t zdr_REMOVE4args (); 1939 extern uint32_t zdr_REMOVE4resok (); 1940 extern uint32_t zdr_REMOVE4res (); 1941 extern uint32_t zdr_RENAME4args (); 1942 extern uint32_t zdr_RENAME4resok (); 1943 extern uint32_t zdr_RENAME4res (); 1944 extern uint32_t zdr_RENEW4args (); 1945 extern uint32_t zdr_RENEW4res (); 1946 extern uint32_t zdr_RESTOREFH4res (); 1947 extern uint32_t zdr_SAVEFH4res (); 1948 extern uint32_t zdr_SETATTR4args (); 1949 extern uint32_t zdr_SETATTR4res (); 1950 extern uint32_t zdr_SETCLIENTID4args (); 1951 extern uint32_t zdr_SETCLIENTID4resok (); 1952 extern uint32_t zdr_SETCLIENTID4res (); 1953 extern uint32_t zdr_SETCLIENTID_CONFIRM4args (); 1954 extern uint32_t zdr_SETCLIENTID_CONFIRM4res (); 1955 extern uint32_t zdr_VERIFY4args (); 1956 extern uint32_t zdr_VERIFY4res (); 1957 extern uint32_t zdr_stable_how4 (); 1958 extern uint32_t zdr_WRITE4args (); 1959 extern uint32_t zdr_WRITE4resok (); 1960 extern uint32_t zdr_WRITE4res (); 1961 extern uint32_t zdr_RELEASE_LOCKOWNER4args (); 1962 extern uint32_t zdr_RELEASE_LOCKOWNER4res (); 1963 extern uint32_t zdr_ILLEGAL4res (); 1964 extern uint32_t zdr_nfs_opnum4 (); 1965 extern uint32_t zdr_nfs_argop4 (); 1966 extern uint32_t zdr_nfs_resop4 (); 1967 extern uint32_t zdr_COMPOUND4args (); 1968 extern uint32_t zdr_COMPOUND4res (); 1969 extern uint32_t zdr_CB_GETATTR4args (); 1970 extern uint32_t zdr_CB_GETATTR4resok (); 1971 extern uint32_t zdr_CB_GETATTR4res (); 1972 extern uint32_t zdr_CB_RECALL4args (); 1973 extern uint32_t zdr_CB_RECALL4res (); 1974 extern uint32_t zdr_CB_ILLEGAL4res (); 1975 extern uint32_t zdr_nfs_cb_opnum4 (); 1976 extern uint32_t zdr_nfs_cb_argop4 (); 1977 extern uint32_t zdr_nfs_cb_resop4 (); 1978 extern uint32_t zdr_CB_COMPOUND4args (); 1979 extern uint32_t zdr_CB_COMPOUND4res (); 1980 1981 #endif /* K&R C */ 1982 1983 #ifdef __cplusplus 1984 } 1985 #endif 1986 1987 #endif /* !_NFS4_H_RPCGEN */ 1988