1 /* 2 * Please do not edit this file. 3 * It was generated using rpcgen. 4 */ 5 6 #ifndef _NFS_PROT_H_RPCGEN 7 #define _NFS_PROT_H_RPCGEN 8 9 #include <rpc/rpc.h> 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 #pragma ident "%Z%%M% %I% %E% SMI" 16 17 /* 18 * Definitions for uint64, int64, uint32, and int32 19 */ 20 #include <rpc/rpc_sztypes.h> 21 22 #define NFS_PORT 2049 23 #define NFS_MAXDATA 8192 24 #define NFS_MAXPATHLEN 1024 25 #define NFS_MAXNAMLEN 255 26 #define NFS_FHSIZE 32 27 #define NFS_COOKIESIZE 4 28 #define NFS_FIFO_DEV -1 29 #define NFSMODE_FMT 0170000 30 #define NFSMODE_DIR 0040000 31 #define NFSMODE_CHR 0020000 32 #define NFSMODE_BLK 0060000 33 #define NFSMODE_REG 0100000 34 #define NFSMODE_LNK 0120000 35 #define NFSMODE_SOCK 0140000 36 #define NFSMODE_FIFO 0010000 37 38 enum nfsstat { 39 NFS_OK = 0, 40 NFSERR_PERM = 1, 41 NFSERR_NOENT = 2, 42 NFSERR_IO = 5, 43 NFSERR_NXIO = 6, 44 NFSERR_ACCES = 13, 45 NFSERR_EXIST = 17, 46 NFSERR_XDEV = 18, 47 NFSERR_NODEV = 19, 48 NFSERR_NOTDIR = 20, 49 NFSERR_ISDIR = 21, 50 NFSERR_INVAL = 22, 51 NFSERR_FBIG = 27, 52 NFSERR_NOSPC = 28, 53 NFSERR_ROFS = 30, 54 NFSERR_OPNOTSUPP = 45, 55 NFSERR_NAMETOOLONG = 63, 56 NFSERR_NOTEMPTY = 66, 57 NFSERR_DQUOT = 69, 58 NFSERR_STALE = 70, 59 NFSERR_REMOTE = 71, 60 NFSERR_WFLUSH = 72 61 }; 62 typedef enum nfsstat nfsstat; 63 64 enum ftype { 65 NFNON = 0, 66 NFREG = 1, 67 NFDIR = 2, 68 NFBLK = 3, 69 NFCHR = 4, 70 NFLNK = 5, 71 NFSOCK = 6, 72 NFBAD = 7, 73 NFFIFO = 8 74 }; 75 typedef enum ftype ftype; 76 77 struct nfs_fh { 78 char data[NFS_FHSIZE]; 79 }; 80 typedef struct nfs_fh nfs_fh; 81 82 struct nfstime { 83 u_int seconds; 84 u_int useconds; 85 }; 86 typedef struct nfstime nfstime; 87 88 struct fattr { 89 ftype type; 90 u_int mode; 91 u_int nlink; 92 u_int uid; 93 u_int gid; 94 u_int size; 95 u_int blocksize; 96 u_int rdev; 97 u_int blocks; 98 u_int fsid; 99 u_int fileid; 100 nfstime atime; 101 nfstime mtime; 102 nfstime ctime; 103 }; 104 typedef struct fattr fattr; 105 106 struct sattr { 107 u_int mode; 108 u_int uid; 109 u_int gid; 110 u_int size; 111 nfstime atime; 112 nfstime mtime; 113 }; 114 typedef struct sattr sattr; 115 116 typedef char *filename; 117 118 typedef char *nfspath; 119 120 struct attrstat { 121 nfsstat status; 122 union { 123 fattr attributes; 124 } attrstat_u; 125 }; 126 typedef struct attrstat attrstat; 127 128 struct sattrargs { 129 nfs_fh file; 130 sattr attributes; 131 }; 132 typedef struct sattrargs sattrargs; 133 134 struct diropargs { 135 nfs_fh dir; 136 filename name; 137 }; 138 typedef struct diropargs diropargs; 139 140 struct diropokres { 141 nfs_fh file; 142 fattr attributes; 143 }; 144 typedef struct diropokres diropokres; 145 146 struct diropres { 147 nfsstat status; 148 union { 149 diropokres diropres; 150 } diropres_u; 151 }; 152 typedef struct diropres diropres; 153 154 struct readlinkres { 155 nfsstat status; 156 union { 157 nfspath data; 158 } readlinkres_u; 159 }; 160 typedef struct readlinkres readlinkres; 161 162 struct readargs { 163 nfs_fh file; 164 u_int offset; 165 u_int count; 166 u_int totalcount; 167 }; 168 typedef struct readargs readargs; 169 170 struct readokres { 171 fattr attributes; 172 struct { 173 u_int data_len; 174 char *data_val; 175 } data; 176 }; 177 typedef struct readokres readokres; 178 179 struct readres { 180 nfsstat status; 181 union { 182 readokres reply; 183 } readres_u; 184 }; 185 typedef struct readres readres; 186 187 struct writeargs { 188 nfs_fh file; 189 u_int beginoffset; 190 u_int offset; 191 u_int totalcount; 192 struct { 193 u_int data_len; 194 char *data_val; 195 } data; 196 }; 197 typedef struct writeargs writeargs; 198 199 struct createargs { 200 diropargs where; 201 sattr attributes; 202 }; 203 typedef struct createargs createargs; 204 205 struct renameargs { 206 diropargs from; 207 diropargs to; 208 }; 209 typedef struct renameargs renameargs; 210 211 struct linkargs { 212 nfs_fh from; 213 diropargs to; 214 }; 215 typedef struct linkargs linkargs; 216 217 struct symlinkargs { 218 diropargs from; 219 nfspath to; 220 sattr attributes; 221 }; 222 typedef struct symlinkargs symlinkargs; 223 224 typedef char nfscookie[NFS_COOKIESIZE]; 225 226 struct readdirargs { 227 nfs_fh dir; 228 nfscookie cookie; 229 u_int count; 230 }; 231 typedef struct readdirargs readdirargs; 232 233 struct entry { 234 u_int fileid; 235 filename name; 236 nfscookie cookie; 237 struct entry *nextentry; 238 }; 239 typedef struct entry entry; 240 241 struct dirlist { 242 entry *entries; 243 bool_t eof; 244 }; 245 typedef struct dirlist dirlist; 246 247 struct readdirres { 248 nfsstat status; 249 union { 250 dirlist reply; 251 } readdirres_u; 252 }; 253 typedef struct readdirres readdirres; 254 255 struct statfsokres { 256 u_int tsize; 257 u_int bsize; 258 u_int blocks; 259 u_int bfree; 260 u_int bavail; 261 }; 262 typedef struct statfsokres statfsokres; 263 264 struct statfsres { 265 nfsstat status; 266 union { 267 statfsokres reply; 268 } statfsres_u; 269 }; 270 typedef struct statfsres statfsres; 271 #define NFS3_FHSIZE 64 272 #define NFS3_COOKIEVERFSIZE 8 273 #define NFS3_CREATEVERFSIZE 8 274 #define NFS3_WRITEVERFSIZE 8 275 276 typedef char *filename3; 277 278 typedef char *nfspath3; 279 280 typedef uint64 fileid3; 281 282 typedef uint64 cookie3; 283 284 typedef char cookieverf3[NFS3_COOKIEVERFSIZE]; 285 286 typedef char createverf3[NFS3_CREATEVERFSIZE]; 287 288 typedef char writeverf3[NFS3_WRITEVERFSIZE]; 289 290 typedef uint32 uid3; 291 292 typedef uint32 gid3; 293 294 typedef uint64 size3; 295 296 typedef uint64 offset3; 297 298 typedef uint32 mode3; 299 300 typedef uint32 count3; 301 302 enum nfsstat3 { 303 NFS3_OK = 0, 304 NFS3ERR_PERM = 1, 305 NFS3ERR_NOENT = 2, 306 NFS3ERR_IO = 5, 307 NFS3ERR_NXIO = 6, 308 NFS3ERR_ACCES = 13, 309 NFS3ERR_EXIST = 17, 310 NFS3ERR_XDEV = 18, 311 NFS3ERR_NODEV = 19, 312 NFS3ERR_NOTDIR = 20, 313 NFS3ERR_ISDIR = 21, 314 NFS3ERR_INVAL = 22, 315 NFS3ERR_FBIG = 27, 316 NFS3ERR_NOSPC = 28, 317 NFS3ERR_ROFS = 30, 318 NFS3ERR_MLINK = 31, 319 NFS3ERR_NAMETOOLONG = 63, 320 NFS3ERR_NOTEMPTY = 66, 321 NFS3ERR_DQUOT = 69, 322 NFS3ERR_STALE = 70, 323 NFS3ERR_REMOTE = 71, 324 NFS3ERR_BADHANDLE = 10001, 325 NFS3ERR_NOT_SYNC = 10002, 326 NFS3ERR_BAD_COOKIE = 10003, 327 NFS3ERR_NOTSUPP = 10004, 328 NFS3ERR_TOOSMALL = 10005, 329 NFS3ERR_SERVERFAULT = 10006, 330 NFS3ERR_BADTYPE = 10007, 331 NFS3ERR_JUKEBOX = 10008 332 }; 333 typedef enum nfsstat3 nfsstat3; 334 335 enum ftype3 { 336 NF3REG = 1, 337 NF3DIR = 2, 338 NF3BLK = 3, 339 NF3CHR = 4, 340 NF3LNK = 5, 341 NF3SOCK = 6, 342 NF3FIFO = 7 343 }; 344 typedef enum ftype3 ftype3; 345 346 struct specdata3 { 347 uint32 specdata1; 348 uint32 specdata2; 349 }; 350 typedef struct specdata3 specdata3; 351 352 struct nfs_fh3 { 353 struct { 354 u_int data_len; 355 char *data_val; 356 } data; 357 }; 358 typedef struct nfs_fh3 nfs_fh3; 359 360 struct nfstime3 { 361 uint32 seconds; 362 uint32 nseconds; 363 }; 364 typedef struct nfstime3 nfstime3; 365 366 struct fattr3 { 367 ftype3 type; 368 mode3 mode; 369 uint32 nlink; 370 uid3 uid; 371 gid3 gid; 372 size3 size; 373 size3 used; 374 specdata3 rdev; 375 uint64 fsid; 376 fileid3 fileid; 377 nfstime3 atime; 378 nfstime3 mtime; 379 nfstime3 ctime; 380 }; 381 typedef struct fattr3 fattr3; 382 383 struct post_op_attr { 384 bool_t attributes_follow; 385 union { 386 fattr3 attributes; 387 } post_op_attr_u; 388 }; 389 typedef struct post_op_attr post_op_attr; 390 391 struct wcc_attr { 392 size3 size; 393 nfstime3 mtime; 394 nfstime3 ctime; 395 }; 396 typedef struct wcc_attr wcc_attr; 397 398 struct pre_op_attr { 399 bool_t attributes_follow; 400 union { 401 wcc_attr attributes; 402 } pre_op_attr_u; 403 }; 404 typedef struct pre_op_attr pre_op_attr; 405 406 struct wcc_data { 407 pre_op_attr before; 408 post_op_attr after; 409 }; 410 typedef struct wcc_data wcc_data; 411 412 struct post_op_fh3 { 413 bool_t handle_follows; 414 union { 415 nfs_fh3 handle; 416 } post_op_fh3_u; 417 }; 418 typedef struct post_op_fh3 post_op_fh3; 419 420 enum time_how { 421 DONT_CHANGE = 0, 422 SET_TO_SERVER_TIME = 1, 423 SET_TO_CLIENT_TIME = 2 424 }; 425 typedef enum time_how time_how; 426 427 struct set_mode3 { 428 bool_t set_it; 429 union { 430 mode3 mode; 431 } set_mode3_u; 432 }; 433 typedef struct set_mode3 set_mode3; 434 435 struct set_uid3 { 436 bool_t set_it; 437 union { 438 uid3 uid; 439 } set_uid3_u; 440 }; 441 typedef struct set_uid3 set_uid3; 442 443 struct set_gid3 { 444 bool_t set_it; 445 union { 446 gid3 gid; 447 } set_gid3_u; 448 }; 449 typedef struct set_gid3 set_gid3; 450 451 struct set_size3 { 452 bool_t set_it; 453 union { 454 size3 size; 455 } set_size3_u; 456 }; 457 typedef struct set_size3 set_size3; 458 459 struct set_atime { 460 time_how set_it; 461 union { 462 nfstime3 atime; 463 } set_atime_u; 464 }; 465 typedef struct set_atime set_atime; 466 467 struct set_mtime { 468 time_how set_it; 469 union { 470 nfstime3 mtime; 471 } set_mtime_u; 472 }; 473 typedef struct set_mtime set_mtime; 474 475 struct sattr3 { 476 set_mode3 mode; 477 set_uid3 uid; 478 set_gid3 gid; 479 set_size3 size; 480 set_atime atime; 481 set_mtime mtime; 482 }; 483 typedef struct sattr3 sattr3; 484 485 struct diropargs3 { 486 nfs_fh3 dir; 487 filename3 name; 488 }; 489 typedef struct diropargs3 diropargs3; 490 491 struct GETATTR3args { 492 nfs_fh3 object; 493 }; 494 typedef struct GETATTR3args GETATTR3args; 495 496 struct GETATTR3resok { 497 fattr3 obj_attributes; 498 }; 499 typedef struct GETATTR3resok GETATTR3resok; 500 501 struct GETATTR3res { 502 nfsstat3 status; 503 union { 504 GETATTR3resok resok; 505 } GETATTR3res_u; 506 }; 507 typedef struct GETATTR3res GETATTR3res; 508 509 struct sattrguard3 { 510 bool_t check; 511 union { 512 nfstime3 obj_ctime; 513 } sattrguard3_u; 514 }; 515 typedef struct sattrguard3 sattrguard3; 516 517 struct SETATTR3args { 518 nfs_fh3 object; 519 sattr3 new_attributes; 520 sattrguard3 guard; 521 }; 522 typedef struct SETATTR3args SETATTR3args; 523 524 struct SETATTR3resok { 525 wcc_data obj_wcc; 526 }; 527 typedef struct SETATTR3resok SETATTR3resok; 528 529 struct SETATTR3resfail { 530 wcc_data obj_wcc; 531 }; 532 typedef struct SETATTR3resfail SETATTR3resfail; 533 534 struct SETATTR3res { 535 nfsstat3 status; 536 union { 537 SETATTR3resok resok; 538 SETATTR3resfail resfail; 539 } SETATTR3res_u; 540 }; 541 typedef struct SETATTR3res SETATTR3res; 542 543 struct LOOKUP3args { 544 diropargs3 what; 545 }; 546 typedef struct LOOKUP3args LOOKUP3args; 547 548 struct LOOKUP3resok { 549 nfs_fh3 object; 550 post_op_attr obj_attributes; 551 post_op_attr dir_attributes; 552 }; 553 typedef struct LOOKUP3resok LOOKUP3resok; 554 555 struct LOOKUP3resfail { 556 post_op_attr dir_attributes; 557 }; 558 typedef struct LOOKUP3resfail LOOKUP3resfail; 559 560 struct LOOKUP3res { 561 nfsstat3 status; 562 union { 563 LOOKUP3resok resok; 564 LOOKUP3resfail resfail; 565 } LOOKUP3res_u; 566 }; 567 typedef struct LOOKUP3res LOOKUP3res; 568 #define ACCESS3_READ 0x0001 569 #define ACCESS3_LOOKUP 0x0002 570 #define ACCESS3_MODIFY 0x0004 571 #define ACCESS3_EXTEND 0x0008 572 #define ACCESS3_DELETE 0x0010 573 #define ACCESS3_EXECUTE 0x0020 574 575 struct ACCESS3args { 576 nfs_fh3 object; 577 uint32 access; 578 }; 579 typedef struct ACCESS3args ACCESS3args; 580 581 struct ACCESS3resok { 582 post_op_attr obj_attributes; 583 uint32 access; 584 }; 585 typedef struct ACCESS3resok ACCESS3resok; 586 587 struct ACCESS3resfail { 588 post_op_attr obj_attributes; 589 }; 590 typedef struct ACCESS3resfail ACCESS3resfail; 591 592 struct ACCESS3res { 593 nfsstat3 status; 594 union { 595 ACCESS3resok resok; 596 ACCESS3resfail resfail; 597 } ACCESS3res_u; 598 }; 599 typedef struct ACCESS3res ACCESS3res; 600 601 struct READLINK3args { 602 nfs_fh3 symlink; 603 }; 604 typedef struct READLINK3args READLINK3args; 605 606 struct READLINK3resok { 607 post_op_attr symlink_attributes; 608 nfspath3 data; 609 }; 610 typedef struct READLINK3resok READLINK3resok; 611 612 struct READLINK3resfail { 613 post_op_attr symlink_attributes; 614 }; 615 typedef struct READLINK3resfail READLINK3resfail; 616 617 struct READLINK3res { 618 nfsstat3 status; 619 union { 620 READLINK3resok resok; 621 READLINK3resfail resfail; 622 } READLINK3res_u; 623 }; 624 typedef struct READLINK3res READLINK3res; 625 626 struct READ3args { 627 nfs_fh3 file; 628 offset3 offset; 629 count3 count; 630 }; 631 typedef struct READ3args READ3args; 632 633 struct READ3resok { 634 post_op_attr file_attributes; 635 count3 count; 636 bool_t eof; 637 struct { 638 u_int data_len; 639 char *data_val; 640 } data; 641 }; 642 typedef struct READ3resok READ3resok; 643 644 struct READ3resfail { 645 post_op_attr file_attributes; 646 }; 647 typedef struct READ3resfail READ3resfail; 648 649 struct READ3res { 650 nfsstat3 status; 651 union { 652 READ3resok resok; 653 READ3resfail resfail; 654 } READ3res_u; 655 }; 656 typedef struct READ3res READ3res; 657 658 enum stable_how { 659 UNSTABLE = 0, 660 DATA_SYNC = 1, 661 FILE_SYNC = 2 662 }; 663 typedef enum stable_how stable_how; 664 665 struct WRITE3args { 666 nfs_fh3 file; 667 offset3 offset; 668 count3 count; 669 stable_how stable; 670 struct { 671 u_int data_len; 672 char *data_val; 673 } data; 674 }; 675 typedef struct WRITE3args WRITE3args; 676 677 struct WRITE3resok { 678 wcc_data file_wcc; 679 count3 count; 680 stable_how committed; 681 writeverf3 verf; 682 }; 683 typedef struct WRITE3resok WRITE3resok; 684 685 struct WRITE3resfail { 686 wcc_data file_wcc; 687 }; 688 typedef struct WRITE3resfail WRITE3resfail; 689 690 struct WRITE3res { 691 nfsstat3 status; 692 union { 693 WRITE3resok resok; 694 WRITE3resfail resfail; 695 } WRITE3res_u; 696 }; 697 typedef struct WRITE3res WRITE3res; 698 699 enum createmode3 { 700 UNCHECKED = 0, 701 GUARDED = 1, 702 EXCLUSIVE = 2 703 }; 704 typedef enum createmode3 createmode3; 705 706 struct createhow3 { 707 createmode3 mode; 708 union { 709 sattr3 obj_attributes; 710 createverf3 verf; 711 } createhow3_u; 712 }; 713 typedef struct createhow3 createhow3; 714 715 struct CREATE3args { 716 diropargs3 where; 717 createhow3 how; 718 }; 719 typedef struct CREATE3args CREATE3args; 720 721 struct CREATE3resok { 722 post_op_fh3 obj; 723 post_op_attr obj_attributes; 724 wcc_data dir_wcc; 725 }; 726 typedef struct CREATE3resok CREATE3resok; 727 728 struct CREATE3resfail { 729 wcc_data dir_wcc; 730 }; 731 typedef struct CREATE3resfail CREATE3resfail; 732 733 struct CREATE3res { 734 nfsstat3 status; 735 union { 736 CREATE3resok resok; 737 CREATE3resfail resfail; 738 } CREATE3res_u; 739 }; 740 typedef struct CREATE3res CREATE3res; 741 742 struct MKDIR3args { 743 diropargs3 where; 744 sattr3 attributes; 745 }; 746 typedef struct MKDIR3args MKDIR3args; 747 748 struct MKDIR3resok { 749 post_op_fh3 obj; 750 post_op_attr obj_attributes; 751 wcc_data dir_wcc; 752 }; 753 typedef struct MKDIR3resok MKDIR3resok; 754 755 struct MKDIR3resfail { 756 wcc_data dir_wcc; 757 }; 758 typedef struct MKDIR3resfail MKDIR3resfail; 759 760 struct MKDIR3res { 761 nfsstat3 status; 762 union { 763 MKDIR3resok resok; 764 MKDIR3resfail resfail; 765 } MKDIR3res_u; 766 }; 767 typedef struct MKDIR3res MKDIR3res; 768 769 struct symlinkdata3 { 770 sattr3 symlink_attributes; 771 nfspath3 symlink_data; 772 }; 773 typedef struct symlinkdata3 symlinkdata3; 774 775 struct SYMLINK3args { 776 diropargs3 where; 777 symlinkdata3 symlink; 778 }; 779 typedef struct SYMLINK3args SYMLINK3args; 780 781 struct SYMLINK3resok { 782 post_op_fh3 obj; 783 post_op_attr obj_attributes; 784 wcc_data dir_wcc; 785 }; 786 typedef struct SYMLINK3resok SYMLINK3resok; 787 788 struct SYMLINK3resfail { 789 wcc_data dir_wcc; 790 }; 791 typedef struct SYMLINK3resfail SYMLINK3resfail; 792 793 struct SYMLINK3res { 794 nfsstat3 status; 795 union { 796 SYMLINK3resok resok; 797 SYMLINK3resfail resfail; 798 } SYMLINK3res_u; 799 }; 800 typedef struct SYMLINK3res SYMLINK3res; 801 802 struct devicedata3 { 803 sattr3 dev_attributes; 804 specdata3 spec; 805 }; 806 typedef struct devicedata3 devicedata3; 807 808 struct mknoddata3 { 809 ftype3 type; 810 union { 811 devicedata3 device; 812 sattr3 pipe_attributes; 813 } mknoddata3_u; 814 }; 815 typedef struct mknoddata3 mknoddata3; 816 817 struct MKNOD3args { 818 diropargs3 where; 819 mknoddata3 what; 820 }; 821 typedef struct MKNOD3args MKNOD3args; 822 823 struct MKNOD3resok { 824 post_op_fh3 obj; 825 post_op_attr obj_attributes; 826 wcc_data dir_wcc; 827 }; 828 typedef struct MKNOD3resok MKNOD3resok; 829 830 struct MKNOD3resfail { 831 wcc_data dir_wcc; 832 }; 833 typedef struct MKNOD3resfail MKNOD3resfail; 834 835 struct MKNOD3res { 836 nfsstat3 status; 837 union { 838 MKNOD3resok resok; 839 MKNOD3resfail resfail; 840 } MKNOD3res_u; 841 }; 842 typedef struct MKNOD3res MKNOD3res; 843 844 struct REMOVE3args { 845 diropargs3 object; 846 }; 847 typedef struct REMOVE3args REMOVE3args; 848 849 struct REMOVE3resok { 850 wcc_data dir_wcc; 851 }; 852 typedef struct REMOVE3resok REMOVE3resok; 853 854 struct REMOVE3resfail { 855 wcc_data dir_wcc; 856 }; 857 typedef struct REMOVE3resfail REMOVE3resfail; 858 859 struct REMOVE3res { 860 nfsstat3 status; 861 union { 862 REMOVE3resok resok; 863 REMOVE3resfail resfail; 864 } REMOVE3res_u; 865 }; 866 typedef struct REMOVE3res REMOVE3res; 867 868 struct RMDIR3args { 869 diropargs3 object; 870 }; 871 typedef struct RMDIR3args RMDIR3args; 872 873 struct RMDIR3resok { 874 wcc_data dir_wcc; 875 }; 876 typedef struct RMDIR3resok RMDIR3resok; 877 878 struct RMDIR3resfail { 879 wcc_data dir_wcc; 880 }; 881 typedef struct RMDIR3resfail RMDIR3resfail; 882 883 struct RMDIR3res { 884 nfsstat3 status; 885 union { 886 RMDIR3resok resok; 887 RMDIR3resfail resfail; 888 } RMDIR3res_u; 889 }; 890 typedef struct RMDIR3res RMDIR3res; 891 892 struct RENAME3args { 893 diropargs3 from; 894 diropargs3 to; 895 }; 896 typedef struct RENAME3args RENAME3args; 897 898 struct RENAME3resok { 899 wcc_data fromdir_wcc; 900 wcc_data todir_wcc; 901 }; 902 typedef struct RENAME3resok RENAME3resok; 903 904 struct RENAME3resfail { 905 wcc_data fromdir_wcc; 906 wcc_data todir_wcc; 907 }; 908 typedef struct RENAME3resfail RENAME3resfail; 909 910 struct RENAME3res { 911 nfsstat3 status; 912 union { 913 RENAME3resok resok; 914 RENAME3resfail resfail; 915 } RENAME3res_u; 916 }; 917 typedef struct RENAME3res RENAME3res; 918 919 struct LINK3args { 920 nfs_fh3 file; 921 diropargs3 link; 922 }; 923 typedef struct LINK3args LINK3args; 924 925 struct LINK3resok { 926 post_op_attr file_attributes; 927 wcc_data linkdir_wcc; 928 }; 929 typedef struct LINK3resok LINK3resok; 930 931 struct LINK3resfail { 932 post_op_attr file_attributes; 933 wcc_data linkdir_wcc; 934 }; 935 typedef struct LINK3resfail LINK3resfail; 936 937 struct LINK3res { 938 nfsstat3 status; 939 union { 940 LINK3resok resok; 941 LINK3resfail resfail; 942 } LINK3res_u; 943 }; 944 typedef struct LINK3res LINK3res; 945 946 struct READDIR3args { 947 nfs_fh3 dir; 948 cookie3 cookie; 949 cookieverf3 cookieverf; 950 count3 count; 951 }; 952 typedef struct READDIR3args READDIR3args; 953 954 struct entry3 { 955 fileid3 fileid; 956 filename3 name; 957 cookie3 cookie; 958 struct entry3 *nextentry; 959 }; 960 typedef struct entry3 entry3; 961 962 struct dirlist3 { 963 entry3 *entries; 964 bool_t eof; 965 }; 966 typedef struct dirlist3 dirlist3; 967 968 struct READDIR3resok { 969 post_op_attr dir_attributes; 970 cookieverf3 cookieverf; 971 dirlist3 reply; 972 }; 973 typedef struct READDIR3resok READDIR3resok; 974 975 struct READDIR3resfail { 976 post_op_attr dir_attributes; 977 }; 978 typedef struct READDIR3resfail READDIR3resfail; 979 980 struct READDIR3res { 981 nfsstat3 status; 982 union { 983 READDIR3resok resok; 984 READDIR3resfail resfail; 985 } READDIR3res_u; 986 }; 987 typedef struct READDIR3res READDIR3res; 988 989 struct READDIRPLUS3args { 990 nfs_fh3 dir; 991 cookie3 cookie; 992 cookieverf3 cookieverf; 993 count3 dircount; 994 count3 maxcount; 995 }; 996 typedef struct READDIRPLUS3args READDIRPLUS3args; 997 998 struct entryplus3 { 999 fileid3 fileid; 1000 filename3 name; 1001 cookie3 cookie; 1002 post_op_attr name_attributes; 1003 post_op_fh3 name_handle; 1004 struct entryplus3 *nextentry; 1005 }; 1006 typedef struct entryplus3 entryplus3; 1007 1008 struct dirlistplus3 { 1009 entryplus3 *entries; 1010 bool_t eof; 1011 }; 1012 typedef struct dirlistplus3 dirlistplus3; 1013 1014 struct READDIRPLUS3resok { 1015 post_op_attr dir_attributes; 1016 cookieverf3 cookieverf; 1017 dirlistplus3 reply; 1018 }; 1019 typedef struct READDIRPLUS3resok READDIRPLUS3resok; 1020 1021 struct READDIRPLUS3resfail { 1022 post_op_attr dir_attributes; 1023 }; 1024 typedef struct READDIRPLUS3resfail READDIRPLUS3resfail; 1025 1026 struct READDIRPLUS3res { 1027 nfsstat3 status; 1028 union { 1029 READDIRPLUS3resok resok; 1030 READDIRPLUS3resfail resfail; 1031 } READDIRPLUS3res_u; 1032 }; 1033 typedef struct READDIRPLUS3res READDIRPLUS3res; 1034 1035 struct FSSTAT3args { 1036 nfs_fh3 fsroot; 1037 }; 1038 typedef struct FSSTAT3args FSSTAT3args; 1039 1040 struct FSSTAT3resok { 1041 post_op_attr obj_attributes; 1042 size3 tbytes; 1043 size3 fbytes; 1044 size3 abytes; 1045 size3 tfiles; 1046 size3 ffiles; 1047 size3 afiles; 1048 uint32 invarsec; 1049 }; 1050 typedef struct FSSTAT3resok FSSTAT3resok; 1051 1052 struct FSSTAT3resfail { 1053 post_op_attr obj_attributes; 1054 }; 1055 typedef struct FSSTAT3resfail FSSTAT3resfail; 1056 1057 struct FSSTAT3res { 1058 nfsstat3 status; 1059 union { 1060 FSSTAT3resok resok; 1061 FSSTAT3resfail resfail; 1062 } FSSTAT3res_u; 1063 }; 1064 typedef struct FSSTAT3res FSSTAT3res; 1065 #define FSF3_LINK 0x0001 1066 #define FSF3_SYMLINK 0x0002 1067 #define FSF3_HOMOGENEOUS 0x0008 1068 #define FSF3_CANSETTIME 0x0010 1069 1070 struct FSINFO3args { 1071 nfs_fh3 fsroot; 1072 }; 1073 typedef struct FSINFO3args FSINFO3args; 1074 1075 struct FSINFO3resok { 1076 post_op_attr obj_attributes; 1077 uint32 rtmax; 1078 uint32 rtpref; 1079 uint32 rtmult; 1080 uint32 wtmax; 1081 uint32 wtpref; 1082 uint32 wtmult; 1083 uint32 dtpref; 1084 size3 maxfilesize; 1085 nfstime3 time_delta; 1086 uint32 properties; 1087 }; 1088 typedef struct FSINFO3resok FSINFO3resok; 1089 1090 struct FSINFO3resfail { 1091 post_op_attr obj_attributes; 1092 }; 1093 typedef struct FSINFO3resfail FSINFO3resfail; 1094 1095 struct FSINFO3res { 1096 nfsstat3 status; 1097 union { 1098 FSINFO3resok resok; 1099 FSINFO3resfail resfail; 1100 } FSINFO3res_u; 1101 }; 1102 typedef struct FSINFO3res FSINFO3res; 1103 1104 struct PATHCONF3args { 1105 nfs_fh3 object; 1106 }; 1107 typedef struct PATHCONF3args PATHCONF3args; 1108 1109 struct PATHCONF3resok { 1110 post_op_attr obj_attributes; 1111 uint32 linkmax; 1112 uint32 name_max; 1113 bool_t no_trunc; 1114 bool_t chown_restricted; 1115 bool_t case_insensitive; 1116 bool_t case_preserving; 1117 }; 1118 typedef struct PATHCONF3resok PATHCONF3resok; 1119 1120 struct PATHCONF3resfail { 1121 post_op_attr obj_attributes; 1122 }; 1123 typedef struct PATHCONF3resfail PATHCONF3resfail; 1124 1125 struct PATHCONF3res { 1126 nfsstat3 status; 1127 union { 1128 PATHCONF3resok resok; 1129 PATHCONF3resfail resfail; 1130 } PATHCONF3res_u; 1131 }; 1132 typedef struct PATHCONF3res PATHCONF3res; 1133 1134 struct COMMIT3args { 1135 nfs_fh3 file; 1136 offset3 offset; 1137 count3 count; 1138 }; 1139 typedef struct COMMIT3args COMMIT3args; 1140 1141 struct COMMIT3resok { 1142 wcc_data file_wcc; 1143 writeverf3 verf; 1144 }; 1145 typedef struct COMMIT3resok COMMIT3resok; 1146 1147 struct COMMIT3resfail { 1148 wcc_data file_wcc; 1149 }; 1150 typedef struct COMMIT3resfail COMMIT3resfail; 1151 1152 struct COMMIT3res { 1153 nfsstat3 status; 1154 union { 1155 COMMIT3resok resok; 1156 COMMIT3resfail resfail; 1157 } COMMIT3res_u; 1158 }; 1159 typedef struct COMMIT3res COMMIT3res; 1160 1161 #define NFS_PROGRAM 100003 1162 #define NFS_VERSION 2 1163 1164 #if defined(__STDC__) || defined(__cplusplus) 1165 #define NFSPROC_NULL 0 1166 extern void * nfsproc_null_2(void *, CLIENT *); 1167 extern void * nfsproc_null_2_svc(void *, struct svc_req *); 1168 #define NFSPROC_GETATTR 1 1169 extern attrstat * nfsproc_getattr_2(nfs_fh *, CLIENT *); 1170 extern attrstat * nfsproc_getattr_2_svc(nfs_fh *, struct svc_req *); 1171 #define NFSPROC_SETATTR 2 1172 extern attrstat * nfsproc_setattr_2(sattrargs *, CLIENT *); 1173 extern attrstat * nfsproc_setattr_2_svc(sattrargs *, struct svc_req *); 1174 #define NFSPROC_ROOT 3 1175 extern void * nfsproc_root_2(void *, CLIENT *); 1176 extern void * nfsproc_root_2_svc(void *, struct svc_req *); 1177 #define NFSPROC_LOOKUP 4 1178 extern diropres * nfsproc_lookup_2(diropargs *, CLIENT *); 1179 extern diropres * nfsproc_lookup_2_svc(diropargs *, struct svc_req *); 1180 #define NFSPROC_READLINK 5 1181 extern readlinkres * nfsproc_readlink_2(nfs_fh *, CLIENT *); 1182 extern readlinkres * nfsproc_readlink_2_svc(nfs_fh *, struct svc_req *); 1183 #define NFSPROC_READ 6 1184 extern readres * nfsproc_read_2(readargs *, CLIENT *); 1185 extern readres * nfsproc_read_2_svc(readargs *, struct svc_req *); 1186 #define NFSPROC_WRITECACHE 7 1187 extern void * nfsproc_writecache_2(void *, CLIENT *); 1188 extern void * nfsproc_writecache_2_svc(void *, struct svc_req *); 1189 #define NFSPROC_WRITE 8 1190 extern attrstat * nfsproc_write_2(writeargs *, CLIENT *); 1191 extern attrstat * nfsproc_write_2_svc(writeargs *, struct svc_req *); 1192 #define NFSPROC_CREATE 9 1193 extern diropres * nfsproc_create_2(createargs *, CLIENT *); 1194 extern diropres * nfsproc_create_2_svc(createargs *, struct svc_req *); 1195 #define NFSPROC_REMOVE 10 1196 extern nfsstat * nfsproc_remove_2(diropargs *, CLIENT *); 1197 extern nfsstat * nfsproc_remove_2_svc(diropargs *, struct svc_req *); 1198 #define NFSPROC_RENAME 11 1199 extern nfsstat * nfsproc_rename_2(renameargs *, CLIENT *); 1200 extern nfsstat * nfsproc_rename_2_svc(renameargs *, struct svc_req *); 1201 #define NFSPROC_LINK 12 1202 extern nfsstat * nfsproc_link_2(linkargs *, CLIENT *); 1203 extern nfsstat * nfsproc_link_2_svc(linkargs *, struct svc_req *); 1204 #define NFSPROC_SYMLINK 13 1205 extern nfsstat * nfsproc_symlink_2(symlinkargs *, CLIENT *); 1206 extern nfsstat * nfsproc_symlink_2_svc(symlinkargs *, struct svc_req *); 1207 #define NFSPROC_MKDIR 14 1208 extern diropres * nfsproc_mkdir_2(createargs *, CLIENT *); 1209 extern diropres * nfsproc_mkdir_2_svc(createargs *, struct svc_req *); 1210 #define NFSPROC_RMDIR 15 1211 extern nfsstat * nfsproc_rmdir_2(diropargs *, CLIENT *); 1212 extern nfsstat * nfsproc_rmdir_2_svc(diropargs *, struct svc_req *); 1213 #define NFSPROC_READDIR 16 1214 extern readdirres * nfsproc_readdir_2(readdirargs *, CLIENT *); 1215 extern readdirres * nfsproc_readdir_2_svc(readdirargs *, struct svc_req *); 1216 #define NFSPROC_STATFS 17 1217 extern statfsres * nfsproc_statfs_2(nfs_fh *, CLIENT *); 1218 extern statfsres * nfsproc_statfs_2_svc(nfs_fh *, struct svc_req *); 1219 extern int nfs_program_2_freeresult(SVCXPRT *, xdrproc_t, caddr_t); 1220 1221 #else /* K&R C */ 1222 #define NFSPROC_NULL 0 1223 extern void * nfsproc_null_2(); 1224 extern void * nfsproc_null_2_svc(); 1225 #define NFSPROC_GETATTR 1 1226 extern attrstat * nfsproc_getattr_2(); 1227 extern attrstat * nfsproc_getattr_2_svc(); 1228 #define NFSPROC_SETATTR 2 1229 extern attrstat * nfsproc_setattr_2(); 1230 extern attrstat * nfsproc_setattr_2_svc(); 1231 #define NFSPROC_ROOT 3 1232 extern void * nfsproc_root_2(); 1233 extern void * nfsproc_root_2_svc(); 1234 #define NFSPROC_LOOKUP 4 1235 extern diropres * nfsproc_lookup_2(); 1236 extern diropres * nfsproc_lookup_2_svc(); 1237 #define NFSPROC_READLINK 5 1238 extern readlinkres * nfsproc_readlink_2(); 1239 extern readlinkres * nfsproc_readlink_2_svc(); 1240 #define NFSPROC_READ 6 1241 extern readres * nfsproc_read_2(); 1242 extern readres * nfsproc_read_2_svc(); 1243 #define NFSPROC_WRITECACHE 7 1244 extern void * nfsproc_writecache_2(); 1245 extern void * nfsproc_writecache_2_svc(); 1246 #define NFSPROC_WRITE 8 1247 extern attrstat * nfsproc_write_2(); 1248 extern attrstat * nfsproc_write_2_svc(); 1249 #define NFSPROC_CREATE 9 1250 extern diropres * nfsproc_create_2(); 1251 extern diropres * nfsproc_create_2_svc(); 1252 #define NFSPROC_REMOVE 10 1253 extern nfsstat * nfsproc_remove_2(); 1254 extern nfsstat * nfsproc_remove_2_svc(); 1255 #define NFSPROC_RENAME 11 1256 extern nfsstat * nfsproc_rename_2(); 1257 extern nfsstat * nfsproc_rename_2_svc(); 1258 #define NFSPROC_LINK 12 1259 extern nfsstat * nfsproc_link_2(); 1260 extern nfsstat * nfsproc_link_2_svc(); 1261 #define NFSPROC_SYMLINK 13 1262 extern nfsstat * nfsproc_symlink_2(); 1263 extern nfsstat * nfsproc_symlink_2_svc(); 1264 #define NFSPROC_MKDIR 14 1265 extern diropres * nfsproc_mkdir_2(); 1266 extern diropres * nfsproc_mkdir_2_svc(); 1267 #define NFSPROC_RMDIR 15 1268 extern nfsstat * nfsproc_rmdir_2(); 1269 extern nfsstat * nfsproc_rmdir_2_svc(); 1270 #define NFSPROC_READDIR 16 1271 extern readdirres * nfsproc_readdir_2(); 1272 extern readdirres * nfsproc_readdir_2_svc(); 1273 #define NFSPROC_STATFS 17 1274 extern statfsres * nfsproc_statfs_2(); 1275 extern statfsres * nfsproc_statfs_2_svc(); 1276 extern int nfs_program_2_freeresult(); 1277 #endif /* K&R C */ 1278 1279 #define NFS3_PROGRAM 100003 1280 #define NFS_V3 3 1281 1282 #if defined(__STDC__) || defined(__cplusplus) 1283 #define NFSPROC3_NULL 0 1284 extern void * nfsproc3_null_3(void *, CLIENT *); 1285 extern void * nfsproc3_null_3_svc(void *, struct svc_req *); 1286 #define NFSPROC3_GETATTR 1 1287 extern GETATTR3res * nfsproc3_getattr_3(GETATTR3args *, CLIENT *); 1288 extern GETATTR3res * nfsproc3_getattr_3_svc(GETATTR3args *, struct svc_req *); 1289 #define NFSPROC3_SETATTR 2 1290 extern SETATTR3res * nfsproc3_setattr_3(SETATTR3args *, CLIENT *); 1291 extern SETATTR3res * nfsproc3_setattr_3_svc(SETATTR3args *, struct svc_req *); 1292 #define NFSPROC3_LOOKUP 3 1293 extern LOOKUP3res * nfsproc3_lookup_3(LOOKUP3args *, CLIENT *); 1294 extern LOOKUP3res * nfsproc3_lookup_3_svc(LOOKUP3args *, struct svc_req *); 1295 #define NFSPROC3_ACCESS 4 1296 extern ACCESS3res * nfsproc3_access_3(ACCESS3args *, CLIENT *); 1297 extern ACCESS3res * nfsproc3_access_3_svc(ACCESS3args *, struct svc_req *); 1298 #define NFSPROC3_READLINK 5 1299 extern READLINK3res * nfsproc3_readlink_3(READLINK3args *, CLIENT *); 1300 extern READLINK3res * nfsproc3_readlink_3_svc(READLINK3args *, struct svc_req *); 1301 #define NFSPROC3_READ 6 1302 extern READ3res * nfsproc3_read_3(READ3args *, CLIENT *); 1303 extern READ3res * nfsproc3_read_3_svc(READ3args *, struct svc_req *); 1304 #define NFSPROC3_WRITE 7 1305 extern WRITE3res * nfsproc3_write_3(WRITE3args *, CLIENT *); 1306 extern WRITE3res * nfsproc3_write_3_svc(WRITE3args *, struct svc_req *); 1307 #define NFSPROC3_CREATE 8 1308 extern CREATE3res * nfsproc3_create_3(CREATE3args *, CLIENT *); 1309 extern CREATE3res * nfsproc3_create_3_svc(CREATE3args *, struct svc_req *); 1310 #define NFSPROC3_MKDIR 9 1311 extern MKDIR3res * nfsproc3_mkdir_3(MKDIR3args *, CLIENT *); 1312 extern MKDIR3res * nfsproc3_mkdir_3_svc(MKDIR3args *, struct svc_req *); 1313 #define NFSPROC3_SYMLINK 10 1314 extern SYMLINK3res * nfsproc3_symlink_3(SYMLINK3args *, CLIENT *); 1315 extern SYMLINK3res * nfsproc3_symlink_3_svc(SYMLINK3args *, struct svc_req *); 1316 #define NFSPROC3_MKNOD 11 1317 extern MKNOD3res * nfsproc3_mknod_3(MKNOD3args *, CLIENT *); 1318 extern MKNOD3res * nfsproc3_mknod_3_svc(MKNOD3args *, struct svc_req *); 1319 #define NFSPROC3_REMOVE 12 1320 extern REMOVE3res * nfsproc3_remove_3(REMOVE3args *, CLIENT *); 1321 extern REMOVE3res * nfsproc3_remove_3_svc(REMOVE3args *, struct svc_req *); 1322 #define NFSPROC3_RMDIR 13 1323 extern RMDIR3res * nfsproc3_rmdir_3(RMDIR3args *, CLIENT *); 1324 extern RMDIR3res * nfsproc3_rmdir_3_svc(RMDIR3args *, struct svc_req *); 1325 #define NFSPROC3_RENAME 14 1326 extern RENAME3res * nfsproc3_rename_3(RENAME3args *, CLIENT *); 1327 extern RENAME3res * nfsproc3_rename_3_svc(RENAME3args *, struct svc_req *); 1328 #define NFSPROC3_LINK 15 1329 extern LINK3res * nfsproc3_link_3(LINK3args *, CLIENT *); 1330 extern LINK3res * nfsproc3_link_3_svc(LINK3args *, struct svc_req *); 1331 #define NFSPROC3_READDIR 16 1332 extern READDIR3res * nfsproc3_readdir_3(READDIR3args *, CLIENT *); 1333 extern READDIR3res * nfsproc3_readdir_3_svc(READDIR3args *, struct svc_req *); 1334 #define NFSPROC3_READDIRPLUS 17 1335 extern READDIRPLUS3res * nfsproc3_readdirplus_3(READDIRPLUS3args *, CLIENT *); 1336 extern READDIRPLUS3res * nfsproc3_readdirplus_3_svc(READDIRPLUS3args *, struct svc_req *); 1337 #define NFSPROC3_FSSTAT 18 1338 extern FSSTAT3res * nfsproc3_fsstat_3(FSSTAT3args *, CLIENT *); 1339 extern FSSTAT3res * nfsproc3_fsstat_3_svc(FSSTAT3args *, struct svc_req *); 1340 #define NFSPROC3_FSINFO 19 1341 extern FSINFO3res * nfsproc3_fsinfo_3(FSINFO3args *, CLIENT *); 1342 extern FSINFO3res * nfsproc3_fsinfo_3_svc(FSINFO3args *, struct svc_req *); 1343 #define NFSPROC3_PATHCONF 20 1344 extern PATHCONF3res * nfsproc3_pathconf_3(PATHCONF3args *, CLIENT *); 1345 extern PATHCONF3res * nfsproc3_pathconf_3_svc(PATHCONF3args *, struct svc_req *); 1346 #define NFSPROC3_COMMIT 21 1347 extern COMMIT3res * nfsproc3_commit_3(COMMIT3args *, CLIENT *); 1348 extern COMMIT3res * nfsproc3_commit_3_svc(COMMIT3args *, struct svc_req *); 1349 extern int nfs3_program_3_freeresult(SVCXPRT *, xdrproc_t, caddr_t); 1350 1351 #else /* K&R C */ 1352 #define NFSPROC3_NULL 0 1353 extern void * nfsproc3_null_3(); 1354 extern void * nfsproc3_null_3_svc(); 1355 #define NFSPROC3_GETATTR 1 1356 extern GETATTR3res * nfsproc3_getattr_3(); 1357 extern GETATTR3res * nfsproc3_getattr_3_svc(); 1358 #define NFSPROC3_SETATTR 2 1359 extern SETATTR3res * nfsproc3_setattr_3(); 1360 extern SETATTR3res * nfsproc3_setattr_3_svc(); 1361 #define NFSPROC3_LOOKUP 3 1362 extern LOOKUP3res * nfsproc3_lookup_3(); 1363 extern LOOKUP3res * nfsproc3_lookup_3_svc(); 1364 #define NFSPROC3_ACCESS 4 1365 extern ACCESS3res * nfsproc3_access_3(); 1366 extern ACCESS3res * nfsproc3_access_3_svc(); 1367 #define NFSPROC3_READLINK 5 1368 extern READLINK3res * nfsproc3_readlink_3(); 1369 extern READLINK3res * nfsproc3_readlink_3_svc(); 1370 #define NFSPROC3_READ 6 1371 extern READ3res * nfsproc3_read_3(); 1372 extern READ3res * nfsproc3_read_3_svc(); 1373 #define NFSPROC3_WRITE 7 1374 extern WRITE3res * nfsproc3_write_3(); 1375 extern WRITE3res * nfsproc3_write_3_svc(); 1376 #define NFSPROC3_CREATE 8 1377 extern CREATE3res * nfsproc3_create_3(); 1378 extern CREATE3res * nfsproc3_create_3_svc(); 1379 #define NFSPROC3_MKDIR 9 1380 extern MKDIR3res * nfsproc3_mkdir_3(); 1381 extern MKDIR3res * nfsproc3_mkdir_3_svc(); 1382 #define NFSPROC3_SYMLINK 10 1383 extern SYMLINK3res * nfsproc3_symlink_3(); 1384 extern SYMLINK3res * nfsproc3_symlink_3_svc(); 1385 #define NFSPROC3_MKNOD 11 1386 extern MKNOD3res * nfsproc3_mknod_3(); 1387 extern MKNOD3res * nfsproc3_mknod_3_svc(); 1388 #define NFSPROC3_REMOVE 12 1389 extern REMOVE3res * nfsproc3_remove_3(); 1390 extern REMOVE3res * nfsproc3_remove_3_svc(); 1391 #define NFSPROC3_RMDIR 13 1392 extern RMDIR3res * nfsproc3_rmdir_3(); 1393 extern RMDIR3res * nfsproc3_rmdir_3_svc(); 1394 #define NFSPROC3_RENAME 14 1395 extern RENAME3res * nfsproc3_rename_3(); 1396 extern RENAME3res * nfsproc3_rename_3_svc(); 1397 #define NFSPROC3_LINK 15 1398 extern LINK3res * nfsproc3_link_3(); 1399 extern LINK3res * nfsproc3_link_3_svc(); 1400 #define NFSPROC3_READDIR 16 1401 extern READDIR3res * nfsproc3_readdir_3(); 1402 extern READDIR3res * nfsproc3_readdir_3_svc(); 1403 #define NFSPROC3_READDIRPLUS 17 1404 extern READDIRPLUS3res * nfsproc3_readdirplus_3(); 1405 extern READDIRPLUS3res * nfsproc3_readdirplus_3_svc(); 1406 #define NFSPROC3_FSSTAT 18 1407 extern FSSTAT3res * nfsproc3_fsstat_3(); 1408 extern FSSTAT3res * nfsproc3_fsstat_3_svc(); 1409 #define NFSPROC3_FSINFO 19 1410 extern FSINFO3res * nfsproc3_fsinfo_3(); 1411 extern FSINFO3res * nfsproc3_fsinfo_3_svc(); 1412 #define NFSPROC3_PATHCONF 20 1413 extern PATHCONF3res * nfsproc3_pathconf_3(); 1414 extern PATHCONF3res * nfsproc3_pathconf_3_svc(); 1415 #define NFSPROC3_COMMIT 21 1416 extern COMMIT3res * nfsproc3_commit_3(); 1417 extern COMMIT3res * nfsproc3_commit_3_svc(); 1418 extern int nfs3_program_3_freeresult(); 1419 #endif /* K&R C */ 1420 1421 /* the xdr functions */ 1422 1423 #if defined(__STDC__) || defined(__cplusplus) 1424 extern bool_t xdr_nfsstat(XDR *, nfsstat*); 1425 extern bool_t xdr_ftype(XDR *, ftype*); 1426 extern bool_t xdr_nfs_fh(XDR *, nfs_fh*); 1427 extern bool_t xdr_nfstime(XDR *, nfstime*); 1428 extern bool_t xdr_fattr(XDR *, fattr*); 1429 extern bool_t xdr_sattr(XDR *, sattr*); 1430 extern bool_t xdr_filename(XDR *, filename*); 1431 extern bool_t xdr_nfspath(XDR *, nfspath*); 1432 extern bool_t xdr_attrstat(XDR *, attrstat*); 1433 extern bool_t xdr_sattrargs(XDR *, sattrargs*); 1434 extern bool_t xdr_diropargs(XDR *, diropargs*); 1435 extern bool_t xdr_diropokres(XDR *, diropokres*); 1436 extern bool_t xdr_diropres(XDR *, diropres*); 1437 extern bool_t xdr_readlinkres(XDR *, readlinkres*); 1438 extern bool_t xdr_readargs(XDR *, readargs*); 1439 extern bool_t xdr_readokres(XDR *, readokres*); 1440 extern bool_t xdr_readres(XDR *, readres*); 1441 extern bool_t xdr_writeargs(XDR *, writeargs*); 1442 extern bool_t xdr_createargs(XDR *, createargs*); 1443 extern bool_t xdr_renameargs(XDR *, renameargs*); 1444 extern bool_t xdr_linkargs(XDR *, linkargs*); 1445 extern bool_t xdr_symlinkargs(XDR *, symlinkargs*); 1446 extern bool_t xdr_nfscookie(XDR *, nfscookie); 1447 extern bool_t xdr_readdirargs(XDR *, readdirargs*); 1448 extern bool_t xdr_entry(XDR *, entry*); 1449 extern bool_t xdr_dirlist(XDR *, dirlist*); 1450 extern bool_t xdr_readdirres(XDR *, readdirres*); 1451 extern bool_t xdr_statfsokres(XDR *, statfsokres*); 1452 extern bool_t xdr_statfsres(XDR *, statfsres*); 1453 extern bool_t xdr_filename3(XDR *, filename3*); 1454 extern bool_t xdr_nfspath3(XDR *, nfspath3*); 1455 extern bool_t xdr_fileid3(XDR *, fileid3*); 1456 extern bool_t xdr_cookie3(XDR *, cookie3*); 1457 extern bool_t xdr_cookieverf3(XDR *, cookieverf3); 1458 extern bool_t xdr_createverf3(XDR *, createverf3); 1459 extern bool_t xdr_writeverf3(XDR *, writeverf3); 1460 extern bool_t xdr_uid3(XDR *, uid3*); 1461 extern bool_t xdr_gid3(XDR *, gid3*); 1462 extern bool_t xdr_size3(XDR *, size3*); 1463 extern bool_t xdr_offset3(XDR *, offset3*); 1464 extern bool_t xdr_mode3(XDR *, mode3*); 1465 extern bool_t xdr_count3(XDR *, count3*); 1466 extern bool_t xdr_nfsstat3(XDR *, nfsstat3*); 1467 extern bool_t xdr_ftype3(XDR *, ftype3*); 1468 extern bool_t xdr_specdata3(XDR *, specdata3*); 1469 extern bool_t xdr_nfs_fh3(XDR *, nfs_fh3*); 1470 extern bool_t xdr_nfstime3(XDR *, nfstime3*); 1471 extern bool_t xdr_fattr3(XDR *, fattr3*); 1472 extern bool_t xdr_post_op_attr(XDR *, post_op_attr*); 1473 extern bool_t xdr_wcc_attr(XDR *, wcc_attr*); 1474 extern bool_t xdr_pre_op_attr(XDR *, pre_op_attr*); 1475 extern bool_t xdr_wcc_data(XDR *, wcc_data*); 1476 extern bool_t xdr_post_op_fh3(XDR *, post_op_fh3*); 1477 extern bool_t xdr_time_how(XDR *, time_how*); 1478 extern bool_t xdr_set_mode3(XDR *, set_mode3*); 1479 extern bool_t xdr_set_uid3(XDR *, set_uid3*); 1480 extern bool_t xdr_set_gid3(XDR *, set_gid3*); 1481 extern bool_t xdr_set_size3(XDR *, set_size3*); 1482 extern bool_t xdr_set_atime(XDR *, set_atime*); 1483 extern bool_t xdr_set_mtime(XDR *, set_mtime*); 1484 extern bool_t xdr_sattr3(XDR *, sattr3*); 1485 extern bool_t xdr_diropargs3(XDR *, diropargs3*); 1486 extern bool_t xdr_GETATTR3args(XDR *, GETATTR3args*); 1487 extern bool_t xdr_GETATTR3resok(XDR *, GETATTR3resok*); 1488 extern bool_t xdr_GETATTR3res(XDR *, GETATTR3res*); 1489 extern bool_t xdr_sattrguard3(XDR *, sattrguard3*); 1490 extern bool_t xdr_SETATTR3args(XDR *, SETATTR3args*); 1491 extern bool_t xdr_SETATTR3resok(XDR *, SETATTR3resok*); 1492 extern bool_t xdr_SETATTR3resfail(XDR *, SETATTR3resfail*); 1493 extern bool_t xdr_SETATTR3res(XDR *, SETATTR3res*); 1494 extern bool_t xdr_LOOKUP3args(XDR *, LOOKUP3args*); 1495 extern bool_t xdr_LOOKUP3resok(XDR *, LOOKUP3resok*); 1496 extern bool_t xdr_LOOKUP3resfail(XDR *, LOOKUP3resfail*); 1497 extern bool_t xdr_LOOKUP3res(XDR *, LOOKUP3res*); 1498 extern bool_t xdr_ACCESS3args(XDR *, ACCESS3args*); 1499 extern bool_t xdr_ACCESS3resok(XDR *, ACCESS3resok*); 1500 extern bool_t xdr_ACCESS3resfail(XDR *, ACCESS3resfail*); 1501 extern bool_t xdr_ACCESS3res(XDR *, ACCESS3res*); 1502 extern bool_t xdr_READLINK3args(XDR *, READLINK3args*); 1503 extern bool_t xdr_READLINK3resok(XDR *, READLINK3resok*); 1504 extern bool_t xdr_READLINK3resfail(XDR *, READLINK3resfail*); 1505 extern bool_t xdr_READLINK3res(XDR *, READLINK3res*); 1506 extern bool_t xdr_READ3args(XDR *, READ3args*); 1507 extern bool_t xdr_READ3resok(XDR *, READ3resok*); 1508 extern bool_t xdr_READ3resfail(XDR *, READ3resfail*); 1509 extern bool_t xdr_READ3res(XDR *, READ3res*); 1510 extern bool_t xdr_stable_how(XDR *, stable_how*); 1511 extern bool_t xdr_WRITE3args(XDR *, WRITE3args*); 1512 extern bool_t xdr_WRITE3resok(XDR *, WRITE3resok*); 1513 extern bool_t xdr_WRITE3resfail(XDR *, WRITE3resfail*); 1514 extern bool_t xdr_WRITE3res(XDR *, WRITE3res*); 1515 extern bool_t xdr_createmode3(XDR *, createmode3*); 1516 extern bool_t xdr_createhow3(XDR *, createhow3*); 1517 extern bool_t xdr_CREATE3args(XDR *, CREATE3args*); 1518 extern bool_t xdr_CREATE3resok(XDR *, CREATE3resok*); 1519 extern bool_t xdr_CREATE3resfail(XDR *, CREATE3resfail*); 1520 extern bool_t xdr_CREATE3res(XDR *, CREATE3res*); 1521 extern bool_t xdr_MKDIR3args(XDR *, MKDIR3args*); 1522 extern bool_t xdr_MKDIR3resok(XDR *, MKDIR3resok*); 1523 extern bool_t xdr_MKDIR3resfail(XDR *, MKDIR3resfail*); 1524 extern bool_t xdr_MKDIR3res(XDR *, MKDIR3res*); 1525 extern bool_t xdr_symlinkdata3(XDR *, symlinkdata3*); 1526 extern bool_t xdr_SYMLINK3args(XDR *, SYMLINK3args*); 1527 extern bool_t xdr_SYMLINK3resok(XDR *, SYMLINK3resok*); 1528 extern bool_t xdr_SYMLINK3resfail(XDR *, SYMLINK3resfail*); 1529 extern bool_t xdr_SYMLINK3res(XDR *, SYMLINK3res*); 1530 extern bool_t xdr_devicedata3(XDR *, devicedata3*); 1531 extern bool_t xdr_mknoddata3(XDR *, mknoddata3*); 1532 extern bool_t xdr_MKNOD3args(XDR *, MKNOD3args*); 1533 extern bool_t xdr_MKNOD3resok(XDR *, MKNOD3resok*); 1534 extern bool_t xdr_MKNOD3resfail(XDR *, MKNOD3resfail*); 1535 extern bool_t xdr_MKNOD3res(XDR *, MKNOD3res*); 1536 extern bool_t xdr_REMOVE3args(XDR *, REMOVE3args*); 1537 extern bool_t xdr_REMOVE3resok(XDR *, REMOVE3resok*); 1538 extern bool_t xdr_REMOVE3resfail(XDR *, REMOVE3resfail*); 1539 extern bool_t xdr_REMOVE3res(XDR *, REMOVE3res*); 1540 extern bool_t xdr_RMDIR3args(XDR *, RMDIR3args*); 1541 extern bool_t xdr_RMDIR3resok(XDR *, RMDIR3resok*); 1542 extern bool_t xdr_RMDIR3resfail(XDR *, RMDIR3resfail*); 1543 extern bool_t xdr_RMDIR3res(XDR *, RMDIR3res*); 1544 extern bool_t xdr_RENAME3args(XDR *, RENAME3args*); 1545 extern bool_t xdr_RENAME3resok(XDR *, RENAME3resok*); 1546 extern bool_t xdr_RENAME3resfail(XDR *, RENAME3resfail*); 1547 extern bool_t xdr_RENAME3res(XDR *, RENAME3res*); 1548 extern bool_t xdr_LINK3args(XDR *, LINK3args*); 1549 extern bool_t xdr_LINK3resok(XDR *, LINK3resok*); 1550 extern bool_t xdr_LINK3resfail(XDR *, LINK3resfail*); 1551 extern bool_t xdr_LINK3res(XDR *, LINK3res*); 1552 extern bool_t xdr_READDIR3args(XDR *, READDIR3args*); 1553 extern bool_t xdr_entry3(XDR *, entry3*); 1554 extern bool_t xdr_dirlist3(XDR *, dirlist3*); 1555 extern bool_t xdr_READDIR3resok(XDR *, READDIR3resok*); 1556 extern bool_t xdr_READDIR3resfail(XDR *, READDIR3resfail*); 1557 extern bool_t xdr_READDIR3res(XDR *, READDIR3res*); 1558 extern bool_t xdr_READDIRPLUS3args(XDR *, READDIRPLUS3args*); 1559 extern bool_t xdr_entryplus3(XDR *, entryplus3*); 1560 extern bool_t xdr_dirlistplus3(XDR *, dirlistplus3*); 1561 extern bool_t xdr_READDIRPLUS3resok(XDR *, READDIRPLUS3resok*); 1562 extern bool_t xdr_READDIRPLUS3resfail(XDR *, READDIRPLUS3resfail*); 1563 extern bool_t xdr_READDIRPLUS3res(XDR *, READDIRPLUS3res*); 1564 extern bool_t xdr_FSSTAT3args(XDR *, FSSTAT3args*); 1565 extern bool_t xdr_FSSTAT3resok(XDR *, FSSTAT3resok*); 1566 extern bool_t xdr_FSSTAT3resfail(XDR *, FSSTAT3resfail*); 1567 extern bool_t xdr_FSSTAT3res(XDR *, FSSTAT3res*); 1568 extern bool_t xdr_FSINFO3args(XDR *, FSINFO3args*); 1569 extern bool_t xdr_FSINFO3resok(XDR *, FSINFO3resok*); 1570 extern bool_t xdr_FSINFO3resfail(XDR *, FSINFO3resfail*); 1571 extern bool_t xdr_FSINFO3res(XDR *, FSINFO3res*); 1572 extern bool_t xdr_PATHCONF3args(XDR *, PATHCONF3args*); 1573 extern bool_t xdr_PATHCONF3resok(XDR *, PATHCONF3resok*); 1574 extern bool_t xdr_PATHCONF3resfail(XDR *, PATHCONF3resfail*); 1575 extern bool_t xdr_PATHCONF3res(XDR *, PATHCONF3res*); 1576 extern bool_t xdr_COMMIT3args(XDR *, COMMIT3args*); 1577 extern bool_t xdr_COMMIT3resok(XDR *, COMMIT3resok*); 1578 extern bool_t xdr_COMMIT3resfail(XDR *, COMMIT3resfail*); 1579 extern bool_t xdr_COMMIT3res(XDR *, COMMIT3res*); 1580 1581 #else /* K&R C */ 1582 extern bool_t xdr_nfsstat(); 1583 extern bool_t xdr_ftype(); 1584 extern bool_t xdr_nfs_fh(); 1585 extern bool_t xdr_nfstime(); 1586 extern bool_t xdr_fattr(); 1587 extern bool_t xdr_sattr(); 1588 extern bool_t xdr_filename(); 1589 extern bool_t xdr_nfspath(); 1590 extern bool_t xdr_attrstat(); 1591 extern bool_t xdr_sattrargs(); 1592 extern bool_t xdr_diropargs(); 1593 extern bool_t xdr_diropokres(); 1594 extern bool_t xdr_diropres(); 1595 extern bool_t xdr_readlinkres(); 1596 extern bool_t xdr_readargs(); 1597 extern bool_t xdr_readokres(); 1598 extern bool_t xdr_readres(); 1599 extern bool_t xdr_writeargs(); 1600 extern bool_t xdr_createargs(); 1601 extern bool_t xdr_renameargs(); 1602 extern bool_t xdr_linkargs(); 1603 extern bool_t xdr_symlinkargs(); 1604 extern bool_t xdr_nfscookie(); 1605 extern bool_t xdr_readdirargs(); 1606 extern bool_t xdr_entry(); 1607 extern bool_t xdr_dirlist(); 1608 extern bool_t xdr_readdirres(); 1609 extern bool_t xdr_statfsokres(); 1610 extern bool_t xdr_statfsres(); 1611 extern bool_t xdr_filename3(); 1612 extern bool_t xdr_nfspath3(); 1613 extern bool_t xdr_fileid3(); 1614 extern bool_t xdr_cookie3(); 1615 extern bool_t xdr_cookieverf3(); 1616 extern bool_t xdr_createverf3(); 1617 extern bool_t xdr_writeverf3(); 1618 extern bool_t xdr_uid3(); 1619 extern bool_t xdr_gid3(); 1620 extern bool_t xdr_size3(); 1621 extern bool_t xdr_offset3(); 1622 extern bool_t xdr_mode3(); 1623 extern bool_t xdr_count3(); 1624 extern bool_t xdr_nfsstat3(); 1625 extern bool_t xdr_ftype3(); 1626 extern bool_t xdr_specdata3(); 1627 extern bool_t xdr_nfs_fh3(); 1628 extern bool_t xdr_nfstime3(); 1629 extern bool_t xdr_fattr3(); 1630 extern bool_t xdr_post_op_attr(); 1631 extern bool_t xdr_wcc_attr(); 1632 extern bool_t xdr_pre_op_attr(); 1633 extern bool_t xdr_wcc_data(); 1634 extern bool_t xdr_post_op_fh3(); 1635 extern bool_t xdr_time_how(); 1636 extern bool_t xdr_set_mode3(); 1637 extern bool_t xdr_set_uid3(); 1638 extern bool_t xdr_set_gid3(); 1639 extern bool_t xdr_set_size3(); 1640 extern bool_t xdr_set_atime(); 1641 extern bool_t xdr_set_mtime(); 1642 extern bool_t xdr_sattr3(); 1643 extern bool_t xdr_diropargs3(); 1644 extern bool_t xdr_GETATTR3args(); 1645 extern bool_t xdr_GETATTR3resok(); 1646 extern bool_t xdr_GETATTR3res(); 1647 extern bool_t xdr_sattrguard3(); 1648 extern bool_t xdr_SETATTR3args(); 1649 extern bool_t xdr_SETATTR3resok(); 1650 extern bool_t xdr_SETATTR3resfail(); 1651 extern bool_t xdr_SETATTR3res(); 1652 extern bool_t xdr_LOOKUP3args(); 1653 extern bool_t xdr_LOOKUP3resok(); 1654 extern bool_t xdr_LOOKUP3resfail(); 1655 extern bool_t xdr_LOOKUP3res(); 1656 extern bool_t xdr_ACCESS3args(); 1657 extern bool_t xdr_ACCESS3resok(); 1658 extern bool_t xdr_ACCESS3resfail(); 1659 extern bool_t xdr_ACCESS3res(); 1660 extern bool_t xdr_READLINK3args(); 1661 extern bool_t xdr_READLINK3resok(); 1662 extern bool_t xdr_READLINK3resfail(); 1663 extern bool_t xdr_READLINK3res(); 1664 extern bool_t xdr_READ3args(); 1665 extern bool_t xdr_READ3resok(); 1666 extern bool_t xdr_READ3resfail(); 1667 extern bool_t xdr_READ3res(); 1668 extern bool_t xdr_stable_how(); 1669 extern bool_t xdr_WRITE3args(); 1670 extern bool_t xdr_WRITE3resok(); 1671 extern bool_t xdr_WRITE3resfail(); 1672 extern bool_t xdr_WRITE3res(); 1673 extern bool_t xdr_createmode3(); 1674 extern bool_t xdr_createhow3(); 1675 extern bool_t xdr_CREATE3args(); 1676 extern bool_t xdr_CREATE3resok(); 1677 extern bool_t xdr_CREATE3resfail(); 1678 extern bool_t xdr_CREATE3res(); 1679 extern bool_t xdr_MKDIR3args(); 1680 extern bool_t xdr_MKDIR3resok(); 1681 extern bool_t xdr_MKDIR3resfail(); 1682 extern bool_t xdr_MKDIR3res(); 1683 extern bool_t xdr_symlinkdata3(); 1684 extern bool_t xdr_SYMLINK3args(); 1685 extern bool_t xdr_SYMLINK3resok(); 1686 extern bool_t xdr_SYMLINK3resfail(); 1687 extern bool_t xdr_SYMLINK3res(); 1688 extern bool_t xdr_devicedata3(); 1689 extern bool_t xdr_mknoddata3(); 1690 extern bool_t xdr_MKNOD3args(); 1691 extern bool_t xdr_MKNOD3resok(); 1692 extern bool_t xdr_MKNOD3resfail(); 1693 extern bool_t xdr_MKNOD3res(); 1694 extern bool_t xdr_REMOVE3args(); 1695 extern bool_t xdr_REMOVE3resok(); 1696 extern bool_t xdr_REMOVE3resfail(); 1697 extern bool_t xdr_REMOVE3res(); 1698 extern bool_t xdr_RMDIR3args(); 1699 extern bool_t xdr_RMDIR3resok(); 1700 extern bool_t xdr_RMDIR3resfail(); 1701 extern bool_t xdr_RMDIR3res(); 1702 extern bool_t xdr_RENAME3args(); 1703 extern bool_t xdr_RENAME3resok(); 1704 extern bool_t xdr_RENAME3resfail(); 1705 extern bool_t xdr_RENAME3res(); 1706 extern bool_t xdr_LINK3args(); 1707 extern bool_t xdr_LINK3resok(); 1708 extern bool_t xdr_LINK3resfail(); 1709 extern bool_t xdr_LINK3res(); 1710 extern bool_t xdr_READDIR3args(); 1711 extern bool_t xdr_entry3(); 1712 extern bool_t xdr_dirlist3(); 1713 extern bool_t xdr_READDIR3resok(); 1714 extern bool_t xdr_READDIR3resfail(); 1715 extern bool_t xdr_READDIR3res(); 1716 extern bool_t xdr_READDIRPLUS3args(); 1717 extern bool_t xdr_entryplus3(); 1718 extern bool_t xdr_dirlistplus3(); 1719 extern bool_t xdr_READDIRPLUS3resok(); 1720 extern bool_t xdr_READDIRPLUS3resfail(); 1721 extern bool_t xdr_READDIRPLUS3res(); 1722 extern bool_t xdr_FSSTAT3args(); 1723 extern bool_t xdr_FSSTAT3resok(); 1724 extern bool_t xdr_FSSTAT3resfail(); 1725 extern bool_t xdr_FSSTAT3res(); 1726 extern bool_t xdr_FSINFO3args(); 1727 extern bool_t xdr_FSINFO3resok(); 1728 extern bool_t xdr_FSINFO3resfail(); 1729 extern bool_t xdr_FSINFO3res(); 1730 extern bool_t xdr_PATHCONF3args(); 1731 extern bool_t xdr_PATHCONF3resok(); 1732 extern bool_t xdr_PATHCONF3resfail(); 1733 extern bool_t xdr_PATHCONF3res(); 1734 extern bool_t xdr_COMMIT3args(); 1735 extern bool_t xdr_COMMIT3resok(); 1736 extern bool_t xdr_COMMIT3resfail(); 1737 extern bool_t xdr_COMMIT3res(); 1738 1739 #endif /* K&R C */ 1740 1741 #ifdef __cplusplus 1742 } 1743 #endif 1744 1745 #endif /* !_NFS_PROT_H_RPCGEN */ 1746