1 /* $NetBSD: am_xdr_func.h,v 1.1.1.3 2015/01/17 16:34:18 christos Exp $ */ 2 3 /* 4 * Copyright (c) 1997-2014 Erez Zadok 5 * Copyright (c) 1990 Jan-Simon Pendry 6 * Copyright (c) 1990 Imperial College of Science, Technology & Medicine 7 * Copyright (c) 1990 The Regents of the University of California. 8 * All rights reserved. 9 * 10 * This code is derived from software contributed to Berkeley by 11 * Jan-Simon Pendry at Imperial College, London. 12 * 13 * Redistribution and use in source and binary forms, with or without 14 * modification, are permitted provided that the following conditions 15 * are met: 16 * 1. Redistributions of source code must retain the above copyright 17 * notice, this list of conditions and the following disclaimer. 18 * 2. Redistributions in binary form must reproduce the above copyright 19 * notice, this list of conditions and the following disclaimer in the 20 * documentation and/or other materials provided with the distribution. 21 * 3. Neither the name of the University nor the names of its contributors 22 * may be used to endorse or promote products derived from this software 23 * without specific prior written permission. 24 * 25 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 26 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 28 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * 38 * File: am-utils/include/am_xdr_func.h 39 * 40 */ 41 42 #ifdef HAVE_FS_NFS3 43 44 #define AM_MOUNTVERS3 ((unsigned long)(3)) 45 46 #define AM_FHSIZE3 64 /* size in bytes of a file handle (v3) */ 47 #define AM_NFS3_WRITEVERFSIZE 8 48 #define AM_NFS3_CREATEVERFSIZE 8 49 #define AM_NFS3_COOKIEVERFSIZE 8 50 #define AM_ACCESS3_READ 0x0001 51 #define AM_ACCESS3_LOOKUP 0x0002 52 #define AM_ACCESS3_MODIFY 0x0004 53 #define AM_ACCESS3_EXTEND 0x0008 54 #define AM_ACCESS3_DELETE 0x0010 55 #define AM_ACCESS3_EXECUTE 0x0020 56 #define AM_FSF3_LINK 0x0001 57 #define AM_FSF3_SYMLINK 0x0002 58 #define AM_FSF3_HOMOGENEOUS 0x0008 59 #define AM_FSF3_CANSETTIME 0x0010 60 61 typedef char am_cookieverf3[AM_NFS3_COOKIEVERFSIZE]; 62 63 typedef u_quad_t uint64; 64 65 typedef uint64 am_cookie3; 66 67 /* NFSv3 handle */ 68 struct am_nfs_fh3 { 69 u_int am_fh3_length; 70 char am_fh3_data[AM_FHSIZE3]; 71 }; 72 typedef struct am_nfs_fh3 am_nfs_fh3; 73 74 #define AM_NFSPROC3_LOOKUP ((u_long) 3) 75 enum am_nfsstat3 { 76 AM_NFS3_OK = 0, 77 AM_NFS3ERR_PERM = 1, 78 AM_NFS3ERR_NOENT = 2, 79 AM_NFS3ERR_IO = 5, 80 AM_NFS3ERR_NXIO = 6, 81 AM_NFS3ERR_ACCES = 13, 82 AM_NFS3ERR_EXIST = 17, 83 AM_NFS3ERR_XDEV = 18, 84 AM_NFS3ERR_NODEV = 19, 85 AM_NFS3ERR_NOTDIR = 20, 86 AM_NFS3ERR_ISDIR = 21, 87 AM_NFS3ERR_INVAL = 22, 88 AM_NFS3ERR_FBIG = 27, 89 AM_NFS3ERR_NOSPC = 28, 90 AM_NFS3ERR_ROFS = 30, 91 AM_NFS3ERR_MLINK = 31, 92 AM_NFS3ERR_NAMETOOLONG = 63, 93 AM_NFS3ERR_NOTEMPTY = 66, 94 AM_NFS3ERR_DQUOT = 69, 95 AM_NFS3ERR_STALE = 70, 96 AM_NFS3ERR_REMOTE = 71, 97 AM_NFS3ERR_BADHANDLE = 10001, 98 AM_NFS3ERR_NOT_SYNC = 10002, 99 AM_NFS3ERR_BAD_COOKIE = 10003, 100 AM_NFS3ERR_NOTSUPP = 10004, 101 AM_NFS3ERR_TOOSMALL = 10005, 102 AM_NFS3ERR_SERVERFAULT = 10006, 103 AM_NFS3ERR_BADTYPE = 10007, 104 AM_NFS3ERR_JUKEBOX = 10008 105 }; 106 typedef enum am_nfsstat3 am_nfsstat3; 107 108 typedef struct { 109 u_int fhandle3_len; 110 char *fhandle3_val; 111 } am_fhandle3; 112 113 enum am_mountstat3 { 114 AM_MNT3_OK = 0, 115 AM_MNT3ERR_PERM = 1, 116 AM_MNT3ERR_NOENT = 2, 117 AM_MNT3ERR_IO = 5, 118 AM_MNT3ERR_ACCES = 13, 119 AM_MNT3ERR_NOTDIR = 20, 120 AM_MNT3ERR_INVAL = 22, 121 AM_MNT3ERR_NAMETOOLONG = 63, 122 AM_MNT3ERR_NOTSUPP = 10004, 123 AM_MNT3ERR_SERVERFAULT = 10006 124 }; 125 typedef enum am_mountstat3 am_mountstat3; 126 127 struct am_mountres3_ok { 128 am_fhandle3 fhandle; 129 struct { 130 u_int auth_flavors_len; 131 int *auth_flavors_val; 132 } auth_flavors; 133 }; 134 typedef struct am_mountres3_ok am_mountres3_ok; 135 136 struct am_mountres3 { 137 am_mountstat3 fhs_status; 138 union { 139 am_mountres3_ok mountinfo; 140 } mountres3_u; 141 }; 142 typedef struct am_mountres3 am_mountres3; 143 144 typedef char *am_filename3; 145 146 struct am_diropargs3 { 147 am_nfs_fh3 dir; 148 am_filename3 name; 149 }; 150 typedef struct am_diropargs3 am_diropargs3; 151 152 enum am_ftype3 { 153 AM_NF3REG = 1, 154 AM_NF3DIR = 2, 155 AM_NF3BLK = 3, 156 AM_NF3CHR = 4, 157 AM_NF3LNK = 5, 158 AM_NF3SOCK = 6, 159 AM_NF3FIFO = 7, 160 }; 161 typedef enum am_ftype3 am_ftype3; 162 163 typedef u_int am_mode3; 164 165 typedef u_int am_uid3; 166 167 typedef u_int am_gid3; 168 169 typedef uint64 am_size3; 170 171 typedef uint64 am_fileid3; 172 173 struct am_specdata3 { 174 u_int specdata1; 175 u_int specdata2; 176 }; 177 typedef struct am_specdata3 am_specdata3; 178 179 struct am_nfstime3 { 180 u_int seconds; 181 u_int nseconds; 182 }; 183 typedef struct am_nfstime3 am_nfstime3; 184 185 struct am_fattr3 { 186 am_ftype3 type; 187 am_mode3 mode; 188 u_int nlink; 189 am_uid3 uid; 190 am_gid3 gid; 191 am_size3 size; 192 am_size3 used; 193 am_specdata3 rdev; 194 uint64 fsid; 195 am_fileid3 fileid; 196 am_nfstime3 atime; 197 am_nfstime3 mtime; 198 am_nfstime3 ctime; 199 }; 200 typedef struct am_fattr3 am_fattr3; 201 202 struct am_post_op_attr { 203 bool_t attributes_follow; 204 union { 205 am_fattr3 attributes; 206 } am_post_op_attr_u; 207 }; 208 typedef struct am_post_op_attr am_post_op_attr; 209 210 enum am_stable_how { 211 AM_UNSTABLE = 0, 212 AM_DATA_SYNC = 1, 213 AM_FILE_SYNC = 2, 214 }; 215 typedef enum am_stable_how am_stable_how; 216 217 typedef uint64 am_offset3; 218 219 typedef u_int am_count3; 220 221 struct am_wcc_attr { 222 am_size3 size; 223 am_nfstime3 mtime; 224 am_nfstime3 ctime; 225 }; 226 typedef struct am_wcc_attr am_wcc_attr; 227 228 struct am_pre_op_attr { 229 bool_t attributes_follow; 230 union { 231 am_wcc_attr attributes; 232 } am_pre_op_attr_u; 233 }; 234 typedef struct am_pre_op_attr am_pre_op_attr; 235 236 struct am_wcc_data { 237 am_pre_op_attr before; 238 am_post_op_attr after; 239 }; 240 typedef struct am_wcc_data am_wcc_data; 241 242 struct am_WRITE3args { 243 am_nfs_fh3 file; 244 am_offset3 offset; 245 am_count3 count; 246 am_stable_how stable; 247 struct { 248 u_int data_len; 249 char *data_val; 250 } data; 251 }; 252 typedef struct am_WRITE3args am_WRITE3args; 253 254 typedef char am_writeverf3[AM_NFS3_WRITEVERFSIZE]; 255 256 struct am_WRITE3resok { 257 am_wcc_data file_wcc; 258 am_count3 count; 259 am_stable_how committed; 260 am_writeverf3 verf; 261 }; 262 typedef struct am_WRITE3resok am_WRITE3resok; 263 264 struct am_WRITE3resfail { 265 am_wcc_data file_wcc; 266 }; 267 typedef struct am_WRITE3resfail am_WRITE3resfail; 268 269 struct am_WRITE3res { 270 am_nfsstat3 status; 271 union { 272 am_WRITE3resok ok; 273 am_WRITE3resfail fail; 274 } res_u; 275 }; 276 typedef struct am_WRITE3res am_WRITE3res; 277 278 struct am_LOOKUP3args { 279 am_diropargs3 what; 280 }; 281 typedef struct am_LOOKUP3args am_LOOKUP3args; 282 283 struct am_LOOKUP3resok { 284 am_nfs_fh3 object; 285 am_post_op_attr obj_attributes; 286 am_post_op_attr dir_attributes; 287 }; 288 typedef struct am_LOOKUP3resok am_LOOKUP3resok; 289 290 struct am_LOOKUP3resfail { 291 am_post_op_attr dir_attributes; 292 }; 293 typedef struct am_LOOKUP3resfail am_LOOKUP3resfail; 294 295 struct am_LOOKUP3res { 296 am_nfsstat3 status; 297 union { 298 am_LOOKUP3resok ok; 299 am_LOOKUP3resfail fail; 300 } res_u; 301 }; 302 typedef struct am_LOOKUP3res am_LOOKUP3res; 303 304 struct am_COMMIT3args { 305 am_nfs_fh3 file; 306 am_offset3 offset; 307 am_count3 count; 308 }; 309 typedef struct am_COMMIT3args am_COMMIT3args; 310 311 struct am_COMMIT3resok { 312 am_wcc_data file_wcc; 313 am_writeverf3 verf; 314 }; 315 typedef struct am_COMMIT3resok am_COMMIT3resok; 316 317 struct am_COMMIT3resfail { 318 am_wcc_data file_wcc; 319 }; 320 typedef struct am_COMMIT3resfail am_COMMIT3resfail; 321 322 struct am_COMMIT3res { 323 am_nfsstat3 status; 324 union { 325 am_COMMIT3resok ok; 326 am_COMMIT3resfail fail; 327 } res_u; 328 }; 329 typedef struct am_COMMIT3res am_COMMIT3res; 330 331 struct am_ACCESS3args { 332 am_nfs_fh3 object; 333 u_int access; 334 }; 335 typedef struct am_ACCESS3args am_ACCESS3args; 336 337 struct am_ACCESS3resok { 338 am_post_op_attr obj_attributes; 339 u_int access; 340 }; 341 typedef struct am_ACCESS3resok am_ACCESS3resok; 342 343 struct am_ACCESS3resfail { 344 am_post_op_attr obj_attributes; 345 }; 346 typedef struct am_ACCESS3resfail am_ACCESS3resfail; 347 348 struct am_ACCESS3res { 349 am_nfsstat3 status; 350 union { 351 am_ACCESS3resok ok; 352 am_ACCESS3resfail fail; 353 } res_u; 354 }; 355 typedef struct am_ACCESS3res am_ACCESS3res; 356 357 struct am_GETATTR3args { 358 am_nfs_fh3 object; 359 }; 360 typedef struct am_GETATTR3args am_GETATTR3args; 361 362 struct am_GETATTR3resok { 363 am_fattr3 obj_attributes; 364 }; 365 typedef struct am_GETATTR3resok am_GETATTR3resok; 366 367 struct am_GETATTR3res { 368 am_nfsstat3 status; 369 union { 370 am_GETATTR3resok ok; 371 } res_u; 372 }; 373 typedef struct am_GETATTR3res am_GETATTR3res; 374 375 enum am_time_how { 376 AM_DONT_CHANGE = 0, 377 AM_SET_TO_SERVER_TIME = 1, 378 AM_SET_TO_CLIENT_TIME = 2, 379 }; 380 typedef enum am_time_how am_time_how; 381 382 struct am_set_mode3 { 383 bool_t set_it; 384 union { 385 am_mode3 mode; 386 } am_set_mode3_u; 387 }; 388 typedef struct am_set_mode3 am_set_mode3; 389 390 struct am_set_uid3 { 391 bool_t set_it; 392 union { 393 am_uid3 uid; 394 } am_set_uid3_u; 395 }; 396 typedef struct am_set_uid3 am_set_uid3; 397 398 struct am_set_gid3 { 399 bool_t set_it; 400 union { 401 am_gid3 gid; 402 } am_set_gid3_u; 403 }; 404 typedef struct am_set_gid3 am_set_gid3; 405 406 struct am_set_size3 { 407 bool_t set_it; 408 union { 409 am_size3 size; 410 } am_set_size3_u; 411 }; 412 typedef struct am_set_size3 am_set_size3; 413 414 struct am_set_atime { 415 am_time_how set_it; 416 union { 417 am_nfstime3 atime; 418 } am_set_atime_u; 419 }; 420 typedef struct am_set_atime am_set_atime; 421 422 struct am_set_mtime { 423 am_time_how set_it; 424 union { 425 am_nfstime3 mtime; 426 } am_set_mtime_u; 427 }; 428 typedef struct am_set_mtime am_set_mtime; 429 430 struct am_sattr3 { 431 am_set_mode3 mode; 432 am_set_uid3 uid; 433 am_set_gid3 gid; 434 am_set_size3 size; 435 am_set_atime atime; 436 am_set_mtime mtime; 437 }; 438 typedef struct am_sattr3 am_sattr3; 439 440 enum am_createmode3 { 441 AM_UNCHECKED = 0, 442 AM_GUARDED = 1, 443 AM_EXCLUSIVE = 2, 444 }; 445 typedef enum am_createmode3 am_createmode3; 446 447 typedef char am_createverf3[AM_NFS3_CREATEVERFSIZE]; 448 449 struct am_createhow3 { 450 am_createmode3 mode; 451 union { 452 am_sattr3 obj_attributes; 453 am_sattr3 g_obj_attributes; 454 am_createverf3 verf; 455 } am_createhow3_u; 456 }; 457 typedef struct am_createhow3 am_createhow3; 458 459 struct am_CREATE3args { 460 am_diropargs3 where; 461 am_createhow3 how; 462 }; 463 typedef struct am_CREATE3args am_CREATE3args; 464 465 struct am_post_op_fh3 { 466 bool_t handle_follows; 467 union { 468 am_nfs_fh3 handle; 469 } am_post_op_fh3_u; 470 }; 471 typedef struct am_post_op_fh3 am_post_op_fh3; 472 473 struct am_CREATE3resok { 474 am_post_op_fh3 obj; 475 am_post_op_attr obj_attributes; 476 am_wcc_data dir_wcc; 477 }; 478 typedef struct am_CREATE3resok am_CREATE3resok; 479 480 struct am_CREATE3resfail { 481 am_wcc_data dir_wcc; 482 }; 483 typedef struct am_CREATE3resfail am_CREATE3resfail; 484 485 struct am_CREATE3res { 486 am_nfsstat3 status; 487 union { 488 am_CREATE3resok ok; 489 am_CREATE3resfail fail; 490 } res_u; 491 }; 492 typedef struct am_CREATE3res am_CREATE3res; 493 494 struct am_REMOVE3args { 495 am_diropargs3 object; 496 }; 497 typedef struct am_REMOVE3args am_REMOVE3args; 498 499 struct am_REMOVE3resok { 500 am_wcc_data dir_wcc; 501 }; 502 typedef struct am_REMOVE3resok am_REMOVE3resok; 503 504 struct am_REMOVE3resfail { 505 am_wcc_data dir_wcc; 506 }; 507 typedef struct am_REMOVE3resfail am_REMOVE3resfail; 508 509 struct am_REMOVE3res { 510 am_nfsstat3 status; 511 union { 512 am_REMOVE3resok ok; 513 am_REMOVE3resfail fail; 514 } res_u; 515 }; 516 typedef struct am_REMOVE3res am_REMOVE3res; 517 518 struct am_READ3args { 519 am_nfs_fh3 file; 520 am_offset3 offset; 521 am_count3 count; 522 }; 523 typedef struct am_READ3args am_READ3args; 524 525 struct am_READ3resok { 526 am_post_op_attr file_attributes; 527 am_count3 count; 528 bool_t eof; 529 struct { 530 u_int data_len; 531 char *data_val; 532 } data; 533 }; 534 typedef struct am_READ3resok am_READ3resok; 535 536 struct am_READ3resfail { 537 am_post_op_attr file_attributes; 538 }; 539 typedef struct am_READ3resfail am_READ3resfail; 540 541 struct am_READ3res { 542 am_nfsstat3 status; 543 union { 544 am_READ3resok ok; 545 am_READ3resfail fail; 546 } res_u; 547 }; 548 typedef struct am_READ3res am_READ3res; 549 550 struct am_FSINFO3args { 551 am_nfs_fh3 fsroot; 552 }; 553 typedef struct am_FSINFO3args am_FSINFO3args; 554 555 struct am_FSINFO3resok { 556 am_post_op_attr obj_attributes; 557 u_int rtmax; 558 u_int rtpref; 559 u_int rtmult; 560 u_int wtmax; 561 u_int wtpref; 562 u_int wtmult; 563 u_int dtpref; 564 am_size3 maxfilesize; 565 am_nfstime3 time_delta; 566 u_int properties; 567 }; 568 typedef struct am_FSINFO3resok am_FSINFO3resok; 569 570 struct am_FSINFO3resfail { 571 am_post_op_attr obj_attributes; 572 }; 573 typedef struct am_FSINFO3resfail am_FSINFO3resfail; 574 575 struct am_FSINFO3res { 576 am_nfsstat3 status; 577 union { 578 am_FSINFO3resok ok; 579 am_FSINFO3resfail fail; 580 } res_u; 581 }; 582 typedef struct am_FSINFO3res am_FSINFO3res; 583 584 struct am_FSSTAT3args { 585 am_nfs_fh3 fsroot; 586 }; 587 typedef struct am_FSSTAT3args am_FSSTAT3args; 588 589 struct am_FSSTAT3resok { 590 am_post_op_attr obj_attributes; 591 am_size3 tbytes; 592 am_size3 fbytes; 593 am_size3 abytes; 594 am_size3 tfiles; 595 am_size3 ffiles; 596 am_size3 afiles; 597 u_int invarsec; 598 }; 599 typedef struct am_FSSTAT3resok am_FSSTAT3resok; 600 601 struct am_FSSTAT3resfail { 602 am_post_op_attr obj_attributes; 603 }; 604 typedef struct am_FSSTAT3resfail am_FSSTAT3resfail; 605 606 struct am_FSSTAT3res { 607 am_nfsstat3 status; 608 union { 609 am_FSSTAT3resok ok; 610 am_FSSTAT3resfail fail; 611 } res_u; 612 }; 613 typedef struct am_FSSTAT3res am_FSSTAT3res; 614 615 struct am_PATHCONF3args { 616 am_nfs_fh3 object; 617 }; 618 typedef struct am_PATHCONF3args am_PATHCONF3args; 619 620 struct am_PATHCONF3resok { 621 am_post_op_attr obj_attributes; 622 u_int linkmax; 623 u_int name_max; 624 bool_t no_trunc; 625 bool_t chown_restricted; 626 bool_t case_insensitive; 627 bool_t case_preserving; 628 }; 629 typedef struct am_PATHCONF3resok am_PATHCONF3resok; 630 631 struct am_PATHCONF3resfail { 632 am_post_op_attr obj_attributes; 633 }; 634 typedef struct am_PATHCONF3resfail am_PATHCONF3resfail; 635 636 struct am_PATHCONF3res { 637 am_nfsstat3 status; 638 union { 639 am_PATHCONF3resok ok; 640 am_PATHCONF3resfail fail; 641 } res_u; 642 }; 643 typedef struct am_PATHCONF3res am_PATHCONF3res; 644 645 typedef char *am_nfspath3; 646 647 struct am_symlinkdata3 { 648 am_sattr3 symlink_attributes; 649 am_nfspath3 symlink_data; 650 }; 651 typedef struct am_symlinkdata3 am_symlinkdata3; 652 653 struct am_SYMLINK3args { 654 am_diropargs3 where; 655 am_symlinkdata3 symlink; 656 }; 657 typedef struct am_SYMLINK3args am_SYMLINK3args; 658 659 struct am_SYMLINK3resok { 660 am_post_op_fh3 obj; 661 am_post_op_attr obj_attributes; 662 am_wcc_data dir_wcc; 663 }; 664 typedef struct am_SYMLINK3resok am_SYMLINK3resok; 665 666 struct am_SYMLINK3resfail { 667 am_wcc_data dir_wcc; 668 }; 669 typedef struct am_SYMLINK3resfail am_SYMLINK3resfail; 670 671 struct am_SYMLINK3res { 672 am_nfsstat3 status; 673 union { 674 am_SYMLINK3resok ok; 675 am_SYMLINK3resfail fail; 676 } res_u; 677 }; 678 typedef struct am_SYMLINK3res am_SYMLINK3res; 679 680 struct am_READLINK3args { 681 am_nfs_fh3 symlink; 682 }; 683 typedef struct am_READLINK3args am_READLINK3args; 684 685 struct am_READLINK3resok { 686 am_post_op_attr symlink_attributes; 687 am_nfspath3 data; 688 }; 689 typedef struct am_READLINK3resok am_READLINK3resok; 690 691 struct am_READLINK3resfail { 692 am_post_op_attr symlink_attributes; 693 }; 694 typedef struct am_READLINK3resfail am_READLINK3resfail; 695 696 struct am_READLINK3res { 697 am_nfsstat3 status; 698 union { 699 am_READLINK3resok ok; 700 am_READLINK3resfail fail; 701 } res_u; 702 }; 703 typedef struct am_READLINK3res am_READLINK3res; 704 705 struct am_devicedata3 { 706 am_sattr3 dev_attributes; 707 am_specdata3 spec; 708 }; 709 typedef struct am_devicedata3 am_devicedata3; 710 711 struct am_mknoddata3 { 712 am_ftype3 type; 713 union { 714 am_devicedata3 chr_device; 715 am_devicedata3 blk_device; 716 am_sattr3 sock_attributes; 717 am_sattr3 pipe_attributes; 718 } am_mknoddata3_u; 719 }; 720 typedef struct am_mknoddata3 am_mknoddata3; 721 722 struct am_MKNOD3args { 723 am_diropargs3 where; 724 am_mknoddata3 what; 725 }; 726 typedef struct am_MKNOD3args am_MKNOD3args; 727 728 struct am_MKNOD3resok { 729 am_post_op_fh3 obj; 730 am_post_op_attr obj_attributes; 731 am_wcc_data dir_wcc; 732 }; 733 typedef struct am_MKNOD3resok am_MKNOD3resok; 734 735 struct am_MKNOD3resfail { 736 am_wcc_data dir_wcc; 737 }; 738 typedef struct am_MKNOD3resfail am_MKNOD3resfail; 739 740 struct am_MKNOD3res { 741 am_nfsstat3 status; 742 union { 743 am_MKNOD3resok ok; 744 am_MKNOD3resfail fail; 745 } res_u; 746 }; 747 typedef struct am_MKNOD3res am_MKNOD3res; 748 749 struct am_MKDIR3args { 750 am_diropargs3 where; 751 am_sattr3 attributes; 752 }; 753 typedef struct am_MKDIR3args am_MKDIR3args; 754 755 struct am_MKDIR3resok { 756 am_post_op_fh3 obj; 757 am_post_op_attr obj_attributes; 758 am_wcc_data dir_wcc; 759 }; 760 typedef struct am_MKDIR3resok am_MKDIR3resok; 761 762 struct am_MKDIR3resfail { 763 am_wcc_data dir_wcc; 764 }; 765 typedef struct am_MKDIR3resfail am_MKDIR3resfail; 766 767 struct am_MKDIR3res { 768 am_nfsstat3 status; 769 union { 770 am_MKDIR3resok ok; 771 am_MKDIR3resfail fail; 772 } res_u; 773 }; 774 typedef struct am_MKDIR3res am_MKDIR3res; 775 776 struct am_RMDIR3args { 777 am_diropargs3 object; 778 }; 779 typedef struct am_RMDIR3args am_RMDIR3args; 780 781 struct am_RMDIR3resok { 782 am_wcc_data dir_wcc; 783 }; 784 typedef struct am_RMDIR3resok am_RMDIR3resok; 785 786 struct am_RMDIR3resfail { 787 am_wcc_data dir_wcc; 788 }; 789 typedef struct am_RMDIR3resfail am_RMDIR3resfail; 790 791 struct am_RMDIR3res { 792 am_nfsstat3 status; 793 union { 794 am_RMDIR3resok ok; 795 am_RMDIR3resfail fail; 796 } res_u; 797 }; 798 typedef struct am_RMDIR3res am_RMDIR3res; 799 800 struct am_RENAME3args { 801 am_diropargs3 from; 802 am_diropargs3 to; 803 }; 804 typedef struct am_RENAME3args am_RENAME3args; 805 806 struct am_RENAME3resok { 807 am_wcc_data fromdir_wcc; 808 am_wcc_data todir_wcc; 809 }; 810 typedef struct am_RENAME3resok am_RENAME3resok; 811 812 struct am_RENAME3resfail { 813 am_wcc_data fromdir_wcc; 814 am_wcc_data todir_wcc; 815 }; 816 typedef struct am_RENAME3resfail am_RENAME3resfail; 817 818 struct am_RENAME3res { 819 am_nfsstat3 status; 820 union { 821 am_RENAME3resok ok; 822 am_RENAME3resfail fail; 823 } res_u; 824 }; 825 typedef struct am_RENAME3res am_RENAME3res; 826 827 struct am_READDIRPLUS3args { 828 am_nfs_fh3 dir; 829 am_cookie3 cookie; 830 am_cookieverf3 cookieverf; 831 am_count3 dircount; 832 am_count3 maxcount; 833 }; 834 typedef struct am_READDIRPLUS3args am_READDIRPLUS3args; 835 836 struct am_entryplus3 { 837 am_fileid3 fileid; 838 am_filename3 name; 839 am_cookie3 cookie; 840 am_post_op_attr name_attributes; 841 am_post_op_fh3 name_handle; 842 struct am_entryplus3 *nextentry; 843 }; 844 typedef struct am_entryplus3 am_entryplus3; 845 846 struct am_dirlistplus3 { 847 am_entryplus3 *entries; 848 bool_t eof; 849 }; 850 typedef struct am_dirlistplus3 am_dirlistplus3; 851 852 struct am_READDIRPLUS3resok { 853 am_post_op_attr dir_attributes; 854 am_cookieverf3 cookieverf; 855 am_dirlistplus3 reply; 856 }; 857 typedef struct am_READDIRPLUS3resok am_READDIRPLUS3resok; 858 859 struct am_READDIRPLUS3resfail { 860 am_post_op_attr dir_attributes; 861 }; 862 typedef struct am_READDIRPLUS3resfail am_READDIRPLUS3resfail; 863 864 struct am_READDIRPLUS3res { 865 am_nfsstat3 status; 866 union { 867 am_READDIRPLUS3resok ok; 868 am_READDIRPLUS3resfail fail; 869 } res_u; 870 }; 871 typedef struct am_READDIRPLUS3res am_READDIRPLUS3res; 872 873 struct am_READDIR3args { 874 am_nfs_fh3 dir; 875 am_cookie3 cookie; 876 am_cookieverf3 cookieverf; 877 am_count3 count; 878 }; 879 typedef struct am_READDIR3args am_READDIR3args; 880 881 struct am_entry3 { 882 am_fileid3 fileid; 883 am_filename3 name; 884 am_cookie3 cookie; 885 struct am_entry3 *nextentry; 886 }; 887 typedef struct am_entry3 am_entry3; 888 889 struct am_dirlist3 { 890 am_entry3 *entries; 891 bool_t eof; 892 }; 893 typedef struct am_dirlist3 am_dirlist3; 894 895 struct am_READDIR3resok { 896 am_post_op_attr dir_attributes; 897 am_cookieverf3 cookieverf; 898 am_dirlist3 reply; 899 }; 900 typedef struct am_READDIR3resok am_READDIR3resok; 901 902 struct am_READDIR3resfail { 903 am_post_op_attr dir_attributes; 904 }; 905 typedef struct am_READDIR3resfail am_READDIR3resfail; 906 907 struct am_READDIR3res { 908 am_nfsstat3 status; 909 union { 910 am_READDIR3resok ok; 911 am_READDIR3resfail fail; 912 } res_u; 913 }; 914 typedef struct am_READDIR3res am_READDIR3res; 915 916 struct am_LINK3args { 917 am_nfs_fh3 file; 918 am_diropargs3 link; 919 }; 920 typedef struct am_LINK3args am_LINK3args; 921 922 struct am_LINK3resok { 923 am_post_op_attr file_attributes; 924 am_wcc_data linkdir_wcc; 925 }; 926 typedef struct am_LINK3resok am_LINK3resok; 927 928 struct am_LINK3resfail { 929 am_post_op_attr file_attributes; 930 am_wcc_data linkdir_wcc; 931 }; 932 typedef struct am_LINK3resfail am_LINK3resfail; 933 934 struct am_LINK3res { 935 am_nfsstat3 status; 936 union { 937 am_LINK3resok ok; 938 am_LINK3resfail fail; 939 } res_u; 940 }; 941 typedef struct am_LINK3res am_LINK3res; 942 943 struct am_sattrguard3 { 944 bool_t check; 945 union { 946 am_nfstime3 obj_ctime; 947 } am_sattrguard3_u; 948 }; 949 typedef struct am_sattrguard3 am_sattrguard3; 950 951 struct am_SETATTR3args { 952 am_nfs_fh3 object; 953 am_sattr3 new_attributes; 954 am_sattrguard3 guard; 955 }; 956 typedef struct am_SETATTR3args am_SETATTR3args; 957 958 struct am_SETATTR3resok { 959 am_wcc_data obj_wcc; 960 }; 961 typedef struct am_SETATTR3resok am_SETATTR3resok; 962 963 struct am_SETATTR3resfail { 964 am_wcc_data obj_wcc; 965 }; 966 typedef struct am_SETATTR3resfail am_SETATTR3resfail; 967 968 struct am_SETATTR3res { 969 am_nfsstat3 status; 970 union { 971 am_SETATTR3resok ok; 972 am_SETATTR3resfail fail; 973 } res_u; 974 }; 975 typedef struct am_SETATTR3res am_SETATTR3res; 976 #endif /* HAVE_FS_NFS3 */ 977 978 /* 979 * Multi-protocol NFS file handle 980 */ 981 union am_nfs_handle { 982 /* placeholder for V4 file handle */ 983 #ifdef HAVE_FS_NFS3 984 am_nfs_fh3 v3; /* NFS version 3 handle */ 985 #endif /* HAVE_FS_NFS3 */ 986 am_nfs_fh v2; /* NFS version 2 handle */ 987 }; 988 typedef union am_nfs_handle am_nfs_handle_t; 989 990 991 /* 992 * Definitions of all possible xdr functions that are otherwise 993 * not defined elsewhere. 994 */ 995 996 #ifndef _AM_XDR_FUNC_H 997 #define _AM_XDR_FUNC_H 998 999 #ifndef HAVE_XDR_ATTRSTAT 1000 bool_t xdr_attrstat(XDR *xdrs, nfsattrstat *objp); 1001 #endif /* not HAVE_XDR_ATTRSTAT */ 1002 #ifndef HAVE_XDR_CREATEARGS 1003 bool_t xdr_createargs(XDR *xdrs, nfscreateargs *objp); 1004 #endif /* not HAVE_XDR_CREATEARGS */ 1005 #ifndef HAVE_XDR_DIRLIST 1006 bool_t xdr_dirlist(XDR *xdrs, nfsdirlist *objp); 1007 #endif /* not HAVE_XDR_DIRLIST */ 1008 #ifndef HAVE_XDR_DIROPARGS 1009 bool_t xdr_diropargs(XDR *xdrs, nfsdiropargs *objp); 1010 #endif /* not HAVE_XDR_DIROPARGS */ 1011 #ifndef HAVE_XDR_DIROPOKRES 1012 bool_t xdr_diropokres(XDR *xdrs, nfsdiropokres *objp); 1013 #endif /* not HAVE_XDR_DIROPOKRES */ 1014 #ifndef HAVE_XDR_DIROPRES 1015 bool_t xdr_diropres(XDR *xdrs, nfsdiropres *objp); 1016 #endif /* not HAVE_XDR_DIROPRES */ 1017 #ifndef HAVE_XDR_DIRPATH 1018 bool_t xdr_dirpath(XDR *xdrs, dirpath *objp); 1019 #endif /* not HAVE_XDR_DIRPATH */ 1020 #ifndef HAVE_XDR_ENTRY 1021 bool_t xdr_entry(XDR *xdrs, nfsentry *objp); 1022 #endif /* not HAVE_XDR_ENTRY */ 1023 #ifndef HAVE_XDR_EXPORTNODE 1024 bool_t xdr_exportnode(XDR *xdrs, exportnode *objp); 1025 #endif /* not HAVE_XDR_EXPORTNODE */ 1026 #ifndef HAVE_XDR_EXPORTS 1027 bool_t xdr_exports(XDR *xdrs, exports *objp); 1028 #endif /* not HAVE_XDR_EXPORTS */ 1029 #ifndef HAVE_XDR_FATTR 1030 bool_t xdr_fattr(XDR *xdrs, nfsfattr *objp); 1031 #endif /* not HAVE_XDR_FATTR */ 1032 #ifndef HAVE_XDR_FHANDLE 1033 bool_t xdr_fhandle(XDR *xdrs, fhandle objp); 1034 #endif /* not HAVE_XDR_FHANDLE */ 1035 #ifndef HAVE_XDR_FHSTATUS 1036 bool_t xdr_fhstatus(XDR *xdrs, fhstatus *objp); 1037 #endif /* not HAVE_XDR_FHSTATUS */ 1038 #ifndef HAVE_XDR_FILENAME 1039 bool_t xdr_filename(XDR *xdrs, filename *objp); 1040 #endif /* not HAVE_XDR_FILENAME */ 1041 #ifndef HAVE_XDR_FTYPE 1042 bool_t xdr_ftype(XDR *xdrs, nfsftype *objp); 1043 #endif /* not HAVE_XDR_FTYPE */ 1044 #ifndef HAVE_XDR_GROUPNODE 1045 bool_t xdr_groupnode(XDR *xdrs, groupnode *objp); 1046 #endif /* not HAVE_XDR_GROUPNODE */ 1047 #ifndef HAVE_XDR_GROUPS 1048 bool_t xdr_groups(XDR *xdrs, groups *objp); 1049 #endif /* not HAVE_XDR_GROUPS */ 1050 #ifndef HAVE_XDR_LINKARGS 1051 bool_t xdr_linkargs(XDR *xdrs, nfslinkargs *objp); 1052 #endif /* not HAVE_XDR_LINKARGS */ 1053 #ifndef HAVE_XDR_MOUNTBODY 1054 bool_t xdr_mountbody(XDR *xdrs, mountbody *objp); 1055 #endif /* not HAVE_XDR_MOUNTBODY */ 1056 #ifndef HAVE_XDR_MOUNTLIST 1057 bool_t xdr_mountlist(XDR *xdrs, mountlist *objp); 1058 #endif /* not HAVE_XDR_MOUNTLIST */ 1059 #ifndef HAVE_XDR_NAME 1060 bool_t xdr_name(XDR *xdrs, name *objp); 1061 #endif /* not HAVE_XDR_NAME */ 1062 #ifndef HAVE_XDR_NFS_FH 1063 bool_t xdr_nfs_fh(XDR *xdrs, am_nfs_fh *objp); 1064 #endif /* not HAVE_XDR_NFS_FH */ 1065 #ifndef HAVE_XDR_NFSCOOKIE 1066 bool_t xdr_nfscookie(XDR *xdrs, nfscookie objp); 1067 #endif /* not HAVE_XDR_NFSCOOKIE */ 1068 #ifndef HAVE_XDR_NFSPATH 1069 bool_t xdr_nfspath(XDR *xdrs, nfspath *objp); 1070 #endif /* not HAVE_XDR_NFSPATH */ 1071 #ifndef HAVE_XDR_NFSSTAT 1072 bool_t xdr_nfsstat(XDR *xdrs, nfsstat *objp); 1073 #endif /* not HAVE_XDR_NFSSTAT */ 1074 #ifndef HAVE_XDR_NFSTIME 1075 bool_t xdr_nfstime(XDR *xdrs, nfstime *objp); 1076 #endif /* not HAVE_XDR_NFSTIME */ 1077 #ifndef HAVE_XDR_POINTER 1078 bool_t xdr_pointer(register XDR *xdrs, char **objpp, u_int obj_size, XDRPROC_T_TYPE xdr_obj); 1079 #endif /* not HAVE_XDR_POINTER */ 1080 #ifndef HAVE_XDR_READARGS 1081 bool_t xdr_readargs(XDR *xdrs, nfsreadargs *objp); 1082 #endif /* not HAVE_XDR_READARGS */ 1083 #ifndef HAVE_XDR_READDIRARGS 1084 bool_t xdr_readdirargs(XDR *xdrs, nfsreaddirargs *objp); 1085 #endif /* not HAVE_XDR_READDIRARGS */ 1086 #ifndef HAVE_XDR_READDIRRES 1087 bool_t xdr_readdirres(XDR *xdrs, nfsreaddirres *objp); 1088 #endif /* not HAVE_XDR_READDIRRES */ 1089 #ifndef HAVE_XDR_READLINKRES 1090 bool_t xdr_readlinkres(XDR *xdrs, nfsreadlinkres *objp); 1091 #endif /* not HAVE_XDR_READLINKRES */ 1092 #ifndef HAVE_XDR_READOKRES 1093 bool_t xdr_readokres(XDR *xdrs, nfsreadokres *objp); 1094 #endif /* not HAVE_XDR_READOKRES */ 1095 #ifndef HAVE_XDR_READRES 1096 bool_t xdr_readres(XDR *xdrs, nfsreadres *objp); 1097 #endif /* not HAVE_XDR_READRES */ 1098 #ifndef HAVE_XDR_RENAMEARGS 1099 bool_t xdr_renameargs(XDR *xdrs, nfsrenameargs *objp); 1100 #endif /* not HAVE_XDR_RENAMEARGS */ 1101 #ifndef HAVE_XDR_SATTR 1102 bool_t xdr_sattr(XDR *xdrs, nfssattr *objp); 1103 #endif /* not HAVE_XDR_SATTR */ 1104 #ifndef HAVE_XDR_SATTRARGS 1105 bool_t xdr_sattrargs(XDR *xdrs, nfssattrargs *objp); 1106 #endif /* not HAVE_XDR_SATTRARGS */ 1107 #ifndef HAVE_XDR_STATFSOKRES 1108 bool_t xdr_statfsokres(XDR *xdrs, nfsstatfsokres *objp); 1109 #endif /* not HAVE_XDR_STATFSOKRES */ 1110 #ifndef HAVE_XDR_STATFSRES 1111 bool_t xdr_statfsres(XDR *xdrs, nfsstatfsres *objp); 1112 #endif /* not HAVE_XDR_STATFSRES */ 1113 #ifndef HAVE_XDR_SYMLINKARGS 1114 bool_t xdr_symlinkargs(XDR *xdrs, nfssymlinkargs *objp); 1115 #endif /* not HAVE_XDR_SYMLINKARGS */ 1116 #ifndef HAVE_XDR_WRITEARGS 1117 bool_t xdr_writeargs(XDR *xdrs, nfswriteargs *objp); 1118 #endif /* not HAVE_XDR_WRITEARGS */ 1119 1120 /* 1121 * NFS3 XDR FUNCTIONS: 1122 */ 1123 #ifdef HAVE_FS_NFS3 1124 #define AM_NFS3_NULL 0 1125 void * am_nfs3_null_3(void *, CLIENT *); 1126 void * am_nfs3_null_3_svc(void *, struct svc_req *); 1127 #define AM_NFS3_GETATTR 1 1128 am_GETATTR3res * am_nfs3_getattr_3(am_GETATTR3args *, CLIENT *); 1129 am_GETATTR3res * am_nfs3_getattr_3_svc(am_GETATTR3args *, struct svc_req *); 1130 #define AM_NFS3_SETATTR 2 1131 am_SETATTR3res * am_nfs3_setattr_3(am_SETATTR3args *, CLIENT *); 1132 am_SETATTR3res * am_nfs3_setattr_3_svc(am_SETATTR3args *, struct svc_req *); 1133 #define AM_NFS3_LOOKUP 3 1134 am_LOOKUP3res * am_nfs3_lookup_3(am_LOOKUP3args *, CLIENT *); 1135 am_LOOKUP3res * am_nfs3_lookup_3_svc(am_LOOKUP3args *, struct svc_req *); 1136 #define AM_NFS3_ACCESS 4 1137 am_ACCESS3res * am_nfs3_access_3(am_ACCESS3args *, CLIENT *); 1138 am_ACCESS3res * am_nfs3_access_3_svc(am_ACCESS3args *, struct svc_req *); 1139 #define AM_NFS3_READLINK 5 1140 am_READLINK3res * am_nfs3_readlink_3(am_READLINK3args *, CLIENT *); 1141 am_READLINK3res * am_nfs3_readlink_3_svc(am_READLINK3args *, struct svc_req *); 1142 #define AM_NFS3_READ 6 1143 am_READ3res * am_nfs3_read_3(am_READ3args *, CLIENT *); 1144 am_READ3res * am_nfs3_read_3_svc(am_READ3args *, struct svc_req *); 1145 #define AM_NFS3_WRITE 7 1146 am_WRITE3res * am_nfs3_write_3(am_WRITE3args *, CLIENT *); 1147 am_WRITE3res * am_nfs3_write_3_svc(am_WRITE3args *, struct svc_req *); 1148 #define AM_NFS3_CREATE 8 1149 am_CREATE3res * am_nfs3_create_3(am_CREATE3args *, CLIENT *); 1150 am_CREATE3res * am_nfs3_create_3_svc(am_CREATE3args *, struct svc_req *); 1151 #define AM_NFS3_MKDIR 9 1152 am_MKDIR3res * am_nfs3_mkdir_3(am_MKDIR3args *, CLIENT *); 1153 am_MKDIR3res * am_nfs3_mkdir_3_svc(am_MKDIR3args *, struct svc_req *); 1154 #define AM_NFS3_SYMLINK 10 1155 am_SYMLINK3res * am_nfs3_symlink_3(am_SYMLINK3args *, CLIENT *); 1156 am_SYMLINK3res * am_nfs3_symlink_3_svc(am_SYMLINK3args *, struct svc_req *); 1157 #define AM_NFS3_MKNOD 11 1158 am_MKNOD3res * am_nfs3_mknod_3(am_MKNOD3args *, CLIENT *); 1159 am_MKNOD3res * am_nfs3_mknod_3_svc(am_MKNOD3args *, struct svc_req *); 1160 #define AM_NFS3_REMOVE 12 1161 am_REMOVE3res * am_nfs3_remove_3(am_REMOVE3args *, CLIENT *); 1162 am_REMOVE3res * am_nfs3_remove_3_svc(am_REMOVE3args *, struct svc_req *); 1163 #define AM_NFS3_RMDIR 13 1164 am_RMDIR3res * am_nfs3_rmdir_3(am_RMDIR3args *, CLIENT *); 1165 am_RMDIR3res * am_nfs3_rmdir_3_svc(am_RMDIR3args *, struct svc_req *); 1166 #define AM_NFS3_RENAME 14 1167 am_RENAME3res * am_nfs3_rename_3(am_RENAME3args *, CLIENT *); 1168 am_RENAME3res * am_nfs3_rename_3_svc(am_RENAME3args *, struct svc_req *); 1169 #define AM_NFS3_LINK 15 1170 am_LINK3res * am_nfs3_link_3(am_LINK3args *, CLIENT *); 1171 am_LINK3res * am_nfs3_link_3_svc(am_LINK3args *, struct svc_req *); 1172 #define AM_NFS3_READDIR 16 1173 am_READDIR3res * am_nfs3_readdir_3(am_READDIR3args *, CLIENT *); 1174 am_READDIR3res * am_nfs3_readdir_3_svc(am_READDIR3args *, struct svc_req *); 1175 #define AM_NFS3_READDIRPLUS 17 1176 am_READDIRPLUS3res * am_nfs3_readdirplus_3(am_READDIRPLUS3args *, CLIENT *); 1177 am_READDIRPLUS3res * am_nfs3_readdirplus_3_svc(am_READDIRPLUS3args *, struct svc_req *); 1178 #define AM_NFS3_FSSTAT 18 1179 am_FSSTAT3res * am_nfs3_fsstat_3(am_FSSTAT3args *, CLIENT *); 1180 am_FSSTAT3res * am_nfs3_fsstat_3_svc(am_FSSTAT3args *, struct svc_req *); 1181 #define AM_NFS3_FSINFO 19 1182 am_FSINFO3res * am_nfs3_fsinfo_3(am_FSINFO3args *, CLIENT *); 1183 am_FSINFO3res * am_nfs3_fsinfo_3_svc(am_FSINFO3args *, struct svc_req *); 1184 #define AM_NFS3_PATHCONF 20 1185 am_PATHCONF3res * am_nfs3_pathconf_3(am_PATHCONF3args *, CLIENT *); 1186 am_PATHCONF3res * am_nfs3_pathconf_3_svc(am_PATHCONF3args *, struct svc_req *); 1187 #define AM_NFS3_COMMIT 21 1188 am_COMMIT3res * am_nfs3_commit_3(am_COMMIT3args *, CLIENT *); 1189 am_COMMIT3res * am_nfs3_commit_3_svc(am_COMMIT3args *, struct svc_req *); 1190 int nfs_program_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t); 1191 1192 bool_t xdr_am_fhandle3(XDR *xdrs, am_fhandle3 *objp); 1193 bool_t xdr_am_mountstat3(XDR *xdrs, am_mountstat3 *objp); 1194 bool_t xdr_am_mountres3_ok(XDR *xdrs, am_mountres3_ok *objp); 1195 bool_t xdr_am_mountres3(XDR *xdrs, am_mountres3 *objp); 1196 bool_t xdr_am_diropargs3(XDR *xdrs, am_diropargs3 *objp); 1197 bool_t xdr_am_filename3(XDR *xdrs, am_filename3 *objp); 1198 bool_t xdr_am_LOOKUP3args(XDR *xdrs, am_LOOKUP3args *objp); 1199 bool_t xdr_am_LOOKUP3res(XDR *xdrs, am_LOOKUP3res *objp); 1200 bool_t xdr_am_LOOKUP3resfail(XDR *xdrs, am_LOOKUP3resfail *objp); 1201 bool_t xdr_am_LOOKUP3resok(XDR *xdrs, am_LOOKUP3resok *objp); 1202 bool_t xdr_am_nfsstat3(XDR *xdrs, am_nfsstat3 *objp); 1203 bool_t xdr_am_nfs_fh3(XDR *xdrs, am_nfs_fh3 *objp); 1204 bool_t xdr_am_cookieverf3 (XDR *, am_cookieverf3); 1205 bool_t xdr_uint64 (XDR *, uint64*); 1206 bool_t xdr_am_cookie3 (XDR *, am_cookie3*); 1207 bool_t xdr_am_nfs_fh3 (XDR *, am_nfs_fh3*); 1208 bool_t xdr_am_nfsstat3 (XDR *, am_nfsstat3*); 1209 bool_t xdr_am_filename3 (XDR *, am_filename3*); 1210 bool_t xdr_am_diropargs3 (XDR *, am_diropargs3*); 1211 bool_t xdr_am_ftype3 (XDR *, am_ftype3*); 1212 bool_t xdr_am_mode3 (XDR *, am_mode3*); 1213 bool_t xdr_am_uid3 (XDR *, am_uid3*); 1214 bool_t xdr_am_gid3 (XDR *, am_gid3*); 1215 bool_t xdr_am_size3 (XDR *, am_size3*); 1216 bool_t xdr_am_fileid3 (XDR *, am_fileid3*); 1217 bool_t xdr_am_specdata3 (XDR *, am_specdata3*); 1218 bool_t xdr_am_nfstime3 (XDR *, am_nfstime3*); 1219 bool_t xdr_am_fattr3 (XDR *, am_fattr3*); 1220 bool_t xdr_am_post_op_attr (XDR *, am_post_op_attr*); 1221 bool_t xdr_am_stable_how (XDR *, am_stable_how*); 1222 bool_t xdr_am_offset3 (XDR *, am_offset3*); 1223 bool_t xdr_am_count3 (XDR *, am_count3*); 1224 bool_t xdr_am_wcc_attr (XDR *, am_wcc_attr*); 1225 bool_t xdr_am_pre_op_attr (XDR *, am_pre_op_attr*); 1226 bool_t xdr_am_wcc_data (XDR *, am_wcc_data*); 1227 bool_t xdr_am_WRITE3args (XDR *, am_WRITE3args*); 1228 bool_t xdr_am_writeverf3 (XDR *, am_writeverf3); 1229 bool_t xdr_am_WRITE3resok (XDR *, am_WRITE3resok*); 1230 bool_t xdr_am_WRITE3resfail (XDR *, am_WRITE3resfail*); 1231 bool_t xdr_am_WRITE3res (XDR *, am_WRITE3res*); 1232 bool_t xdr_am_LOOKUP3args (XDR *, am_LOOKUP3args*); 1233 bool_t xdr_am_LOOKUP3resok (XDR *, am_LOOKUP3resok*); 1234 bool_t xdr_am_LOOKUP3resfail (XDR *, am_LOOKUP3resfail*); 1235 bool_t xdr_am_LOOKUP3res (XDR *, am_LOOKUP3res*); 1236 bool_t xdr_am_COMMIT3args (XDR *, am_COMMIT3args*); 1237 bool_t xdr_am_COMMIT3resok (XDR *, am_COMMIT3resok*); 1238 bool_t xdr_am_COMMIT3resfail (XDR *, am_COMMIT3resfail*); 1239 bool_t xdr_am_COMMIT3res (XDR *, am_COMMIT3res*); 1240 bool_t xdr_am_ACCESS3args (XDR *, am_ACCESS3args*); 1241 bool_t xdr_am_ACCESS3resok (XDR *, am_ACCESS3resok*); 1242 bool_t xdr_am_ACCESS3resfail (XDR *, am_ACCESS3resfail*); 1243 bool_t xdr_am_ACCESS3res (XDR *, am_ACCESS3res*); 1244 bool_t xdr_am_GETATTR3args (XDR *, am_GETATTR3args*); 1245 bool_t xdr_am_GETATTR3resok (XDR *, am_GETATTR3resok*); 1246 bool_t xdr_am_GETATTR3res (XDR *, am_GETATTR3res*); 1247 bool_t xdr_am_time_how (XDR *, am_time_how*); 1248 bool_t xdr_am_set_mode3 (XDR *, am_set_mode3*); 1249 bool_t xdr_am_set_uid3 (XDR *, am_set_uid3*); 1250 bool_t xdr_am_set_gid3 (XDR *, am_set_gid3*); 1251 bool_t xdr_am_set_size3 (XDR *, am_set_size3*); 1252 bool_t xdr_am_set_atime (XDR *, am_set_atime*); 1253 bool_t xdr_am_set_mtime (XDR *, am_set_mtime*); 1254 bool_t xdr_am_sattr3 (XDR *, am_sattr3*); 1255 bool_t xdr_am_createmode3 (XDR *, am_createmode3*); 1256 bool_t xdr_am_createverf3 (XDR *, am_createverf3); 1257 bool_t xdr_am_createhow3 (XDR *, am_createhow3*); 1258 bool_t xdr_am_CREATE3args (XDR *, am_CREATE3args*); 1259 bool_t xdr_am_post_op_fh3 (XDR *, am_post_op_fh3*); 1260 bool_t xdr_am_CREATE3resok (XDR *, am_CREATE3resok*); 1261 bool_t xdr_am_CREATE3resfail (XDR *, am_CREATE3resfail*); 1262 bool_t xdr_am_CREATE3res (XDR *, am_CREATE3res*); 1263 bool_t xdr_am_REMOVE3args (XDR *, am_REMOVE3args*); 1264 bool_t xdr_am_REMOVE3resok (XDR *, am_REMOVE3resok*); 1265 bool_t xdr_am_REMOVE3resfail (XDR *, am_REMOVE3resfail*); 1266 bool_t xdr_am_REMOVE3res (XDR *, am_REMOVE3res*); 1267 bool_t xdr_am_READ3args (XDR *, am_READ3args*); 1268 bool_t xdr_am_READ3resok (XDR *, am_READ3resok*); 1269 bool_t xdr_am_READ3resfail (XDR *, am_READ3resfail*); 1270 bool_t xdr_am_READ3res (XDR *, am_READ3res*); 1271 bool_t xdr_am_FSINFO3args (XDR *, am_FSINFO3args*); 1272 bool_t xdr_am_FSINFO3resok (XDR *, am_FSINFO3resok*); 1273 bool_t xdr_am_FSINFO3resfail (XDR *, am_FSINFO3resfail*); 1274 bool_t xdr_am_FSINFO3res (XDR *, am_FSINFO3res*); 1275 bool_t xdr_am_FSSTAT3args (XDR *, am_FSSTAT3args*); 1276 bool_t xdr_am_FSSTAT3resok (XDR *, am_FSSTAT3resok*); 1277 bool_t xdr_am_FSSTAT3resfail (XDR *, am_FSSTAT3resfail*); 1278 bool_t xdr_am_FSSTAT3res (XDR *, am_FSSTAT3res*); 1279 bool_t xdr_am_PATHCONF3args (XDR *, am_PATHCONF3args*); 1280 bool_t xdr_am_PATHCONF3resok (XDR *, am_PATHCONF3resok*); 1281 bool_t xdr_am_PATHCONF3resfail (XDR *, am_PATHCONF3resfail*); 1282 bool_t xdr_am_PATHCONF3res (XDR *, am_PATHCONF3res*); 1283 bool_t xdr_am_nfspath3 (XDR *, am_nfspath3*); 1284 bool_t xdr_am_symlinkdata3 (XDR *, am_symlinkdata3*); 1285 bool_t xdr_am_SYMLINK3args (XDR *, am_SYMLINK3args*); 1286 bool_t xdr_am_SYMLINK3resok (XDR *, am_SYMLINK3resok*); 1287 bool_t xdr_am_SYMLINK3resfail (XDR *, am_SYMLINK3resfail*); 1288 bool_t xdr_am_SYMLINK3res (XDR *, am_SYMLINK3res*); 1289 bool_t xdr_am_READLINK3args (XDR *, am_READLINK3args*); 1290 bool_t xdr_am_READLINK3resok (XDR *, am_READLINK3resok*); 1291 bool_t xdr_am_READLINK3resfail (XDR *, am_READLINK3resfail*); 1292 bool_t xdr_am_READLINK3res (XDR *, am_READLINK3res*); 1293 bool_t xdr_am_devicedata3 (XDR *, am_devicedata3*); 1294 bool_t xdr_am_mknoddata3 (XDR *, am_mknoddata3*); 1295 bool_t xdr_am_MKNOD3args (XDR *, am_MKNOD3args*); 1296 bool_t xdr_am_MKNOD3resok (XDR *, am_MKNOD3resok*); 1297 bool_t xdr_am_MKNOD3resfail (XDR *, am_MKNOD3resfail*); 1298 bool_t xdr_am_MKNOD3res (XDR *, am_MKNOD3res*); 1299 bool_t xdr_am_MKDIR3args (XDR *, am_MKDIR3args*); 1300 bool_t xdr_am_MKDIR3resok (XDR *, am_MKDIR3resok*); 1301 bool_t xdr_am_MKDIR3resfail (XDR *, am_MKDIR3resfail*); 1302 bool_t xdr_am_MKDIR3res (XDR *, am_MKDIR3res*); 1303 bool_t xdr_am_RMDIR3args (XDR *, am_RMDIR3args*); 1304 bool_t xdr_am_RMDIR3resok (XDR *, am_RMDIR3resok*); 1305 bool_t xdr_am_RMDIR3resfail (XDR *, am_RMDIR3resfail*); 1306 bool_t xdr_am_RMDIR3res (XDR *, am_RMDIR3res*); 1307 bool_t xdr_am_RENAME3args (XDR *, am_RENAME3args*); 1308 bool_t xdr_am_RENAME3resok (XDR *, am_RENAME3resok*); 1309 bool_t xdr_am_RENAME3resfail (XDR *, am_RENAME3resfail*); 1310 bool_t xdr_am_RENAME3res (XDR *, am_RENAME3res*); 1311 bool_t xdr_am_READDIRPLUS3args (XDR *, am_READDIRPLUS3args*); 1312 bool_t xdr_am_entryplus3 (XDR *, am_entryplus3*); 1313 bool_t xdr_am_dirlistplus3 (XDR *, am_dirlistplus3*); 1314 bool_t xdr_am_READDIRPLUS3resok (XDR *, am_READDIRPLUS3resok*); 1315 bool_t xdr_am_READDIRPLUS3resfail (XDR *, am_READDIRPLUS3resfail*); 1316 bool_t xdr_am_READDIRPLUS3res (XDR *, am_READDIRPLUS3res*); 1317 bool_t xdr_am_READDIR3args (XDR *, am_READDIR3args*); 1318 bool_t xdr_am_entry3 (XDR *, am_entry3*); 1319 bool_t xdr_am_dirlist3 (XDR *, am_dirlist3*); 1320 bool_t xdr_am_READDIR3resok (XDR *, am_READDIR3resok*); 1321 bool_t xdr_am_READDIR3resfail (XDR *, am_READDIR3resfail*); 1322 bool_t xdr_am_READDIR3res (XDR *, am_READDIR3res*); 1323 bool_t xdr_am_LINK3args (XDR *, am_LINK3args*); 1324 bool_t xdr_am_LINK3resok (XDR *, am_LINK3resok*); 1325 bool_t xdr_am_LINK3resfail (XDR *, am_LINK3resfail*); 1326 bool_t xdr_am_LINK3res (XDR *, am_LINK3res*); 1327 bool_t xdr_am_sattrguard3 (XDR *, am_sattrguard3*); 1328 bool_t xdr_am_SETATTR3args (XDR *, am_SETATTR3args*); 1329 bool_t xdr_am_SETATTR3resok (XDR *, am_SETATTR3resok*); 1330 bool_t xdr_am_SETATTR3resfail (XDR *, am_SETATTR3resfail*); 1331 bool_t xdr_am_SETATTR3res (XDR *, am_SETATTR3res*); 1332 #endif /* HAVE_FS_NFS3 */ 1333 1334 #endif /* not _AM_XDR_FUNC_H */ 1335