Preliminary NFS readdirplus support (not yet entirely to spec).
[bluesky.git] / nfs3 / nfs3_prot.h
1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5
6 #ifndef _NFS3_PROT_H_RPCGEN
7 #define _NFS3_PROT_H_RPCGEN
8
9 #include <rpc/rpc.h>
10
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16
17 typedef u_quad_t uint64;
18
19 typedef quad_t int64;
20
21 typedef u_int uint32;
22
23 typedef int int32;
24 #define NFS3_FHSIZE 64
25 #define NFS3_COOKIEVERFSIZE 8
26 #define NFS3_CREATEVERFSIZE 8
27 #define NFS3_WRITEVERFSIZE 8
28
29 typedef char *filename3;
30
31 typedef char *nfspath3;
32
33 typedef char cookieverf3[NFS3_COOKIEVERFSIZE];
34
35 typedef char createverf3[NFS3_CREATEVERFSIZE];
36
37 typedef char writeverf3[NFS3_WRITEVERFSIZE];
38
39 enum nfsstat3 {
40         NFS3_OK = 0,
41         NFS3ERR_PERM = 1,
42         NFS3ERR_NOENT = 2,
43         NFS3ERR_IO = 5,
44         NFS3ERR_NXIO = 6,
45         NFS3ERR_ACCES = 13,
46         NFS3ERR_EXIST = 17,
47         NFS3ERR_XDEV = 18,
48         NFS3ERR_NODEV = 19,
49         NFS3ERR_NOTDIR = 20,
50         NFS3ERR_ISDIR = 21,
51         NFS3ERR_INVAL = 22,
52         NFS3ERR_FBIG = 27,
53         NFS3ERR_NOSPC = 28,
54         NFS3ERR_ROFS = 30,
55         NFS3ERR_MLINK = 31,
56         NFS3ERR_NAMETOOLONG = 63,
57         NFS3ERR_NOTEMPTY = 66,
58         NFS3ERR_DQUOT = 69,
59         NFS3ERR_STALE = 70,
60         NFS3ERR_REMOTE = 71,
61         NFS3ERR_BADHANDLE = 10001,
62         NFS3ERR_NOT_SYNC = 10002,
63         NFS3ERR_BAD_COOKIE = 10003,
64         NFS3ERR_NOTSUPP = 10004,
65         NFS3ERR_TOOSMALL = 10005,
66         NFS3ERR_SERVERFAULT = 10006,
67         NFS3ERR_BADTYPE = 10007,
68         NFS3ERR_JUKEBOX = 10008,
69         NFS3ERR_FPRINTNOTFOUND = 10009,
70         NFS3ERR_ABORTED = 10010,
71 };
72 typedef enum nfsstat3 nfsstat3;
73
74 enum ftype3 {
75         NF3REG = 1,
76         NF3DIR = 2,
77         NF3BLK = 3,
78         NF3CHR = 4,
79         NF3LNK = 5,
80         NF3SOCK = 6,
81         NF3FIFO = 7,
82 };
83 typedef enum ftype3 ftype3;
84
85 struct specdata3 {
86         uint32 major;
87         uint32 minor;
88 };
89 typedef struct specdata3 specdata3;
90
91 struct nfs_fh3 {
92         struct {
93                 u_int data_len;
94                 char *data_val;
95         } data;
96 };
97 typedef struct nfs_fh3 nfs_fh3;
98
99 struct nfstime3 {
100         uint32 seconds;
101         uint32 nseconds;
102 };
103 typedef struct nfstime3 nfstime3;
104
105 struct fattr3 {
106         ftype3 type;
107         uint32 mode;
108         uint32 nlink;
109         uint32 uid;
110         uint32 gid;
111         uint64 size;
112         uint64 used;
113         specdata3 rdev;
114         uint64 fsid;
115         uint64 fileid;
116         nfstime3 atime;
117         nfstime3 mtime;
118         nfstime3 ctime;
119 };
120 typedef struct fattr3 fattr3;
121
122 struct post_op_attr {
123         bool_t present;
124         union {
125                 fattr3 attributes;
126         } post_op_attr_u;
127 };
128 typedef struct post_op_attr post_op_attr;
129
130 struct wcc_attr {
131         uint64 size;
132         nfstime3 mtime;
133         nfstime3 ctime;
134 };
135 typedef struct wcc_attr wcc_attr;
136
137 struct pre_op_attr {
138         bool_t present;
139         union {
140                 wcc_attr attributes;
141         } pre_op_attr_u;
142 };
143 typedef struct pre_op_attr pre_op_attr;
144
145 struct wcc_data {
146         pre_op_attr before;
147         post_op_attr after;
148 };
149 typedef struct wcc_data wcc_data;
150
151 struct post_op_fh3 {
152         bool_t present;
153         union {
154                 nfs_fh3 handle;
155         } post_op_fh3_u;
156 };
157 typedef struct post_op_fh3 post_op_fh3;
158
159 struct set_uint32 {
160         bool_t set;
161         union {
162                 uint32 val;
163         } set_uint32_u;
164 };
165 typedef struct set_uint32 set_uint32;
166
167 struct set_uint64 {
168         bool_t set;
169         union {
170                 uint64 val;
171         } set_uint64_u;
172 };
173 typedef struct set_uint64 set_uint64;
174
175 enum time_how {
176         DONT_CHANGE = 0,
177         SET_TO_SERVER_TIME = 1,
178         SET_TO_CLIENT_TIME = 2,
179 };
180 typedef enum time_how time_how;
181
182 struct set_time {
183         time_how set;
184         union {
185                 nfstime3 time;
186         } set_time_u;
187 };
188 typedef struct set_time set_time;
189
190 struct sattr3 {
191         set_uint32 mode;
192         set_uint32 uid;
193         set_uint32 gid;
194         set_uint64 size;
195         set_time atime;
196         set_time mtime;
197 };
198 typedef struct sattr3 sattr3;
199
200 struct diropargs3 {
201         nfs_fh3 dir;
202         filename3 name;
203 };
204 typedef struct diropargs3 diropargs3;
205
206 struct diropres3ok {
207         post_op_fh3 obj;
208         post_op_attr obj_attributes;
209         wcc_data dir_wcc;
210 };
211 typedef struct diropres3ok diropres3ok;
212
213 struct diropres3 {
214         nfsstat3 status;
215         union {
216                 diropres3ok resok;
217                 wcc_data resfail;
218         } diropres3_u;
219 };
220 typedef struct diropres3 diropres3;
221
222 struct wccstat3 {
223         nfsstat3 status;
224         union {
225                 wcc_data wcc;
226         } wccstat3_u;
227 };
228 typedef struct wccstat3 wccstat3;
229
230 struct getattr3res {
231         nfsstat3 status;
232         union {
233                 fattr3 attributes;
234         } getattr3res_u;
235 };
236 typedef struct getattr3res getattr3res;
237
238 struct sattrguard3 {
239         bool_t check;
240         union {
241                 nfstime3 ctime;
242         } sattrguard3_u;
243 };
244 typedef struct sattrguard3 sattrguard3;
245
246 struct setattr3args {
247         nfs_fh3 object;
248         sattr3 new_attributes;
249         sattrguard3 guard;
250 };
251 typedef struct setattr3args setattr3args;
252
253 struct lookup3resok {
254         nfs_fh3 object;
255         post_op_attr obj_attributes;
256         post_op_attr dir_attributes;
257 };
258 typedef struct lookup3resok lookup3resok;
259
260 struct lookup3res {
261         nfsstat3 status;
262         union {
263                 lookup3resok resok;
264                 post_op_attr resfail;
265         } lookup3res_u;
266 };
267 typedef struct lookup3res lookup3res;
268 #define ACCESS3_READ 0x0001
269 #define ACCESS3_LOOKUP 0x0002
270 #define ACCESS3_MODIFY 0x0004
271 #define ACCESS3_EXTEND 0x0008
272 #define ACCESS3_DELETE 0x0010
273 #define ACCESS3_EXECUTE 0x0020
274
275 struct access3args {
276         nfs_fh3 object;
277         uint32 access;
278 };
279 typedef struct access3args access3args;
280
281 struct access3resok {
282         post_op_attr obj_attributes;
283         uint32 access;
284 };
285 typedef struct access3resok access3resok;
286
287 struct access3res {
288         nfsstat3 status;
289         union {
290                 access3resok resok;
291                 post_op_attr resfail;
292         } access3res_u;
293 };
294 typedef struct access3res access3res;
295
296 struct readlink3resok {
297         post_op_attr symlink_attributes;
298         nfspath3 data;
299 };
300 typedef struct readlink3resok readlink3resok;
301
302 struct readlink3res {
303         nfsstat3 status;
304         union {
305                 readlink3resok resok;
306                 post_op_attr resfail;
307         } readlink3res_u;
308 };
309 typedef struct readlink3res readlink3res;
310
311 struct read3args {
312         nfs_fh3 file;
313         uint64 offset;
314         uint32 count;
315 };
316 typedef struct read3args read3args;
317
318 struct read3resok {
319         post_op_attr file_attributes;
320         uint32 count;
321         bool_t eof;
322         struct {
323                 u_int data_len;
324                 char *data_val;
325         } data;
326 };
327 typedef struct read3resok read3resok;
328
329 struct read3res {
330         nfsstat3 status;
331         union {
332                 read3resok resok;
333                 post_op_attr resfail;
334         } read3res_u;
335 };
336 typedef struct read3res read3res;
337
338 enum stable_how {
339         UNSTABLE = 0,
340         DATA_SYNC = 1,
341         FILE_SYNC = 2,
342 };
343 typedef enum stable_how stable_how;
344
345 struct write3args {
346         nfs_fh3 file;
347         uint64 offset;
348         uint32 count;
349         stable_how stable;
350         struct {
351                 u_int data_len;
352                 char *data_val;
353         } data;
354 };
355 typedef struct write3args write3args;
356
357 struct write3resok {
358         wcc_data file_wcc;
359         uint32 count;
360         stable_how committed;
361         writeverf3 verf;
362 };
363 typedef struct write3resok write3resok;
364
365 struct write3res {
366         nfsstat3 status;
367         union {
368                 write3resok resok;
369                 wcc_data resfail;
370         } write3res_u;
371 };
372 typedef struct write3res write3res;
373
374 enum createmode3 {
375         UNCHECKED = 0,
376         GUARDED = 1,
377         EXCLUSIVE = 2,
378 };
379 typedef enum createmode3 createmode3;
380
381 struct createhow3 {
382         createmode3 mode;
383         union {
384                 sattr3 obj_attributes;
385                 createverf3 verf;
386         } createhow3_u;
387 };
388 typedef struct createhow3 createhow3;
389
390 struct create3args {
391         diropargs3 where;
392         createhow3 how;
393 };
394 typedef struct create3args create3args;
395
396 struct mkdir3args {
397         diropargs3 where;
398         sattr3 attributes;
399 };
400 typedef struct mkdir3args mkdir3args;
401
402 struct symlinkdata3 {
403         sattr3 symlink_attributes;
404         nfspath3 symlink_data;
405 };
406 typedef struct symlinkdata3 symlinkdata3;
407
408 struct symlink3args {
409         diropargs3 where;
410         symlinkdata3 symlink;
411 };
412 typedef struct symlink3args symlink3args;
413
414 struct devicedata3 {
415         sattr3 dev_attributes;
416         specdata3 spec;
417 };
418 typedef struct devicedata3 devicedata3;
419
420 struct mknoddata3 {
421         ftype3 type;
422         union {
423                 devicedata3 device;
424                 sattr3 pipe_attributes;
425         } mknoddata3_u;
426 };
427 typedef struct mknoddata3 mknoddata3;
428
429 struct mknod3args {
430         diropargs3 where;
431         mknoddata3 what;
432 };
433 typedef struct mknod3args mknod3args;
434
435 struct rename3args {
436         diropargs3 from;
437         diropargs3 to;
438 };
439 typedef struct rename3args rename3args;
440
441 struct rename3wcc {
442         wcc_data fromdir_wcc;
443         wcc_data todir_wcc;
444 };
445 typedef struct rename3wcc rename3wcc;
446
447 struct rename3res {
448         nfsstat3 status;
449         union {
450                 rename3wcc res;
451         } rename3res_u;
452 };
453 typedef struct rename3res rename3res;
454
455 struct link3args {
456         nfs_fh3 file;
457         diropargs3 link;
458 };
459 typedef struct link3args link3args;
460
461 struct link3wcc {
462         post_op_attr file_attributes;
463         wcc_data linkdir_wcc;
464 };
465 typedef struct link3wcc link3wcc;
466
467 struct link3res {
468         nfsstat3 status;
469         union {
470                 link3wcc res;
471         } link3res_u;
472 };
473 typedef struct link3res link3res;
474
475 struct readdir3args {
476         nfs_fh3 dir;
477         uint64 cookie;
478         cookieverf3 cookieverf;
479         uint32 count;
480 };
481 typedef struct readdir3args readdir3args;
482
483 struct entry3 {
484         uint64 fileid;
485         filename3 name;
486         uint64 cookie;
487         struct entry3 *nextentry;
488 };
489 typedef struct entry3 entry3;
490
491 struct dirlist3 {
492         entry3 *entries;
493         bool_t eof;
494 };
495 typedef struct dirlist3 dirlist3;
496
497 struct readdir3resok {
498         post_op_attr dir_attributes;
499         cookieverf3 cookieverf;
500         dirlist3 reply;
501 };
502 typedef struct readdir3resok readdir3resok;
503
504 struct readdir3res {
505         nfsstat3 status;
506         union {
507                 readdir3resok resok;
508                 post_op_attr resfail;
509         } readdir3res_u;
510 };
511 typedef struct readdir3res readdir3res;
512
513 struct readdirplus3args {
514         nfs_fh3 dir;
515         uint64 cookie;
516         cookieverf3 cookieverf;
517         uint32 dircount;
518         uint32 maxcount;
519 };
520 typedef struct readdirplus3args readdirplus3args;
521
522 struct entryplus3 {
523         uint64 fileid;
524         filename3 name;
525         uint64 cookie;
526         post_op_attr name_attributes;
527         post_op_fh3 name_handle;
528         struct entryplus3 *nextentry;
529 };
530 typedef struct entryplus3 entryplus3;
531
532 struct dirlistplus3 {
533         entryplus3 *entries;
534         bool_t eof;
535 };
536 typedef struct dirlistplus3 dirlistplus3;
537
538 struct readdirplus3resok {
539         post_op_attr dir_attributes;
540         cookieverf3 cookieverf;
541         dirlistplus3 reply;
542 };
543 typedef struct readdirplus3resok readdirplus3resok;
544
545 struct readdirplus3res {
546         nfsstat3 status;
547         union {
548                 readdirplus3resok resok;
549                 post_op_attr resfail;
550         } readdirplus3res_u;
551 };
552 typedef struct readdirplus3res readdirplus3res;
553
554 struct fsstat3resok {
555         post_op_attr obj_attributes;
556         uint64 tbytes;
557         uint64 fbytes;
558         uint64 abytes;
559         uint64 tfiles;
560         uint64 ffiles;
561         uint64 afiles;
562         uint32 invarsec;
563 };
564 typedef struct fsstat3resok fsstat3resok;
565
566 struct fsstat3res {
567         nfsstat3 status;
568         union {
569                 fsstat3resok resok;
570                 post_op_attr resfail;
571         } fsstat3res_u;
572 };
573 typedef struct fsstat3res fsstat3res;
574 #define FSF3_LINK 0x0001
575 #define FSF3_SYMLINK 0x0002
576 #define FSF3_HOMOGENEOUS 0x0008
577 #define FSF3_CANSETTIME 0x0010
578
579 struct fsinfo3resok {
580         post_op_attr obj_attributes;
581         uint32 rtmax;
582         uint32 rtpref;
583         uint32 rtmult;
584         uint32 wtmax;
585         uint32 wtpref;
586         uint32 wtmult;
587         uint32 dtpref;
588         uint64 maxfilesize;
589         nfstime3 time_delta;
590         uint32 properties;
591 };
592 typedef struct fsinfo3resok fsinfo3resok;
593
594 struct fsinfo3res {
595         nfsstat3 status;
596         union {
597                 fsinfo3resok resok;
598                 post_op_attr resfail;
599         } fsinfo3res_u;
600 };
601 typedef struct fsinfo3res fsinfo3res;
602
603 struct pathconf3resok {
604         post_op_attr obj_attributes;
605         uint32 linkmax;
606         uint32 name_max;
607         bool_t no_trunc;
608         bool_t chown_restricted;
609         bool_t case_insensitive;
610         bool_t case_preserving;
611 };
612 typedef struct pathconf3resok pathconf3resok;
613
614 struct pathconf3res {
615         nfsstat3 status;
616         union {
617                 pathconf3resok resok;
618                 post_op_attr resfail;
619         } pathconf3res_u;
620 };
621 typedef struct pathconf3res pathconf3res;
622
623 struct commit3args {
624         nfs_fh3 file;
625         uint64 offset;
626         uint32 count;
627 };
628 typedef struct commit3args commit3args;
629
630 struct commit3resok {
631         wcc_data file_wcc;
632         writeverf3 verf;
633 };
634 typedef struct commit3resok commit3resok;
635
636 struct commit3res {
637         nfsstat3 status;
638         union {
639                 commit3resok resok;
640                 wcc_data resfail;
641         } commit3res_u;
642 };
643 typedef struct commit3res commit3res;
644
645 #define NFS_PROGRAM 100003
646 #define NFS_V3 3
647
648 #if defined(__STDC__) || defined(__cplusplus)
649 #define NFSPROC3_NULL 0
650 extern  void * nfsproc3_null_3(void *, CLIENT *);
651 extern  void * nfsproc3_null_3_svc(void *, struct svc_req *);
652 #define NFSPROC3_GETATTR 1
653 extern  getattr3res * nfsproc3_getattr_3(nfs_fh3 *, CLIENT *);
654 extern  getattr3res * nfsproc3_getattr_3_svc(nfs_fh3 *, struct svc_req *);
655 #define NFSPROC3_SETATTR 2
656 extern  wccstat3 * nfsproc3_setattr_3(setattr3args *, CLIENT *);
657 extern  wccstat3 * nfsproc3_setattr_3_svc(setattr3args *, struct svc_req *);
658 #define NFSPROC3_LOOKUP 3
659 extern  lookup3res * nfsproc3_lookup_3(diropargs3 *, CLIENT *);
660 extern  lookup3res * nfsproc3_lookup_3_svc(diropargs3 *, struct svc_req *);
661 #define NFSPROC3_ACCESS 4
662 extern  access3res * nfsproc3_access_3(access3args *, CLIENT *);
663 extern  access3res * nfsproc3_access_3_svc(access3args *, struct svc_req *);
664 #define NFSPROC3_READLINK 5
665 extern  readlink3res * nfsproc3_readlink_3(nfs_fh3 *, CLIENT *);
666 extern  readlink3res * nfsproc3_readlink_3_svc(nfs_fh3 *, struct svc_req *);
667 #define NFSPROC3_READ 6
668 extern  read3res * nfsproc3_read_3(read3args *, CLIENT *);
669 extern  read3res * nfsproc3_read_3_svc(read3args *, struct svc_req *);
670 #define NFSPROC3_WRITE 7
671 extern  write3res * nfsproc3_write_3(write3args *, CLIENT *);
672 extern  write3res * nfsproc3_write_3_svc(write3args *, struct svc_req *);
673 #define NFSPROC3_CREATE 8
674 extern  diropres3 * nfsproc3_create_3(create3args *, CLIENT *);
675 extern  diropres3 * nfsproc3_create_3_svc(create3args *, struct svc_req *);
676 #define NFSPROC3_MKDIR 9
677 extern  diropres3 * nfsproc3_mkdir_3(mkdir3args *, CLIENT *);
678 extern  diropres3 * nfsproc3_mkdir_3_svc(mkdir3args *, struct svc_req *);
679 #define NFSPROC3_SYMLINK 10
680 extern  diropres3 * nfsproc3_symlink_3(symlink3args *, CLIENT *);
681 extern  diropres3 * nfsproc3_symlink_3_svc(symlink3args *, struct svc_req *);
682 #define NFSPROC3_MKNOD 11
683 extern  diropres3 * nfsproc3_mknod_3(mknod3args *, CLIENT *);
684 extern  diropres3 * nfsproc3_mknod_3_svc(mknod3args *, struct svc_req *);
685 #define NFSPROC3_REMOVE 12
686 extern  wccstat3 * nfsproc3_remove_3(diropargs3 *, CLIENT *);
687 extern  wccstat3 * nfsproc3_remove_3_svc(diropargs3 *, struct svc_req *);
688 #define NFSPROC3_RMDIR 13
689 extern  wccstat3 * nfsproc3_rmdir_3(diropargs3 *, CLIENT *);
690 extern  wccstat3 * nfsproc3_rmdir_3_svc(diropargs3 *, struct svc_req *);
691 #define NFSPROC3_RENAME 14
692 extern  rename3res * nfsproc3_rename_3(rename3args *, CLIENT *);
693 extern  rename3res * nfsproc3_rename_3_svc(rename3args *, struct svc_req *);
694 #define NFSPROC3_LINK 15
695 extern  link3res * nfsproc3_link_3(link3args *, CLIENT *);
696 extern  link3res * nfsproc3_link_3_svc(link3args *, struct svc_req *);
697 #define NFSPROC3_READDIR 16
698 extern  readdir3res * nfsproc3_readdir_3(readdir3args *, CLIENT *);
699 extern  readdir3res * nfsproc3_readdir_3_svc(readdir3args *, struct svc_req *);
700 #define NFSPROC3_READDIRPLUS 17
701 extern  readdirplus3res * nfsproc3_readdirplus_3(readdirplus3args *, CLIENT *);
702 extern  readdirplus3res * nfsproc3_readdirplus_3_svc(readdirplus3args *, struct svc_req *);
703 #define NFSPROC3_FSSTAT 18
704 extern  fsstat3res * nfsproc3_fsstat_3(nfs_fh3 *, CLIENT *);
705 extern  fsstat3res * nfsproc3_fsstat_3_svc(nfs_fh3 *, struct svc_req *);
706 #define NFSPROC3_FSINFO 19
707 extern  fsinfo3res * nfsproc3_fsinfo_3(nfs_fh3 *, CLIENT *);
708 extern  fsinfo3res * nfsproc3_fsinfo_3_svc(nfs_fh3 *, struct svc_req *);
709 #define NFSPROC3_PATHCONF 20
710 extern  pathconf3res * nfsproc3_pathconf_3(nfs_fh3 *, CLIENT *);
711 extern  pathconf3res * nfsproc3_pathconf_3_svc(nfs_fh3 *, struct svc_req *);
712 #define NFSPROC3_COMMIT 21
713 extern  commit3res * nfsproc3_commit_3(commit3args *, CLIENT *);
714 extern  commit3res * nfsproc3_commit_3_svc(commit3args *, struct svc_req *);
715 extern int nfs_program_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
716
717 #else /* K&R C */
718 #define NFSPROC3_NULL 0
719 extern  void * nfsproc3_null_3();
720 extern  void * nfsproc3_null_3_svc();
721 #define NFSPROC3_GETATTR 1
722 extern  getattr3res * nfsproc3_getattr_3();
723 extern  getattr3res * nfsproc3_getattr_3_svc();
724 #define NFSPROC3_SETATTR 2
725 extern  wccstat3 * nfsproc3_setattr_3();
726 extern  wccstat3 * nfsproc3_setattr_3_svc();
727 #define NFSPROC3_LOOKUP 3
728 extern  lookup3res * nfsproc3_lookup_3();
729 extern  lookup3res * nfsproc3_lookup_3_svc();
730 #define NFSPROC3_ACCESS 4
731 extern  access3res * nfsproc3_access_3();
732 extern  access3res * nfsproc3_access_3_svc();
733 #define NFSPROC3_READLINK 5
734 extern  readlink3res * nfsproc3_readlink_3();
735 extern  readlink3res * nfsproc3_readlink_3_svc();
736 #define NFSPROC3_READ 6
737 extern  read3res * nfsproc3_read_3();
738 extern  read3res * nfsproc3_read_3_svc();
739 #define NFSPROC3_WRITE 7
740 extern  write3res * nfsproc3_write_3();
741 extern  write3res * nfsproc3_write_3_svc();
742 #define NFSPROC3_CREATE 8
743 extern  diropres3 * nfsproc3_create_3();
744 extern  diropres3 * nfsproc3_create_3_svc();
745 #define NFSPROC3_MKDIR 9
746 extern  diropres3 * nfsproc3_mkdir_3();
747 extern  diropres3 * nfsproc3_mkdir_3_svc();
748 #define NFSPROC3_SYMLINK 10
749 extern  diropres3 * nfsproc3_symlink_3();
750 extern  diropres3 * nfsproc3_symlink_3_svc();
751 #define NFSPROC3_MKNOD 11
752 extern  diropres3 * nfsproc3_mknod_3();
753 extern  diropres3 * nfsproc3_mknod_3_svc();
754 #define NFSPROC3_REMOVE 12
755 extern  wccstat3 * nfsproc3_remove_3();
756 extern  wccstat3 * nfsproc3_remove_3_svc();
757 #define NFSPROC3_RMDIR 13
758 extern  wccstat3 * nfsproc3_rmdir_3();
759 extern  wccstat3 * nfsproc3_rmdir_3_svc();
760 #define NFSPROC3_RENAME 14
761 extern  rename3res * nfsproc3_rename_3();
762 extern  rename3res * nfsproc3_rename_3_svc();
763 #define NFSPROC3_LINK 15
764 extern  link3res * nfsproc3_link_3();
765 extern  link3res * nfsproc3_link_3_svc();
766 #define NFSPROC3_READDIR 16
767 extern  readdir3res * nfsproc3_readdir_3();
768 extern  readdir3res * nfsproc3_readdir_3_svc();
769 #define NFSPROC3_READDIRPLUS 17
770 extern  readdirplus3res * nfsproc3_readdirplus_3();
771 extern  readdirplus3res * nfsproc3_readdirplus_3_svc();
772 #define NFSPROC3_FSSTAT 18
773 extern  fsstat3res * nfsproc3_fsstat_3();
774 extern  fsstat3res * nfsproc3_fsstat_3_svc();
775 #define NFSPROC3_FSINFO 19
776 extern  fsinfo3res * nfsproc3_fsinfo_3();
777 extern  fsinfo3res * nfsproc3_fsinfo_3_svc();
778 #define NFSPROC3_PATHCONF 20
779 extern  pathconf3res * nfsproc3_pathconf_3();
780 extern  pathconf3res * nfsproc3_pathconf_3_svc();
781 #define NFSPROC3_COMMIT 21
782 extern  commit3res * nfsproc3_commit_3();
783 extern  commit3res * nfsproc3_commit_3_svc();
784 extern int nfs_program_3_freeresult ();
785 #endif /* K&R C */
786
787 /* the xdr functions */
788
789 #if defined(__STDC__) || defined(__cplusplus)
790 extern  bool_t xdr_uint64 (XDR *, uint64*);
791 extern  bool_t xdr_int64 (XDR *, int64*);
792 extern  bool_t xdr_uint32 (XDR *, uint32*);
793 extern  bool_t xdr_int32 (XDR *, int32*);
794 extern  bool_t xdr_filename3 (XDR *, filename3*);
795 extern  bool_t xdr_nfspath3 (XDR *, nfspath3*);
796 extern  bool_t xdr_cookieverf3 (XDR *, cookieverf3);
797 extern  bool_t xdr_createverf3 (XDR *, createverf3);
798 extern  bool_t xdr_writeverf3 (XDR *, writeverf3);
799 extern  bool_t xdr_nfsstat3 (XDR *, nfsstat3*);
800 extern  bool_t xdr_ftype3 (XDR *, ftype3*);
801 extern  bool_t xdr_specdata3 (XDR *, specdata3*);
802 extern  bool_t xdr_nfs_fh3 (XDR *, nfs_fh3*);
803 extern  bool_t xdr_nfstime3 (XDR *, nfstime3*);
804 extern  bool_t xdr_fattr3 (XDR *, fattr3*);
805 extern  bool_t xdr_post_op_attr (XDR *, post_op_attr*);
806 extern  bool_t xdr_wcc_attr (XDR *, wcc_attr*);
807 extern  bool_t xdr_pre_op_attr (XDR *, pre_op_attr*);
808 extern  bool_t xdr_wcc_data (XDR *, wcc_data*);
809 extern  bool_t xdr_post_op_fh3 (XDR *, post_op_fh3*);
810 extern  bool_t xdr_set_uint32 (XDR *, set_uint32*);
811 extern  bool_t xdr_set_uint64 (XDR *, set_uint64*);
812 extern  bool_t xdr_time_how (XDR *, time_how*);
813 extern  bool_t xdr_set_time (XDR *, set_time*);
814 extern  bool_t xdr_sattr3 (XDR *, sattr3*);
815 extern  bool_t xdr_diropargs3 (XDR *, diropargs3*);
816 extern  bool_t xdr_diropres3ok (XDR *, diropres3ok*);
817 extern  bool_t xdr_diropres3 (XDR *, diropres3*);
818 extern  bool_t xdr_wccstat3 (XDR *, wccstat3*);
819 extern  bool_t xdr_getattr3res (XDR *, getattr3res*);
820 extern  bool_t xdr_sattrguard3 (XDR *, sattrguard3*);
821 extern  bool_t xdr_setattr3args (XDR *, setattr3args*);
822 extern  bool_t xdr_lookup3resok (XDR *, lookup3resok*);
823 extern  bool_t xdr_lookup3res (XDR *, lookup3res*);
824 extern  bool_t xdr_access3args (XDR *, access3args*);
825 extern  bool_t xdr_access3resok (XDR *, access3resok*);
826 extern  bool_t xdr_access3res (XDR *, access3res*);
827 extern  bool_t xdr_readlink3resok (XDR *, readlink3resok*);
828 extern  bool_t xdr_readlink3res (XDR *, readlink3res*);
829 extern  bool_t xdr_read3args (XDR *, read3args*);
830 extern  bool_t xdr_read3resok (XDR *, read3resok*);
831 extern  bool_t xdr_read3res (XDR *, read3res*);
832 extern  bool_t xdr_stable_how (XDR *, stable_how*);
833 extern  bool_t xdr_write3args (XDR *, write3args*);
834 extern  bool_t xdr_write3resok (XDR *, write3resok*);
835 extern  bool_t xdr_write3res (XDR *, write3res*);
836 extern  bool_t xdr_createmode3 (XDR *, createmode3*);
837 extern  bool_t xdr_createhow3 (XDR *, createhow3*);
838 extern  bool_t xdr_create3args (XDR *, create3args*);
839 extern  bool_t xdr_mkdir3args (XDR *, mkdir3args*);
840 extern  bool_t xdr_symlinkdata3 (XDR *, symlinkdata3*);
841 extern  bool_t xdr_symlink3args (XDR *, symlink3args*);
842 extern  bool_t xdr_devicedata3 (XDR *, devicedata3*);
843 extern  bool_t xdr_mknoddata3 (XDR *, mknoddata3*);
844 extern  bool_t xdr_mknod3args (XDR *, mknod3args*);
845 extern  bool_t xdr_rename3args (XDR *, rename3args*);
846 extern  bool_t xdr_rename3wcc (XDR *, rename3wcc*);
847 extern  bool_t xdr_rename3res (XDR *, rename3res*);
848 extern  bool_t xdr_link3args (XDR *, link3args*);
849 extern  bool_t xdr_link3wcc (XDR *, link3wcc*);
850 extern  bool_t xdr_link3res (XDR *, link3res*);
851 extern  bool_t xdr_readdir3args (XDR *, readdir3args*);
852 extern  bool_t xdr_entry3 (XDR *, entry3*);
853 extern  bool_t xdr_dirlist3 (XDR *, dirlist3*);
854 extern  bool_t xdr_readdir3resok (XDR *, readdir3resok*);
855 extern  bool_t xdr_readdir3res (XDR *, readdir3res*);
856 extern  bool_t xdr_readdirplus3args (XDR *, readdirplus3args*);
857 extern  bool_t xdr_entryplus3 (XDR *, entryplus3*);
858 extern  bool_t xdr_dirlistplus3 (XDR *, dirlistplus3*);
859 extern  bool_t xdr_readdirplus3resok (XDR *, readdirplus3resok*);
860 extern  bool_t xdr_readdirplus3res (XDR *, readdirplus3res*);
861 extern  bool_t xdr_fsstat3resok (XDR *, fsstat3resok*);
862 extern  bool_t xdr_fsstat3res (XDR *, fsstat3res*);
863 extern  bool_t xdr_fsinfo3resok (XDR *, fsinfo3resok*);
864 extern  bool_t xdr_fsinfo3res (XDR *, fsinfo3res*);
865 extern  bool_t xdr_pathconf3resok (XDR *, pathconf3resok*);
866 extern  bool_t xdr_pathconf3res (XDR *, pathconf3res*);
867 extern  bool_t xdr_commit3args (XDR *, commit3args*);
868 extern  bool_t xdr_commit3resok (XDR *, commit3resok*);
869 extern  bool_t xdr_commit3res (XDR *, commit3res*);
870
871 #else /* K&R C */
872 extern bool_t xdr_uint64 ();
873 extern bool_t xdr_int64 ();
874 extern bool_t xdr_uint32 ();
875 extern bool_t xdr_int32 ();
876 extern bool_t xdr_filename3 ();
877 extern bool_t xdr_nfspath3 ();
878 extern bool_t xdr_cookieverf3 ();
879 extern bool_t xdr_createverf3 ();
880 extern bool_t xdr_writeverf3 ();
881 extern bool_t xdr_nfsstat3 ();
882 extern bool_t xdr_ftype3 ();
883 extern bool_t xdr_specdata3 ();
884 extern bool_t xdr_nfs_fh3 ();
885 extern bool_t xdr_nfstime3 ();
886 extern bool_t xdr_fattr3 ();
887 extern bool_t xdr_post_op_attr ();
888 extern bool_t xdr_wcc_attr ();
889 extern bool_t xdr_pre_op_attr ();
890 extern bool_t xdr_wcc_data ();
891 extern bool_t xdr_post_op_fh3 ();
892 extern bool_t xdr_set_uint32 ();
893 extern bool_t xdr_set_uint64 ();
894 extern bool_t xdr_time_how ();
895 extern bool_t xdr_set_time ();
896 extern bool_t xdr_sattr3 ();
897 extern bool_t xdr_diropargs3 ();
898 extern bool_t xdr_diropres3ok ();
899 extern bool_t xdr_diropres3 ();
900 extern bool_t xdr_wccstat3 ();
901 extern bool_t xdr_getattr3res ();
902 extern bool_t xdr_sattrguard3 ();
903 extern bool_t xdr_setattr3args ();
904 extern bool_t xdr_lookup3resok ();
905 extern bool_t xdr_lookup3res ();
906 extern bool_t xdr_access3args ();
907 extern bool_t xdr_access3resok ();
908 extern bool_t xdr_access3res ();
909 extern bool_t xdr_readlink3resok ();
910 extern bool_t xdr_readlink3res ();
911 extern bool_t xdr_read3args ();
912 extern bool_t xdr_read3resok ();
913 extern bool_t xdr_read3res ();
914 extern bool_t xdr_stable_how ();
915 extern bool_t xdr_write3args ();
916 extern bool_t xdr_write3resok ();
917 extern bool_t xdr_write3res ();
918 extern bool_t xdr_createmode3 ();
919 extern bool_t xdr_createhow3 ();
920 extern bool_t xdr_create3args ();
921 extern bool_t xdr_mkdir3args ();
922 extern bool_t xdr_symlinkdata3 ();
923 extern bool_t xdr_symlink3args ();
924 extern bool_t xdr_devicedata3 ();
925 extern bool_t xdr_mknoddata3 ();
926 extern bool_t xdr_mknod3args ();
927 extern bool_t xdr_rename3args ();
928 extern bool_t xdr_rename3wcc ();
929 extern bool_t xdr_rename3res ();
930 extern bool_t xdr_link3args ();
931 extern bool_t xdr_link3wcc ();
932 extern bool_t xdr_link3res ();
933 extern bool_t xdr_readdir3args ();
934 extern bool_t xdr_entry3 ();
935 extern bool_t xdr_dirlist3 ();
936 extern bool_t xdr_readdir3resok ();
937 extern bool_t xdr_readdir3res ();
938 extern bool_t xdr_readdirplus3args ();
939 extern bool_t xdr_entryplus3 ();
940 extern bool_t xdr_dirlistplus3 ();
941 extern bool_t xdr_readdirplus3resok ();
942 extern bool_t xdr_readdirplus3res ();
943 extern bool_t xdr_fsstat3resok ();
944 extern bool_t xdr_fsstat3res ();
945 extern bool_t xdr_fsinfo3resok ();
946 extern bool_t xdr_fsinfo3res ();
947 extern bool_t xdr_pathconf3resok ();
948 extern bool_t xdr_pathconf3res ();
949 extern bool_t xdr_commit3args ();
950 extern bool_t xdr_commit3resok ();
951 extern bool_t xdr_commit3res ();
952
953 #endif /* K&R C */
954
955 #ifdef __cplusplus
956 }
957 #endif
958
959 #endif /* !_NFS3_PROT_H_RPCGEN */