Version increased to unfs3_0.9.22+dfsg-1maemo3
[unfs3] / unfs3 / xdr.c
1
2 /*
3  * UNFS3 XDR routines
4  * Generated by rpcgen
5  */
6 #include "config.h"
7
8 #include <sys/types.h>
9 #include <rpc/rpc.h>
10 #ifndef WIN32
11 #include <netinet/in.h>
12 #endif                                 /* WIN32 */
13
14 #if HAVE_XDR_U_INT64_T == 1
15 #define xdr_uint64_t xdr_u_int64_t
16 #undef HAVE_XDR_UINT64_T
17 #define HAVE_XDR_UINT64_T 1
18 #endif
19
20 #include "mount.h"
21 #include "nfs.h"
22 #include "xdr.h"
23
24 bool_t xdr_fhandle3(XDR * xdrs, fhandle3 * objp)
25 {
26     if (!xdr_bytes
27         (xdrs, (char **) &objp->fhandle3_val, (u_int *) & objp->fhandle3_len,
28          FHSIZE3))
29         return FALSE;
30     return TRUE;
31 }
32
33 bool_t xdr_mountstat3(XDR * xdrs, mountstat3 * objp)
34 {
35     if (!xdr_enum(xdrs, (enum_t *) objp))
36         return FALSE;
37     return TRUE;
38 }
39
40 bool_t xdr_mountres3_ok(XDR * xdrs, mountres3_ok * objp)
41 {
42     if (!xdr_fhandle3(xdrs, &objp->fhandle))
43         return FALSE;
44     if (!xdr_array
45         (xdrs, (char **) (void *) &objp->auth_flavors.auth_flavors_val,
46          (u_int *) & objp->auth_flavors.auth_flavors_len, ~0, sizeof(int),
47          (xdrproc_t) xdr_int))
48         return FALSE;
49     return TRUE;
50 }
51
52 bool_t xdr_mountres3(XDR * xdrs, mountres3 * objp)
53 {
54     if (!xdr_mountstat3(xdrs, &objp->fhs_status))
55         return FALSE;
56     switch (objp->fhs_status) {
57         case 0:
58             if (!xdr_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo))
59                 return FALSE;
60             break;
61         default:
62             break;
63     }
64     return TRUE;
65 }
66
67 bool_t xdr_dirpath(XDR * xdrs, dirpath * objp)
68 {
69     if (!xdr_string(xdrs, objp, MNTPATHLEN))
70         return FALSE;
71     return TRUE;
72 }
73
74 bool_t xdr_name(XDR * xdrs, name * objp)
75 {
76     if (!xdr_string(xdrs, objp, MNTNAMLEN))
77         return FALSE;
78     return TRUE;
79 }
80
81 bool_t xdr_mountlist(XDR * xdrs, mountlist * objp)
82 {
83     if (!xdr_pointer
84         (xdrs, (char **) objp, sizeof(struct mountbody),
85          (xdrproc_t) xdr_mountbody))
86         return FALSE;
87     return TRUE;
88 }
89
90 bool_t xdr_mountbody(XDR * xdrs, mountbody * objp)
91 {
92     if (!xdr_name(xdrs, &objp->ml_hostname))
93         return FALSE;
94     if (!xdr_dirpath(xdrs, &objp->ml_directory))
95         return FALSE;
96     if (!xdr_mountlist(xdrs, &objp->ml_next))
97         return FALSE;
98     return TRUE;
99 }
100
101 bool_t xdr_groups(XDR * xdrs, groups * objp)
102 {
103     if (!xdr_pointer
104         (xdrs, (char **) objp, sizeof(struct groupnode),
105          (xdrproc_t) xdr_groupnode))
106         return FALSE;
107     return TRUE;
108 }
109
110 bool_t xdr_groupnode(XDR * xdrs, groupnode * objp)
111 {
112     if (!xdr_name(xdrs, &objp->gr_name))
113         return FALSE;
114     if (!xdr_groups(xdrs, &objp->gr_next))
115         return FALSE;
116     return TRUE;
117 }
118
119 bool_t xdr_exports(XDR * xdrs, exports * objp)
120 {
121     if (!xdr_pointer
122         (xdrs, (char **) objp, sizeof(struct exportnode),
123          (xdrproc_t) xdr_exportnode))
124         return FALSE;
125     return TRUE;
126 }
127
128 bool_t xdr_exportnode(XDR * xdrs, exportnode * objp)
129 {
130     if (!xdr_dirpath(xdrs, &objp->ex_dir))
131         return FALSE;
132     if (!xdr_groups(xdrs, &objp->ex_groups))
133         return FALSE;
134     if (!xdr_exports(xdrs, &objp->ex_next))
135         return FALSE;
136     return TRUE;
137 }
138
139 bool_t xdr_filename(XDR * xdrs, filename * objp)
140 {
141     if (!xdr_string(xdrs, objp, NFS_MAXNAMLEN))
142         return FALSE;
143     return TRUE;
144 }
145
146 bool_t xdr_nfspath(XDR * xdrs, nfspath * objp)
147 {
148     if (!xdr_string(xdrs, objp, NFS_MAXPATHLEN))
149         return FALSE;
150     return TRUE;
151 }
152
153 #if HAVE_XDR_UINT64 == 0
154 #if HAVE_XDR_UINT64_T == 1
155 bool_t xdr_uint64(XDR * xdrs, uint64 * objp)
156 {
157     if (!xdr_uint64_t(xdrs, objp))
158         return FALSE;
159     return TRUE;
160 }
161 #else
162 bool_t xdr_uint64(XDR * xdrs, uint64 * objp)
163 {
164     char buf[8];
165
166     if (xdrs->x_op == XDR_ENCODE) {
167         buf[0] = (*objp >> 56) & 0xFF;
168         buf[1] = (*objp >> 48) & 0xFF;
169         buf[2] = (*objp >> 40) & 0xFF;
170         buf[3] = (*objp >> 32) & 0xFF;
171         buf[4] = (*objp >> 24) & 0xFF;
172         buf[5] = (*objp >> 16) & 0xFF;
173         buf[6] = (*objp >> 8) & 0xFF;
174         buf[7] = *objp & 0xFF;
175         if (!xdr_opaque(xdrs, buf, 8))
176             return FALSE;
177         return TRUE;
178     } else if (xdrs->x_op == XDR_DECODE) {
179         uint32 *top = (void *) &buf[0];
180         uint32 *bottom = (void *) &buf[4];
181
182         if (!xdr_opaque(xdrs, buf, 8))
183             return FALSE;
184         *objp = (uint64) (ntohl(*top)) << 32 | ntohl(*bottom);
185         return TRUE;
186     }
187
188     if (!xdr_opaque(xdrs, buf, 8))
189         return FALSE;
190     return TRUE;
191 }
192 #endif
193 #endif
194
195 #if HAVE_XDR_UINT32 == 0 && HAVE_XDR_U_LONG == 1
196 bool_t xdr_uint32(XDR * xdrs, uint32 * objp)
197 {
198     if (!xdr_u_long(xdrs, objp))
199         return FALSE;
200     return TRUE;
201 }
202 #endif
203
204 #if HAVE_XDR_INT32 == 0 && HAVE_XDR_LONG == 1
205 bool_t xdr_int32(XDR * xdrs, int32 * objp)
206 {
207     if (!xdr_long(xdrs, objp))
208         return FALSE;
209     return TRUE;
210 }
211 #endif
212
213 bool_t xdr_filename3(XDR * xdrs, filename3 * objp)
214 {
215     if (!xdr_string(xdrs, objp, ~0))
216         return FALSE;
217     return TRUE;
218 }
219
220 bool_t xdr_nfspath3(XDR * xdrs, nfspath3 * objp)
221 {
222     if (!xdr_string(xdrs, objp, ~0))
223         return FALSE;
224     return TRUE;
225 }
226
227 bool_t xdr_fileid3(XDR * xdrs, fileid3 * objp)
228 {
229     if (!xdr_uint64(xdrs, objp))
230         return FALSE;
231     return TRUE;
232 }
233
234 bool_t xdr_cookie3(XDR * xdrs, cookie3 * objp)
235 {
236     if (!xdr_uint64(xdrs, objp))
237         return FALSE;
238     return TRUE;
239 }
240
241 bool_t xdr_cookieverf3(XDR * xdrs, cookieverf3 objp)
242 {
243     if (!xdr_opaque(xdrs, objp, NFS3_COOKIEVERFSIZE))
244         return FALSE;
245     return TRUE;
246 }
247
248 bool_t xdr_createverf3(XDR * xdrs, createverf3 objp)
249 {
250     if (!xdr_opaque(xdrs, objp, NFS3_CREATEVERFSIZE))
251         return FALSE;
252     return TRUE;
253 }
254
255 bool_t xdr_writeverf3(XDR * xdrs, writeverf3 objp)
256 {
257     if (!xdr_opaque(xdrs, objp, NFS3_WRITEVERFSIZE))
258         return FALSE;
259     return TRUE;
260 }
261
262 bool_t xdr_uid3(XDR * xdrs, uid3 * objp)
263 {
264     if (!xdr_uint32(xdrs, objp))
265         return FALSE;
266     return TRUE;
267 }
268
269 bool_t xdr_gid3(XDR * xdrs, gid3 * objp)
270 {
271     if (!xdr_uint32(xdrs, objp))
272         return FALSE;
273     return TRUE;
274 }
275
276 bool_t xdr_size3(XDR * xdrs, size3 * objp)
277 {
278     if (!xdr_uint64(xdrs, objp))
279         return FALSE;
280     return TRUE;
281 }
282
283 bool_t xdr_offset3(XDR * xdrs, offset3 * objp)
284 {
285     if (!xdr_uint64(xdrs, objp))
286         return FALSE;
287     return TRUE;
288 }
289
290 bool_t xdr_mode3(XDR * xdrs, mode3 * objp)
291 {
292     if (!xdr_uint32(xdrs, objp))
293         return FALSE;
294     return TRUE;
295 }
296
297 bool_t xdr_count3(XDR * xdrs, count3 * objp)
298 {
299     if (!xdr_uint32(xdrs, objp))
300         return FALSE;
301     return TRUE;
302 }
303
304 bool_t xdr_nfsstat3(XDR * xdrs, nfsstat3 * objp)
305 {
306     if (!xdr_enum(xdrs, (enum_t *) objp))
307         return FALSE;
308     return TRUE;
309 }
310
311 bool_t xdr_ftype3(XDR * xdrs, ftype3 * objp)
312 {
313     if (!xdr_enum(xdrs, (enum_t *) objp))
314         return FALSE;
315     return TRUE;
316 }
317
318 bool_t xdr_specdata3(XDR * xdrs, specdata3 * objp)
319 {
320     if (!xdr_uint32(xdrs, &objp->specdata1))
321         return FALSE;
322     if (!xdr_uint32(xdrs, &objp->specdata2))
323         return FALSE;
324     return TRUE;
325 }
326
327 bool_t xdr_nfs_fh3(XDR * xdrs, nfs_fh3 * objp)
328 {
329     if (!xdr_bytes
330         (xdrs, (char **) &objp->data.data_val,
331          (u_int *) & objp->data.data_len, NFS3_FHSIZE))
332         return FALSE;
333     return TRUE;
334 }
335
336 bool_t xdr_nfstime3(XDR * xdrs, nfstime3 * objp)
337 {
338     if (!xdr_uint32(xdrs, &objp->seconds))
339         return FALSE;
340     if (!xdr_uint32(xdrs, &objp->nseconds))
341         return FALSE;
342     return TRUE;
343 }
344
345 bool_t xdr_fattr3(XDR * xdrs, fattr3 * objp)
346 {
347     if (!xdr_ftype3(xdrs, &objp->type))
348         return FALSE;
349     if (!xdr_mode3(xdrs, &objp->mode))
350         return FALSE;
351     if (!xdr_uint32(xdrs, &objp->nlink))
352         return FALSE;
353     if (!xdr_uid3(xdrs, &objp->uid))
354         return FALSE;
355     if (!xdr_gid3(xdrs, &objp->gid))
356         return FALSE;
357     if (!xdr_size3(xdrs, &objp->size))
358         return FALSE;
359     if (!xdr_size3(xdrs, &objp->used))
360         return FALSE;
361     if (!xdr_specdata3(xdrs, &objp->rdev))
362         return FALSE;
363     if (!xdr_uint64(xdrs, &objp->fsid))
364         return FALSE;
365     if (!xdr_fileid3(xdrs, &objp->fileid))
366         return FALSE;
367     if (!xdr_nfstime3(xdrs, &objp->atime))
368         return FALSE;
369     if (!xdr_nfstime3(xdrs, &objp->mtime))
370         return FALSE;
371     if (!xdr_nfstime3(xdrs, &objp->ctime))
372         return FALSE;
373     return TRUE;
374 }
375
376 bool_t xdr_post_op_attr(XDR * xdrs, post_op_attr * objp)
377 {
378     if (!xdr_bool(xdrs, &objp->attributes_follow))
379         return FALSE;
380     switch (objp->attributes_follow) {
381         case TRUE:
382             if (!xdr_fattr3(xdrs, &objp->post_op_attr_u.attributes))
383                 return FALSE;
384             break;
385         case FALSE:
386             break;
387         default:
388             return FALSE;
389     }
390     return TRUE;
391 }
392
393 bool_t xdr_wcc_attr(XDR * xdrs, wcc_attr * objp)
394 {
395     if (!xdr_size3(xdrs, &objp->size))
396         return FALSE;
397     if (!xdr_nfstime3(xdrs, &objp->mtime))
398         return FALSE;
399     if (!xdr_nfstime3(xdrs, &objp->ctime))
400         return FALSE;
401     return TRUE;
402 }
403
404 bool_t xdr_pre_op_attr(XDR * xdrs, pre_op_attr * objp)
405 {
406     if (!xdr_bool(xdrs, &objp->attributes_follow))
407         return FALSE;
408     switch (objp->attributes_follow) {
409         case TRUE:
410             if (!xdr_wcc_attr(xdrs, &objp->pre_op_attr_u.attributes))
411                 return FALSE;
412             break;
413         case FALSE:
414             break;
415         default:
416             return FALSE;
417     }
418     return TRUE;
419 }
420
421 bool_t xdr_wcc_data(XDR * xdrs, wcc_data * objp)
422 {
423     if (!xdr_pre_op_attr(xdrs, &objp->before))
424         return FALSE;
425     if (!xdr_post_op_attr(xdrs, &objp->after))
426         return FALSE;
427     return TRUE;
428 }
429
430 bool_t xdr_post_op_fh3(XDR * xdrs, post_op_fh3 * objp)
431 {
432     if (!xdr_bool(xdrs, &objp->handle_follows))
433         return FALSE;
434     switch (objp->handle_follows) {
435         case TRUE:
436             if (!xdr_nfs_fh3(xdrs, &objp->post_op_fh3_u.handle))
437                 return FALSE;
438             break;
439         case FALSE:
440             break;
441         default:
442             return FALSE;
443     }
444     return TRUE;
445 }
446
447 bool_t xdr_time_how(XDR * xdrs, time_how * objp)
448 {
449     if (!xdr_enum(xdrs, (enum_t *) objp))
450         return FALSE;
451     return TRUE;
452 }
453
454 bool_t xdr_set_mode3(XDR * xdrs, set_mode3 * objp)
455 {
456     if (!xdr_bool(xdrs, &objp->set_it))
457         return FALSE;
458     switch (objp->set_it) {
459         case TRUE:
460             if (!xdr_mode3(xdrs, &objp->set_mode3_u.mode))
461                 return FALSE;
462             break;
463         default:
464             break;
465     }
466     return TRUE;
467 }
468
469 bool_t xdr_set_uid3(XDR * xdrs, set_uid3 * objp)
470 {
471     if (!xdr_bool(xdrs, &objp->set_it))
472         return FALSE;
473     switch (objp->set_it) {
474         case TRUE:
475             if (!xdr_uid3(xdrs, &objp->set_uid3_u.uid))
476                 return FALSE;
477             break;
478         default:
479             break;
480     }
481     return TRUE;
482 }
483
484 bool_t xdr_set_gid3(XDR * xdrs, set_gid3 * objp)
485 {
486     if (!xdr_bool(xdrs, &objp->set_it))
487         return FALSE;
488     switch (objp->set_it) {
489         case TRUE:
490             if (!xdr_gid3(xdrs, &objp->set_gid3_u.gid))
491                 return FALSE;
492             break;
493         default:
494             break;
495     }
496     return TRUE;
497 }
498
499 bool_t xdr_set_size3(XDR * xdrs, set_size3 * objp)
500 {
501     if (!xdr_bool(xdrs, &objp->set_it))
502         return FALSE;
503     switch (objp->set_it) {
504         case TRUE:
505             if (!xdr_size3(xdrs, &objp->set_size3_u.size))
506                 return FALSE;
507             break;
508         default:
509             break;
510     }
511     return TRUE;
512 }
513
514 bool_t xdr_set_atime(XDR * xdrs, set_atime * objp)
515 {
516     if (!xdr_time_how(xdrs, &objp->set_it))
517         return FALSE;
518     switch (objp->set_it) {
519         case SET_TO_CLIENT_TIME:
520             if (!xdr_nfstime3(xdrs, &objp->set_atime_u.atime))
521                 return FALSE;
522             break;
523         default:
524             break;
525     }
526     return TRUE;
527 }
528
529 bool_t xdr_set_mtime(XDR * xdrs, set_mtime * objp)
530 {
531     if (!xdr_time_how(xdrs, &objp->set_it))
532         return FALSE;
533     switch (objp->set_it) {
534         case SET_TO_CLIENT_TIME:
535             if (!xdr_nfstime3(xdrs, &objp->set_mtime_u.mtime))
536                 return FALSE;
537             break;
538         default:
539             break;
540     }
541     return TRUE;
542 }
543
544 bool_t xdr_sattr3(XDR * xdrs, sattr3 * objp)
545 {
546     if (!xdr_set_mode3(xdrs, &objp->mode))
547         return FALSE;
548     if (!xdr_set_uid3(xdrs, &objp->uid))
549         return FALSE;
550     if (!xdr_set_gid3(xdrs, &objp->gid))
551         return FALSE;
552     if (!xdr_set_size3(xdrs, &objp->size))
553         return FALSE;
554     if (!xdr_set_atime(xdrs, &objp->atime))
555         return FALSE;
556     if (!xdr_set_mtime(xdrs, &objp->mtime))
557         return FALSE;
558     return TRUE;
559 }
560
561 bool_t xdr_diropargs3(XDR * xdrs, diropargs3 * objp)
562 {
563     if (!xdr_nfs_fh3(xdrs, &objp->dir))
564         return FALSE;
565     if (!xdr_filename3(xdrs, &objp->name))
566         return FALSE;
567     return TRUE;
568 }
569
570 bool_t xdr_GETATTR3args(XDR * xdrs, GETATTR3args * objp)
571 {
572     if (!xdr_nfs_fh3(xdrs, &objp->object))
573         return FALSE;
574     return TRUE;
575 }
576
577 bool_t xdr_GETATTR3resok(XDR * xdrs, GETATTR3resok * objp)
578 {
579     if (!xdr_fattr3(xdrs, &objp->obj_attributes))
580         return FALSE;
581     return TRUE;
582 }
583
584 bool_t xdr_GETATTR3res(XDR * xdrs, GETATTR3res * objp)
585 {
586     if (!xdr_nfsstat3(xdrs, &objp->status))
587         return FALSE;
588     switch (objp->status) {
589         case NFS3_OK:
590             if (!xdr_GETATTR3resok(xdrs, &objp->GETATTR3res_u.resok))
591                 return FALSE;
592             break;
593         default:
594             break;
595     }
596     return TRUE;
597 }
598
599 bool_t xdr_sattrguard3(XDR * xdrs, sattrguard3 * objp)
600 {
601     if (!xdr_bool(xdrs, &objp->check))
602         return FALSE;
603     switch (objp->check) {
604         case TRUE:
605             if (!xdr_nfstime3(xdrs, &objp->sattrguard3_u.obj_ctime))
606                 return FALSE;
607             break;
608         case FALSE:
609             break;
610         default:
611             return FALSE;
612     }
613     return TRUE;
614 }
615
616 bool_t xdr_SETATTR3args(XDR * xdrs, SETATTR3args * objp)
617 {
618     if (!xdr_nfs_fh3(xdrs, &objp->object))
619         return FALSE;
620     if (!xdr_sattr3(xdrs, &objp->new_attributes))
621         return FALSE;
622     if (!xdr_sattrguard3(xdrs, &objp->guard))
623         return FALSE;
624     return TRUE;
625 }
626
627 bool_t xdr_SETATTR3resok(XDR * xdrs, SETATTR3resok * objp)
628 {
629     if (!xdr_wcc_data(xdrs, &objp->obj_wcc))
630         return FALSE;
631     return TRUE;
632 }
633
634 bool_t xdr_SETATTR3resfail(XDR * xdrs, SETATTR3resfail * objp)
635 {
636     if (!xdr_wcc_data(xdrs, &objp->obj_wcc))
637         return FALSE;
638     return TRUE;
639 }
640
641 bool_t xdr_SETATTR3res(XDR * xdrs, SETATTR3res * objp)
642 {
643     if (!xdr_nfsstat3(xdrs, &objp->status))
644         return FALSE;
645     switch (objp->status) {
646         case NFS3_OK:
647             if (!xdr_SETATTR3resok(xdrs, &objp->SETATTR3res_u.resok))
648                 return FALSE;
649             break;
650         default:
651             if (!xdr_SETATTR3resfail(xdrs, &objp->SETATTR3res_u.resfail))
652                 return FALSE;
653             break;
654     }
655     return TRUE;
656 }
657
658 bool_t xdr_LOOKUP3args(XDR * xdrs, LOOKUP3args * objp)
659 {
660     if (!xdr_diropargs3(xdrs, &objp->what))
661         return FALSE;
662     return TRUE;
663 }
664
665 bool_t xdr_LOOKUP3resok(XDR * xdrs, LOOKUP3resok * objp)
666 {
667     if (!xdr_nfs_fh3(xdrs, &objp->object))
668         return FALSE;
669     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
670         return FALSE;
671     if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
672         return FALSE;
673     return TRUE;
674 }
675
676 bool_t xdr_LOOKUP3resfail(XDR * xdrs, LOOKUP3resfail * objp)
677 {
678     if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
679         return FALSE;
680     return TRUE;
681 }
682
683 bool_t xdr_LOOKUP3res(XDR * xdrs, LOOKUP3res * objp)
684 {
685     if (!xdr_nfsstat3(xdrs, &objp->status))
686         return FALSE;
687     switch (objp->status) {
688         case NFS3_OK:
689             if (!xdr_LOOKUP3resok(xdrs, &objp->LOOKUP3res_u.resok))
690                 return FALSE;
691             break;
692         default:
693             if (!xdr_LOOKUP3resfail(xdrs, &objp->LOOKUP3res_u.resfail))
694                 return FALSE;
695             break;
696     }
697     return TRUE;
698 }
699
700 bool_t xdr_ACCESS3args(XDR * xdrs, ACCESS3args * objp)
701 {
702     if (!xdr_nfs_fh3(xdrs, &objp->object))
703         return FALSE;
704     if (!xdr_uint32(xdrs, &objp->access))
705         return FALSE;
706     return TRUE;
707 }
708
709 bool_t xdr_ACCESS3resok(XDR * xdrs, ACCESS3resok * objp)
710 {
711     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
712         return FALSE;
713     if (!xdr_uint32(xdrs, &objp->access))
714         return FALSE;
715     return TRUE;
716 }
717
718 bool_t xdr_ACCESS3resfail(XDR * xdrs, ACCESS3resfail * objp)
719 {
720     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
721         return FALSE;
722     return TRUE;
723 }
724
725 bool_t xdr_ACCESS3res(XDR * xdrs, ACCESS3res * objp)
726 {
727     if (!xdr_nfsstat3(xdrs, &objp->status))
728         return FALSE;
729     switch (objp->status) {
730         case NFS3_OK:
731             if (!xdr_ACCESS3resok(xdrs, &objp->ACCESS3res_u.resok))
732                 return FALSE;
733             break;
734         default:
735             if (!xdr_ACCESS3resfail(xdrs, &objp->ACCESS3res_u.resfail))
736                 return FALSE;
737             break;
738     }
739     return TRUE;
740 }
741
742 bool_t xdr_READLINK3args(XDR * xdrs, READLINK3args * objp)
743 {
744     if (!xdr_nfs_fh3(xdrs, &objp->symlink))
745         return FALSE;
746     return TRUE;
747 }
748
749 bool_t xdr_READLINK3resok(XDR * xdrs, READLINK3resok * objp)
750 {
751     if (!xdr_post_op_attr(xdrs, &objp->symlink_attributes))
752         return FALSE;
753     if (!xdr_nfspath3(xdrs, &objp->data))
754         return FALSE;
755     return TRUE;
756 }
757
758 bool_t xdr_READLINK3resfail(XDR * xdrs, READLINK3resfail * objp)
759 {
760     if (!xdr_post_op_attr(xdrs, &objp->symlink_attributes))
761         return FALSE;
762     return TRUE;
763 }
764
765 bool_t xdr_READLINK3res(XDR * xdrs, READLINK3res * objp)
766 {
767     if (!xdr_nfsstat3(xdrs, &objp->status))
768         return FALSE;
769     switch (objp->status) {
770         case NFS3_OK:
771             if (!xdr_READLINK3resok(xdrs, &objp->READLINK3res_u.resok))
772                 return FALSE;
773             break;
774         default:
775             if (!xdr_READLINK3resfail(xdrs, &objp->READLINK3res_u.resfail))
776                 return FALSE;
777             break;
778     }
779     return TRUE;
780 }
781
782 bool_t xdr_READ3args(XDR * xdrs, READ3args * objp)
783 {
784     if (!xdr_nfs_fh3(xdrs, &objp->file))
785         return FALSE;
786     if (!xdr_offset3(xdrs, &objp->offset))
787         return FALSE;
788     if (!xdr_count3(xdrs, &objp->count))
789         return FALSE;
790     return TRUE;
791 }
792
793 bool_t xdr_READ3resok(XDR * xdrs, READ3resok * objp)
794 {
795     if (!xdr_post_op_attr(xdrs, &objp->file_attributes))
796         return FALSE;
797     if (!xdr_count3(xdrs, &objp->count))
798         return FALSE;
799     if (!xdr_bool(xdrs, &objp->eof))
800         return FALSE;
801     if (!xdr_bytes
802         (xdrs, (char **) &objp->data.data_val,
803          (u_int *) & objp->data.data_len, ~0))
804         return FALSE;
805     return TRUE;
806 }
807
808 bool_t xdr_READ3resfail(XDR * xdrs, READ3resfail * objp)
809 {
810     if (!xdr_post_op_attr(xdrs, &objp->file_attributes))
811         return FALSE;
812     return TRUE;
813 }
814
815 bool_t xdr_READ3res(XDR * xdrs, READ3res * objp)
816 {
817     if (!xdr_nfsstat3(xdrs, &objp->status))
818         return FALSE;
819     switch (objp->status) {
820         case NFS3_OK:
821             if (!xdr_READ3resok(xdrs, &objp->READ3res_u.resok))
822                 return FALSE;
823             break;
824         default:
825             if (!xdr_READ3resfail(xdrs, &objp->READ3res_u.resfail))
826                 return FALSE;
827             break;
828     }
829     return TRUE;
830 }
831
832 bool_t xdr_stable_how(XDR * xdrs, stable_how * objp)
833 {
834     if (!xdr_enum(xdrs, (enum_t *) objp))
835         return FALSE;
836     return TRUE;
837 }
838
839 bool_t xdr_WRITE3args(XDR * xdrs, WRITE3args * objp)
840 {
841     if (!xdr_nfs_fh3(xdrs, &objp->file))
842         return FALSE;
843     if (!xdr_offset3(xdrs, &objp->offset))
844         return FALSE;
845     if (!xdr_count3(xdrs, &objp->count))
846         return FALSE;
847     if (!xdr_stable_how(xdrs, &objp->stable))
848         return FALSE;
849     if (!xdr_bytes
850         (xdrs, (char **) &objp->data.data_val,
851          (u_int *) & objp->data.data_len, ~0))
852         return FALSE;
853     return TRUE;
854 }
855
856 bool_t xdr_WRITE3resok(XDR * xdrs, WRITE3resok * objp)
857 {
858     if (!xdr_wcc_data(xdrs, &objp->file_wcc))
859         return FALSE;
860     if (!xdr_count3(xdrs, &objp->count))
861         return FALSE;
862     if (!xdr_stable_how(xdrs, &objp->committed))
863         return FALSE;
864     if (!xdr_writeverf3(xdrs, objp->verf))
865         return FALSE;
866     return TRUE;
867 }
868
869 bool_t xdr_WRITE3resfail(XDR * xdrs, WRITE3resfail * objp)
870 {
871     if (!xdr_wcc_data(xdrs, &objp->file_wcc))
872         return FALSE;
873     return TRUE;
874 }
875
876 bool_t xdr_WRITE3res(XDR * xdrs, WRITE3res * objp)
877 {
878     if (!xdr_nfsstat3(xdrs, &objp->status))
879         return FALSE;
880     switch (objp->status) {
881         case NFS3_OK:
882             if (!xdr_WRITE3resok(xdrs, &objp->WRITE3res_u.resok))
883                 return FALSE;
884             break;
885         default:
886             if (!xdr_WRITE3resfail(xdrs, &objp->WRITE3res_u.resfail))
887                 return FALSE;
888             break;
889     }
890     return TRUE;
891 }
892
893 bool_t xdr_createmode3(XDR * xdrs, createmode3 * objp)
894 {
895     if (!xdr_enum(xdrs, (enum_t *) objp))
896         return FALSE;
897     return TRUE;
898 }
899
900 bool_t xdr_createhow3(XDR * xdrs, createhow3 * objp)
901 {
902     if (!xdr_createmode3(xdrs, &objp->mode))
903         return FALSE;
904     switch (objp->mode) {
905         case UNCHECKED:
906         case GUARDED:
907             if (!xdr_sattr3(xdrs, &objp->createhow3_u.obj_attributes))
908                 return FALSE;
909             break;
910         case EXCLUSIVE:
911             if (!xdr_createverf3(xdrs, objp->createhow3_u.verf))
912                 return FALSE;
913             break;
914         default:
915             return FALSE;
916     }
917     return TRUE;
918 }
919
920 bool_t xdr_CREATE3args(XDR * xdrs, CREATE3args * objp)
921 {
922     if (!xdr_diropargs3(xdrs, &objp->where))
923         return FALSE;
924     if (!xdr_createhow3(xdrs, &objp->how))
925         return FALSE;
926     return TRUE;
927 }
928
929 bool_t xdr_CREATE3resok(XDR * xdrs, CREATE3resok * objp)
930 {
931     if (!xdr_post_op_fh3(xdrs, &objp->obj))
932         return FALSE;
933     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
934         return FALSE;
935     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
936         return FALSE;
937     return TRUE;
938 }
939
940 bool_t xdr_CREATE3resfail(XDR * xdrs, CREATE3resfail * objp)
941 {
942     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
943         return FALSE;
944     return TRUE;
945 }
946
947 bool_t xdr_CREATE3res(XDR * xdrs, CREATE3res * objp)
948 {
949     if (!xdr_nfsstat3(xdrs, &objp->status))
950         return FALSE;
951     switch (objp->status) {
952         case NFS3_OK:
953             if (!xdr_CREATE3resok(xdrs, &objp->CREATE3res_u.resok))
954                 return FALSE;
955             break;
956         default:
957             if (!xdr_CREATE3resfail(xdrs, &objp->CREATE3res_u.resfail))
958                 return FALSE;
959             break;
960     }
961     return TRUE;
962 }
963
964 bool_t xdr_MKDIR3args(XDR * xdrs, MKDIR3args * objp)
965 {
966     if (!xdr_diropargs3(xdrs, &objp->where))
967         return FALSE;
968     if (!xdr_sattr3(xdrs, &objp->attributes))
969         return FALSE;
970     return TRUE;
971 }
972
973 bool_t xdr_MKDIR3resok(XDR * xdrs, MKDIR3resok * objp)
974 {
975     if (!xdr_post_op_fh3(xdrs, &objp->obj))
976         return FALSE;
977     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
978         return FALSE;
979     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
980         return FALSE;
981     return TRUE;
982 }
983
984 bool_t xdr_MKDIR3resfail(XDR * xdrs, MKDIR3resfail * objp)
985 {
986     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
987         return FALSE;
988     return TRUE;
989 }
990
991 bool_t xdr_MKDIR3res(XDR * xdrs, MKDIR3res * objp)
992 {
993     if (!xdr_nfsstat3(xdrs, &objp->status))
994         return FALSE;
995     switch (objp->status) {
996         case NFS3_OK:
997             if (!xdr_MKDIR3resok(xdrs, &objp->MKDIR3res_u.resok))
998                 return FALSE;
999             break;
1000         default:
1001             if (!xdr_MKDIR3resfail(xdrs, &objp->MKDIR3res_u.resfail))
1002                 return FALSE;
1003             break;
1004     }
1005     return TRUE;
1006 }
1007
1008 bool_t xdr_symlinkdata3(XDR * xdrs, symlinkdata3 * objp)
1009 {
1010     if (!xdr_sattr3(xdrs, &objp->symlink_attributes))
1011         return FALSE;
1012     if (!xdr_nfspath3(xdrs, &objp->symlink_data))
1013         return FALSE;
1014     return TRUE;
1015 }
1016
1017 bool_t xdr_SYMLINK3args(XDR * xdrs, SYMLINK3args * objp)
1018 {
1019     if (!xdr_diropargs3(xdrs, &objp->where))
1020         return FALSE;
1021     if (!xdr_symlinkdata3(xdrs, &objp->symlink))
1022         return FALSE;
1023     return TRUE;
1024 }
1025
1026 bool_t xdr_SYMLINK3resok(XDR * xdrs, SYMLINK3resok * objp)
1027 {
1028     if (!xdr_post_op_fh3(xdrs, &objp->obj))
1029         return FALSE;
1030     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
1031         return FALSE;
1032     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
1033         return FALSE;
1034     return TRUE;
1035 }
1036
1037 bool_t xdr_SYMLINK3resfail(XDR * xdrs, SYMLINK3resfail * objp)
1038 {
1039     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
1040         return FALSE;
1041     return TRUE;
1042 }
1043
1044 bool_t xdr_SYMLINK3res(XDR * xdrs, SYMLINK3res * objp)
1045 {
1046     if (!xdr_nfsstat3(xdrs, &objp->status))
1047         return FALSE;
1048     switch (objp->status) {
1049         case NFS3_OK:
1050             if (!xdr_SYMLINK3resok(xdrs, &objp->SYMLINK3res_u.resok))
1051                 return FALSE;
1052             break;
1053         default:
1054             if (!xdr_SYMLINK3resfail(xdrs, &objp->SYMLINK3res_u.resfail))
1055                 return FALSE;
1056             break;
1057     }
1058     return TRUE;
1059 }
1060
1061 bool_t xdr_devicedata3(XDR * xdrs, devicedata3 * objp)
1062 {
1063     if (!xdr_sattr3(xdrs, &objp->dev_attributes))
1064         return FALSE;
1065     if (!xdr_specdata3(xdrs, &objp->spec))
1066         return FALSE;
1067     return TRUE;
1068 }
1069
1070 bool_t xdr_mknoddata3(XDR * xdrs, mknoddata3 * objp)
1071 {
1072     if (!xdr_ftype3(xdrs, &objp->type))
1073         return FALSE;
1074     switch (objp->type) {
1075         case NF3CHR:
1076         case NF3BLK:
1077             if (!xdr_devicedata3(xdrs, &objp->mknoddata3_u.device))
1078                 return FALSE;
1079             break;
1080         case NF3SOCK:
1081         case NF3FIFO:
1082             if (!xdr_sattr3(xdrs, &objp->mknoddata3_u.pipe_attributes))
1083                 return FALSE;
1084             break;
1085         default:
1086             break;
1087     }
1088     return TRUE;
1089 }
1090
1091 bool_t xdr_MKNOD3args(XDR * xdrs, MKNOD3args * objp)
1092 {
1093     if (!xdr_diropargs3(xdrs, &objp->where))
1094         return FALSE;
1095     if (!xdr_mknoddata3(xdrs, &objp->what))
1096         return FALSE;
1097     return TRUE;
1098 }
1099
1100 bool_t xdr_MKNOD3resok(XDR * xdrs, MKNOD3resok * objp)
1101 {
1102     if (!xdr_post_op_fh3(xdrs, &objp->obj))
1103         return FALSE;
1104     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
1105         return FALSE;
1106     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
1107         return FALSE;
1108     return TRUE;
1109 }
1110
1111 bool_t xdr_MKNOD3resfail(XDR * xdrs, MKNOD3resfail * objp)
1112 {
1113     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
1114         return FALSE;
1115     return TRUE;
1116 }
1117
1118 bool_t xdr_MKNOD3res(XDR * xdrs, MKNOD3res * objp)
1119 {
1120     if (!xdr_nfsstat3(xdrs, &objp->status))
1121         return FALSE;
1122     switch (objp->status) {
1123         case NFS3_OK:
1124             if (!xdr_MKNOD3resok(xdrs, &objp->MKNOD3res_u.resok))
1125                 return FALSE;
1126             break;
1127         default:
1128             if (!xdr_MKNOD3resfail(xdrs, &objp->MKNOD3res_u.resfail))
1129                 return FALSE;
1130             break;
1131     }
1132     return TRUE;
1133 }
1134
1135 bool_t xdr_REMOVE3args(XDR * xdrs, REMOVE3args * objp)
1136 {
1137     if (!xdr_diropargs3(xdrs, &objp->object))
1138         return FALSE;
1139     return TRUE;
1140 }
1141
1142 bool_t xdr_REMOVE3resok(XDR * xdrs, REMOVE3resok * objp)
1143 {
1144     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
1145         return FALSE;
1146     return TRUE;
1147 }
1148
1149 bool_t xdr_REMOVE3resfail(XDR * xdrs, REMOVE3resfail * objp)
1150 {
1151     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
1152         return FALSE;
1153     return TRUE;
1154 }
1155
1156 bool_t xdr_REMOVE3res(XDR * xdrs, REMOVE3res * objp)
1157 {
1158     if (!xdr_nfsstat3(xdrs, &objp->status))
1159         return FALSE;
1160     switch (objp->status) {
1161         case NFS3_OK:
1162             if (!xdr_REMOVE3resok(xdrs, &objp->REMOVE3res_u.resok))
1163                 return FALSE;
1164             break;
1165         default:
1166             if (!xdr_REMOVE3resfail(xdrs, &objp->REMOVE3res_u.resfail))
1167                 return FALSE;
1168             break;
1169     }
1170     return TRUE;
1171 }
1172
1173 bool_t xdr_RMDIR3args(XDR * xdrs, RMDIR3args * objp)
1174 {
1175     if (!xdr_diropargs3(xdrs, &objp->object))
1176         return FALSE;
1177     return TRUE;
1178 }
1179
1180 bool_t xdr_RMDIR3resok(XDR * xdrs, RMDIR3resok * objp)
1181 {
1182     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
1183         return FALSE;
1184     return TRUE;
1185 }
1186
1187 bool_t xdr_RMDIR3resfail(XDR * xdrs, RMDIR3resfail * objp)
1188 {
1189     if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
1190         return FALSE;
1191     return TRUE;
1192 }
1193
1194 bool_t xdr_RMDIR3res(XDR * xdrs, RMDIR3res * objp)
1195 {
1196     if (!xdr_nfsstat3(xdrs, &objp->status))
1197         return FALSE;
1198     switch (objp->status) {
1199         case NFS3_OK:
1200             if (!xdr_RMDIR3resok(xdrs, &objp->RMDIR3res_u.resok))
1201                 return FALSE;
1202             break;
1203         default:
1204             if (!xdr_RMDIR3resfail(xdrs, &objp->RMDIR3res_u.resfail))
1205                 return FALSE;
1206             break;
1207     }
1208     return TRUE;
1209 }
1210
1211 bool_t xdr_RENAME3args(XDR * xdrs, RENAME3args * objp)
1212 {
1213     if (!xdr_diropargs3(xdrs, &objp->from))
1214         return FALSE;
1215     if (!xdr_diropargs3(xdrs, &objp->to))
1216         return FALSE;
1217     return TRUE;
1218 }
1219
1220 bool_t xdr_RENAME3resok(XDR * xdrs, RENAME3resok * objp)
1221 {
1222     if (!xdr_wcc_data(xdrs, &objp->fromdir_wcc))
1223         return FALSE;
1224     if (!xdr_wcc_data(xdrs, &objp->todir_wcc))
1225         return FALSE;
1226     return TRUE;
1227 }
1228
1229 bool_t xdr_RENAME3resfail(XDR * xdrs, RENAME3resfail * objp)
1230 {
1231     if (!xdr_wcc_data(xdrs, &objp->fromdir_wcc))
1232         return FALSE;
1233     if (!xdr_wcc_data(xdrs, &objp->todir_wcc))
1234         return FALSE;
1235     return TRUE;
1236 }
1237
1238 bool_t xdr_RENAME3res(XDR * xdrs, RENAME3res * objp)
1239 {
1240     if (!xdr_nfsstat3(xdrs, &objp->status))
1241         return FALSE;
1242     switch (objp->status) {
1243         case NFS3_OK:
1244             if (!xdr_RENAME3resok(xdrs, &objp->RENAME3res_u.resok))
1245                 return FALSE;
1246             break;
1247         default:
1248             if (!xdr_RENAME3resfail(xdrs, &objp->RENAME3res_u.resfail))
1249                 return FALSE;
1250             break;
1251     }
1252     return TRUE;
1253 }
1254
1255 bool_t xdr_LINK3args(XDR * xdrs, LINK3args * objp)
1256 {
1257     if (!xdr_nfs_fh3(xdrs, &objp->file))
1258         return FALSE;
1259     if (!xdr_diropargs3(xdrs, &objp->link))
1260         return FALSE;
1261     return TRUE;
1262 }
1263
1264 bool_t xdr_LINK3resok(XDR * xdrs, LINK3resok * objp)
1265 {
1266     if (!xdr_post_op_attr(xdrs, &objp->file_attributes))
1267         return FALSE;
1268     if (!xdr_wcc_data(xdrs, &objp->linkdir_wcc))
1269         return FALSE;
1270     return TRUE;
1271 }
1272
1273 bool_t xdr_LINK3resfail(XDR * xdrs, LINK3resfail * objp)
1274 {
1275     if (!xdr_post_op_attr(xdrs, &objp->file_attributes))
1276         return FALSE;
1277     if (!xdr_wcc_data(xdrs, &objp->linkdir_wcc))
1278         return FALSE;
1279     return TRUE;
1280 }
1281
1282 bool_t xdr_LINK3res(XDR * xdrs, LINK3res * objp)
1283 {
1284     if (!xdr_nfsstat3(xdrs, &objp->status))
1285         return FALSE;
1286     switch (objp->status) {
1287         case NFS3_OK:
1288             if (!xdr_LINK3resok(xdrs, &objp->LINK3res_u.resok))
1289                 return FALSE;
1290             break;
1291         default:
1292             if (!xdr_LINK3resfail(xdrs, &objp->LINK3res_u.resfail))
1293                 return FALSE;
1294             break;
1295     }
1296     return TRUE;
1297 }
1298
1299 bool_t xdr_READDIR3args(XDR * xdrs, READDIR3args * objp)
1300 {
1301     if (!xdr_nfs_fh3(xdrs, &objp->dir))
1302         return FALSE;
1303     if (!xdr_cookie3(xdrs, &objp->cookie))
1304         return FALSE;
1305     if (!xdr_cookieverf3(xdrs, objp->cookieverf))
1306         return FALSE;
1307     if (!xdr_count3(xdrs, &objp->count))
1308         return FALSE;
1309     return TRUE;
1310 }
1311
1312 bool_t xdr_entry3(XDR * xdrs, entry3 * objp)
1313 {
1314     if (!xdr_fileid3(xdrs, &objp->fileid))
1315         return FALSE;
1316     if (!xdr_filename3(xdrs, &objp->name))
1317         return FALSE;
1318     if (!xdr_cookie3(xdrs, &objp->cookie))
1319         return FALSE;
1320     if (!xdr_pointer
1321         (xdrs, (char **) (void *) &objp->nextentry, sizeof(entry3),
1322          (xdrproc_t) xdr_entry3))
1323         return FALSE;
1324     return TRUE;
1325 }
1326
1327 bool_t xdr_dirlist3(XDR * xdrs, dirlist3 * objp)
1328 {
1329     if (!xdr_pointer
1330         (xdrs, (char **) (void *) &objp->entries, sizeof(entry3),
1331          (xdrproc_t) xdr_entry3))
1332         return FALSE;
1333     if (!xdr_bool(xdrs, &objp->eof))
1334         return FALSE;
1335     return TRUE;
1336 }
1337
1338 bool_t xdr_READDIR3resok(XDR * xdrs, READDIR3resok * objp)
1339 {
1340     if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
1341         return FALSE;
1342     if (!xdr_cookieverf3(xdrs, objp->cookieverf))
1343         return FALSE;
1344     if (!xdr_dirlist3(xdrs, &objp->reply))
1345         return FALSE;
1346     return TRUE;
1347 }
1348
1349 bool_t xdr_READDIR3resfail(XDR * xdrs, READDIR3resfail * objp)
1350 {
1351     if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
1352         return FALSE;
1353     return TRUE;
1354 }
1355
1356 bool_t xdr_READDIR3res(XDR * xdrs, READDIR3res * objp)
1357 {
1358     if (!xdr_nfsstat3(xdrs, &objp->status))
1359         return FALSE;
1360     switch (objp->status) {
1361         case NFS3_OK:
1362             if (!xdr_READDIR3resok(xdrs, &objp->READDIR3res_u.resok))
1363                 return FALSE;
1364             break;
1365         default:
1366             if (!xdr_READDIR3resfail(xdrs, &objp->READDIR3res_u.resfail))
1367                 return FALSE;
1368             break;
1369     }
1370     return TRUE;
1371 }
1372
1373 bool_t xdr_READDIRPLUS3args(XDR * xdrs, READDIRPLUS3args * objp)
1374 {
1375     if (!xdr_nfs_fh3(xdrs, &objp->dir))
1376         return FALSE;
1377     if (!xdr_cookie3(xdrs, &objp->cookie))
1378         return FALSE;
1379     if (!xdr_cookieverf3(xdrs, objp->cookieverf))
1380         return FALSE;
1381     if (!xdr_count3(xdrs, &objp->dircount))
1382         return FALSE;
1383     if (!xdr_count3(xdrs, &objp->maxcount))
1384         return FALSE;
1385     return TRUE;
1386 }
1387
1388 bool_t xdr_entryplus3(XDR * xdrs, entryplus3 * objp)
1389 {
1390     if (!xdr_fileid3(xdrs, &objp->fileid))
1391         return FALSE;
1392     if (!xdr_filename3(xdrs, &objp->name))
1393         return FALSE;
1394     if (!xdr_cookie3(xdrs, &objp->cookie))
1395         return FALSE;
1396     if (!xdr_post_op_attr(xdrs, &objp->name_attributes))
1397         return FALSE;
1398     if (!xdr_post_op_fh3(xdrs, &objp->name_handle))
1399         return FALSE;
1400     if (!xdr_pointer
1401         (xdrs, (char **) (void *) &objp->nextentry, sizeof(entryplus3),
1402          (xdrproc_t) xdr_entryplus3))
1403         return FALSE;
1404     return TRUE;
1405 }
1406
1407 bool_t xdr_dirlistplus3(XDR * xdrs, dirlistplus3 * objp)
1408 {
1409     if (!xdr_pointer
1410         (xdrs, (char **) (void *) &objp->entries, sizeof(entryplus3),
1411          (xdrproc_t) xdr_entryplus3))
1412         return FALSE;
1413     if (!xdr_bool(xdrs, &objp->eof))
1414         return FALSE;
1415     return TRUE;
1416 }
1417
1418 bool_t xdr_READDIRPLUS3resok(XDR * xdrs, READDIRPLUS3resok * objp)
1419 {
1420     if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
1421         return FALSE;
1422     if (!xdr_cookieverf3(xdrs, objp->cookieverf))
1423         return FALSE;
1424     if (!xdr_dirlistplus3(xdrs, &objp->reply))
1425         return FALSE;
1426     return TRUE;
1427 }
1428
1429 bool_t xdr_READDIRPLUS3resfail(XDR * xdrs, READDIRPLUS3resfail * objp)
1430 {
1431     if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
1432         return FALSE;
1433     return TRUE;
1434 }
1435
1436 bool_t xdr_READDIRPLUS3res(XDR * xdrs, READDIRPLUS3res * objp)
1437 {
1438     if (!xdr_nfsstat3(xdrs, &objp->status))
1439         return FALSE;
1440     switch (objp->status) {
1441         case NFS3_OK:
1442             if (!xdr_READDIRPLUS3resok(xdrs, &objp->READDIRPLUS3res_u.resok))
1443                 return FALSE;
1444             break;
1445         default:
1446             if (!xdr_READDIRPLUS3resfail
1447                 (xdrs, &objp->READDIRPLUS3res_u.resfail))
1448                 return FALSE;
1449             break;
1450     }
1451     return TRUE;
1452 }
1453
1454 bool_t xdr_FSSTAT3args(XDR * xdrs, FSSTAT3args * objp)
1455 {
1456     if (!xdr_nfs_fh3(xdrs, &objp->fsroot))
1457         return FALSE;
1458     return TRUE;
1459 }
1460
1461 bool_t xdr_FSSTAT3resok(XDR * xdrs, FSSTAT3resok * objp)
1462 {
1463     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
1464         return FALSE;
1465     if (!xdr_size3(xdrs, &objp->tbytes))
1466         return FALSE;
1467     if (!xdr_size3(xdrs, &objp->fbytes))
1468         return FALSE;
1469     if (!xdr_size3(xdrs, &objp->abytes))
1470         return FALSE;
1471     if (!xdr_size3(xdrs, &objp->tfiles))
1472         return FALSE;
1473     if (!xdr_size3(xdrs, &objp->ffiles))
1474         return FALSE;
1475     if (!xdr_size3(xdrs, &objp->afiles))
1476         return FALSE;
1477     if (!xdr_uint32(xdrs, &objp->invarsec))
1478         return FALSE;
1479     return TRUE;
1480 }
1481
1482 bool_t xdr_FSSTAT3resfail(XDR * xdrs, FSSTAT3resfail * objp)
1483 {
1484     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
1485         return FALSE;
1486     return TRUE;
1487 }
1488
1489 bool_t xdr_FSSTAT3res(XDR * xdrs, FSSTAT3res * objp)
1490 {
1491     if (!xdr_nfsstat3(xdrs, &objp->status))
1492         return FALSE;
1493     switch (objp->status) {
1494         case NFS3_OK:
1495             if (!xdr_FSSTAT3resok(xdrs, &objp->FSSTAT3res_u.resok))
1496                 return FALSE;
1497             break;
1498         default:
1499             if (!xdr_FSSTAT3resfail(xdrs, &objp->FSSTAT3res_u.resfail))
1500                 return FALSE;
1501             break;
1502     }
1503     return TRUE;
1504 }
1505
1506 bool_t xdr_FSINFO3args(XDR * xdrs, FSINFO3args * objp)
1507 {
1508     if (!xdr_nfs_fh3(xdrs, &objp->fsroot))
1509         return FALSE;
1510     return TRUE;
1511 }
1512
1513 bool_t xdr_FSINFO3resok(XDR * xdrs, FSINFO3resok * objp)
1514 {
1515     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
1516         return FALSE;
1517     if (!xdr_uint32(xdrs, &objp->rtmax))
1518         return FALSE;
1519     if (!xdr_uint32(xdrs, &objp->rtpref))
1520         return FALSE;
1521     if (!xdr_uint32(xdrs, &objp->rtmult))
1522         return FALSE;
1523     if (!xdr_uint32(xdrs, &objp->wtmax))
1524         return FALSE;
1525     if (!xdr_uint32(xdrs, &objp->wtpref))
1526         return FALSE;
1527     if (!xdr_uint32(xdrs, &objp->wtmult))
1528         return FALSE;
1529     if (!xdr_uint32(xdrs, &objp->dtpref))
1530         return FALSE;
1531     if (!xdr_size3(xdrs, &objp->maxfilesize))
1532         return FALSE;
1533     if (!xdr_nfstime3(xdrs, &objp->time_delta))
1534         return FALSE;
1535     if (!xdr_uint32(xdrs, &objp->properties))
1536         return FALSE;
1537     return TRUE;
1538 }
1539
1540 bool_t xdr_FSINFO3resfail(XDR * xdrs, FSINFO3resfail * objp)
1541 {
1542     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
1543         return FALSE;
1544     return TRUE;
1545 }
1546
1547 bool_t xdr_FSINFO3res(XDR * xdrs, FSINFO3res * objp)
1548 {
1549     if (!xdr_nfsstat3(xdrs, &objp->status))
1550         return FALSE;
1551     switch (objp->status) {
1552         case NFS3_OK:
1553             if (!xdr_FSINFO3resok(xdrs, &objp->FSINFO3res_u.resok))
1554                 return FALSE;
1555             break;
1556         default:
1557             if (!xdr_FSINFO3resfail(xdrs, &objp->FSINFO3res_u.resfail))
1558                 return FALSE;
1559             break;
1560     }
1561     return TRUE;
1562 }
1563
1564 bool_t xdr_PATHCONF3args(XDR * xdrs, PATHCONF3args * objp)
1565 {
1566     if (!xdr_nfs_fh3(xdrs, &objp->object))
1567         return FALSE;
1568     return TRUE;
1569 }
1570
1571 bool_t xdr_PATHCONF3resok(XDR * xdrs, PATHCONF3resok * objp)
1572 {
1573     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
1574         return FALSE;
1575     if (!xdr_uint32(xdrs, &objp->linkmax))
1576         return FALSE;
1577     if (!xdr_uint32(xdrs, &objp->name_max))
1578         return FALSE;
1579     if (!xdr_bool(xdrs, &objp->no_trunc))
1580         return FALSE;
1581     if (!xdr_bool(xdrs, &objp->chown_restricted))
1582         return FALSE;
1583     if (!xdr_bool(xdrs, &objp->case_insensitive))
1584         return FALSE;
1585     if (!xdr_bool(xdrs, &objp->case_preserving))
1586         return FALSE;
1587     return TRUE;
1588 }
1589
1590 bool_t xdr_PATHCONF3resfail(XDR * xdrs, PATHCONF3resfail * objp)
1591 {
1592     if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
1593         return FALSE;
1594     return TRUE;
1595 }
1596
1597 bool_t xdr_PATHCONF3res(XDR * xdrs, PATHCONF3res * objp)
1598 {
1599     if (!xdr_nfsstat3(xdrs, &objp->status))
1600         return FALSE;
1601     switch (objp->status) {
1602         case NFS3_OK:
1603             if (!xdr_PATHCONF3resok(xdrs, &objp->PATHCONF3res_u.resok))
1604                 return FALSE;
1605             break;
1606         default:
1607             if (!xdr_PATHCONF3resfail(xdrs, &objp->PATHCONF3res_u.resfail))
1608                 return FALSE;
1609             break;
1610     }
1611     return TRUE;
1612 }
1613
1614 bool_t xdr_COMMIT3args(XDR * xdrs, COMMIT3args * objp)
1615 {
1616     if (!xdr_nfs_fh3(xdrs, &objp->file))
1617         return FALSE;
1618     if (!xdr_offset3(xdrs, &objp->offset))
1619         return FALSE;
1620     if (!xdr_count3(xdrs, &objp->count))
1621         return FALSE;
1622     return TRUE;
1623 }
1624
1625 bool_t xdr_COMMIT3resok(XDR * xdrs, COMMIT3resok * objp)
1626 {
1627     if (!xdr_wcc_data(xdrs, &objp->file_wcc))
1628         return FALSE;
1629     if (!xdr_writeverf3(xdrs, objp->verf))
1630         return FALSE;
1631     return TRUE;
1632 }
1633
1634 bool_t xdr_COMMIT3resfail(XDR * xdrs, COMMIT3resfail * objp)
1635 {
1636     if (!xdr_wcc_data(xdrs, &objp->file_wcc))
1637         return FALSE;
1638     return TRUE;
1639 }
1640
1641 bool_t xdr_COMMIT3res(XDR * xdrs, COMMIT3res * objp)
1642 {
1643     if (!xdr_nfsstat3(xdrs, &objp->status))
1644         return FALSE;
1645     switch (objp->status) {
1646         case NFS3_OK:
1647             if (!xdr_COMMIT3resok(xdrs, &objp->COMMIT3res_u.resok))
1648                 return FALSE;
1649             break;
1650         default:
1651             if (!xdr_COMMIT3resfail(xdrs, &objp->COMMIT3res_u.resfail))
1652                 return FALSE;
1653             break;
1654     }
1655     return TRUE;
1656 }