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