1 /* 2 * Copyright (c) 2006-2018, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 */ 9 /* 10 * Please do not edit this file. 11 * It was generated using rpcgen. 12 */ 13 14 #ifndef _NFS_H_RPCGEN 15 #define _NFS_H_RPCGEN 16 17 #include <rpc/rpc.h> 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 /* This file is copied from RFC1813 24 * Copyright 1995 Sun Micrososystems (I assume) 25 */ 26 #define NFS3_FHSIZE 64 27 #define NFS3_COOKIEVERFSIZE 8 28 #define NFS3_CREATEVERFSIZE 8 29 #define NFS3_WRITEVERFSIZE 8 30 #define ACCESS3_READ 0x0001 31 #define ACCESS3_LOOKUP 0x0002 32 #define ACCESS3_MODIFY 0x0004 33 #define ACCESS3_EXTEND 0x0008 34 #define ACCESS3_DELETE 0x0010 35 #define ACCESS3_EXECUTE 0x0020 36 #define FSF3_LINK 0x0001 37 #define FSF3_SYMLINK 0x0002 38 #define FSF3_HOMOGENEOUS 0x0008 39 #define FSF3_CANSETTIME 0x0010 40 41 typedef unsigned long long uint64; 42 43 typedef long long int64; 44 45 typedef u_long uint32; 46 47 typedef long int32; 48 49 typedef char *filename3; 50 51 typedef char *nfspath3; 52 53 typedef uint64 fileid3; 54 55 typedef uint64 cookie3; 56 57 typedef char cookieverf3[NFS3_COOKIEVERFSIZE]; 58 59 typedef char createverf3[NFS3_CREATEVERFSIZE]; 60 61 typedef char writeverf3[NFS3_WRITEVERFSIZE]; 62 63 typedef uint32 uid3; 64 65 typedef uint32 gid3; 66 67 typedef uint64 size3; 68 69 typedef uint64 offset3; 70 71 typedef uint32 mode3; 72 73 typedef uint32 count3; 74 75 enum nfsstat3 { 76 NFS3_OK = 0, 77 NFS3ERR_PERM = 1, 78 NFS3ERR_NOENT = 2, 79 NFS3ERR_IO = 5, 80 NFS3ERR_NXIO = 6, 81 NFS3ERR_ACCES = 13, 82 NFS3ERR_EXIST = 17, 83 NFS3ERR_XDEV = 18, 84 NFS3ERR_NODEV = 19, 85 NFS3ERR_NOTDIR = 20, 86 NFS3ERR_ISDIR = 21, 87 NFS3ERR_INVAL = 22, 88 NFS3ERR_FBIG = 27, 89 NFS3ERR_NOSPC = 28, 90 NFS3ERR_ROFS = 30, 91 NFS3ERR_MLINK = 31, 92 NFS3ERR_NAMETOOLONG = 63, 93 NFS3ERR_NOTEMPTY = 66, 94 NFS3ERR_DQUOT = 69, 95 NFS3ERR_STALE = 70, 96 NFS3ERR_REMOTE = 71, 97 NFS3ERR_BADHANDLE = 10001, 98 NFS3ERR_NOT_SYNC = 10002, 99 NFS3ERR_BAD_COOKIE = 10003, 100 NFS3ERR_NOTSUPP = 10004, 101 NFS3ERR_TOOSMALL = 10005, 102 NFS3ERR_SERVERFAULT = 10006, 103 NFS3ERR_BADTYPE = 10007, 104 NFS3ERR_JUKEBOX = 10008 105 }; 106 typedef enum nfsstat3 nfsstat3; 107 108 enum ftype3 { 109 NFS3REG = 1, 110 NFS3DIR = 2, 111 NFS3BLK = 3, 112 NFS3CHR = 4, 113 NFS3LNK = 5, 114 NFS3SOCK = 6, 115 NFS3FIFO = 7 116 }; 117 typedef enum ftype3 ftype3; 118 119 enum stable_how { 120 UNSTABLE = 0, 121 DATA_SYNC = 1, 122 FILE_SYNC = 2 123 }; 124 typedef enum stable_how stable_how; 125 126 enum createmode3 { 127 UNCHECKED = 0, 128 GUARDED = 1, 129 EXCLUSIVE = 2 130 }; 131 typedef enum createmode3 createmode3; 132 133 struct specdata3 { 134 uint32 specdata1; 135 uint32 specdata2; 136 }; 137 typedef struct specdata3 specdata3; 138 139 struct nfs_fh3 { 140 struct { 141 unsigned int data_len; 142 char *data_val; 143 } data; 144 }; 145 typedef struct nfs_fh3 nfs_fh3; 146 147 struct nfstime3 { 148 uint32 seconds; 149 uint32 nseconds; 150 }; 151 typedef struct nfstime3 nfstime3; 152 153 struct fattr3 { 154 ftype3 type; 155 mode3 mode; 156 uint32 nlink; 157 uid3 uid; 158 gid3 gid; 159 size3 size; 160 size3 used; 161 specdata3 rdev; 162 uint64 fsid; 163 fileid3 fileid; 164 nfstime3 atime; 165 nfstime3 mtime; 166 nfstime3 ctime; 167 }; 168 typedef struct fattr3 fattr3; 169 170 struct post_op_attr { 171 bool_t attributes_follow; 172 union { 173 fattr3 attributes; 174 } post_op_attr_u; 175 }; 176 typedef struct post_op_attr post_op_attr; 177 178 struct wcc_attr { 179 size3 size; 180 nfstime3 mtime; 181 nfstime3 ctime; 182 }; 183 typedef struct wcc_attr wcc_attr; 184 185 struct pre_op_attr { 186 bool_t attributes_follow; 187 union { 188 wcc_attr attributes; 189 } pre_op_attr_u; 190 }; 191 typedef struct pre_op_attr pre_op_attr; 192 193 struct wcc_data { 194 pre_op_attr before; 195 post_op_attr after; 196 }; 197 typedef struct wcc_data wcc_data; 198 199 struct post_op_fh3 { 200 bool_t handle_follows; 201 union { 202 nfs_fh3 handle; 203 } post_op_fh3_u; 204 }; 205 typedef struct post_op_fh3 post_op_fh3; 206 207 enum time_how { 208 DONT_CHANGE = 0, 209 SET_TO_SERVER_TIME = 1, 210 SET_TO_CLIENT_TIME = 2 211 }; 212 typedef enum time_how time_how; 213 214 struct set_mode3 { 215 bool_t set_it; 216 union { 217 mode3 mode; 218 } set_mode3_u; 219 }; 220 typedef struct set_mode3 set_mode3; 221 222 struct set_uid3 { 223 bool_t set_it; 224 union { 225 uid3 uid; 226 } set_uid3_u; 227 }; 228 typedef struct set_uid3 set_uid3; 229 230 struct set_gid3 { 231 bool_t set_it; 232 union { 233 gid3 gid; 234 } set_gid3_u; 235 }; 236 typedef struct set_gid3 set_gid3; 237 238 struct set_size3 { 239 bool_t set_it; 240 union { 241 size3 size; 242 } set_size3_u; 243 }; 244 typedef struct set_size3 set_size3; 245 246 struct set_atime { 247 time_how set_it; 248 union { 249 nfstime3 atime; 250 } set_atime_u; 251 }; 252 typedef struct set_atime set_atime; 253 254 struct set_mtime { 255 time_how set_it; 256 union { 257 nfstime3 mtime; 258 } set_mtime_u; 259 }; 260 typedef struct set_mtime set_mtime; 261 262 struct sattr3 { 263 set_mode3 mode; 264 set_uid3 uid; 265 set_gid3 gid; 266 set_size3 size; 267 set_atime atime; 268 set_mtime mtime; 269 }; 270 typedef struct sattr3 sattr3; 271 272 struct diropargs3 { 273 nfs_fh3 dir; 274 filename3 name; 275 }; 276 typedef struct diropargs3 diropargs3; 277 278 struct GETATTR3args { 279 nfs_fh3 object; 280 }; 281 typedef struct GETATTR3args GETATTR3args; 282 283 struct GETATTR3resok { 284 fattr3 obj_attributes; 285 }; 286 typedef struct GETATTR3resok GETATTR3resok; 287 288 struct GETATTR3res { 289 nfsstat3 status; 290 union { 291 GETATTR3resok resok; 292 } GETATTR3res_u; 293 }; 294 typedef struct GETATTR3res GETATTR3res; 295 296 struct sattrguard3 { 297 bool_t check; 298 union { 299 nfstime3 obj_ctime; 300 } sattrguard3_u; 301 }; 302 typedef struct sattrguard3 sattrguard3; 303 304 struct SETATTR3args { 305 nfs_fh3 object; 306 sattr3 new_attributes; 307 sattrguard3 guard; 308 }; 309 typedef struct SETATTR3args SETATTR3args; 310 311 struct SETATTR3resok { 312 wcc_data obj_wcc; 313 }; 314 typedef struct SETATTR3resok SETATTR3resok; 315 316 struct SETATTR3resfail { 317 wcc_data obj_wcc; 318 }; 319 typedef struct SETATTR3resfail SETATTR3resfail; 320 321 struct SETATTR3res { 322 nfsstat3 status; 323 union { 324 SETATTR3resok resok; 325 SETATTR3resfail resfail; 326 } SETATTR3res_u; 327 }; 328 typedef struct SETATTR3res SETATTR3res; 329 330 struct LOOKUP3args { 331 diropargs3 what; 332 }; 333 typedef struct LOOKUP3args LOOKUP3args; 334 335 struct LOOKUP3resok { 336 nfs_fh3 object; 337 post_op_attr obj_attributes; 338 post_op_attr dir_attributes; 339 }; 340 typedef struct LOOKUP3resok LOOKUP3resok; 341 342 struct LOOKUP3resfail { 343 post_op_attr dir_attributes; 344 }; 345 typedef struct LOOKUP3resfail LOOKUP3resfail; 346 347 struct LOOKUP3res { 348 nfsstat3 status; 349 union { 350 LOOKUP3resok resok; 351 LOOKUP3resfail resfail; 352 } LOOKUP3res_u; 353 }; 354 typedef struct LOOKUP3res LOOKUP3res; 355 356 struct ACCESS3args { 357 nfs_fh3 object; 358 uint32 access; 359 }; 360 typedef struct ACCESS3args ACCESS3args; 361 362 struct ACCESS3resok { 363 post_op_attr obj_attributes; 364 uint32 access; 365 }; 366 typedef struct ACCESS3resok ACCESS3resok; 367 368 struct ACCESS3resfail { 369 post_op_attr obj_attributes; 370 }; 371 typedef struct ACCESS3resfail ACCESS3resfail; 372 373 struct ACCESS3res { 374 nfsstat3 status; 375 union { 376 ACCESS3resok resok; 377 ACCESS3resfail resfail; 378 } ACCESS3res_u; 379 }; 380 typedef struct ACCESS3res ACCESS3res; 381 382 struct READLINK3args { 383 nfs_fh3 symlink; 384 }; 385 typedef struct READLINK3args READLINK3args; 386 387 struct READLINK3resok { 388 post_op_attr symlink_attributes; 389 nfspath3 data; 390 }; 391 typedef struct READLINK3resok READLINK3resok; 392 393 struct READLINK3resfail { 394 post_op_attr symlink_attributes; 395 }; 396 typedef struct READLINK3resfail READLINK3resfail; 397 398 struct READLINK3res { 399 nfsstat3 status; 400 union { 401 READLINK3resok resok; 402 READLINK3resfail resfail; 403 } READLINK3res_u; 404 }; 405 typedef struct READLINK3res READLINK3res; 406 407 struct READ3args { 408 nfs_fh3 file; 409 offset3 offset; 410 count3 count; 411 }; 412 typedef struct READ3args READ3args; 413 414 struct READ3resok { 415 post_op_attr file_attributes; 416 count3 count; 417 bool_t eof; 418 struct { 419 unsigned int data_len; 420 char *data_val; 421 } data; 422 }; 423 typedef struct READ3resok READ3resok; 424 425 struct READ3resfail { 426 post_op_attr file_attributes; 427 }; 428 typedef struct READ3resfail READ3resfail; 429 430 struct READ3res { 431 nfsstat3 status; 432 union { 433 READ3resok resok; 434 READ3resfail resfail; 435 } READ3res_u; 436 }; 437 typedef struct READ3res READ3res; 438 439 struct WRITE3args { 440 nfs_fh3 file; 441 offset3 offset; 442 count3 count; 443 stable_how stable; 444 struct { 445 unsigned int data_len; 446 char *data_val; 447 } data; 448 }; 449 typedef struct WRITE3args WRITE3args; 450 451 struct WRITE3resok { 452 wcc_data file_wcc; 453 count3 count; 454 stable_how committed; 455 writeverf3 verf; 456 }; 457 typedef struct WRITE3resok WRITE3resok; 458 459 struct WRITE3resfail { 460 wcc_data file_wcc; 461 }; 462 typedef struct WRITE3resfail WRITE3resfail; 463 464 struct WRITE3res { 465 nfsstat3 status; 466 union { 467 WRITE3resok resok; 468 WRITE3resfail resfail; 469 } WRITE3res_u; 470 }; 471 typedef struct WRITE3res WRITE3res; 472 473 struct createhow3 { 474 createmode3 mode; 475 union { 476 sattr3 obj_attributes; 477 createverf3 verf; 478 } createhow3_u; 479 }; 480 typedef struct createhow3 createhow3; 481 482 struct CREATE3args { 483 diropargs3 where; 484 createhow3 how; 485 }; 486 typedef struct CREATE3args CREATE3args; 487 488 struct CREATE3resok { 489 post_op_fh3 obj; 490 post_op_attr obj_attributes; 491 wcc_data dir_wcc; 492 }; 493 typedef struct CREATE3resok CREATE3resok; 494 495 struct CREATE3resfail { 496 wcc_data dir_wcc; 497 }; 498 typedef struct CREATE3resfail CREATE3resfail; 499 500 struct CREATE3res { 501 nfsstat3 status; 502 union { 503 CREATE3resok resok; 504 CREATE3resfail resfail; 505 } CREATE3res_u; 506 }; 507 typedef struct CREATE3res CREATE3res; 508 509 struct MKDIR3args { 510 diropargs3 where; 511 sattr3 attributes; 512 }; 513 typedef struct MKDIR3args MKDIR3args; 514 515 struct MKDIR3resok { 516 post_op_fh3 obj; 517 post_op_attr obj_attributes; 518 wcc_data dir_wcc; 519 }; 520 typedef struct MKDIR3resok MKDIR3resok; 521 522 struct MKDIR3resfail { 523 wcc_data dir_wcc; 524 }; 525 typedef struct MKDIR3resfail MKDIR3resfail; 526 527 struct MKDIR3res { 528 nfsstat3 status; 529 union { 530 MKDIR3resok resok; 531 MKDIR3resfail resfail; 532 } MKDIR3res_u; 533 }; 534 typedef struct MKDIR3res MKDIR3res; 535 536 struct symlinkdata3 { 537 sattr3 symlink_attributes; 538 nfspath3 symlink_data; 539 }; 540 typedef struct symlinkdata3 symlinkdata3; 541 542 struct SYMLINK3args { 543 diropargs3 where; 544 symlinkdata3 symlink; 545 }; 546 typedef struct SYMLINK3args SYMLINK3args; 547 548 struct SYMLINK3resok { 549 post_op_fh3 obj; 550 post_op_attr obj_attributes; 551 wcc_data dir_wcc; 552 }; 553 typedef struct SYMLINK3resok SYMLINK3resok; 554 555 struct SYMLINK3resfail { 556 wcc_data dir_wcc; 557 }; 558 typedef struct SYMLINK3resfail SYMLINK3resfail; 559 560 struct SYMLINK3res { 561 nfsstat3 status; 562 union { 563 SYMLINK3resok resok; 564 SYMLINK3resfail resfail; 565 } SYMLINK3res_u; 566 }; 567 typedef struct SYMLINK3res SYMLINK3res; 568 569 struct devicedata3 { 570 sattr3 dev_attributes; 571 specdata3 spec; 572 }; 573 typedef struct devicedata3 devicedata3; 574 575 struct mknoddata3 { 576 ftype3 type; 577 union { 578 devicedata3 device; 579 sattr3 pipe_attributes; 580 } mknoddata3_u; 581 }; 582 typedef struct mknoddata3 mknoddata3; 583 584 struct MKNOD3args { 585 diropargs3 where; 586 mknoddata3 what; 587 }; 588 typedef struct MKNOD3args MKNOD3args; 589 590 struct MKNOD3resok { 591 post_op_fh3 obj; 592 post_op_attr obj_attributes; 593 wcc_data dir_wcc; 594 }; 595 typedef struct MKNOD3resok MKNOD3resok; 596 597 struct MKNOD3resfail { 598 wcc_data dir_wcc; 599 }; 600 typedef struct MKNOD3resfail MKNOD3resfail; 601 602 struct MKNOD3res { 603 nfsstat3 status; 604 union { 605 MKNOD3resok resok; 606 MKNOD3resfail resfail; 607 } MKNOD3res_u; 608 }; 609 typedef struct MKNOD3res MKNOD3res; 610 611 struct REMOVE3args { 612 diropargs3 object; 613 }; 614 typedef struct REMOVE3args REMOVE3args; 615 616 struct REMOVE3resok { 617 wcc_data dir_wcc; 618 }; 619 typedef struct REMOVE3resok REMOVE3resok; 620 621 struct REMOVE3resfail { 622 wcc_data dir_wcc; 623 }; 624 typedef struct REMOVE3resfail REMOVE3resfail; 625 626 struct REMOVE3res { 627 nfsstat3 status; 628 union { 629 REMOVE3resok resok; 630 REMOVE3resfail resfail; 631 } REMOVE3res_u; 632 }; 633 typedef struct REMOVE3res REMOVE3res; 634 635 struct RMDIR3args { 636 diropargs3 object; 637 }; 638 typedef struct RMDIR3args RMDIR3args; 639 640 struct RMDIR3resok { 641 wcc_data dir_wcc; 642 }; 643 typedef struct RMDIR3resok RMDIR3resok; 644 645 struct RMDIR3resfail { 646 wcc_data dir_wcc; 647 }; 648 typedef struct RMDIR3resfail RMDIR3resfail; 649 650 struct RMDIR3res { 651 nfsstat3 status; 652 union { 653 RMDIR3resok resok; 654 RMDIR3resfail resfail; 655 } RMDIR3res_u; 656 }; 657 typedef struct RMDIR3res RMDIR3res; 658 659 struct RENAME3args { 660 diropargs3 from; 661 diropargs3 to; 662 }; 663 typedef struct RENAME3args RENAME3args; 664 665 struct RENAME3resok { 666 wcc_data fromdir_wcc; 667 wcc_data todir_wcc; 668 }; 669 typedef struct RENAME3resok RENAME3resok; 670 671 struct RENAME3resfail { 672 wcc_data fromdir_wcc; 673 wcc_data todir_wcc; 674 }; 675 typedef struct RENAME3resfail RENAME3resfail; 676 677 struct RENAME3res { 678 nfsstat3 status; 679 union { 680 RENAME3resok resok; 681 RENAME3resfail resfail; 682 } RENAME3res_u; 683 }; 684 typedef struct RENAME3res RENAME3res; 685 686 struct LINK3args { 687 nfs_fh3 file; 688 diropargs3 link; 689 }; 690 typedef struct LINK3args LINK3args; 691 692 struct LINK3resok { 693 post_op_attr file_attributes; 694 wcc_data linkdir_wcc; 695 }; 696 typedef struct LINK3resok LINK3resok; 697 698 struct LINK3resfail { 699 post_op_attr file_attributes; 700 wcc_data linkdir_wcc; 701 }; 702 typedef struct LINK3resfail LINK3resfail; 703 704 struct LINK3res { 705 nfsstat3 status; 706 union { 707 LINK3resok resok; 708 LINK3resfail resfail; 709 } LINK3res_u; 710 }; 711 typedef struct LINK3res LINK3res; 712 713 struct READDIR3args { 714 nfs_fh3 dir; 715 cookie3 cookie; 716 cookieverf3 cookieverf; 717 count3 count; 718 }; 719 typedef struct READDIR3args READDIR3args; 720 721 struct entry3 { 722 fileid3 fileid; 723 filename3 name; 724 cookie3 cookie; 725 struct entry3 *nextentry; 726 }; 727 typedef struct entry3 entry3; 728 729 struct dirlist3 { 730 entry3 *entries; 731 bool_t eof; 732 }; 733 typedef struct dirlist3 dirlist3; 734 735 struct READDIR3resok { 736 post_op_attr dir_attributes; 737 cookieverf3 cookieverf; 738 dirlist3 reply; 739 }; 740 typedef struct READDIR3resok READDIR3resok; 741 742 struct READDIR3resfail { 743 post_op_attr dir_attributes; 744 }; 745 typedef struct READDIR3resfail READDIR3resfail; 746 747 struct READDIR3res { 748 nfsstat3 status; 749 union { 750 READDIR3resok resok; 751 READDIR3resfail resfail; 752 } READDIR3res_u; 753 }; 754 typedef struct READDIR3res READDIR3res; 755 756 struct READDIRPLUS3args { 757 nfs_fh3 dir; 758 cookie3 cookie; 759 cookieverf3 cookieverf; 760 count3 dircount; 761 count3 maxcount; 762 }; 763 typedef struct READDIRPLUS3args READDIRPLUS3args; 764 765 struct entryplus3 { 766 fileid3 fileid; 767 filename3 name; 768 cookie3 cookie; 769 post_op_attr name_attributes; 770 post_op_fh3 name_handle; 771 struct entryplus3 *nextentry; 772 }; 773 typedef struct entryplus3 entryplus3; 774 775 struct dirlistplus3 { 776 entryplus3 *entries; 777 bool_t eof; 778 }; 779 typedef struct dirlistplus3 dirlistplus3; 780 781 struct READDIRPLUS3resok { 782 post_op_attr dir_attributes; 783 cookieverf3 cookieverf; 784 dirlistplus3 reply; 785 }; 786 typedef struct READDIRPLUS3resok READDIRPLUS3resok; 787 788 struct READDIRPLUS3resfail { 789 post_op_attr dir_attributes; 790 }; 791 typedef struct READDIRPLUS3resfail READDIRPLUS3resfail; 792 793 struct READDIRPLUS3res { 794 nfsstat3 status; 795 union { 796 READDIRPLUS3resok resok; 797 READDIRPLUS3resfail resfail; 798 } READDIRPLUS3res_u; 799 }; 800 typedef struct READDIRPLUS3res READDIRPLUS3res; 801 802 struct FSSTAT3args { 803 nfs_fh3 fsroot; 804 }; 805 typedef struct FSSTAT3args FSSTAT3args; 806 807 struct FSSTAT3resok { 808 post_op_attr obj_attributes; 809 size3 tbytes; 810 size3 fbytes; 811 size3 abytes; 812 size3 tfiles; 813 size3 ffiles; 814 size3 afiles; 815 uint32 invarsec; 816 }; 817 typedef struct FSSTAT3resok FSSTAT3resok; 818 819 struct FSSTAT3resfail { 820 post_op_attr obj_attributes; 821 }; 822 typedef struct FSSTAT3resfail FSSTAT3resfail; 823 824 struct FSSTAT3res { 825 nfsstat3 status; 826 union { 827 FSSTAT3resok resok; 828 FSSTAT3resfail resfail; 829 } FSSTAT3res_u; 830 }; 831 typedef struct FSSTAT3res FSSTAT3res; 832 833 struct FSINFO3args { 834 nfs_fh3 fsroot; 835 }; 836 typedef struct FSINFO3args FSINFO3args; 837 838 struct FSINFO3resok { 839 post_op_attr obj_attributes; 840 uint32 rtmax; 841 uint32 rtpref; 842 uint32 rtmult; 843 uint32 wtmax; 844 uint32 wtpref; 845 uint32 wtmult; 846 uint32 dtpref; 847 size3 maxfilesize; 848 nfstime3 time_delta; 849 uint32 properties; 850 }; 851 typedef struct FSINFO3resok FSINFO3resok; 852 853 struct FSINFO3resfail { 854 post_op_attr obj_attributes; 855 }; 856 typedef struct FSINFO3resfail FSINFO3resfail; 857 858 struct FSINFO3res { 859 nfsstat3 status; 860 union { 861 FSINFO3resok resok; 862 FSINFO3resfail resfail; 863 } FSINFO3res_u; 864 }; 865 typedef struct FSINFO3res FSINFO3res; 866 867 struct PATHCONF3args { 868 nfs_fh3 object; 869 }; 870 typedef struct PATHCONF3args PATHCONF3args; 871 872 struct PATHCONF3resok { 873 post_op_attr obj_attributes; 874 uint32 linkmax; 875 uint32 name_max; 876 bool_t no_trunc; 877 bool_t chown_restricted; 878 bool_t case_insensitive; 879 bool_t case_preserving; 880 }; 881 typedef struct PATHCONF3resok PATHCONF3resok; 882 883 struct PATHCONF3resfail { 884 post_op_attr obj_attributes; 885 }; 886 typedef struct PATHCONF3resfail PATHCONF3resfail; 887 888 struct PATHCONF3res { 889 nfsstat3 status; 890 union { 891 PATHCONF3resok resok; 892 PATHCONF3resfail resfail; 893 } PATHCONF3res_u; 894 }; 895 typedef struct PATHCONF3res PATHCONF3res; 896 897 struct COMMIT3args { 898 nfs_fh3 file; 899 offset3 offset; 900 count3 count; 901 }; 902 typedef struct COMMIT3args COMMIT3args; 903 904 struct COMMIT3resok { 905 wcc_data file_wcc; 906 writeverf3 verf; 907 }; 908 typedef struct COMMIT3resok COMMIT3resok; 909 910 struct COMMIT3resfail { 911 wcc_data file_wcc; 912 }; 913 typedef struct COMMIT3resfail COMMIT3resfail; 914 915 struct COMMIT3res { 916 nfsstat3 status; 917 union { 918 COMMIT3resok resok; 919 COMMIT3resfail resfail; 920 } COMMIT3res_u; 921 }; 922 typedef struct COMMIT3res COMMIT3res; 923 924 #define NFS_PROGRAM 100003 925 #define NFS_V3 3 926 927 #define NFSPROC3_NULL 0 928 extern enum clnt_stat nfsproc3_null_3(void *, CLIENT *); 929 #define NFSPROC3_GETATTR 1 930 extern enum clnt_stat nfsproc3_getattr_3(GETATTR3args , GETATTR3res *, CLIENT *); 931 #define NFSPROC3_SETATTR 2 932 extern enum clnt_stat nfsproc3_setattr_3(SETATTR3args , SETATTR3res *, CLIENT *); 933 #define NFSPROC3_LOOKUP 3 934 extern enum clnt_stat nfsproc3_lookup_3(LOOKUP3args , LOOKUP3res *, CLIENT *); 935 #define NFSPROC3_ACCESS 4 936 extern enum clnt_stat nfsproc3_access_3(ACCESS3args , ACCESS3res *, CLIENT *); 937 #define NFSPROC3_READLINK 5 938 extern enum clnt_stat nfsproc3_readlink_3(READLINK3args , READLINK3res *, CLIENT *); 939 #define NFSPROC3_READ 6 940 extern enum clnt_stat nfsproc3_read_3(READ3args , READ3res *, CLIENT *); 941 #define NFSPROC3_WRITE 7 942 extern enum clnt_stat nfsproc3_write_3(WRITE3args , WRITE3res *, CLIENT *); 943 #define NFSPROC3_CREATE 8 944 extern enum clnt_stat nfsproc3_create_3(CREATE3args , CREATE3res *, CLIENT *); 945 #define NFSPROC3_MKDIR 9 946 extern enum clnt_stat nfsproc3_mkdir_3(MKDIR3args , MKDIR3res *, CLIENT *); 947 #define NFSPROC3_SYMLINK 10 948 extern enum clnt_stat nfsproc3_symlink_3(SYMLINK3args , SYMLINK3res *, CLIENT *); 949 #define NFSPROC3_MKNOD 11 950 extern enum clnt_stat nfsproc3_mknod_3(MKNOD3args , MKNOD3res *, CLIENT *); 951 #define NFSPROC3_REMOVE 12 952 extern enum clnt_stat nfsproc3_remove_3(REMOVE3args , REMOVE3res *, CLIENT *); 953 #define NFSPROC3_RMDIR 13 954 extern enum clnt_stat nfsproc3_rmdir_3(RMDIR3args , RMDIR3res *, CLIENT *); 955 #define NFSPROC3_RENAME 14 956 extern enum clnt_stat nfsproc3_rename_3(RENAME3args , RENAME3res *, CLIENT *); 957 #define NFSPROC3_LINK 15 958 extern enum clnt_stat nfsproc3_link_3(LINK3args , LINK3res *, CLIENT *); 959 #define NFSPROC3_READDIR 16 960 extern enum clnt_stat nfsproc3_readdir_3(READDIR3args , READDIR3res *, CLIENT *); 961 #define NFSPROC3_READDIRPLUS 17 962 extern enum clnt_stat nfsproc3_readdirplus_3(READDIRPLUS3args , READDIRPLUS3res *, CLIENT *); 963 #define NFSPROC3_FSSTAT 18 964 extern enum clnt_stat nfsproc3_fsstat_3(FSSTAT3args , FSSTAT3res *, CLIENT *); 965 #define NFSPROC3_FSINFO 19 966 extern enum clnt_stat nfsproc3_fsinfo_3(FSINFO3args , FSINFO3res *, CLIENT *); 967 #define NFSPROC3_PATHCONF 20 968 extern enum clnt_stat nfsproc3_pathconf_3(PATHCONF3args , PATHCONF3res *, CLIENT *); 969 #define NFSPROC3_COMMIT 21 970 extern enum clnt_stat nfsproc3_commit_3(COMMIT3args , COMMIT3res *, CLIENT *); 971 972 /* the xdr functions */ 973 974 extern bool_t xdr_uint64(XDR *, uint64*); 975 extern bool_t xdr_int64(XDR *, int64*); 976 extern bool_t xdr_uint32(XDR *, uint32*); 977 extern bool_t xdr_int32(XDR *, int32*); 978 extern bool_t xdr_filename3(XDR *, filename3*); 979 extern bool_t xdr_nfspath3(XDR *, nfspath3*); 980 extern bool_t xdr_fileid3(XDR *, fileid3*); 981 extern bool_t xdr_cookie3(XDR *, cookie3*); 982 extern bool_t xdr_cookieverf3(XDR *, cookieverf3); 983 extern bool_t xdr_createverf3(XDR *, createverf3); 984 extern bool_t xdr_writeverf3(XDR *, writeverf3); 985 extern bool_t xdr_uid3(XDR *, uid3*); 986 extern bool_t xdr_gid3(XDR *, gid3*); 987 extern bool_t xdr_size3(XDR *, size3*); 988 extern bool_t xdr_offset3(XDR *, offset3*); 989 extern bool_t xdr_mode3(XDR *, mode3*); 990 extern bool_t xdr_count3(XDR *, count3*); 991 extern bool_t xdr_nfsstat3(XDR *, nfsstat3*); 992 extern bool_t xdr_ftype3(XDR *, ftype3*); 993 extern bool_t xdr_stable_how(XDR *, stable_how*); 994 extern bool_t xdr_createmode3(XDR *, createmode3*); 995 extern bool_t xdr_specdata3(XDR *, specdata3*); 996 extern bool_t xdr_nfs_fh3(XDR *, nfs_fh3*); 997 extern bool_t xdr_nfstime3(XDR *, nfstime3*); 998 extern bool_t xdr_fattr3(XDR *, fattr3*); 999 extern bool_t xdr_post_op_attr(XDR *, post_op_attr*); 1000 extern bool_t xdr_wcc_attr(XDR *, wcc_attr*); 1001 extern bool_t xdr_pre_op_attr(XDR *, pre_op_attr*); 1002 extern bool_t xdr_wcc_data(XDR *, wcc_data*); 1003 extern bool_t xdr_post_op_fh3(XDR *, post_op_fh3*); 1004 extern bool_t xdr_time_how(XDR *, time_how*); 1005 extern bool_t xdr_set_mode3(XDR *, set_mode3*); 1006 extern bool_t xdr_set_uid3(XDR *, set_uid3*); 1007 extern bool_t xdr_set_gid3(XDR *, set_gid3*); 1008 extern bool_t xdr_set_size3(XDR *, set_size3*); 1009 extern bool_t xdr_set_atime(XDR *, set_atime*); 1010 extern bool_t xdr_set_mtime(XDR *, set_mtime*); 1011 extern bool_t xdr_sattr3(XDR *, sattr3*); 1012 extern bool_t xdr_diropargs3(XDR *, diropargs3*); 1013 extern bool_t xdr_GETATTR3args(XDR *, GETATTR3args*); 1014 extern bool_t xdr_GETATTR3resok(XDR *, GETATTR3resok*); 1015 extern bool_t xdr_GETATTR3res(XDR *, GETATTR3res*); 1016 extern bool_t xdr_sattrguard3(XDR *, sattrguard3*); 1017 extern bool_t xdr_SETATTR3args(XDR *, SETATTR3args*); 1018 extern bool_t xdr_SETATTR3resok(XDR *, SETATTR3resok*); 1019 extern bool_t xdr_SETATTR3resfail(XDR *, SETATTR3resfail*); 1020 extern bool_t xdr_SETATTR3res(XDR *, SETATTR3res*); 1021 extern bool_t xdr_LOOKUP3args(XDR *, LOOKUP3args*); 1022 extern bool_t xdr_LOOKUP3resok(XDR *, LOOKUP3resok*); 1023 extern bool_t xdr_LOOKUP3resfail(XDR *, LOOKUP3resfail*); 1024 extern bool_t xdr_LOOKUP3res(XDR *, LOOKUP3res*); 1025 extern bool_t xdr_ACCESS3args(XDR *, ACCESS3args*); 1026 extern bool_t xdr_ACCESS3resok(XDR *, ACCESS3resok*); 1027 extern bool_t xdr_ACCESS3resfail(XDR *, ACCESS3resfail*); 1028 extern bool_t xdr_ACCESS3res(XDR *, ACCESS3res*); 1029 extern bool_t xdr_READLINK3args(XDR *, READLINK3args*); 1030 extern bool_t xdr_READLINK3resok(XDR *, READLINK3resok*); 1031 extern bool_t xdr_READLINK3resfail(XDR *, READLINK3resfail*); 1032 extern bool_t xdr_READLINK3res(XDR *, READLINK3res*); 1033 extern bool_t xdr_READ3args(XDR *, READ3args*); 1034 extern bool_t xdr_READ3resok(XDR *, READ3resok*); 1035 extern bool_t xdr_READ3resfail(XDR *, READ3resfail*); 1036 extern bool_t xdr_READ3res(XDR *, READ3res*); 1037 extern bool_t xdr_WRITE3args(XDR *, WRITE3args*); 1038 extern bool_t xdr_WRITE3resok(XDR *, WRITE3resok*); 1039 extern bool_t xdr_WRITE3resfail(XDR *, WRITE3resfail*); 1040 extern bool_t xdr_WRITE3res(XDR *, WRITE3res*); 1041 extern bool_t xdr_createhow3(XDR *, createhow3*); 1042 extern bool_t xdr_CREATE3args(XDR *, CREATE3args*); 1043 extern bool_t xdr_CREATE3resok(XDR *, CREATE3resok*); 1044 extern bool_t xdr_CREATE3resfail(XDR *, CREATE3resfail*); 1045 extern bool_t xdr_CREATE3res(XDR *, CREATE3res*); 1046 extern bool_t xdr_MKDIR3args(XDR *, MKDIR3args*); 1047 extern bool_t xdr_MKDIR3resok(XDR *, MKDIR3resok*); 1048 extern bool_t xdr_MKDIR3resfail(XDR *, MKDIR3resfail*); 1049 extern bool_t xdr_MKDIR3res(XDR *, MKDIR3res*); 1050 extern bool_t xdr_symlinkdata3(XDR *, symlinkdata3*); 1051 extern bool_t xdr_SYMLINK3args(XDR *, SYMLINK3args*); 1052 extern bool_t xdr_SYMLINK3resok(XDR *, SYMLINK3resok*); 1053 extern bool_t xdr_SYMLINK3resfail(XDR *, SYMLINK3resfail*); 1054 extern bool_t xdr_SYMLINK3res(XDR *, SYMLINK3res*); 1055 extern bool_t xdr_devicedata3(XDR *, devicedata3*); 1056 extern bool_t xdr_mknoddata3(XDR *, mknoddata3*); 1057 extern bool_t xdr_MKNOD3args(XDR *, MKNOD3args*); 1058 extern bool_t xdr_MKNOD3resok(XDR *, MKNOD3resok*); 1059 extern bool_t xdr_MKNOD3resfail(XDR *, MKNOD3resfail*); 1060 extern bool_t xdr_MKNOD3res(XDR *, MKNOD3res*); 1061 extern bool_t xdr_REMOVE3args(XDR *, REMOVE3args*); 1062 extern bool_t xdr_REMOVE3resok(XDR *, REMOVE3resok*); 1063 extern bool_t xdr_REMOVE3resfail(XDR *, REMOVE3resfail*); 1064 extern bool_t xdr_REMOVE3res(XDR *, REMOVE3res*); 1065 extern bool_t xdr_RMDIR3args(XDR *, RMDIR3args*); 1066 extern bool_t xdr_RMDIR3resok(XDR *, RMDIR3resok*); 1067 extern bool_t xdr_RMDIR3resfail(XDR *, RMDIR3resfail*); 1068 extern bool_t xdr_RMDIR3res(XDR *, RMDIR3res*); 1069 extern bool_t xdr_RENAME3args(XDR *, RENAME3args*); 1070 extern bool_t xdr_RENAME3resok(XDR *, RENAME3resok*); 1071 extern bool_t xdr_RENAME3resfail(XDR *, RENAME3resfail*); 1072 extern bool_t xdr_RENAME3res(XDR *, RENAME3res*); 1073 extern bool_t xdr_LINK3args(XDR *, LINK3args*); 1074 extern bool_t xdr_LINK3resok(XDR *, LINK3resok*); 1075 extern bool_t xdr_LINK3resfail(XDR *, LINK3resfail*); 1076 extern bool_t xdr_LINK3res(XDR *, LINK3res*); 1077 extern bool_t xdr_READDIR3args(XDR *, READDIR3args*); 1078 extern bool_t xdr_entry3(XDR *, entry3*); 1079 extern bool_t xdr_dirlist3(XDR *, dirlist3*); 1080 extern bool_t xdr_READDIR3resok(XDR *, READDIR3resok*); 1081 extern bool_t xdr_READDIR3resfail(XDR *, READDIR3resfail*); 1082 extern bool_t xdr_READDIR3res(XDR *, READDIR3res*); 1083 extern bool_t xdr_READDIRPLUS3args(XDR *, READDIRPLUS3args*); 1084 extern bool_t xdr_entryplus3(XDR *, entryplus3*); 1085 extern bool_t xdr_dirlistplus3(XDR *, dirlistplus3*); 1086 extern bool_t xdr_READDIRPLUS3resok(XDR *, READDIRPLUS3resok*); 1087 extern bool_t xdr_READDIRPLUS3resfail(XDR *, READDIRPLUS3resfail*); 1088 extern bool_t xdr_READDIRPLUS3res(XDR *, READDIRPLUS3res*); 1089 extern bool_t xdr_FSSTAT3args(XDR *, FSSTAT3args*); 1090 extern bool_t xdr_FSSTAT3resok(XDR *, FSSTAT3resok*); 1091 extern bool_t xdr_FSSTAT3resfail(XDR *, FSSTAT3resfail*); 1092 extern bool_t xdr_FSSTAT3res(XDR *, FSSTAT3res*); 1093 extern bool_t xdr_FSINFO3args(XDR *, FSINFO3args*); 1094 extern bool_t xdr_FSINFO3resok(XDR *, FSINFO3resok*); 1095 extern bool_t xdr_FSINFO3resfail(XDR *, FSINFO3resfail*); 1096 extern bool_t xdr_FSINFO3res(XDR *, FSINFO3res*); 1097 extern bool_t xdr_PATHCONF3args(XDR *, PATHCONF3args*); 1098 extern bool_t xdr_PATHCONF3resok(XDR *, PATHCONF3resok*); 1099 extern bool_t xdr_PATHCONF3resfail(XDR *, PATHCONF3resfail*); 1100 extern bool_t xdr_PATHCONF3res(XDR *, PATHCONF3res*); 1101 extern bool_t xdr_COMMIT3args(XDR *, COMMIT3args*); 1102 extern bool_t xdr_COMMIT3resok(XDR *, COMMIT3resok*); 1103 extern bool_t xdr_COMMIT3resfail(XDR *, COMMIT3resfail*); 1104 extern bool_t xdr_COMMIT3res(XDR *, COMMIT3res*); 1105 1106 #ifdef __cplusplus 1107 } 1108 #endif 1109 1110 #endif /* !_NFS_H_RPCGEN */ 1111