Imported Upstream version 1.9.4
[deb_libnfs.git] / nfs / libnfs-raw-nfs.h
CommitLineData
f1f22dbf
RRS
1/*
2Copyright (c) 2014, Ronnie Sahlberg
3All rights reserved.
4
5Redistribution and use in source and binary forms, with or without
6modification, are permitted provided that the following conditions are met:
7
81. Redistributions of source code must retain the above copyright notice, this
9 list of conditions and the following disclaimer.
102. Redistributions in binary form must reproduce the above copyright notice,
11 this list of conditions and the following disclaimer in the documentation
12 and/or other materials provided with the distribution.
13
14THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
18ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
25The views and conclusions contained in the software and documentation are those
26of the authors and should not be interpreted as representing official policies,
27either expressed or implied, of the FreeBSD Project.
28*/
29
ee872606
RRS
30/*
31 * Please do not edit this file.
32 * It was generated using rpcgen.
33 */
34
35#ifndef _NFS_H_RPCGEN
36#define _NFS_H_RPCGEN
37#include <nfsc/libnfs-zdr.h>
38
39
40
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
46#define NFS3_FHSIZE 64
47#define NFS3_WRITEVERFSIZE 8
48#define NFS3_CREATEVERFSIZE 8
49#define NFS3_COOKIEVERFSIZE 8
50
51#if defined(ANDROID)
52typedef long long int quad_t;
53typedef long long unsigned u_quad_t;
54#endif
55#if defined(WIN32)
56typedef long long int quad_t;
57typedef long long unsigned u_quad_t;
58#endif
59
60typedef char cookieverf3[NFS3_COOKIEVERFSIZE];
61
f1f22dbf 62typedef u_quad_t cookie3;
ee872606
RRS
63
64struct nfs_fh3 {
65 struct {
66 u_int data_len;
67 char *data_val;
68 } data;
69};
70typedef struct nfs_fh3 nfs_fh3;
71
72typedef char *filename3;
73
74struct diropargs3 {
75 nfs_fh3 dir;
76 filename3 name;
77};
78typedef struct diropargs3 diropargs3;
79
80enum ftype3 {
81 NF3REG = 1,
82 NF3DIR = 2,
83 NF3BLK = 3,
84 NF3CHR = 4,
85 NF3LNK = 5,
86 NF3SOCK = 6,
87 NF3FIFO = 7,
88};
89typedef enum ftype3 ftype3;
90
91typedef u_int mode3;
92
93typedef u_int uid3;
94
95typedef u_int gid3;
96
f1f22dbf 97typedef u_quad_t size3;
ee872606 98
f1f22dbf 99typedef u_quad_t fileid3;
ee872606
RRS
100
101struct specdata3 {
102 u_int specdata1;
103 u_int specdata2;
104};
105typedef struct specdata3 specdata3;
106
107struct nfstime3 {
108 u_int seconds;
109 u_int nseconds;
110};
111typedef struct nfstime3 nfstime3;
112
113struct fattr3 {
114 ftype3 type;
115 mode3 mode;
116 u_int nlink;
117 uid3 uid;
118 gid3 gid;
119 size3 size;
120 size3 used;
121 specdata3 rdev;
f1f22dbf 122 u_quad_t fsid;
ee872606
RRS
123 fileid3 fileid;
124 nfstime3 atime;
125 nfstime3 mtime;
126 nfstime3 ctime;
127};
128typedef struct fattr3 fattr3;
129
130struct post_op_attr {
131 bool_t attributes_follow;
132 union {
133 fattr3 attributes;
134 } post_op_attr_u;
135};
136typedef struct post_op_attr post_op_attr;
137
138enum nfsstat3 {
139 NFS3_OK = 0,
140 NFS3ERR_PERM = 1,
141 NFS3ERR_NOENT = 2,
142 NFS3ERR_IO = 5,
143 NFS3ERR_NXIO = 6,
144 NFS3ERR_ACCES = 13,
145 NFS3ERR_EXIST = 17,
146 NFS3ERR_XDEV = 18,
147 NFS3ERR_NODEV = 19,
148 NFS3ERR_NOTDIR = 20,
149 NFS3ERR_ISDIR = 21,
150 NFS3ERR_INVAL = 22,
151 NFS3ERR_FBIG = 27,
152 NFS3ERR_NOSPC = 28,
153 NFS3ERR_ROFS = 30,
154 NFS3ERR_MLINK = 31,
155 NFS3ERR_NAMETOOLONG = 63,
156 NFS3ERR_NOTEMPTY = 66,
157 NFS3ERR_DQUOT = 69,
158 NFS3ERR_STALE = 70,
159 NFS3ERR_REMOTE = 71,
160 NFS3ERR_BADHANDLE = 10001,
161 NFS3ERR_NOT_SYNC = 10002,
162 NFS3ERR_BAD_COOKIE = 10003,
163 NFS3ERR_NOTSUPP = 10004,
164 NFS3ERR_TOOSMALL = 10005,
165 NFS3ERR_SERVERFAULT = 10006,
166 NFS3ERR_BADTYPE = 10007,
167 NFS3ERR_JUKEBOX = 10008,
168};
169typedef enum nfsstat3 nfsstat3;
170
171enum stable_how {
172 UNSTABLE = 0,
173 DATA_SYNC = 1,
174 FILE_SYNC = 2,
175};
176typedef enum stable_how stable_how;
177
f1f22dbf 178typedef u_quad_t offset3;
ee872606
RRS
179
180typedef u_int count3;
181
182struct wcc_attr {
183 size3 size;
184 nfstime3 mtime;
185 nfstime3 ctime;
186};
187typedef struct wcc_attr wcc_attr;
188
189struct pre_op_attr {
190 bool_t attributes_follow;
191 union {
192 wcc_attr attributes;
193 } pre_op_attr_u;
194};
195typedef struct pre_op_attr pre_op_attr;
196
197struct wcc_data {
198 pre_op_attr before;
199 post_op_attr after;
200};
201typedef struct wcc_data wcc_data;
202
203struct WRITE3args {
204 nfs_fh3 file;
205 offset3 offset;
206 count3 count;
207 stable_how stable;
208 struct {
209 u_int data_len;
210 char *data_val;
211 } data;
212};
213typedef struct WRITE3args WRITE3args;
214
215typedef char writeverf3[NFS3_WRITEVERFSIZE];
216
217struct WRITE3resok {
218 wcc_data file_wcc;
219 count3 count;
220 stable_how committed;
221 writeverf3 verf;
222};
223typedef struct WRITE3resok WRITE3resok;
224
225struct WRITE3resfail {
226 wcc_data file_wcc;
227};
228typedef struct WRITE3resfail WRITE3resfail;
229
230struct WRITE3res {
231 nfsstat3 status;
232 union {
233 WRITE3resok resok;
234 WRITE3resfail resfail;
235 } WRITE3res_u;
236};
237typedef struct WRITE3res WRITE3res;
238
239struct LOOKUP3args {
240 diropargs3 what;
241};
242typedef struct LOOKUP3args LOOKUP3args;
243
244struct LOOKUP3resok {
245 nfs_fh3 object;
246 post_op_attr obj_attributes;
247 post_op_attr dir_attributes;
248};
249typedef struct LOOKUP3resok LOOKUP3resok;
250
251struct LOOKUP3resfail {
252 post_op_attr dir_attributes;
253};
254typedef struct LOOKUP3resfail LOOKUP3resfail;
255
256struct LOOKUP3res {
257 nfsstat3 status;
258 union {
259 LOOKUP3resok resok;
260 LOOKUP3resfail resfail;
261 } LOOKUP3res_u;
262};
263typedef struct LOOKUP3res LOOKUP3res;
264
265struct COMMIT3args {
266 nfs_fh3 file;
267 offset3 offset;
268 count3 count;
269};
270typedef struct COMMIT3args COMMIT3args;
271
272struct COMMIT3resok {
273 wcc_data file_wcc;
274 writeverf3 verf;
275};
276typedef struct COMMIT3resok COMMIT3resok;
277
278struct COMMIT3resfail {
279 wcc_data file_wcc;
280};
281typedef struct COMMIT3resfail COMMIT3resfail;
282
283struct COMMIT3res {
284 nfsstat3 status;
285 union {
286 COMMIT3resok resok;
287 COMMIT3resfail resfail;
288 } COMMIT3res_u;
289};
290typedef struct COMMIT3res COMMIT3res;
291#define ACCESS3_READ 0x0001
292#define ACCESS3_LOOKUP 0x0002
293#define ACCESS3_MODIFY 0x0004
294#define ACCESS3_EXTEND 0x0008
295#define ACCESS3_DELETE 0x0010
296#define ACCESS3_EXECUTE 0x0020
297
298struct ACCESS3args {
299 nfs_fh3 object;
300 u_int access;
301};
302typedef struct ACCESS3args ACCESS3args;
303
304struct ACCESS3resok {
305 post_op_attr obj_attributes;
306 u_int access;
307};
308typedef struct ACCESS3resok ACCESS3resok;
309
310struct ACCESS3resfail {
311 post_op_attr obj_attributes;
312};
313typedef struct ACCESS3resfail ACCESS3resfail;
314
315struct ACCESS3res {
316 nfsstat3 status;
317 union {
318 ACCESS3resok resok;
319 ACCESS3resfail resfail;
320 } ACCESS3res_u;
321};
322typedef struct ACCESS3res ACCESS3res;
323
324struct GETATTR3args {
325 nfs_fh3 object;
326};
327typedef struct GETATTR3args GETATTR3args;
328
329struct GETATTR3resok {
330 fattr3 obj_attributes;
331};
332typedef struct GETATTR3resok GETATTR3resok;
333
334struct GETATTR3res {
335 nfsstat3 status;
336 union {
337 GETATTR3resok resok;
338 } GETATTR3res_u;
339};
340typedef struct GETATTR3res GETATTR3res;
341
342enum time_how {
343 DONT_CHANGE = 0,
344 SET_TO_SERVER_TIME = 1,
345 SET_TO_CLIENT_TIME = 2,
346};
347typedef enum time_how time_how;
348
349struct set_mode3 {
350 bool_t set_it;
351 union {
352 mode3 mode;
353 } set_mode3_u;
354};
355typedef struct set_mode3 set_mode3;
356
357struct set_uid3 {
358 bool_t set_it;
359 union {
360 uid3 uid;
361 } set_uid3_u;
362};
363typedef struct set_uid3 set_uid3;
364
365struct set_gid3 {
366 bool_t set_it;
367 union {
368 gid3 gid;
369 } set_gid3_u;
370};
371typedef struct set_gid3 set_gid3;
372
373struct set_size3 {
374 bool_t set_it;
375 union {
376 size3 size;
377 } set_size3_u;
378};
379typedef struct set_size3 set_size3;
380
381struct set_atime {
382 time_how set_it;
383 union {
384 nfstime3 atime;
385 } set_atime_u;
386};
387typedef struct set_atime set_atime;
388
389struct set_mtime {
390 time_how set_it;
391 union {
392 nfstime3 mtime;
393 } set_mtime_u;
394};
395typedef struct set_mtime set_mtime;
396
397struct sattr3 {
398 set_mode3 mode;
399 set_uid3 uid;
400 set_gid3 gid;
401 set_size3 size;
402 set_atime atime;
403 set_mtime mtime;
404};
405typedef struct sattr3 sattr3;
406
407enum createmode3 {
408 UNCHECKED = 0,
409 GUARDED = 1,
410 EXCLUSIVE = 2,
411};
412typedef enum createmode3 createmode3;
413
414typedef char createverf3[NFS3_CREATEVERFSIZE];
415
416struct createhow3 {
417 createmode3 mode;
418 union {
419 sattr3 obj_attributes;
420 sattr3 g_obj_attributes;
421 createverf3 verf;
422 } createhow3_u;
423};
424typedef struct createhow3 createhow3;
425
426struct CREATE3args {
427 diropargs3 where;
428 createhow3 how;
429};
430typedef struct CREATE3args CREATE3args;
431
432struct post_op_fh3 {
433 bool_t handle_follows;
434 union {
435 nfs_fh3 handle;
436 } post_op_fh3_u;
437};
438typedef struct post_op_fh3 post_op_fh3;
439
440struct CREATE3resok {
441 post_op_fh3 obj;
442 post_op_attr obj_attributes;
443 wcc_data dir_wcc;
444};
445typedef struct CREATE3resok CREATE3resok;
446
447struct CREATE3resfail {
448 wcc_data dir_wcc;
449};
450typedef struct CREATE3resfail CREATE3resfail;
451
452struct CREATE3res {
453 nfsstat3 status;
454 union {
455 CREATE3resok resok;
456 CREATE3resfail resfail;
457 } CREATE3res_u;
458};
459typedef struct CREATE3res CREATE3res;
460
461struct REMOVE3args {
462 diropargs3 object;
463};
464typedef struct REMOVE3args REMOVE3args;
465
466struct REMOVE3resok {
467 wcc_data dir_wcc;
468};
469typedef struct REMOVE3resok REMOVE3resok;
470
471struct REMOVE3resfail {
472 wcc_data dir_wcc;
473};
474typedef struct REMOVE3resfail REMOVE3resfail;
475
476struct REMOVE3res {
477 nfsstat3 status;
478 union {
479 REMOVE3resok resok;
480 REMOVE3resfail resfail;
481 } REMOVE3res_u;
482};
483typedef struct REMOVE3res REMOVE3res;
484
485struct READ3args {
486 nfs_fh3 file;
487 offset3 offset;
488 count3 count;
489};
490typedef struct READ3args READ3args;
491
492struct READ3resok {
493 post_op_attr file_attributes;
494 count3 count;
495 bool_t eof;
496 struct {
497 u_int data_len;
498 char *data_val;
499 } data;
500};
501typedef struct READ3resok READ3resok;
502
503struct READ3resfail {
504 post_op_attr file_attributes;
505};
506typedef struct READ3resfail READ3resfail;
507
508struct READ3res {
509 nfsstat3 status;
510 union {
511 READ3resok resok;
512 READ3resfail resfail;
513 } READ3res_u;
514};
515typedef struct READ3res READ3res;
516#define FSF3_LINK 0x0001
517#define FSF3_SYMLINK 0x0002
518#define FSF3_HOMOGENEOUS 0x0008
519#define FSF3_CANSETTIME 0x0010
520
521struct FSINFO3args {
522 nfs_fh3 fsroot;
523};
524typedef struct FSINFO3args FSINFO3args;
525
526struct FSINFO3resok {
527 post_op_attr obj_attributes;
528 u_int rtmax;
529 u_int rtpref;
530 u_int rtmult;
531 u_int wtmax;
532 u_int wtpref;
533 u_int wtmult;
534 u_int dtpref;
535 size3 maxfilesize;
536 nfstime3 time_delta;
537 u_int properties;
538};
539typedef struct FSINFO3resok FSINFO3resok;
540
541struct FSINFO3resfail {
542 post_op_attr obj_attributes;
543};
544typedef struct FSINFO3resfail FSINFO3resfail;
545
546struct FSINFO3res {
547 nfsstat3 status;
548 union {
549 FSINFO3resok resok;
550 FSINFO3resfail resfail;
551 } FSINFO3res_u;
552};
553typedef struct FSINFO3res FSINFO3res;
554
555struct FSSTAT3args {
556 nfs_fh3 fsroot;
557};
558typedef struct FSSTAT3args FSSTAT3args;
559
560struct FSSTAT3resok {
561 post_op_attr obj_attributes;
562 size3 tbytes;
563 size3 fbytes;
564 size3 abytes;
565 size3 tfiles;
566 size3 ffiles;
567 size3 afiles;
568 u_int invarsec;
569};
570typedef struct FSSTAT3resok FSSTAT3resok;
571
572struct FSSTAT3resfail {
573 post_op_attr obj_attributes;
574};
575typedef struct FSSTAT3resfail FSSTAT3resfail;
576
577struct FSSTAT3res {
578 nfsstat3 status;
579 union {
580 FSSTAT3resok resok;
581 FSSTAT3resfail resfail;
582 } FSSTAT3res_u;
583};
584typedef struct FSSTAT3res FSSTAT3res;
585
586struct PATHCONF3args {
587 nfs_fh3 object;
588};
589typedef struct PATHCONF3args PATHCONF3args;
590
591struct PATHCONF3resok {
592 post_op_attr obj_attributes;
593 u_int linkmax;
594 u_int name_max;
595 bool_t no_trunc;
596 bool_t chown_restricted;
597 bool_t case_insensitive;
598 bool_t case_preserving;
599};
600typedef struct PATHCONF3resok PATHCONF3resok;
601
602struct PATHCONF3resfail {
603 post_op_attr obj_attributes;
604};
605typedef struct PATHCONF3resfail PATHCONF3resfail;
606
607struct PATHCONF3res {
608 nfsstat3 status;
609 union {
610 PATHCONF3resok resok;
611 PATHCONF3resfail resfail;
612 } PATHCONF3res_u;
613};
614typedef struct PATHCONF3res PATHCONF3res;
615
616typedef char *nfspath3;
617
618struct symlinkdata3 {
619 sattr3 symlink_attributes;
620 nfspath3 symlink_data;
621};
622typedef struct symlinkdata3 symlinkdata3;
623
624struct SYMLINK3args {
625 diropargs3 where;
626 symlinkdata3 symlink;
627};
628typedef struct SYMLINK3args SYMLINK3args;
629
630struct SYMLINK3resok {
631 post_op_fh3 obj;
632 post_op_attr obj_attributes;
633 wcc_data dir_wcc;
634};
635typedef struct SYMLINK3resok SYMLINK3resok;
636
637struct SYMLINK3resfail {
638 wcc_data dir_wcc;
639};
640typedef struct SYMLINK3resfail SYMLINK3resfail;
641
642struct SYMLINK3res {
643 nfsstat3 status;
644 union {
645 SYMLINK3resok resok;
646 SYMLINK3resfail resfail;
647 } SYMLINK3res_u;
648};
649typedef struct SYMLINK3res SYMLINK3res;
650
651struct READLINK3args {
652 nfs_fh3 symlink;
653};
654typedef struct READLINK3args READLINK3args;
655
656struct READLINK3resok {
657 post_op_attr symlink_attributes;
658 nfspath3 data;
659};
660typedef struct READLINK3resok READLINK3resok;
661
662struct READLINK3resfail {
663 post_op_attr symlink_attributes;
664};
665typedef struct READLINK3resfail READLINK3resfail;
666
667struct READLINK3res {
668 nfsstat3 status;
669 union {
670 READLINK3resok resok;
671 READLINK3resfail resfail;
672 } READLINK3res_u;
673};
674typedef struct READLINK3res READLINK3res;
675
676struct devicedata3 {
677 sattr3 dev_attributes;
678 specdata3 spec;
679};
680typedef struct devicedata3 devicedata3;
681
682struct mknoddata3 {
683 ftype3 type;
684 union {
685 devicedata3 chr_device;
686 devicedata3 blk_device;
687 sattr3 sock_attributes;
688 sattr3 pipe_attributes;
689 } mknoddata3_u;
690};
691typedef struct mknoddata3 mknoddata3;
692
693struct MKNOD3args {
694 diropargs3 where;
695 mknoddata3 what;
696};
697typedef struct MKNOD3args MKNOD3args;
698
699struct MKNOD3resok {
700 post_op_fh3 obj;
701 post_op_attr obj_attributes;
702 wcc_data dir_wcc;
703};
704typedef struct MKNOD3resok MKNOD3resok;
705
706struct MKNOD3resfail {
707 wcc_data dir_wcc;
708};
709typedef struct MKNOD3resfail MKNOD3resfail;
710
711struct MKNOD3res {
712 nfsstat3 status;
713 union {
714 MKNOD3resok resok;
715 MKNOD3resfail resfail;
716 } MKNOD3res_u;
717};
718typedef struct MKNOD3res MKNOD3res;
719
720struct MKDIR3args {
721 diropargs3 where;
722 sattr3 attributes;
723};
724typedef struct MKDIR3args MKDIR3args;
725
726struct MKDIR3resok {
727 post_op_fh3 obj;
728 post_op_attr obj_attributes;
729 wcc_data dir_wcc;
730};
731typedef struct MKDIR3resok MKDIR3resok;
732
733struct MKDIR3resfail {
734 wcc_data dir_wcc;
735};
736typedef struct MKDIR3resfail MKDIR3resfail;
737
738struct MKDIR3res {
739 nfsstat3 status;
740 union {
741 MKDIR3resok resok;
742 MKDIR3resfail resfail;
743 } MKDIR3res_u;
744};
745typedef struct MKDIR3res MKDIR3res;
746
747struct RMDIR3args {
748 diropargs3 object;
749};
750typedef struct RMDIR3args RMDIR3args;
751
752struct RMDIR3resok {
753 wcc_data dir_wcc;
754};
755typedef struct RMDIR3resok RMDIR3resok;
756
757struct RMDIR3resfail {
758 wcc_data dir_wcc;
759};
760typedef struct RMDIR3resfail RMDIR3resfail;
761
762struct RMDIR3res {
763 nfsstat3 status;
764 union {
765 RMDIR3resok resok;
766 RMDIR3resfail resfail;
767 } RMDIR3res_u;
768};
769typedef struct RMDIR3res RMDIR3res;
770
771struct RENAME3args {
772 diropargs3 from;
773 diropargs3 to;
774};
775typedef struct RENAME3args RENAME3args;
776
777struct RENAME3resok {
778 wcc_data fromdir_wcc;
779 wcc_data todir_wcc;
780};
781typedef struct RENAME3resok RENAME3resok;
782
783struct RENAME3resfail {
784 wcc_data fromdir_wcc;
785 wcc_data todir_wcc;
786};
787typedef struct RENAME3resfail RENAME3resfail;
788
789struct RENAME3res {
790 nfsstat3 status;
791 union {
792 RENAME3resok resok;
793 RENAME3resfail resfail;
794 } RENAME3res_u;
795};
796typedef struct RENAME3res RENAME3res;
797
798struct READDIRPLUS3args {
799 nfs_fh3 dir;
800 cookie3 cookie;
801 cookieverf3 cookieverf;
802 count3 dircount;
803 count3 maxcount;
804};
805typedef struct READDIRPLUS3args READDIRPLUS3args;
806
807struct entryplus3 {
808 fileid3 fileid;
809 filename3 name;
810 cookie3 cookie;
811 post_op_attr name_attributes;
812 post_op_fh3 name_handle;
813 struct entryplus3 *nextentry;
814};
815typedef struct entryplus3 entryplus3;
816
817struct dirlistplus3 {
818 entryplus3 *entries;
819 bool_t eof;
820};
821typedef struct dirlistplus3 dirlistplus3;
822
823struct READDIRPLUS3resok {
824 post_op_attr dir_attributes;
825 cookieverf3 cookieverf;
826 dirlistplus3 reply;
827};
828typedef struct READDIRPLUS3resok READDIRPLUS3resok;
829
830struct READDIRPLUS3resfail {
831 post_op_attr dir_attributes;
832};
833typedef struct READDIRPLUS3resfail READDIRPLUS3resfail;
834
835struct READDIRPLUS3res {
836 nfsstat3 status;
837 union {
838 READDIRPLUS3resok resok;
839 READDIRPLUS3resfail resfail;
840 } READDIRPLUS3res_u;
841};
842typedef struct READDIRPLUS3res READDIRPLUS3res;
843
844struct READDIR3args {
845 nfs_fh3 dir;
846 cookie3 cookie;
847 cookieverf3 cookieverf;
848 count3 count;
849};
850typedef struct READDIR3args READDIR3args;
851
852struct entry3 {
853 fileid3 fileid;
854 filename3 name;
855 cookie3 cookie;
856 struct entry3 *nextentry;
857};
858typedef struct entry3 entry3;
859
860struct dirlist3 {
861 entry3 *entries;
862 bool_t eof;
863};
864typedef struct dirlist3 dirlist3;
865
866struct READDIR3resok {
867 post_op_attr dir_attributes;
868 cookieverf3 cookieverf;
869 dirlist3 reply;
870};
871typedef struct READDIR3resok READDIR3resok;
872
873struct READDIR3resfail {
874 post_op_attr dir_attributes;
875};
876typedef struct READDIR3resfail READDIR3resfail;
877
878struct READDIR3res {
879 nfsstat3 status;
880 union {
881 READDIR3resok resok;
882 READDIR3resfail resfail;
883 } READDIR3res_u;
884};
885typedef struct READDIR3res READDIR3res;
886
887struct LINK3args {
888 nfs_fh3 file;
889 diropargs3 link;
890};
891typedef struct LINK3args LINK3args;
892
893struct LINK3resok {
894 post_op_attr file_attributes;
895 wcc_data linkdir_wcc;
896};
897typedef struct LINK3resok LINK3resok;
898
899struct LINK3resfail {
900 post_op_attr file_attributes;
901 wcc_data linkdir_wcc;
902};
903typedef struct LINK3resfail LINK3resfail;
904
905struct LINK3res {
906 nfsstat3 status;
907 union {
908 LINK3resok resok;
909 LINK3resfail resfail;
910 } LINK3res_u;
911};
912typedef struct LINK3res LINK3res;
913
914struct sattrguard3 {
915 bool_t check;
916 union {
917 nfstime3 obj_ctime;
918 } sattrguard3_u;
919};
920typedef struct sattrguard3 sattrguard3;
921
922struct SETATTR3args {
923 nfs_fh3 object;
924 sattr3 new_attributes;
925 sattrguard3 guard;
926};
927typedef struct SETATTR3args SETATTR3args;
928
929struct SETATTR3resok {
930 wcc_data obj_wcc;
931};
932typedef struct SETATTR3resok SETATTR3resok;
933
934struct SETATTR3resfail {
935 wcc_data obj_wcc;
936};
937typedef struct SETATTR3resfail SETATTR3resfail;
938
939struct SETATTR3res {
940 nfsstat3 status;
941 union {
942 SETATTR3resok resok;
943 SETATTR3resfail resfail;
944 } SETATTR3res_u;
945};
946typedef struct SETATTR3res SETATTR3res;
947#define FHSIZE2 32
948
949typedef char fhandle2[FHSIZE2];
950
951enum ftype2 {
952 NF2NON = 0,
953 NF2REG = 1,
954 NF2DIR = 2,
955 NF2BLK = 3,
956 NF2CHR = 4,
957 NF2LNK = 5,
958};
959typedef enum ftype2 ftype2;
960
961struct fattr2 {
962 ftype2 type;
963 u_int mode;
964 u_int nlink;
965 u_int uid;
966 u_int gid;
967 u_int size;
968 u_int blocksize;
969 u_int rdev;
970 u_int blocks;
971 u_int fsid;
972 u_int fileid;
973 nfstime3 atime;
974 nfstime3 mtime;
975 nfstime3 ctime;
976};
977typedef struct fattr2 fattr2;
978
979struct sattr2 {
980 u_int mode;
981 u_int uid;
982 u_int gid;
983 u_int size;
984 nfstime3 atime;
985 nfstime3 mtime;
986};
987typedef struct sattr2 sattr2;
988#define MAXNAMLEN2 255
989
990typedef char *filename2;
991#define MAXPATHLEN2 1024
992
993typedef char *path2;
994#define NFSMAXDATA2 8192
995
996typedef struct {
997 u_int nfsdata2_len;
998 char *nfsdata2_val;
999} nfsdata2;
1000#define NFSCOOKIESIZE2 4
1001
1002typedef char nfscookie2[NFSCOOKIESIZE2];
1003
1004struct entry2 {
1005 u_int fileid;
1006 filename2 name;
1007 nfscookie2 cookie;
1008 struct entry2 *nextentry;
1009};
1010typedef struct entry2 entry2;
1011
1012struct diropargs2 {
1013 fhandle2 dir;
1014 filename2 name;
1015};
1016typedef struct diropargs2 diropargs2;
1017
1018struct GETATTR2args {
1019 fhandle2 fhandle;
1020};
1021typedef struct GETATTR2args GETATTR2args;
1022
1023struct GETATTR2resok {
1024 fattr2 attributes;
1025};
1026typedef struct GETATTR2resok GETATTR2resok;
1027
1028struct GETATTR2res {
1029 nfsstat3 status;
1030 union {
1031 GETATTR2resok resok;
1032 } GETATTR2res_u;
1033};
1034typedef struct GETATTR2res GETATTR2res;
1035
1036struct SETATTR2args {
1037 fhandle2 fhandle;
1038 sattr2 attributes;
1039};
1040typedef struct SETATTR2args SETATTR2args;
1041
1042struct SETATTR2resok {
1043 fattr2 attributes;
1044};
1045typedef struct SETATTR2resok SETATTR2resok;
1046
1047struct SETATTR2res {
1048 nfsstat3 status;
1049 union {
1050 SETATTR2resok resok;
1051 } SETATTR2res_u;
1052};
1053typedef struct SETATTR2res SETATTR2res;
1054
1055struct LOOKUP2args {
1056 diropargs2 what;
1057};
1058typedef struct LOOKUP2args LOOKUP2args;
1059
1060struct LOOKUP2resok {
1061 fhandle2 file;
1062 fattr2 attributes;
1063};
1064typedef struct LOOKUP2resok LOOKUP2resok;
1065
1066struct LOOKUP2res {
1067 nfsstat3 status;
1068 union {
1069 LOOKUP2resok resok;
1070 } LOOKUP2res_u;
1071};
1072typedef struct LOOKUP2res LOOKUP2res;
1073
1074struct READLINK2args {
1075 fhandle2 file;
1076};
1077typedef struct READLINK2args READLINK2args;
1078
1079struct READLINK2resok {
1080 path2 data;
1081};
1082typedef struct READLINK2resok READLINK2resok;
1083
1084struct READLINK2res {
1085 nfsstat3 status;
1086 union {
1087 READLINK2resok resok;
1088 } READLINK2res_u;
1089};
1090typedef struct READLINK2res READLINK2res;
1091
1092struct READ2args {
1093 fhandle2 file;
1094 u_int offset;
1095 u_int count;
1096 u_int totalcount;
1097};
1098typedef struct READ2args READ2args;
1099
1100struct READ2resok {
1101 fattr2 attributes;
1102 nfsdata2 data;
1103};
1104typedef struct READ2resok READ2resok;
1105
1106struct READ2res {
1107 nfsstat3 status;
1108 union {
1109 READ2resok resok;
1110 } READ2res_u;
1111};
1112typedef struct READ2res READ2res;
1113
1114struct WRITE2args {
1115 fhandle2 file;
1116 u_int beginoffset;
1117 u_int offset;
1118 u_int totalcount;
1119 nfsdata2 data;
1120};
1121typedef struct WRITE2args WRITE2args;
1122
1123struct WRITE2resok {
1124 fattr2 attributes;
1125};
1126typedef struct WRITE2resok WRITE2resok;
1127
1128struct WRITE2res {
1129 nfsstat3 status;
1130 union {
1131 WRITE2resok resok;
1132 } WRITE2res_u;
1133};
1134typedef struct WRITE2res WRITE2res;
1135
1136struct CREATE2args {
1137 diropargs2 where;
1138 sattr2 attributes;
1139};
1140typedef struct CREATE2args CREATE2args;
1141
1142struct CREATE2resok {
1143 fhandle2 file;
1144 fattr2 attributes;
1145};
1146typedef struct CREATE2resok CREATE2resok;
1147
1148struct CREATE2res {
1149 nfsstat3 status;
1150 union {
1151 CREATE2resok resok;
1152 } CREATE2res_u;
1153};
1154typedef struct CREATE2res CREATE2res;
1155
1156struct REMOVE2args {
1157 diropargs2 what;
1158};
1159typedef struct REMOVE2args REMOVE2args;
1160
1161struct REMOVE2res {
1162 nfsstat3 status;
1163};
1164typedef struct REMOVE2res REMOVE2res;
1165
1166struct RENAME2args {
1167 diropargs2 from;
1168 diropargs2 to;
1169};
1170typedef struct RENAME2args RENAME2args;
1171
1172struct RENAME2res {
1173 nfsstat3 status;
1174};
1175typedef struct RENAME2res RENAME2res;
1176
1177struct LINK2args {
1178 fhandle2 from;
1179 diropargs2 to;
1180};
1181typedef struct LINK2args LINK2args;
1182
1183struct LINK2res {
1184 nfsstat3 status;
1185};
1186typedef struct LINK2res LINK2res;
1187
1188struct SYMLINK2args {
1189 diropargs2 from;
1190 path2 to;
1191 sattr2 attributes;
1192};
1193typedef struct SYMLINK2args SYMLINK2args;
1194
1195struct SYMLINK2res {
1196 nfsstat3 status;
1197};
1198typedef struct SYMLINK2res SYMLINK2res;
1199
1200struct MKDIR2args {
1201 diropargs2 where;
1202 sattr2 attributes;
1203};
1204typedef struct MKDIR2args MKDIR2args;
1205
1206struct MKDIR2resok {
1207 fhandle2 file;
1208 fattr2 attributes;
1209};
1210typedef struct MKDIR2resok MKDIR2resok;
1211
1212struct MKDIR2res {
1213 nfsstat3 status;
1214 union {
1215 MKDIR2resok resok;
1216 } MKDIR2res_u;
1217};
1218typedef struct MKDIR2res MKDIR2res;
1219
1220struct RMDIR2args {
1221 diropargs2 what;
1222};
1223typedef struct RMDIR2args RMDIR2args;
1224
1225struct RMDIR2res {
1226 nfsstat3 status;
1227};
1228typedef struct RMDIR2res RMDIR2res;
1229
1230struct READDIR2args {
1231 fhandle2 dir;
1232 nfscookie2 cookie;
1233 u_int count;
1234};
1235typedef struct READDIR2args READDIR2args;
1236
1237struct READDIR2resok {
1238 entry2 *entries;
1239 bool_t eof;
1240};
1241typedef struct READDIR2resok READDIR2resok;
1242
1243struct READDIR2res {
1244 nfsstat3 status;
1245 union {
1246 READDIR2resok resok;
1247 } READDIR2res_u;
1248};
1249typedef struct READDIR2res READDIR2res;
1250
1251struct STATFS2args {
1252 fhandle2 dir;
1253};
1254typedef struct STATFS2args STATFS2args;
1255
1256struct STATFS2resok {
1257 u_int tsize;
1258 u_int bsize;
1259 u_int blocks;
1260 u_int bfree;
1261 u_int bavail;
1262};
1263typedef struct STATFS2resok STATFS2resok;
1264
1265struct STATFS2res {
1266 nfsstat3 status;
1267 union {
1268 STATFS2resok resok;
1269 } STATFS2res_u;
1270};
1271typedef struct STATFS2res STATFS2res;
1272
1273enum nfsacl_type {
1274 NFSACL_TYPE_USER_OBJ = 0x0001,
1275 NFSACL_TYPE_USER = 0x0002,
1276 NFSACL_TYPE_GROUP_OBJ = 0x0004,
1277 NFSACL_TYPE_GROUP = 0x0008,
1278 NFSACL_TYPE_CLASS_OBJ = 0x0010,
1279 NFSACL_TYPE_CLASS = 0x0020,
1280 NFSACL_TYPE_DEFAULT = 0x1000,
1281 NFSACL_TYPE_DEFAULT_USER_OBJ = 0x1001,
1282 NFSACL_TYPE_DEFAULT_USER = 0x1002,
1283 NFSACL_TYPE_DEFAULT_GROUP_OBJ = 0x1004,
1284 NFSACL_TYPE_DEFAULT_GROUP = 0x1008,
1285 NFSACL_TYPE_DEFAULT_CLASS_OBJ = 0x1010,
1286 NFSACL_TYPE_DEFAULT_OTHER_OBJ = 0x1020,
1287};
1288typedef enum nfsacl_type nfsacl_type;
1289#define NFSACL_PERM_READ 0x04
1290#define NFSACL_PERM_WRITE 0x02
1291#define NFSACL_PERM_EXEC 0x01
1292
1293struct nfsacl_ace {
1294 enum nfsacl_type type;
1295 u_int id;
1296 u_int perm;
1297};
1298typedef struct nfsacl_ace nfsacl_ace;
1299#define NFSACL_MASK_ACL_ENTRY 0x0001
1300#define NFSACL_MASK_ACL_COUNT 0x0002
1301#define NFSACL_MASK_ACL_DEFAULT_ENTRY 0x0004
1302#define NFSACL_MASK_ACL_DEFAULT_COUNT 0x0008
1303
1304struct GETACL3args {
1305 nfs_fh3 dir;
1306 u_int mask;
1307};
1308typedef struct GETACL3args GETACL3args;
1309
1310struct GETACL3resok {
1311 post_op_attr attr;
1312 u_int mask;
1313 u_int ace_count;
1314 struct {
1315 u_int ace_len;
1316 struct nfsacl_ace *ace_val;
1317 } ace;
1318 u_int default_ace_count;
1319 struct {
1320 u_int default_ace_len;
1321 struct nfsacl_ace *default_ace_val;
1322 } default_ace;
1323};
1324typedef struct GETACL3resok GETACL3resok;
1325
1326struct GETACL3res {
1327 nfsstat3 status;
1328 union {
1329 GETACL3resok resok;
1330 } GETACL3res_u;
1331};
1332typedef struct GETACL3res GETACL3res;
1333
1334struct SETACL3args {
1335 nfs_fh3 dir;
1336 u_int mask;
1337 u_int ace_count;
1338 struct {
1339 u_int ace_len;
1340 struct nfsacl_ace *ace_val;
1341 } ace;
1342 u_int default_ace_count;
1343 struct {
1344 u_int default_ace_len;
1345 struct nfsacl_ace *default_ace_val;
1346 } default_ace;
1347};
1348typedef struct SETACL3args SETACL3args;
1349
1350struct SETACL3resok {
1351 post_op_attr attr;
1352};
1353typedef struct SETACL3resok SETACL3resok;
1354
1355struct SETACL3res {
1356 nfsstat3 status;
1357 union {
1358 SETACL3resok resok;
1359 } SETACL3res_u;
1360};
1361typedef struct SETACL3res SETACL3res;
1362
1363#define NFS_PROGRAM 100003
1364#define NFS_V2 2
1365
1366#if defined(__STDC__) || defined(__cplusplus)
1367#define NFS2_NULL 0
1368extern void * nfs2_null_2(void *, CLIENT *);
1369extern void * nfs2_null_2_svc(void *, struct svc_req *);
1370#define NFS2_GETATTR 1
1371extern GETATTR2res * nfs2_getattr_2(GETATTR2args *, CLIENT *);
1372extern GETATTR2res * nfs2_getattr_2_svc(GETATTR2args *, struct svc_req *);
1373#define NFS2_SETATTR 2
1374extern SETATTR2res * nfs2_setattr_2(SETATTR2args *, CLIENT *);
1375extern SETATTR2res * nfs2_setattr_2_svc(SETATTR2args *, struct svc_req *);
1376#define NFS2_LOOKUP 4
1377extern LOOKUP2res * nfs2_lookup_2(LOOKUP2args *, CLIENT *);
1378extern LOOKUP2res * nfs2_lookup_2_svc(LOOKUP2args *, struct svc_req *);
1379#define NFS2_READLINK 5
1380extern READLINK2res * nfs2_readlink_2(READLINK2args *, CLIENT *);
1381extern READLINK2res * nfs2_readlink_2_svc(READLINK2args *, struct svc_req *);
1382#define NFS2_READ 6
1383extern READ2res * nfs2_read_2(READ2args *, CLIENT *);
1384extern READ2res * nfs2_read_2_svc(READ2args *, struct svc_req *);
1385#define NFS2_WRITE 8
1386extern WRITE2res * nfs2_write_2(WRITE2args *, CLIENT *);
1387extern WRITE2res * nfs2_write_2_svc(WRITE2args *, struct svc_req *);
1388#define NFS2_CREATE 9
1389extern CREATE2res * nfs2_create_2(CREATE2args *, CLIENT *);
1390extern CREATE2res * nfs2_create_2_svc(CREATE2args *, struct svc_req *);
1391#define NFS2_REMOVE 10
1392extern REMOVE2res * nfs2_remove_2(REMOVE2args *, CLIENT *);
1393extern REMOVE2res * nfs2_remove_2_svc(REMOVE2args *, struct svc_req *);
1394#define NFS2_RENAME 11
1395extern RENAME2res * nfs2_rename_2(RENAME2args *, CLIENT *);
1396extern RENAME2res * nfs2_rename_2_svc(RENAME2args *, struct svc_req *);
1397#define NFS2_LINK 12
1398extern LINK2res * nfs2_link_2(LINK2args *, CLIENT *);
1399extern LINK2res * nfs2_link_2_svc(LINK2args *, struct svc_req *);
1400#define NFS2_SYMLINK 13
1401extern SYMLINK2res * nfs2_symlink_2(SYMLINK2args *, CLIENT *);
1402extern SYMLINK2res * nfs2_symlink_2_svc(SYMLINK2args *, struct svc_req *);
1403#define NFS2_MKDIR 14
1404extern MKDIR2res * nfs2_mkdir_2(MKDIR2args *, CLIENT *);
1405extern MKDIR2res * nfs2_mkdir_2_svc(MKDIR2args *, struct svc_req *);
1406#define NFS2_RMDIR 15
1407extern RMDIR2res * nfs2_rmdir_2(RMDIR2args *, CLIENT *);
1408extern RMDIR2res * nfs2_rmdir_2_svc(RMDIR2args *, struct svc_req *);
1409#define NFS2_READDIR 16
1410extern READDIR2res * nfs2_readdir_2(READDIR2args *, CLIENT *);
1411extern READDIR2res * nfs2_readdir_2_svc(READDIR2args *, struct svc_req *);
1412#define NFS2_STATFS 17
1413extern STATFS2res * nfs2_statfs_2(STATFS2args *, CLIENT *);
1414extern STATFS2res * nfs2_statfs_2_svc(STATFS2args *, struct svc_req *);
1415extern int nfs_program_2_freeresult (SVCXPRT *, zdrproc_t, caddr_t);
1416
1417#else /* K&R C */
1418#define NFS2_NULL 0
1419extern void * nfs2_null_2();
1420extern void * nfs2_null_2_svc();
1421#define NFS2_GETATTR 1
1422extern GETATTR2res * nfs2_getattr_2();
1423extern GETATTR2res * nfs2_getattr_2_svc();
1424#define NFS2_SETATTR 2
1425extern SETATTR2res * nfs2_setattr_2();
1426extern SETATTR2res * nfs2_setattr_2_svc();
1427#define NFS2_LOOKUP 4
1428extern LOOKUP2res * nfs2_lookup_2();
1429extern LOOKUP2res * nfs2_lookup_2_svc();
1430#define NFS2_READLINK 5
1431extern READLINK2res * nfs2_readlink_2();
1432extern READLINK2res * nfs2_readlink_2_svc();
1433#define NFS2_READ 6
1434extern READ2res * nfs2_read_2();
1435extern READ2res * nfs2_read_2_svc();
1436#define NFS2_WRITE 8
1437extern WRITE2res * nfs2_write_2();
1438extern WRITE2res * nfs2_write_2_svc();
1439#define NFS2_CREATE 9
1440extern CREATE2res * nfs2_create_2();
1441extern CREATE2res * nfs2_create_2_svc();
1442#define NFS2_REMOVE 10
1443extern REMOVE2res * nfs2_remove_2();
1444extern REMOVE2res * nfs2_remove_2_svc();
1445#define NFS2_RENAME 11
1446extern RENAME2res * nfs2_rename_2();
1447extern RENAME2res * nfs2_rename_2_svc();
1448#define NFS2_LINK 12
1449extern LINK2res * nfs2_link_2();
1450extern LINK2res * nfs2_link_2_svc();
1451#define NFS2_SYMLINK 13
1452extern SYMLINK2res * nfs2_symlink_2();
1453extern SYMLINK2res * nfs2_symlink_2_svc();
1454#define NFS2_MKDIR 14
1455extern MKDIR2res * nfs2_mkdir_2();
1456extern MKDIR2res * nfs2_mkdir_2_svc();
1457#define NFS2_RMDIR 15
1458extern RMDIR2res * nfs2_rmdir_2();
1459extern RMDIR2res * nfs2_rmdir_2_svc();
1460#define NFS2_READDIR 16
1461extern READDIR2res * nfs2_readdir_2();
1462extern READDIR2res * nfs2_readdir_2_svc();
1463#define NFS2_STATFS 17
1464extern STATFS2res * nfs2_statfs_2();
1465extern STATFS2res * nfs2_statfs_2_svc();
1466extern int nfs_program_2_freeresult ();
1467#endif /* K&R C */
1468#define NFS_V3 3
1469
1470#if defined(__STDC__) || defined(__cplusplus)
1471#define NFS3_NULL 0
1472extern void * nfs3_null_3(void *, CLIENT *);
1473extern void * nfs3_null_3_svc(void *, struct svc_req *);
1474#define NFS3_GETATTR 1
1475extern GETATTR3res * nfs3_getattr_3(GETATTR3args *, CLIENT *);
1476extern GETATTR3res * nfs3_getattr_3_svc(GETATTR3args *, struct svc_req *);
1477#define NFS3_SETATTR 2
1478extern SETATTR3res * nfs3_setattr_3(SETATTR3args *, CLIENT *);
1479extern SETATTR3res * nfs3_setattr_3_svc(SETATTR3args *, struct svc_req *);
1480#define NFS3_LOOKUP 3
1481extern LOOKUP3res * nfs3_lookup_3(LOOKUP3args *, CLIENT *);
1482extern LOOKUP3res * nfs3_lookup_3_svc(LOOKUP3args *, struct svc_req *);
1483#define NFS3_ACCESS 4
1484extern ACCESS3res * nfs3_access_3(ACCESS3args *, CLIENT *);
1485extern ACCESS3res * nfs3_access_3_svc(ACCESS3args *, struct svc_req *);
1486#define NFS3_READLINK 5
1487extern READLINK3res * nfs3_readlink_3(READLINK3args *, CLIENT *);
1488extern READLINK3res * nfs3_readlink_3_svc(READLINK3args *, struct svc_req *);
1489#define NFS3_READ 6
1490extern READ3res * nfs3_read_3(READ3args *, CLIENT *);
1491extern READ3res * nfs3_read_3_svc(READ3args *, struct svc_req *);
1492#define NFS3_WRITE 7
1493extern WRITE3res * nfs3_write_3(WRITE3args *, CLIENT *);
1494extern WRITE3res * nfs3_write_3_svc(WRITE3args *, struct svc_req *);
1495#define NFS3_CREATE 8
1496extern CREATE3res * nfs3_create_3(CREATE3args *, CLIENT *);
1497extern CREATE3res * nfs3_create_3_svc(CREATE3args *, struct svc_req *);
1498#define NFS3_MKDIR 9
1499extern MKDIR3res * nfs3_mkdir_3(MKDIR3args *, CLIENT *);
1500extern MKDIR3res * nfs3_mkdir_3_svc(MKDIR3args *, struct svc_req *);
1501#define NFS3_SYMLINK 10
1502extern SYMLINK3res * nfs3_symlink_3(SYMLINK3args *, CLIENT *);
1503extern SYMLINK3res * nfs3_symlink_3_svc(SYMLINK3args *, struct svc_req *);
1504#define NFS3_MKNOD 11
1505extern MKNOD3res * nfs3_mknod_3(MKNOD3args *, CLIENT *);
1506extern MKNOD3res * nfs3_mknod_3_svc(MKNOD3args *, struct svc_req *);
1507#define NFS3_REMOVE 12
1508extern REMOVE3res * nfs3_remove_3(REMOVE3args *, CLIENT *);
1509extern REMOVE3res * nfs3_remove_3_svc(REMOVE3args *, struct svc_req *);
1510#define NFS3_RMDIR 13
1511extern RMDIR3res * nfs3_rmdir_3(RMDIR3args *, CLIENT *);
1512extern RMDIR3res * nfs3_rmdir_3_svc(RMDIR3args *, struct svc_req *);
1513#define NFS3_RENAME 14
1514extern RENAME3res * nfs3_rename_3(RENAME3args *, CLIENT *);
1515extern RENAME3res * nfs3_rename_3_svc(RENAME3args *, struct svc_req *);
1516#define NFS3_LINK 15
1517extern LINK3res * nfs3_link_3(LINK3args *, CLIENT *);
1518extern LINK3res * nfs3_link_3_svc(LINK3args *, struct svc_req *);
1519#define NFS3_READDIR 16
1520extern READDIR3res * nfs3_readdir_3(READDIR3args *, CLIENT *);
1521extern READDIR3res * nfs3_readdir_3_svc(READDIR3args *, struct svc_req *);
1522#define NFS3_READDIRPLUS 17
1523extern READDIRPLUS3res * nfs3_readdirplus_3(READDIRPLUS3args *, CLIENT *);
1524extern READDIRPLUS3res * nfs3_readdirplus_3_svc(READDIRPLUS3args *, struct svc_req *);
1525#define NFS3_FSSTAT 18
1526extern FSSTAT3res * nfs3_fsstat_3(FSSTAT3args *, CLIENT *);
1527extern FSSTAT3res * nfs3_fsstat_3_svc(FSSTAT3args *, struct svc_req *);
1528#define NFS3_FSINFO 19
1529extern FSINFO3res * nfs3_fsinfo_3(FSINFO3args *, CLIENT *);
1530extern FSINFO3res * nfs3_fsinfo_3_svc(FSINFO3args *, struct svc_req *);
1531#define NFS3_PATHCONF 20
1532extern PATHCONF3res * nfs3_pathconf_3(PATHCONF3args *, CLIENT *);
1533extern PATHCONF3res * nfs3_pathconf_3_svc(PATHCONF3args *, struct svc_req *);
1534#define NFS3_COMMIT 21
1535extern COMMIT3res * nfs3_commit_3(COMMIT3args *, CLIENT *);
1536extern COMMIT3res * nfs3_commit_3_svc(COMMIT3args *, struct svc_req *);
1537extern int nfs_program_3_freeresult (SVCXPRT *, zdrproc_t, caddr_t);
1538
1539#else /* K&R C */
1540#define NFS3_NULL 0
1541extern void * nfs3_null_3();
1542extern void * nfs3_null_3_svc();
1543#define NFS3_GETATTR 1
1544extern GETATTR3res * nfs3_getattr_3();
1545extern GETATTR3res * nfs3_getattr_3_svc();
1546#define NFS3_SETATTR 2
1547extern SETATTR3res * nfs3_setattr_3();
1548extern SETATTR3res * nfs3_setattr_3_svc();
1549#define NFS3_LOOKUP 3
1550extern LOOKUP3res * nfs3_lookup_3();
1551extern LOOKUP3res * nfs3_lookup_3_svc();
1552#define NFS3_ACCESS 4
1553extern ACCESS3res * nfs3_access_3();
1554extern ACCESS3res * nfs3_access_3_svc();
1555#define NFS3_READLINK 5
1556extern READLINK3res * nfs3_readlink_3();
1557extern READLINK3res * nfs3_readlink_3_svc();
1558#define NFS3_READ 6
1559extern READ3res * nfs3_read_3();
1560extern READ3res * nfs3_read_3_svc();
1561#define NFS3_WRITE 7
1562extern WRITE3res * nfs3_write_3();
1563extern WRITE3res * nfs3_write_3_svc();
1564#define NFS3_CREATE 8
1565extern CREATE3res * nfs3_create_3();
1566extern CREATE3res * nfs3_create_3_svc();
1567#define NFS3_MKDIR 9
1568extern MKDIR3res * nfs3_mkdir_3();
1569extern MKDIR3res * nfs3_mkdir_3_svc();
1570#define NFS3_SYMLINK 10
1571extern SYMLINK3res * nfs3_symlink_3();
1572extern SYMLINK3res * nfs3_symlink_3_svc();
1573#define NFS3_MKNOD 11
1574extern MKNOD3res * nfs3_mknod_3();
1575extern MKNOD3res * nfs3_mknod_3_svc();
1576#define NFS3_REMOVE 12
1577extern REMOVE3res * nfs3_remove_3();
1578extern REMOVE3res * nfs3_remove_3_svc();
1579#define NFS3_RMDIR 13
1580extern RMDIR3res * nfs3_rmdir_3();
1581extern RMDIR3res * nfs3_rmdir_3_svc();
1582#define NFS3_RENAME 14
1583extern RENAME3res * nfs3_rename_3();
1584extern RENAME3res * nfs3_rename_3_svc();
1585#define NFS3_LINK 15
1586extern LINK3res * nfs3_link_3();
1587extern LINK3res * nfs3_link_3_svc();
1588#define NFS3_READDIR 16
1589extern READDIR3res * nfs3_readdir_3();
1590extern READDIR3res * nfs3_readdir_3_svc();
1591#define NFS3_READDIRPLUS 17
1592extern READDIRPLUS3res * nfs3_readdirplus_3();
1593extern READDIRPLUS3res * nfs3_readdirplus_3_svc();
1594#define NFS3_FSSTAT 18
1595extern FSSTAT3res * nfs3_fsstat_3();
1596extern FSSTAT3res * nfs3_fsstat_3_svc();
1597#define NFS3_FSINFO 19
1598extern FSINFO3res * nfs3_fsinfo_3();
1599extern FSINFO3res * nfs3_fsinfo_3_svc();
1600#define NFS3_PATHCONF 20
1601extern PATHCONF3res * nfs3_pathconf_3();
1602extern PATHCONF3res * nfs3_pathconf_3_svc();
1603#define NFS3_COMMIT 21
1604extern COMMIT3res * nfs3_commit_3();
1605extern COMMIT3res * nfs3_commit_3_svc();
1606extern int nfs_program_3_freeresult ();
1607#endif /* K&R C */
1608
1609#define NFSACL_PROGRAM 100227
1610#define NFSACL_V3 3
1611
1612#if defined(__STDC__) || defined(__cplusplus)
1613#define NFSACL3_NULL 0
1614extern void * nfsacl3_null_3(void *, CLIENT *);
1615extern void * nfsacl3_null_3_svc(void *, struct svc_req *);
1616#define NFSACL3_GETACL 1
1617extern GETACL3res * nfsacl3_getacl_3(GETACL3args *, CLIENT *);
1618extern GETACL3res * nfsacl3_getacl_3_svc(GETACL3args *, struct svc_req *);
1619#define NFSACL3_SETACL 2
1620extern SETACL3res * nfsacl3_setacl_3(SETACL3args *, CLIENT *);
1621extern SETACL3res * nfsacl3_setacl_3_svc(SETACL3args *, struct svc_req *);
1622extern int nfsacl_program_3_freeresult (SVCXPRT *, zdrproc_t, caddr_t);
1623
1624#else /* K&R C */
1625#define NFSACL3_NULL 0
1626extern void * nfsacl3_null_3();
1627extern void * nfsacl3_null_3_svc();
1628#define NFSACL3_GETACL 1
1629extern GETACL3res * nfsacl3_getacl_3();
1630extern GETACL3res * nfsacl3_getacl_3_svc();
1631#define NFSACL3_SETACL 2
1632extern SETACL3res * nfsacl3_setacl_3();
1633extern SETACL3res * nfsacl3_setacl_3_svc();
1634extern int nfsacl_program_3_freeresult ();
1635#endif /* K&R C */
1636
1637/* the zdr functions */
1638
1639#if defined(__STDC__) || defined(__cplusplus)
1640extern bool_t zdr_cookieverf3 (ZDR *, cookieverf3);
ee872606
RRS
1641extern bool_t zdr_cookie3 (ZDR *, cookie3*);
1642extern bool_t zdr_nfs_fh3 (ZDR *, nfs_fh3*);
1643extern bool_t zdr_filename3 (ZDR *, filename3*);
1644extern bool_t zdr_diropargs3 (ZDR *, diropargs3*);
1645extern bool_t zdr_ftype3 (ZDR *, ftype3*);
1646extern bool_t zdr_mode3 (ZDR *, mode3*);
1647extern bool_t zdr_uid3 (ZDR *, uid3*);
1648extern bool_t zdr_gid3 (ZDR *, gid3*);
1649extern bool_t zdr_size3 (ZDR *, size3*);
1650extern bool_t zdr_fileid3 (ZDR *, fileid3*);
1651extern bool_t zdr_specdata3 (ZDR *, specdata3*);
1652extern bool_t zdr_nfstime3 (ZDR *, nfstime3*);
1653extern bool_t zdr_fattr3 (ZDR *, fattr3*);
1654extern bool_t zdr_post_op_attr (ZDR *, post_op_attr*);
1655extern bool_t zdr_nfsstat3 (ZDR *, nfsstat3*);
1656extern bool_t zdr_stable_how (ZDR *, stable_how*);
1657extern bool_t zdr_offset3 (ZDR *, offset3*);
1658extern bool_t zdr_count3 (ZDR *, count3*);
1659extern bool_t zdr_wcc_attr (ZDR *, wcc_attr*);
1660extern bool_t zdr_pre_op_attr (ZDR *, pre_op_attr*);
1661extern bool_t zdr_wcc_data (ZDR *, wcc_data*);
1662extern bool_t zdr_WRITE3args (ZDR *, WRITE3args*);
1663extern bool_t zdr_writeverf3 (ZDR *, writeverf3);
1664extern bool_t zdr_WRITE3resok (ZDR *, WRITE3resok*);
1665extern bool_t zdr_WRITE3resfail (ZDR *, WRITE3resfail*);
1666extern bool_t zdr_WRITE3res (ZDR *, WRITE3res*);
1667extern bool_t zdr_LOOKUP3args (ZDR *, LOOKUP3args*);
1668extern bool_t zdr_LOOKUP3resok (ZDR *, LOOKUP3resok*);
1669extern bool_t zdr_LOOKUP3resfail (ZDR *, LOOKUP3resfail*);
1670extern bool_t zdr_LOOKUP3res (ZDR *, LOOKUP3res*);
1671extern bool_t zdr_COMMIT3args (ZDR *, COMMIT3args*);
1672extern bool_t zdr_COMMIT3resok (ZDR *, COMMIT3resok*);
1673extern bool_t zdr_COMMIT3resfail (ZDR *, COMMIT3resfail*);
1674extern bool_t zdr_COMMIT3res (ZDR *, COMMIT3res*);
1675extern bool_t zdr_ACCESS3args (ZDR *, ACCESS3args*);
1676extern bool_t zdr_ACCESS3resok (ZDR *, ACCESS3resok*);
1677extern bool_t zdr_ACCESS3resfail (ZDR *, ACCESS3resfail*);
1678extern bool_t zdr_ACCESS3res (ZDR *, ACCESS3res*);
1679extern bool_t zdr_GETATTR3args (ZDR *, GETATTR3args*);
1680extern bool_t zdr_GETATTR3resok (ZDR *, GETATTR3resok*);
1681extern bool_t zdr_GETATTR3res (ZDR *, GETATTR3res*);
1682extern bool_t zdr_time_how (ZDR *, time_how*);
1683extern bool_t zdr_set_mode3 (ZDR *, set_mode3*);
1684extern bool_t zdr_set_uid3 (ZDR *, set_uid3*);
1685extern bool_t zdr_set_gid3 (ZDR *, set_gid3*);
1686extern bool_t zdr_set_size3 (ZDR *, set_size3*);
1687extern bool_t zdr_set_atime (ZDR *, set_atime*);
1688extern bool_t zdr_set_mtime (ZDR *, set_mtime*);
1689extern bool_t zdr_sattr3 (ZDR *, sattr3*);
1690extern bool_t zdr_createmode3 (ZDR *, createmode3*);
1691extern bool_t zdr_createverf3 (ZDR *, createverf3);
1692extern bool_t zdr_createhow3 (ZDR *, createhow3*);
1693extern bool_t zdr_CREATE3args (ZDR *, CREATE3args*);
1694extern bool_t zdr_post_op_fh3 (ZDR *, post_op_fh3*);
1695extern bool_t zdr_CREATE3resok (ZDR *, CREATE3resok*);
1696extern bool_t zdr_CREATE3resfail (ZDR *, CREATE3resfail*);
1697extern bool_t zdr_CREATE3res (ZDR *, CREATE3res*);
1698extern bool_t zdr_REMOVE3args (ZDR *, REMOVE3args*);
1699extern bool_t zdr_REMOVE3resok (ZDR *, REMOVE3resok*);
1700extern bool_t zdr_REMOVE3resfail (ZDR *, REMOVE3resfail*);
1701extern bool_t zdr_REMOVE3res (ZDR *, REMOVE3res*);
1702extern bool_t zdr_READ3args (ZDR *, READ3args*);
1703extern bool_t zdr_READ3resok (ZDR *, READ3resok*);
1704extern bool_t zdr_READ3resfail (ZDR *, READ3resfail*);
1705extern bool_t zdr_READ3res (ZDR *, READ3res*);
1706extern bool_t zdr_FSINFO3args (ZDR *, FSINFO3args*);
1707extern bool_t zdr_FSINFO3resok (ZDR *, FSINFO3resok*);
1708extern bool_t zdr_FSINFO3resfail (ZDR *, FSINFO3resfail*);
1709extern bool_t zdr_FSINFO3res (ZDR *, FSINFO3res*);
1710extern bool_t zdr_FSSTAT3args (ZDR *, FSSTAT3args*);
1711extern bool_t zdr_FSSTAT3resok (ZDR *, FSSTAT3resok*);
1712extern bool_t zdr_FSSTAT3resfail (ZDR *, FSSTAT3resfail*);
1713extern bool_t zdr_FSSTAT3res (ZDR *, FSSTAT3res*);
1714extern bool_t zdr_PATHCONF3args (ZDR *, PATHCONF3args*);
1715extern bool_t zdr_PATHCONF3resok (ZDR *, PATHCONF3resok*);
1716extern bool_t zdr_PATHCONF3resfail (ZDR *, PATHCONF3resfail*);
1717extern bool_t zdr_PATHCONF3res (ZDR *, PATHCONF3res*);
1718extern bool_t zdr_nfspath3 (ZDR *, nfspath3*);
1719extern bool_t zdr_symlinkdata3 (ZDR *, symlinkdata3*);
1720extern bool_t zdr_SYMLINK3args (ZDR *, SYMLINK3args*);
1721extern bool_t zdr_SYMLINK3resok (ZDR *, SYMLINK3resok*);
1722extern bool_t zdr_SYMLINK3resfail (ZDR *, SYMLINK3resfail*);
1723extern bool_t zdr_SYMLINK3res (ZDR *, SYMLINK3res*);
1724extern bool_t zdr_READLINK3args (ZDR *, READLINK3args*);
1725extern bool_t zdr_READLINK3resok (ZDR *, READLINK3resok*);
1726extern bool_t zdr_READLINK3resfail (ZDR *, READLINK3resfail*);
1727extern bool_t zdr_READLINK3res (ZDR *, READLINK3res*);
1728extern bool_t zdr_devicedata3 (ZDR *, devicedata3*);
1729extern bool_t zdr_mknoddata3 (ZDR *, mknoddata3*);
1730extern bool_t zdr_MKNOD3args (ZDR *, MKNOD3args*);
1731extern bool_t zdr_MKNOD3resok (ZDR *, MKNOD3resok*);
1732extern bool_t zdr_MKNOD3resfail (ZDR *, MKNOD3resfail*);
1733extern bool_t zdr_MKNOD3res (ZDR *, MKNOD3res*);
1734extern bool_t zdr_MKDIR3args (ZDR *, MKDIR3args*);
1735extern bool_t zdr_MKDIR3resok (ZDR *, MKDIR3resok*);
1736extern bool_t zdr_MKDIR3resfail (ZDR *, MKDIR3resfail*);
1737extern bool_t zdr_MKDIR3res (ZDR *, MKDIR3res*);
1738extern bool_t zdr_RMDIR3args (ZDR *, RMDIR3args*);
1739extern bool_t zdr_RMDIR3resok (ZDR *, RMDIR3resok*);
1740extern bool_t zdr_RMDIR3resfail (ZDR *, RMDIR3resfail*);
1741extern bool_t zdr_RMDIR3res (ZDR *, RMDIR3res*);
1742extern bool_t zdr_RENAME3args (ZDR *, RENAME3args*);
1743extern bool_t zdr_RENAME3resok (ZDR *, RENAME3resok*);
1744extern bool_t zdr_RENAME3resfail (ZDR *, RENAME3resfail*);
1745extern bool_t zdr_RENAME3res (ZDR *, RENAME3res*);
1746extern bool_t zdr_READDIRPLUS3args (ZDR *, READDIRPLUS3args*);
1747extern bool_t zdr_entryplus3 (ZDR *, entryplus3*);
1748extern bool_t zdr_dirlistplus3 (ZDR *, dirlistplus3*);
1749extern bool_t zdr_READDIRPLUS3resok (ZDR *, READDIRPLUS3resok*);
1750extern bool_t zdr_READDIRPLUS3resfail (ZDR *, READDIRPLUS3resfail*);
1751extern bool_t zdr_READDIRPLUS3res (ZDR *, READDIRPLUS3res*);
1752extern bool_t zdr_READDIR3args (ZDR *, READDIR3args*);
1753extern bool_t zdr_entry3 (ZDR *, entry3*);
1754extern bool_t zdr_dirlist3 (ZDR *, dirlist3*);
1755extern bool_t zdr_READDIR3resok (ZDR *, READDIR3resok*);
1756extern bool_t zdr_READDIR3resfail (ZDR *, READDIR3resfail*);
1757extern bool_t zdr_READDIR3res (ZDR *, READDIR3res*);
1758extern bool_t zdr_LINK3args (ZDR *, LINK3args*);
1759extern bool_t zdr_LINK3resok (ZDR *, LINK3resok*);
1760extern bool_t zdr_LINK3resfail (ZDR *, LINK3resfail*);
1761extern bool_t zdr_LINK3res (ZDR *, LINK3res*);
1762extern bool_t zdr_sattrguard3 (ZDR *, sattrguard3*);
1763extern bool_t zdr_SETATTR3args (ZDR *, SETATTR3args*);
1764extern bool_t zdr_SETATTR3resok (ZDR *, SETATTR3resok*);
1765extern bool_t zdr_SETATTR3resfail (ZDR *, SETATTR3resfail*);
1766extern bool_t zdr_SETATTR3res (ZDR *, SETATTR3res*);
1767extern bool_t zdr_fhandle2 (ZDR *, fhandle2);
1768extern bool_t zdr_ftype2 (ZDR *, ftype2*);
1769extern bool_t zdr_fattr2 (ZDR *, fattr2*);
1770extern bool_t zdr_sattr2 (ZDR *, sattr2*);
1771extern bool_t zdr_filename2 (ZDR *, filename2*);
1772extern bool_t zdr_path2 (ZDR *, path2*);
1773extern bool_t zdr_nfsdata2 (ZDR *, nfsdata2*);
1774extern bool_t zdr_nfscookie2 (ZDR *, nfscookie2);
1775extern bool_t zdr_entry2 (ZDR *, entry2*);
1776extern bool_t zdr_diropargs2 (ZDR *, diropargs2*);
1777extern bool_t zdr_GETATTR2args (ZDR *, GETATTR2args*);
1778extern bool_t zdr_GETATTR2resok (ZDR *, GETATTR2resok*);
1779extern bool_t zdr_GETATTR2res (ZDR *, GETATTR2res*);
1780extern bool_t zdr_SETATTR2args (ZDR *, SETATTR2args*);
1781extern bool_t zdr_SETATTR2resok (ZDR *, SETATTR2resok*);
1782extern bool_t zdr_SETATTR2res (ZDR *, SETATTR2res*);
1783extern bool_t zdr_LOOKUP2args (ZDR *, LOOKUP2args*);
1784extern bool_t zdr_LOOKUP2resok (ZDR *, LOOKUP2resok*);
1785extern bool_t zdr_LOOKUP2res (ZDR *, LOOKUP2res*);
1786extern bool_t zdr_READLINK2args (ZDR *, READLINK2args*);
1787extern bool_t zdr_READLINK2resok (ZDR *, READLINK2resok*);
1788extern bool_t zdr_READLINK2res (ZDR *, READLINK2res*);
1789extern bool_t zdr_READ2args (ZDR *, READ2args*);
1790extern bool_t zdr_READ2resok (ZDR *, READ2resok*);
1791extern bool_t zdr_READ2res (ZDR *, READ2res*);
1792extern bool_t zdr_WRITE2args (ZDR *, WRITE2args*);
1793extern bool_t zdr_WRITE2resok (ZDR *, WRITE2resok*);
1794extern bool_t zdr_WRITE2res (ZDR *, WRITE2res*);
1795extern bool_t zdr_CREATE2args (ZDR *, CREATE2args*);
1796extern bool_t zdr_CREATE2resok (ZDR *, CREATE2resok*);
1797extern bool_t zdr_CREATE2res (ZDR *, CREATE2res*);
1798extern bool_t zdr_REMOVE2args (ZDR *, REMOVE2args*);
1799extern bool_t zdr_REMOVE2res (ZDR *, REMOVE2res*);
1800extern bool_t zdr_RENAME2args (ZDR *, RENAME2args*);
1801extern bool_t zdr_RENAME2res (ZDR *, RENAME2res*);
1802extern bool_t zdr_LINK2args (ZDR *, LINK2args*);
1803extern bool_t zdr_LINK2res (ZDR *, LINK2res*);
1804extern bool_t zdr_SYMLINK2args (ZDR *, SYMLINK2args*);
1805extern bool_t zdr_SYMLINK2res (ZDR *, SYMLINK2res*);
1806extern bool_t zdr_MKDIR2args (ZDR *, MKDIR2args*);
1807extern bool_t zdr_MKDIR2resok (ZDR *, MKDIR2resok*);
1808extern bool_t zdr_MKDIR2res (ZDR *, MKDIR2res*);
1809extern bool_t zdr_RMDIR2args (ZDR *, RMDIR2args*);
1810extern bool_t zdr_RMDIR2res (ZDR *, RMDIR2res*);
1811extern bool_t zdr_READDIR2args (ZDR *, READDIR2args*);
1812extern bool_t zdr_READDIR2resok (ZDR *, READDIR2resok*);
1813extern bool_t zdr_READDIR2res (ZDR *, READDIR2res*);
1814extern bool_t zdr_STATFS2args (ZDR *, STATFS2args*);
1815extern bool_t zdr_STATFS2resok (ZDR *, STATFS2resok*);
1816extern bool_t zdr_STATFS2res (ZDR *, STATFS2res*);
1817extern bool_t zdr_nfsacl_type (ZDR *, nfsacl_type*);
1818extern bool_t zdr_nfsacl_ace (ZDR *, nfsacl_ace*);
1819extern bool_t zdr_GETACL3args (ZDR *, GETACL3args*);
1820extern bool_t zdr_GETACL3resok (ZDR *, GETACL3resok*);
1821extern bool_t zdr_GETACL3res (ZDR *, GETACL3res*);
1822extern bool_t zdr_SETACL3args (ZDR *, SETACL3args*);
1823extern bool_t zdr_SETACL3resok (ZDR *, SETACL3resok*);
1824extern bool_t zdr_SETACL3res (ZDR *, SETACL3res*);
1825
1826#else /* K&R C */
1827extern bool_t zdr_cookieverf3 ();
ee872606
RRS
1828extern bool_t zdr_cookie3 ();
1829extern bool_t zdr_nfs_fh3 ();
1830extern bool_t zdr_filename3 ();
1831extern bool_t zdr_diropargs3 ();
1832extern bool_t zdr_ftype3 ();
1833extern bool_t zdr_mode3 ();
1834extern bool_t zdr_uid3 ();
1835extern bool_t zdr_gid3 ();
1836extern bool_t zdr_size3 ();
1837extern bool_t zdr_fileid3 ();
1838extern bool_t zdr_specdata3 ();
1839extern bool_t zdr_nfstime3 ();
1840extern bool_t zdr_fattr3 ();
1841extern bool_t zdr_post_op_attr ();
1842extern bool_t zdr_nfsstat3 ();
1843extern bool_t zdr_stable_how ();
1844extern bool_t zdr_offset3 ();
1845extern bool_t zdr_count3 ();
1846extern bool_t zdr_wcc_attr ();
1847extern bool_t zdr_pre_op_attr ();
1848extern bool_t zdr_wcc_data ();
1849extern bool_t zdr_WRITE3args ();
1850extern bool_t zdr_writeverf3 ();
1851extern bool_t zdr_WRITE3resok ();
1852extern bool_t zdr_WRITE3resfail ();
1853extern bool_t zdr_WRITE3res ();
1854extern bool_t zdr_LOOKUP3args ();
1855extern bool_t zdr_LOOKUP3resok ();
1856extern bool_t zdr_LOOKUP3resfail ();
1857extern bool_t zdr_LOOKUP3res ();
1858extern bool_t zdr_COMMIT3args ();
1859extern bool_t zdr_COMMIT3resok ();
1860extern bool_t zdr_COMMIT3resfail ();
1861extern bool_t zdr_COMMIT3res ();
1862extern bool_t zdr_ACCESS3args ();
1863extern bool_t zdr_ACCESS3resok ();
1864extern bool_t zdr_ACCESS3resfail ();
1865extern bool_t zdr_ACCESS3res ();
1866extern bool_t zdr_GETATTR3args ();
1867extern bool_t zdr_GETATTR3resok ();
1868extern bool_t zdr_GETATTR3res ();
1869extern bool_t zdr_time_how ();
1870extern bool_t zdr_set_mode3 ();
1871extern bool_t zdr_set_uid3 ();
1872extern bool_t zdr_set_gid3 ();
1873extern bool_t zdr_set_size3 ();
1874extern bool_t zdr_set_atime ();
1875extern bool_t zdr_set_mtime ();
1876extern bool_t zdr_sattr3 ();
1877extern bool_t zdr_createmode3 ();
1878extern bool_t zdr_createverf3 ();
1879extern bool_t zdr_createhow3 ();
1880extern bool_t zdr_CREATE3args ();
1881extern bool_t zdr_post_op_fh3 ();
1882extern bool_t zdr_CREATE3resok ();
1883extern bool_t zdr_CREATE3resfail ();
1884extern bool_t zdr_CREATE3res ();
1885extern bool_t zdr_REMOVE3args ();
1886extern bool_t zdr_REMOVE3resok ();
1887extern bool_t zdr_REMOVE3resfail ();
1888extern bool_t zdr_REMOVE3res ();
1889extern bool_t zdr_READ3args ();
1890extern bool_t zdr_READ3resok ();
1891extern bool_t zdr_READ3resfail ();
1892extern bool_t zdr_READ3res ();
1893extern bool_t zdr_FSINFO3args ();
1894extern bool_t zdr_FSINFO3resok ();
1895extern bool_t zdr_FSINFO3resfail ();
1896extern bool_t zdr_FSINFO3res ();
1897extern bool_t zdr_FSSTAT3args ();
1898extern bool_t zdr_FSSTAT3resok ();
1899extern bool_t zdr_FSSTAT3resfail ();
1900extern bool_t zdr_FSSTAT3res ();
1901extern bool_t zdr_PATHCONF3args ();
1902extern bool_t zdr_PATHCONF3resok ();
1903extern bool_t zdr_PATHCONF3resfail ();
1904extern bool_t zdr_PATHCONF3res ();
1905extern bool_t zdr_nfspath3 ();
1906extern bool_t zdr_symlinkdata3 ();
1907extern bool_t zdr_SYMLINK3args ();
1908extern bool_t zdr_SYMLINK3resok ();
1909extern bool_t zdr_SYMLINK3resfail ();
1910extern bool_t zdr_SYMLINK3res ();
1911extern bool_t zdr_READLINK3args ();
1912extern bool_t zdr_READLINK3resok ();
1913extern bool_t zdr_READLINK3resfail ();
1914extern bool_t zdr_READLINK3res ();
1915extern bool_t zdr_devicedata3 ();
1916extern bool_t zdr_mknoddata3 ();
1917extern bool_t zdr_MKNOD3args ();
1918extern bool_t zdr_MKNOD3resok ();
1919extern bool_t zdr_MKNOD3resfail ();
1920extern bool_t zdr_MKNOD3res ();
1921extern bool_t zdr_MKDIR3args ();
1922extern bool_t zdr_MKDIR3resok ();
1923extern bool_t zdr_MKDIR3resfail ();
1924extern bool_t zdr_MKDIR3res ();
1925extern bool_t zdr_RMDIR3args ();
1926extern bool_t zdr_RMDIR3resok ();
1927extern bool_t zdr_RMDIR3resfail ();
1928extern bool_t zdr_RMDIR3res ();
1929extern bool_t zdr_RENAME3args ();
1930extern bool_t zdr_RENAME3resok ();
1931extern bool_t zdr_RENAME3resfail ();
1932extern bool_t zdr_RENAME3res ();
1933extern bool_t zdr_READDIRPLUS3args ();
1934extern bool_t zdr_entryplus3 ();
1935extern bool_t zdr_dirlistplus3 ();
1936extern bool_t zdr_READDIRPLUS3resok ();
1937extern bool_t zdr_READDIRPLUS3resfail ();
1938extern bool_t zdr_READDIRPLUS3res ();
1939extern bool_t zdr_READDIR3args ();
1940extern bool_t zdr_entry3 ();
1941extern bool_t zdr_dirlist3 ();
1942extern bool_t zdr_READDIR3resok ();
1943extern bool_t zdr_READDIR3resfail ();
1944extern bool_t zdr_READDIR3res ();
1945extern bool_t zdr_LINK3args ();
1946extern bool_t zdr_LINK3resok ();
1947extern bool_t zdr_LINK3resfail ();
1948extern bool_t zdr_LINK3res ();
1949extern bool_t zdr_sattrguard3 ();
1950extern bool_t zdr_SETATTR3args ();
1951extern bool_t zdr_SETATTR3resok ();
1952extern bool_t zdr_SETATTR3resfail ();
1953extern bool_t zdr_SETATTR3res ();
1954extern bool_t zdr_fhandle2 ();
1955extern bool_t zdr_ftype2 ();
1956extern bool_t zdr_fattr2 ();
1957extern bool_t zdr_sattr2 ();
1958extern bool_t zdr_filename2 ();
1959extern bool_t zdr_path2 ();
1960extern bool_t zdr_nfsdata2 ();
1961extern bool_t zdr_nfscookie2 ();
1962extern bool_t zdr_entry2 ();
1963extern bool_t zdr_diropargs2 ();
1964extern bool_t zdr_GETATTR2args ();
1965extern bool_t zdr_GETATTR2resok ();
1966extern bool_t zdr_GETATTR2res ();
1967extern bool_t zdr_SETATTR2args ();
1968extern bool_t zdr_SETATTR2resok ();
1969extern bool_t zdr_SETATTR2res ();
1970extern bool_t zdr_LOOKUP2args ();
1971extern bool_t zdr_LOOKUP2resok ();
1972extern bool_t zdr_LOOKUP2res ();
1973extern bool_t zdr_READLINK2args ();
1974extern bool_t zdr_READLINK2resok ();
1975extern bool_t zdr_READLINK2res ();
1976extern bool_t zdr_READ2args ();
1977extern bool_t zdr_READ2resok ();
1978extern bool_t zdr_READ2res ();
1979extern bool_t zdr_WRITE2args ();
1980extern bool_t zdr_WRITE2resok ();
1981extern bool_t zdr_WRITE2res ();
1982extern bool_t zdr_CREATE2args ();
1983extern bool_t zdr_CREATE2resok ();
1984extern bool_t zdr_CREATE2res ();
1985extern bool_t zdr_REMOVE2args ();
1986extern bool_t zdr_REMOVE2res ();
1987extern bool_t zdr_RENAME2args ();
1988extern bool_t zdr_RENAME2res ();
1989extern bool_t zdr_LINK2args ();
1990extern bool_t zdr_LINK2res ();
1991extern bool_t zdr_SYMLINK2args ();
1992extern bool_t zdr_SYMLINK2res ();
1993extern bool_t zdr_MKDIR2args ();
1994extern bool_t zdr_MKDIR2resok ();
1995extern bool_t zdr_MKDIR2res ();
1996extern bool_t zdr_RMDIR2args ();
1997extern bool_t zdr_RMDIR2res ();
1998extern bool_t zdr_READDIR2args ();
1999extern bool_t zdr_READDIR2resok ();
2000extern bool_t zdr_READDIR2res ();
2001extern bool_t zdr_STATFS2args ();
2002extern bool_t zdr_STATFS2resok ();
2003extern bool_t zdr_STATFS2res ();
2004extern bool_t zdr_nfsacl_type ();
2005extern bool_t zdr_nfsacl_ace ();
2006extern bool_t zdr_GETACL3args ();
2007extern bool_t zdr_GETACL3resok ();
2008extern bool_t zdr_GETACL3res ();
2009extern bool_t zdr_SETACL3args ();
2010extern bool_t zdr_SETACL3resok ();
2011extern bool_t zdr_SETACL3res ();
2012
2013#endif /* K&R C */
2014
2015#ifdef __cplusplus
2016}
2017#endif
2018
2019#endif /* !_NFS_H_RPCGEN */