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