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