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