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