Tweak inode prefetching
[bluesky.git] / nfs3 / nfs3_prot_xdr.c
1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5
6 #include "nfs3_prot.h"
7
8 bool_t
9 xdr_uint64 (XDR *xdrs, uint64 *objp)
10 {
11         register int32_t *buf;
12
13          if (!xdr_u_quad_t (xdrs, objp))
14                  return FALSE;
15         return TRUE;
16 }
17
18 bool_t
19 xdr_int64 (XDR *xdrs, int64 *objp)
20 {
21         register int32_t *buf;
22
23          if (!xdr_quad_t (xdrs, objp))
24                  return FALSE;
25         return TRUE;
26 }
27
28 bool_t
29 xdr_uint32 (XDR *xdrs, uint32 *objp)
30 {
31         register int32_t *buf;
32
33          if (!xdr_u_int (xdrs, objp))
34                  return FALSE;
35         return TRUE;
36 }
37
38 bool_t
39 xdr_int32 (XDR *xdrs, int32 *objp)
40 {
41         register int32_t *buf;
42
43          if (!xdr_int (xdrs, objp))
44                  return FALSE;
45         return TRUE;
46 }
47
48 bool_t
49 xdr_filename3 (XDR *xdrs, filename3 *objp)
50 {
51         register int32_t *buf;
52
53          if (!xdr_string (xdrs, objp, ~0))
54                  return FALSE;
55         return TRUE;
56 }
57
58 bool_t
59 xdr_nfspath3 (XDR *xdrs, nfspath3 *objp)
60 {
61         register int32_t *buf;
62
63          if (!xdr_string (xdrs, objp, ~0))
64                  return FALSE;
65         return TRUE;
66 }
67
68 bool_t
69 xdr_cookieverf3 (XDR *xdrs, cookieverf3 objp)
70 {
71         register int32_t *buf;
72
73          if (!xdr_opaque (xdrs, objp, NFS3_COOKIEVERFSIZE))
74                  return FALSE;
75         return TRUE;
76 }
77
78 bool_t
79 xdr_createverf3 (XDR *xdrs, createverf3 objp)
80 {
81         register int32_t *buf;
82
83          if (!xdr_opaque (xdrs, objp, NFS3_CREATEVERFSIZE))
84                  return FALSE;
85         return TRUE;
86 }
87
88 bool_t
89 xdr_writeverf3 (XDR *xdrs, writeverf3 objp)
90 {
91         register int32_t *buf;
92
93          if (!xdr_opaque (xdrs, objp, NFS3_WRITEVERFSIZE))
94                  return FALSE;
95         return TRUE;
96 }
97
98 bool_t
99 xdr_nfsstat3 (XDR *xdrs, nfsstat3 *objp)
100 {
101         register int32_t *buf;
102
103          if (!xdr_enum (xdrs, (enum_t *) objp))
104                  return FALSE;
105         return TRUE;
106 }
107
108 bool_t
109 xdr_ftype3 (XDR *xdrs, ftype3 *objp)
110 {
111         register int32_t *buf;
112
113          if (!xdr_enum (xdrs, (enum_t *) objp))
114                  return FALSE;
115         return TRUE;
116 }
117
118 bool_t
119 xdr_specdata3 (XDR *xdrs, specdata3 *objp)
120 {
121         register int32_t *buf;
122
123          if (!xdr_uint32 (xdrs, &objp->major))
124                  return FALSE;
125          if (!xdr_uint32 (xdrs, &objp->minor))
126                  return FALSE;
127         return TRUE;
128 }
129
130 bool_t
131 xdr_nfs_fh3 (XDR *xdrs, nfs_fh3 *objp)
132 {
133         register int32_t *buf;
134
135          if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS3_FHSIZE))
136                  return FALSE;
137         return TRUE;
138 }
139
140 bool_t
141 xdr_nfstime3 (XDR *xdrs, nfstime3 *objp)
142 {
143         register int32_t *buf;
144
145          if (!xdr_uint32 (xdrs, &objp->seconds))
146                  return FALSE;
147          if (!xdr_uint32 (xdrs, &objp->nseconds))
148                  return FALSE;
149         return TRUE;
150 }
151
152 bool_t
153 xdr_fattr3 (XDR *xdrs, fattr3 *objp)
154 {
155         register int32_t *buf;
156
157          if (!xdr_ftype3 (xdrs, &objp->type))
158                  return FALSE;
159          if (!xdr_uint32 (xdrs, &objp->mode))
160                  return FALSE;
161          if (!xdr_uint32 (xdrs, &objp->nlink))
162                  return FALSE;
163          if (!xdr_uint32 (xdrs, &objp->uid))
164                  return FALSE;
165          if (!xdr_uint32 (xdrs, &objp->gid))
166                  return FALSE;
167          if (!xdr_uint64 (xdrs, &objp->size))
168                  return FALSE;
169          if (!xdr_uint64 (xdrs, &objp->used))
170                  return FALSE;
171          if (!xdr_specdata3 (xdrs, &objp->rdev))
172                  return FALSE;
173          if (!xdr_uint64 (xdrs, &objp->fsid))
174                  return FALSE;
175          if (!xdr_uint64 (xdrs, &objp->fileid))
176                  return FALSE;
177          if (!xdr_nfstime3 (xdrs, &objp->atime))
178                  return FALSE;
179          if (!xdr_nfstime3 (xdrs, &objp->mtime))
180                  return FALSE;
181          if (!xdr_nfstime3 (xdrs, &objp->ctime))
182                  return FALSE;
183         return TRUE;
184 }
185
186 bool_t
187 xdr_post_op_attr (XDR *xdrs, post_op_attr *objp)
188 {
189         register int32_t *buf;
190
191          if (!xdr_bool (xdrs, &objp->present))
192                  return FALSE;
193         switch (objp->present) {
194         case TRUE:
195                  if (!xdr_fattr3 (xdrs, &objp->post_op_attr_u.attributes))
196                          return FALSE;
197                 break;
198         case FALSE:
199                 break;
200         default:
201                 return FALSE;
202         }
203         return TRUE;
204 }
205
206 bool_t
207 xdr_wcc_attr (XDR *xdrs, wcc_attr *objp)
208 {
209         register int32_t *buf;
210
211          if (!xdr_uint64 (xdrs, &objp->size))
212                  return FALSE;
213          if (!xdr_nfstime3 (xdrs, &objp->mtime))
214                  return FALSE;
215          if (!xdr_nfstime3 (xdrs, &objp->ctime))
216                  return FALSE;
217         return TRUE;
218 }
219
220 bool_t
221 xdr_pre_op_attr (XDR *xdrs, pre_op_attr *objp)
222 {
223         register int32_t *buf;
224
225          if (!xdr_bool (xdrs, &objp->present))
226                  return FALSE;
227         switch (objp->present) {
228         case TRUE:
229                  if (!xdr_wcc_attr (xdrs, &objp->pre_op_attr_u.attributes))
230                          return FALSE;
231                 break;
232         case FALSE:
233                 break;
234         default:
235                 return FALSE;
236         }
237         return TRUE;
238 }
239
240 bool_t
241 xdr_wcc_data (XDR *xdrs, wcc_data *objp)
242 {
243         register int32_t *buf;
244
245          if (!xdr_pre_op_attr (xdrs, &objp->before))
246                  return FALSE;
247          if (!xdr_post_op_attr (xdrs, &objp->after))
248                  return FALSE;
249         return TRUE;
250 }
251
252 bool_t
253 xdr_post_op_fh3 (XDR *xdrs, post_op_fh3 *objp)
254 {
255         register int32_t *buf;
256
257          if (!xdr_bool (xdrs, &objp->present))
258                  return FALSE;
259         switch (objp->present) {
260         case TRUE:
261                  if (!xdr_nfs_fh3 (xdrs, &objp->post_op_fh3_u.handle))
262                          return FALSE;
263                 break;
264         case FALSE:
265                 break;
266         default:
267                 return FALSE;
268         }
269         return TRUE;
270 }
271
272 bool_t
273 xdr_set_uint32 (XDR *xdrs, set_uint32 *objp)
274 {
275         register int32_t *buf;
276
277          if (!xdr_bool (xdrs, &objp->set))
278                  return FALSE;
279         switch (objp->set) {
280         case TRUE:
281                  if (!xdr_uint32 (xdrs, &objp->set_uint32_u.val))
282                          return FALSE;
283                 break;
284         default:
285                 break;
286         }
287         return TRUE;
288 }
289
290 bool_t
291 xdr_set_uint64 (XDR *xdrs, set_uint64 *objp)
292 {
293         register int32_t *buf;
294
295          if (!xdr_bool (xdrs, &objp->set))
296                  return FALSE;
297         switch (objp->set) {
298         case TRUE:
299                  if (!xdr_uint64 (xdrs, &objp->set_uint64_u.val))
300                          return FALSE;
301                 break;
302         default:
303                 break;
304         }
305         return TRUE;
306 }
307
308 bool_t
309 xdr_time_how (XDR *xdrs, time_how *objp)
310 {
311         register int32_t *buf;
312
313          if (!xdr_enum (xdrs, (enum_t *) objp))
314                  return FALSE;
315         return TRUE;
316 }
317
318 bool_t
319 xdr_set_time (XDR *xdrs, set_time *objp)
320 {
321         register int32_t *buf;
322
323          if (!xdr_time_how (xdrs, &objp->set))
324                  return FALSE;
325         switch (objp->set) {
326         case SET_TO_CLIENT_TIME:
327                  if (!xdr_nfstime3 (xdrs, &objp->set_time_u.time))
328                          return FALSE;
329                 break;
330         default:
331                 break;
332         }
333         return TRUE;
334 }
335
336 bool_t
337 xdr_sattr3 (XDR *xdrs, sattr3 *objp)
338 {
339         register int32_t *buf;
340
341          if (!xdr_set_uint32 (xdrs, &objp->mode))
342                  return FALSE;
343          if (!xdr_set_uint32 (xdrs, &objp->uid))
344                  return FALSE;
345          if (!xdr_set_uint32 (xdrs, &objp->gid))
346                  return FALSE;
347          if (!xdr_set_uint64 (xdrs, &objp->size))
348                  return FALSE;
349          if (!xdr_set_time (xdrs, &objp->atime))
350                  return FALSE;
351          if (!xdr_set_time (xdrs, &objp->mtime))
352                  return FALSE;
353         return TRUE;
354 }
355
356 bool_t
357 xdr_diropargs3 (XDR *xdrs, diropargs3 *objp)
358 {
359         register int32_t *buf;
360
361          if (!xdr_nfs_fh3 (xdrs, &objp->dir))
362                  return FALSE;
363          if (!xdr_filename3 (xdrs, &objp->name))
364                  return FALSE;
365         return TRUE;
366 }
367
368 bool_t
369 xdr_diropres3ok (XDR *xdrs, diropres3ok *objp)
370 {
371         register int32_t *buf;
372
373          if (!xdr_post_op_fh3 (xdrs, &objp->obj))
374                  return FALSE;
375          if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
376                  return FALSE;
377          if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
378                  return FALSE;
379         return TRUE;
380 }
381
382 bool_t
383 xdr_diropres3 (XDR *xdrs, diropres3 *objp)
384 {
385         register int32_t *buf;
386
387          if (!xdr_nfsstat3 (xdrs, &objp->status))
388                  return FALSE;
389         switch (objp->status) {
390         case NFS3_OK:
391                  if (!xdr_diropres3ok (xdrs, &objp->diropres3_u.resok))
392                          return FALSE;
393                 break;
394         default:
395                  if (!xdr_wcc_data (xdrs, &objp->diropres3_u.resfail))
396                          return FALSE;
397                 break;
398         }
399         return TRUE;
400 }
401
402 bool_t
403 xdr_wccstat3 (XDR *xdrs, wccstat3 *objp)
404 {
405         register int32_t *buf;
406
407          if (!xdr_nfsstat3 (xdrs, &objp->status))
408                  return FALSE;
409         switch (objp->status) {
410         case -1:
411                 break;
412         default:
413                  if (!xdr_wcc_data (xdrs, &objp->wccstat3_u.wcc))
414                          return FALSE;
415                 break;
416         }
417         return TRUE;
418 }
419
420 bool_t
421 xdr_getattr3res (XDR *xdrs, getattr3res *objp)
422 {
423         register int32_t *buf;
424
425          if (!xdr_nfsstat3 (xdrs, &objp->status))
426                  return FALSE;
427         switch (objp->status) {
428         case NFS3_OK:
429                  if (!xdr_fattr3 (xdrs, &objp->getattr3res_u.attributes))
430                          return FALSE;
431                 break;
432         default:
433                 break;
434         }
435         return TRUE;
436 }
437
438 bool_t
439 xdr_sattrguard3 (XDR *xdrs, sattrguard3 *objp)
440 {
441         register int32_t *buf;
442
443          if (!xdr_bool (xdrs, &objp->check))
444                  return FALSE;
445         switch (objp->check) {
446         case TRUE:
447                  if (!xdr_nfstime3 (xdrs, &objp->sattrguard3_u.ctime))
448                          return FALSE;
449                 break;
450         case FALSE:
451                 break;
452         default:
453                 return FALSE;
454         }
455         return TRUE;
456 }
457
458 bool_t
459 xdr_setattr3args (XDR *xdrs, setattr3args *objp)
460 {
461         register int32_t *buf;
462
463          if (!xdr_nfs_fh3 (xdrs, &objp->object))
464                  return FALSE;
465          if (!xdr_sattr3 (xdrs, &objp->new_attributes))
466                  return FALSE;
467          if (!xdr_sattrguard3 (xdrs, &objp->guard))
468                  return FALSE;
469         return TRUE;
470 }
471
472 bool_t
473 xdr_lookup3resok (XDR *xdrs, lookup3resok *objp)
474 {
475         register int32_t *buf;
476
477          if (!xdr_nfs_fh3 (xdrs, &objp->object))
478                  return FALSE;
479          if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
480                  return FALSE;
481          if (!xdr_post_op_attr (xdrs, &objp->dir_attributes))
482                  return FALSE;
483         return TRUE;
484 }
485
486 bool_t
487 xdr_lookup3res (XDR *xdrs, lookup3res *objp)
488 {
489         register int32_t *buf;
490
491          if (!xdr_nfsstat3 (xdrs, &objp->status))
492                  return FALSE;
493         switch (objp->status) {
494         case NFS3_OK:
495                  if (!xdr_lookup3resok (xdrs, &objp->lookup3res_u.resok))
496                          return FALSE;
497                 break;
498         default:
499                  if (!xdr_post_op_attr (xdrs, &objp->lookup3res_u.resfail))
500                          return FALSE;
501                 break;
502         }
503         return TRUE;
504 }
505
506 bool_t
507 xdr_access3args (XDR *xdrs, access3args *objp)
508 {
509         register int32_t *buf;
510
511          if (!xdr_nfs_fh3 (xdrs, &objp->object))
512                  return FALSE;
513          if (!xdr_uint32 (xdrs, &objp->access))
514                  return FALSE;
515         return TRUE;
516 }
517
518 bool_t
519 xdr_access3resok (XDR *xdrs, access3resok *objp)
520 {
521         register int32_t *buf;
522
523          if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
524                  return FALSE;
525          if (!xdr_uint32 (xdrs, &objp->access))
526                  return FALSE;
527         return TRUE;
528 }
529
530 bool_t
531 xdr_access3res (XDR *xdrs, access3res *objp)
532 {
533         register int32_t *buf;
534
535          if (!xdr_nfsstat3 (xdrs, &objp->status))
536                  return FALSE;
537         switch (objp->status) {
538         case NFS3_OK:
539                  if (!xdr_access3resok (xdrs, &objp->access3res_u.resok))
540                          return FALSE;
541                 break;
542         default:
543                  if (!xdr_post_op_attr (xdrs, &objp->access3res_u.resfail))
544                          return FALSE;
545                 break;
546         }
547         return TRUE;
548 }
549
550 bool_t
551 xdr_readlink3resok (XDR *xdrs, readlink3resok *objp)
552 {
553         register int32_t *buf;
554
555          if (!xdr_post_op_attr (xdrs, &objp->symlink_attributes))
556                  return FALSE;
557          if (!xdr_nfspath3 (xdrs, &objp->data))
558                  return FALSE;
559         return TRUE;
560 }
561
562 bool_t
563 xdr_readlink3res (XDR *xdrs, readlink3res *objp)
564 {
565         register int32_t *buf;
566
567          if (!xdr_nfsstat3 (xdrs, &objp->status))
568                  return FALSE;
569         switch (objp->status) {
570         case NFS3_OK:
571                  if (!xdr_readlink3resok (xdrs, &objp->readlink3res_u.resok))
572                          return FALSE;
573                 break;
574         default:
575                  if (!xdr_post_op_attr (xdrs, &objp->readlink3res_u.resfail))
576                          return FALSE;
577                 break;
578         }
579         return TRUE;
580 }
581
582 bool_t
583 xdr_read3args (XDR *xdrs, read3args *objp)
584 {
585         register int32_t *buf;
586
587          if (!xdr_nfs_fh3 (xdrs, &objp->file))
588                  return FALSE;
589          if (!xdr_uint64 (xdrs, &objp->offset))
590                  return FALSE;
591          if (!xdr_uint32 (xdrs, &objp->count))
592                  return FALSE;
593         return TRUE;
594 }
595
596 bool_t
597 xdr_read3resok (XDR *xdrs, read3resok *objp)
598 {
599         register int32_t *buf;
600
601          if (!xdr_post_op_attr (xdrs, &objp->file_attributes))
602                  return FALSE;
603          if (!xdr_uint32 (xdrs, &objp->count))
604                  return FALSE;
605          if (!xdr_bool (xdrs, &objp->eof))
606                  return FALSE;
607          if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
608                  return FALSE;
609         return TRUE;
610 }
611
612 bool_t
613 xdr_read3res (XDR *xdrs, read3res *objp)
614 {
615         register int32_t *buf;
616
617          if (!xdr_nfsstat3 (xdrs, &objp->status))
618                  return FALSE;
619         switch (objp->status) {
620         case NFS3_OK:
621                  if (!xdr_read3resok (xdrs, &objp->read3res_u.resok))
622                          return FALSE;
623                 break;
624         default:
625                  if (!xdr_post_op_attr (xdrs, &objp->read3res_u.resfail))
626                          return FALSE;
627                 break;
628         }
629         return TRUE;
630 }
631
632 bool_t
633 xdr_stable_how (XDR *xdrs, stable_how *objp)
634 {
635         register int32_t *buf;
636
637          if (!xdr_enum (xdrs, (enum_t *) objp))
638                  return FALSE;
639         return TRUE;
640 }
641
642 bool_t
643 xdr_write3args (XDR *xdrs, write3args *objp)
644 {
645         register int32_t *buf;
646
647          if (!xdr_nfs_fh3 (xdrs, &objp->file))
648                  return FALSE;
649          if (!xdr_uint64 (xdrs, &objp->offset))
650                  return FALSE;
651          if (!xdr_uint32 (xdrs, &objp->count))
652                  return FALSE;
653          if (!xdr_stable_how (xdrs, &objp->stable))
654                  return FALSE;
655          if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
656                  return FALSE;
657         return TRUE;
658 }
659
660 bool_t
661 xdr_write3resok (XDR *xdrs, write3resok *objp)
662 {
663         register int32_t *buf;
664
665          if (!xdr_wcc_data (xdrs, &objp->file_wcc))
666                  return FALSE;
667          if (!xdr_uint32 (xdrs, &objp->count))
668                  return FALSE;
669          if (!xdr_stable_how (xdrs, &objp->committed))
670                  return FALSE;
671          if (!xdr_writeverf3 (xdrs, objp->verf))
672                  return FALSE;
673         return TRUE;
674 }
675
676 bool_t
677 xdr_write3res (XDR *xdrs, write3res *objp)
678 {
679         register int32_t *buf;
680
681          if (!xdr_nfsstat3 (xdrs, &objp->status))
682                  return FALSE;
683         switch (objp->status) {
684         case NFS3_OK:
685                  if (!xdr_write3resok (xdrs, &objp->write3res_u.resok))
686                          return FALSE;
687                 break;
688         default:
689                  if (!xdr_wcc_data (xdrs, &objp->write3res_u.resfail))
690                          return FALSE;
691                 break;
692         }
693         return TRUE;
694 }
695
696 bool_t
697 xdr_createmode3 (XDR *xdrs, createmode3 *objp)
698 {
699         register int32_t *buf;
700
701          if (!xdr_enum (xdrs, (enum_t *) objp))
702                  return FALSE;
703         return TRUE;
704 }
705
706 bool_t
707 xdr_createhow3 (XDR *xdrs, createhow3 *objp)
708 {
709         register int32_t *buf;
710
711          if (!xdr_createmode3 (xdrs, &objp->mode))
712                  return FALSE;
713         switch (objp->mode) {
714         case UNCHECKED:
715         case GUARDED:
716                  if (!xdr_sattr3 (xdrs, &objp->createhow3_u.obj_attributes))
717                          return FALSE;
718                 break;
719         case EXCLUSIVE:
720                  if (!xdr_createverf3 (xdrs, objp->createhow3_u.verf))
721                          return FALSE;
722                 break;
723         default:
724                 return FALSE;
725         }
726         return TRUE;
727 }
728
729 bool_t
730 xdr_create3args (XDR *xdrs, create3args *objp)
731 {
732         register int32_t *buf;
733
734          if (!xdr_diropargs3 (xdrs, &objp->where))
735                  return FALSE;
736          if (!xdr_createhow3 (xdrs, &objp->how))
737                  return FALSE;
738         return TRUE;
739 }
740
741 bool_t
742 xdr_mkdir3args (XDR *xdrs, mkdir3args *objp)
743 {
744         register int32_t *buf;
745
746          if (!xdr_diropargs3 (xdrs, &objp->where))
747                  return FALSE;
748          if (!xdr_sattr3 (xdrs, &objp->attributes))
749                  return FALSE;
750         return TRUE;
751 }
752
753 bool_t
754 xdr_symlinkdata3 (XDR *xdrs, symlinkdata3 *objp)
755 {
756         register int32_t *buf;
757
758          if (!xdr_sattr3 (xdrs, &objp->symlink_attributes))
759                  return FALSE;
760          if (!xdr_nfspath3 (xdrs, &objp->symlink_data))
761                  return FALSE;
762         return TRUE;
763 }
764
765 bool_t
766 xdr_symlink3args (XDR *xdrs, symlink3args *objp)
767 {
768         register int32_t *buf;
769
770          if (!xdr_diropargs3 (xdrs, &objp->where))
771                  return FALSE;
772          if (!xdr_symlinkdata3 (xdrs, &objp->symlink))
773                  return FALSE;
774         return TRUE;
775 }
776
777 bool_t
778 xdr_devicedata3 (XDR *xdrs, devicedata3 *objp)
779 {
780         register int32_t *buf;
781
782          if (!xdr_sattr3 (xdrs, &objp->dev_attributes))
783                  return FALSE;
784          if (!xdr_specdata3 (xdrs, &objp->spec))
785                  return FALSE;
786         return TRUE;
787 }
788
789 bool_t
790 xdr_mknoddata3 (XDR *xdrs, mknoddata3 *objp)
791 {
792         register int32_t *buf;
793
794          if (!xdr_ftype3 (xdrs, &objp->type))
795                  return FALSE;
796         switch (objp->type) {
797         case NF3CHR:
798         case NF3BLK:
799                  if (!xdr_devicedata3 (xdrs, &objp->mknoddata3_u.device))
800                          return FALSE;
801                 break;
802         case NF3SOCK:
803         case NF3FIFO:
804                  if (!xdr_sattr3 (xdrs, &objp->mknoddata3_u.pipe_attributes))
805                          return FALSE;
806                 break;
807         default:
808                 break;
809         }
810         return TRUE;
811 }
812
813 bool_t
814 xdr_mknod3args (XDR *xdrs, mknod3args *objp)
815 {
816         register int32_t *buf;
817
818          if (!xdr_diropargs3 (xdrs, &objp->where))
819                  return FALSE;
820          if (!xdr_mknoddata3 (xdrs, &objp->what))
821                  return FALSE;
822         return TRUE;
823 }
824
825 bool_t
826 xdr_rename3args (XDR *xdrs, rename3args *objp)
827 {
828         register int32_t *buf;
829
830          if (!xdr_diropargs3 (xdrs, &objp->from))
831                  return FALSE;
832          if (!xdr_diropargs3 (xdrs, &objp->to))
833                  return FALSE;
834         return TRUE;
835 }
836
837 bool_t
838 xdr_rename3wcc (XDR *xdrs, rename3wcc *objp)
839 {
840         register int32_t *buf;
841
842          if (!xdr_wcc_data (xdrs, &objp->fromdir_wcc))
843                  return FALSE;
844          if (!xdr_wcc_data (xdrs, &objp->todir_wcc))
845                  return FALSE;
846         return TRUE;
847 }
848
849 bool_t
850 xdr_rename3res (XDR *xdrs, rename3res *objp)
851 {
852         register int32_t *buf;
853
854          if (!xdr_nfsstat3 (xdrs, &objp->status))
855                  return FALSE;
856         switch (objp->status) {
857         case -1:
858                 break;
859         default:
860                  if (!xdr_rename3wcc (xdrs, &objp->rename3res_u.res))
861                          return FALSE;
862                 break;
863         }
864         return TRUE;
865 }
866
867 bool_t
868 xdr_link3args (XDR *xdrs, link3args *objp)
869 {
870         register int32_t *buf;
871
872          if (!xdr_nfs_fh3 (xdrs, &objp->file))
873                  return FALSE;
874          if (!xdr_diropargs3 (xdrs, &objp->link))
875                  return FALSE;
876         return TRUE;
877 }
878
879 bool_t
880 xdr_link3wcc (XDR *xdrs, link3wcc *objp)
881 {
882         register int32_t *buf;
883
884          if (!xdr_post_op_attr (xdrs, &objp->file_attributes))
885                  return FALSE;
886          if (!xdr_wcc_data (xdrs, &objp->linkdir_wcc))
887                  return FALSE;
888         return TRUE;
889 }
890
891 bool_t
892 xdr_link3res (XDR *xdrs, link3res *objp)
893 {
894         register int32_t *buf;
895
896          if (!xdr_nfsstat3 (xdrs, &objp->status))
897                  return FALSE;
898         switch (objp->status) {
899         case -1:
900                 break;
901         default:
902                  if (!xdr_link3wcc (xdrs, &objp->link3res_u.res))
903                          return FALSE;
904                 break;
905         }
906         return TRUE;
907 }
908
909 bool_t
910 xdr_readdir3args (XDR *xdrs, readdir3args *objp)
911 {
912         register int32_t *buf;
913
914          if (!xdr_nfs_fh3 (xdrs, &objp->dir))
915                  return FALSE;
916          if (!xdr_uint64 (xdrs, &objp->cookie))
917                  return FALSE;
918          if (!xdr_cookieverf3 (xdrs, objp->cookieverf))
919                  return FALSE;
920          if (!xdr_uint32 (xdrs, &objp->count))
921                  return FALSE;
922         return TRUE;
923 }
924
925 bool_t
926 xdr_entry3 (XDR *xdrs, entry3 *objp)
927 {
928         register int32_t *buf;
929
930          if (!xdr_uint64 (xdrs, &objp->fileid))
931                  return FALSE;
932          if (!xdr_filename3 (xdrs, &objp->name))
933                  return FALSE;
934          if (!xdr_uint64 (xdrs, &objp->cookie))
935                  return FALSE;
936          if (!xdr_pointer (xdrs, (char **)&objp->nextentry, sizeof (entry3), (xdrproc_t) xdr_entry3))
937                  return FALSE;
938         return TRUE;
939 }
940
941 bool_t
942 xdr_dirlist3 (XDR *xdrs, dirlist3 *objp)
943 {
944         register int32_t *buf;
945
946          if (!xdr_pointer (xdrs, (char **)&objp->entries, sizeof (entry3), (xdrproc_t) xdr_entry3))
947                  return FALSE;
948          if (!xdr_bool (xdrs, &objp->eof))
949                  return FALSE;
950         return TRUE;
951 }
952
953 bool_t
954 xdr_readdir3resok (XDR *xdrs, readdir3resok *objp)
955 {
956         register int32_t *buf;
957
958          if (!xdr_post_op_attr (xdrs, &objp->dir_attributes))
959                  return FALSE;
960          if (!xdr_cookieverf3 (xdrs, objp->cookieverf))
961                  return FALSE;
962          if (!xdr_dirlist3 (xdrs, &objp->reply))
963                  return FALSE;
964         return TRUE;
965 }
966
967 bool_t
968 xdr_readdir3res (XDR *xdrs, readdir3res *objp)
969 {
970         register int32_t *buf;
971
972          if (!xdr_nfsstat3 (xdrs, &objp->status))
973                  return FALSE;
974         switch (objp->status) {
975         case NFS3_OK:
976                  if (!xdr_readdir3resok (xdrs, &objp->readdir3res_u.resok))
977                          return FALSE;
978                 break;
979         default:
980                  if (!xdr_post_op_attr (xdrs, &objp->readdir3res_u.resfail))
981                          return FALSE;
982                 break;
983         }
984         return TRUE;
985 }
986
987 bool_t
988 xdr_readdirplus3args (XDR *xdrs, readdirplus3args *objp)
989 {
990         register int32_t *buf;
991
992          if (!xdr_nfs_fh3 (xdrs, &objp->dir))
993                  return FALSE;
994          if (!xdr_uint64 (xdrs, &objp->cookie))
995                  return FALSE;
996          if (!xdr_cookieverf3 (xdrs, objp->cookieverf))
997                  return FALSE;
998          if (!xdr_uint32 (xdrs, &objp->dircount))
999                  return FALSE;
1000          if (!xdr_uint32 (xdrs, &objp->maxcount))
1001                  return FALSE;
1002         return TRUE;
1003 }
1004
1005 bool_t
1006 xdr_entryplus3 (XDR *xdrs, entryplus3 *objp)
1007 {
1008         register int32_t *buf;
1009
1010          if (!xdr_uint64 (xdrs, &objp->fileid))
1011                  return FALSE;
1012          if (!xdr_filename3 (xdrs, &objp->name))
1013                  return FALSE;
1014          if (!xdr_uint64 (xdrs, &objp->cookie))
1015                  return FALSE;
1016          if (!xdr_post_op_attr (xdrs, &objp->name_attributes))
1017                  return FALSE;
1018          if (!xdr_post_op_fh3 (xdrs, &objp->name_handle))
1019                  return FALSE;
1020          if (!xdr_pointer (xdrs, (char **)&objp->nextentry, sizeof (entryplus3), (xdrproc_t) xdr_entryplus3))
1021                  return FALSE;
1022         return TRUE;
1023 }
1024
1025 bool_t
1026 xdr_dirlistplus3 (XDR *xdrs, dirlistplus3 *objp)
1027 {
1028         register int32_t *buf;
1029
1030          if (!xdr_pointer (xdrs, (char **)&objp->entries, sizeof (entryplus3), (xdrproc_t) xdr_entryplus3))
1031                  return FALSE;
1032          if (!xdr_bool (xdrs, &objp->eof))
1033                  return FALSE;
1034         return TRUE;
1035 }
1036
1037 bool_t
1038 xdr_readdirplus3resok (XDR *xdrs, readdirplus3resok *objp)
1039 {
1040         register int32_t *buf;
1041
1042          if (!xdr_post_op_attr (xdrs, &objp->dir_attributes))
1043                  return FALSE;
1044          if (!xdr_cookieverf3 (xdrs, objp->cookieverf))
1045                  return FALSE;
1046          if (!xdr_dirlistplus3 (xdrs, &objp->reply))
1047                  return FALSE;
1048         return TRUE;
1049 }
1050
1051 bool_t
1052 xdr_readdirplus3res (XDR *xdrs, readdirplus3res *objp)
1053 {
1054         register int32_t *buf;
1055
1056          if (!xdr_nfsstat3 (xdrs, &objp->status))
1057                  return FALSE;
1058         switch (objp->status) {
1059         case NFS3_OK:
1060                  if (!xdr_readdirplus3resok (xdrs, &objp->readdirplus3res_u.resok))
1061                          return FALSE;
1062                 break;
1063         default:
1064                  if (!xdr_post_op_attr (xdrs, &objp->readdirplus3res_u.resfail))
1065                          return FALSE;
1066                 break;
1067         }
1068         return TRUE;
1069 }
1070
1071 bool_t
1072 xdr_fsstat3resok (XDR *xdrs, fsstat3resok *objp)
1073 {
1074         register int32_t *buf;
1075
1076          if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
1077                  return FALSE;
1078          if (!xdr_uint64 (xdrs, &objp->tbytes))
1079                  return FALSE;
1080          if (!xdr_uint64 (xdrs, &objp->fbytes))
1081                  return FALSE;
1082          if (!xdr_uint64 (xdrs, &objp->abytes))
1083                  return FALSE;
1084          if (!xdr_uint64 (xdrs, &objp->tfiles))
1085                  return FALSE;
1086          if (!xdr_uint64 (xdrs, &objp->ffiles))
1087                  return FALSE;
1088          if (!xdr_uint64 (xdrs, &objp->afiles))
1089                  return FALSE;
1090          if (!xdr_uint32 (xdrs, &objp->invarsec))
1091                  return FALSE;
1092         return TRUE;
1093 }
1094
1095 bool_t
1096 xdr_fsstat3res (XDR *xdrs, fsstat3res *objp)
1097 {
1098         register int32_t *buf;
1099
1100          if (!xdr_nfsstat3 (xdrs, &objp->status))
1101                  return FALSE;
1102         switch (objp->status) {
1103         case NFS3_OK:
1104                  if (!xdr_fsstat3resok (xdrs, &objp->fsstat3res_u.resok))
1105                          return FALSE;
1106                 break;
1107         default:
1108                  if (!xdr_post_op_attr (xdrs, &objp->fsstat3res_u.resfail))
1109                          return FALSE;
1110                 break;
1111         }
1112         return TRUE;
1113 }
1114
1115 bool_t
1116 xdr_fsinfo3resok (XDR *xdrs, fsinfo3resok *objp)
1117 {
1118         register int32_t *buf;
1119
1120          if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
1121                  return FALSE;
1122          if (!xdr_uint32 (xdrs, &objp->rtmax))
1123                  return FALSE;
1124          if (!xdr_uint32 (xdrs, &objp->rtpref))
1125                  return FALSE;
1126          if (!xdr_uint32 (xdrs, &objp->rtmult))
1127                  return FALSE;
1128          if (!xdr_uint32 (xdrs, &objp->wtmax))
1129                  return FALSE;
1130          if (!xdr_uint32 (xdrs, &objp->wtpref))
1131                  return FALSE;
1132          if (!xdr_uint32 (xdrs, &objp->wtmult))
1133                  return FALSE;
1134          if (!xdr_uint32 (xdrs, &objp->dtpref))
1135                  return FALSE;
1136          if (!xdr_uint64 (xdrs, &objp->maxfilesize))
1137                  return FALSE;
1138          if (!xdr_nfstime3 (xdrs, &objp->time_delta))
1139                  return FALSE;
1140          if (!xdr_uint32 (xdrs, &objp->properties))
1141                  return FALSE;
1142         return TRUE;
1143 }
1144
1145 bool_t
1146 xdr_fsinfo3res (XDR *xdrs, fsinfo3res *objp)
1147 {
1148         register int32_t *buf;
1149
1150          if (!xdr_nfsstat3 (xdrs, &objp->status))
1151                  return FALSE;
1152         switch (objp->status) {
1153         case NFS3_OK:
1154                  if (!xdr_fsinfo3resok (xdrs, &objp->fsinfo3res_u.resok))
1155                          return FALSE;
1156                 break;
1157         default:
1158                  if (!xdr_post_op_attr (xdrs, &objp->fsinfo3res_u.resfail))
1159                          return FALSE;
1160                 break;
1161         }
1162         return TRUE;
1163 }
1164
1165 bool_t
1166 xdr_pathconf3resok (XDR *xdrs, pathconf3resok *objp)
1167 {
1168         register int32_t *buf;
1169
1170
1171         if (xdrs->x_op == XDR_ENCODE) {
1172                  if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
1173                          return FALSE;
1174                  if (!xdr_uint32 (xdrs, &objp->linkmax))
1175                          return FALSE;
1176                  if (!xdr_uint32 (xdrs, &objp->name_max))
1177                          return FALSE;
1178                 buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
1179                 if (buf == NULL) {
1180                          if (!xdr_bool (xdrs, &objp->no_trunc))
1181                                  return FALSE;
1182                          if (!xdr_bool (xdrs, &objp->chown_restricted))
1183                                  return FALSE;
1184                          if (!xdr_bool (xdrs, &objp->case_insensitive))
1185                                  return FALSE;
1186                          if (!xdr_bool (xdrs, &objp->case_preserving))
1187                                  return FALSE;
1188                 } else {
1189                         IXDR_PUT_BOOL(buf, objp->no_trunc);
1190                         IXDR_PUT_BOOL(buf, objp->chown_restricted);
1191                         IXDR_PUT_BOOL(buf, objp->case_insensitive);
1192                         IXDR_PUT_BOOL(buf, objp->case_preserving);
1193                 }
1194                 return TRUE;
1195         } else if (xdrs->x_op == XDR_DECODE) {
1196                  if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
1197                          return FALSE;
1198                  if (!xdr_uint32 (xdrs, &objp->linkmax))
1199                          return FALSE;
1200                  if (!xdr_uint32 (xdrs, &objp->name_max))
1201                          return FALSE;
1202                 buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
1203                 if (buf == NULL) {
1204                          if (!xdr_bool (xdrs, &objp->no_trunc))
1205                                  return FALSE;
1206                          if (!xdr_bool (xdrs, &objp->chown_restricted))
1207                                  return FALSE;
1208                          if (!xdr_bool (xdrs, &objp->case_insensitive))
1209                                  return FALSE;
1210                          if (!xdr_bool (xdrs, &objp->case_preserving))
1211                                  return FALSE;
1212                 } else {
1213                         objp->no_trunc = IXDR_GET_BOOL(buf);
1214                         objp->chown_restricted = IXDR_GET_BOOL(buf);
1215                         objp->case_insensitive = IXDR_GET_BOOL(buf);
1216                         objp->case_preserving = IXDR_GET_BOOL(buf);
1217                 }
1218          return TRUE;
1219         }
1220
1221          if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
1222                  return FALSE;
1223          if (!xdr_uint32 (xdrs, &objp->linkmax))
1224                  return FALSE;
1225          if (!xdr_uint32 (xdrs, &objp->name_max))
1226                  return FALSE;
1227          if (!xdr_bool (xdrs, &objp->no_trunc))
1228                  return FALSE;
1229          if (!xdr_bool (xdrs, &objp->chown_restricted))
1230                  return FALSE;
1231          if (!xdr_bool (xdrs, &objp->case_insensitive))
1232                  return FALSE;
1233          if (!xdr_bool (xdrs, &objp->case_preserving))
1234                  return FALSE;
1235         return TRUE;
1236 }
1237
1238 bool_t
1239 xdr_pathconf3res (XDR *xdrs, pathconf3res *objp)
1240 {
1241         register int32_t *buf;
1242
1243          if (!xdr_nfsstat3 (xdrs, &objp->status))
1244                  return FALSE;
1245         switch (objp->status) {
1246         case NFS3_OK:
1247                  if (!xdr_pathconf3resok (xdrs, &objp->pathconf3res_u.resok))
1248                          return FALSE;
1249                 break;
1250         default:
1251                  if (!xdr_post_op_attr (xdrs, &objp->pathconf3res_u.resfail))
1252                          return FALSE;
1253                 break;
1254         }
1255         return TRUE;
1256 }
1257
1258 bool_t
1259 xdr_commit3args (XDR *xdrs, commit3args *objp)
1260 {
1261         register int32_t *buf;
1262
1263          if (!xdr_nfs_fh3 (xdrs, &objp->file))
1264                  return FALSE;
1265          if (!xdr_uint64 (xdrs, &objp->offset))
1266                  return FALSE;
1267          if (!xdr_uint32 (xdrs, &objp->count))
1268                  return FALSE;
1269         return TRUE;
1270 }
1271
1272 bool_t
1273 xdr_commit3resok (XDR *xdrs, commit3resok *objp)
1274 {
1275         register int32_t *buf;
1276
1277          if (!xdr_wcc_data (xdrs, &objp->file_wcc))
1278                  return FALSE;
1279          if (!xdr_writeverf3 (xdrs, objp->verf))
1280                  return FALSE;
1281         return TRUE;
1282 }
1283
1284 bool_t
1285 xdr_commit3res (XDR *xdrs, commit3res *objp)
1286 {
1287         register int32_t *buf;
1288
1289          if (!xdr_nfsstat3 (xdrs, &objp->status))
1290                  return FALSE;
1291         switch (objp->status) {
1292         case NFS3_OK:
1293                  if (!xdr_commit3resok (xdrs, &objp->commit3res_u.resok))
1294                          return FALSE;
1295                 break;
1296         default:
1297                  if (!xdr_wcc_data (xdrs, &objp->commit3res_u.resfail))
1298                          return FALSE;
1299                 break;
1300         }
1301         return TRUE;
1302 }