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