1 /* This is based on RFC3530 which contains the following copyright statement:
2 
3 
4    Copyright (C) The Internet Society (2003).  All Rights Reserved.
5 
6    This document and translations of it may be copied and furnished to
7    others, and derivative works that comment on or otherwise explain it
8    or assist in its implementation may be prepared, copied, published
9    and distributed, in whole or in part, without restriction of any
10    kind, provided that the above copyright notice and this paragraph are
11    included on all such copies and derivative works.  However, this
12    document itself may not be modified in any way, such as by removing
13    the copyright notice or references to the Internet Society or other
14    Internet organizations, except as needed for the purpose of
15    developing Internet standards in which case the procedures for
16    copyrights defined in the Internet Standards process must be
17    followed, or as required to translate it into languages other than
18    English.
19 
20    The limited permissions granted above are perpetual and will not be
21    revoked by the Internet Society or its successors or assigns.
22 
23    This document and the information contained herein is provided on an
24    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
25    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
26    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
27    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
28    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
29 */
30 /*
31  * Please do not edit this file.
32  * It was generated using rpcgen.
33  */
34 
35 #include "libnfs-zdr.h"
36 #include "libnfs-raw-nfs4.h"
37 
38 uint32_t
zdr_nfs_ftype4(ZDR * zdrs,nfs_ftype4 * objp)39 zdr_nfs_ftype4 (ZDR *zdrs, nfs_ftype4 *objp)
40 {
41 
42 
43 	 if (!zdr_enum (zdrs, (enum_t *) objp))
44 		 return FALSE;
45 	return TRUE;
46 }
47 
48 uint32_t
zdr_nfsstat4(ZDR * zdrs,nfsstat4 * objp)49 zdr_nfsstat4 (ZDR *zdrs, nfsstat4 *objp)
50 {
51 
52 
53 	 if (!zdr_enum (zdrs, (enum_t *) objp))
54 		 return FALSE;
55 	return TRUE;
56 }
57 
58 uint32_t
zdr_bitmap4(ZDR * zdrs,bitmap4 * objp)59 zdr_bitmap4 (ZDR *zdrs, bitmap4 *objp)
60 {
61 
62 
63 	 if (!zdr_array (zdrs, (char **)&objp->bitmap4_val, (u_int *) &objp->bitmap4_len, ~0,
64 		sizeof (uint32_t), (zdrproc_t) zdr_uint32_t))
65 		 return FALSE;
66 	return TRUE;
67 }
68 
69 uint32_t
zdr_offset4(ZDR * zdrs,offset4 * objp)70 zdr_offset4 (ZDR *zdrs, offset4 *objp)
71 {
72 
73 
74 	 if (!zdr_uint64_t (zdrs, objp))
75 		 return FALSE;
76 	return TRUE;
77 }
78 
79 uint32_t
zdr_count4(ZDR * zdrs,count4 * objp)80 zdr_count4 (ZDR *zdrs, count4 *objp)
81 {
82 
83 
84 	 if (!zdr_uint32_t (zdrs, objp))
85 		 return FALSE;
86 	return TRUE;
87 }
88 
89 uint32_t
zdr_length4(ZDR * zdrs,length4 * objp)90 zdr_length4 (ZDR *zdrs, length4 *objp)
91 {
92 
93 
94 	 if (!zdr_uint64_t (zdrs, objp))
95 		 return FALSE;
96 	return TRUE;
97 }
98 
99 uint32_t
zdr_clientid4(ZDR * zdrs,clientid4 * objp)100 zdr_clientid4 (ZDR *zdrs, clientid4 *objp)
101 {
102 
103 
104 	 if (!zdr_uint64_t (zdrs, objp))
105 		 return FALSE;
106 	return TRUE;
107 }
108 
109 uint32_t
zdr_seqid4(ZDR * zdrs,seqid4 * objp)110 zdr_seqid4 (ZDR *zdrs, seqid4 *objp)
111 {
112 
113 
114 	 if (!zdr_uint32_t (zdrs, objp))
115 		 return FALSE;
116 	return TRUE;
117 }
118 
119 uint32_t
zdr_utf8string(ZDR * zdrs,utf8string * objp)120 zdr_utf8string (ZDR *zdrs, utf8string *objp)
121 {
122 
123 
124 	 if (!zdr_bytes (zdrs, (char **)&objp->utf8string_val, (u_int *) &objp->utf8string_len, ~0))
125 		 return FALSE;
126 	return TRUE;
127 }
128 
129 uint32_t
zdr_utf8str_cis(ZDR * zdrs,utf8str_cis * objp)130 zdr_utf8str_cis (ZDR *zdrs, utf8str_cis *objp)
131 {
132 
133 
134 	 if (!zdr_utf8string (zdrs, objp))
135 		 return FALSE;
136 	return TRUE;
137 }
138 
139 uint32_t
zdr_utf8str_cs(ZDR * zdrs,utf8str_cs * objp)140 zdr_utf8str_cs (ZDR *zdrs, utf8str_cs *objp)
141 {
142 
143 
144 	 if (!zdr_utf8string (zdrs, objp))
145 		 return FALSE;
146 	return TRUE;
147 }
148 
149 uint32_t
zdr_utf8str_mixed(ZDR * zdrs,utf8str_mixed * objp)150 zdr_utf8str_mixed (ZDR *zdrs, utf8str_mixed *objp)
151 {
152 
153 
154 	 if (!zdr_utf8string (zdrs, objp))
155 		 return FALSE;
156 	return TRUE;
157 }
158 
159 uint32_t
zdr_component4(ZDR * zdrs,component4 * objp)160 zdr_component4 (ZDR *zdrs, component4 *objp)
161 {
162 
163 
164 	 if (!zdr_utf8str_cs (zdrs, objp))
165 		 return FALSE;
166 	return TRUE;
167 }
168 
169 uint32_t
zdr_pathname4(ZDR * zdrs,pathname4 * objp)170 zdr_pathname4 (ZDR *zdrs, pathname4 *objp)
171 {
172 
173 
174 	 if (!zdr_array (zdrs, (char **)&objp->pathname4_val, (u_int *) &objp->pathname4_len, ~0,
175 		sizeof (component4), (zdrproc_t) zdr_component4))
176 		 return FALSE;
177 	return TRUE;
178 }
179 
180 uint32_t
zdr_nfs_lockid4(ZDR * zdrs,nfs_lockid4 * objp)181 zdr_nfs_lockid4 (ZDR *zdrs, nfs_lockid4 *objp)
182 {
183 
184 
185 	 if (!zdr_uint64_t (zdrs, objp))
186 		 return FALSE;
187 	return TRUE;
188 }
189 
190 uint32_t
zdr_nfs_cookie4(ZDR * zdrs,nfs_cookie4 * objp)191 zdr_nfs_cookie4 (ZDR *zdrs, nfs_cookie4 *objp)
192 {
193 
194 
195 	 if (!zdr_uint64_t (zdrs, objp))
196 		 return FALSE;
197 	return TRUE;
198 }
199 
200 uint32_t
zdr_linktext4(ZDR * zdrs,linktext4 * objp)201 zdr_linktext4 (ZDR *zdrs, linktext4 *objp)
202 {
203 
204 
205 	 if (!zdr_utf8str_cs (zdrs, objp))
206 		 return FALSE;
207 	return TRUE;
208 }
209 
210 uint32_t
zdr_sec_oid4(ZDR * zdrs,sec_oid4 * objp)211 zdr_sec_oid4 (ZDR *zdrs, sec_oid4 *objp)
212 {
213 
214 
215 	 if (!zdr_bytes (zdrs, (char **)&objp->sec_oid4_val, (u_int *) &objp->sec_oid4_len, ~0))
216 		 return FALSE;
217 	return TRUE;
218 }
219 
220 uint32_t
zdr_qop4(ZDR * zdrs,qop4 * objp)221 zdr_qop4 (ZDR *zdrs, qop4 *objp)
222 {
223 
224 
225 	 if (!zdr_uint32_t (zdrs, objp))
226 		 return FALSE;
227 	return TRUE;
228 }
229 
230 uint32_t
zdr_mode4(ZDR * zdrs,mode4 * objp)231 zdr_mode4 (ZDR *zdrs, mode4 *objp)
232 {
233 
234 
235 	 if (!zdr_uint32_t (zdrs, objp))
236 		 return FALSE;
237 	return TRUE;
238 }
239 
240 uint32_t
zdr_changeid4(ZDR * zdrs,changeid4 * objp)241 zdr_changeid4 (ZDR *zdrs, changeid4 *objp)
242 {
243 
244 
245 	 if (!zdr_uint64_t (zdrs, objp))
246 		 return FALSE;
247 	return TRUE;
248 }
249 
250 uint32_t
zdr_verifier4(ZDR * zdrs,verifier4 objp)251 zdr_verifier4 (ZDR *zdrs, verifier4 objp)
252 {
253 
254 
255 	 if (!zdr_opaque (zdrs, objp, NFS4_VERIFIER_SIZE))
256 		 return FALSE;
257 	return TRUE;
258 }
259 
260 uint32_t
zdr_nfstime4(ZDR * zdrs,nfstime4 * objp)261 zdr_nfstime4 (ZDR *zdrs, nfstime4 *objp)
262 {
263 
264 
265 	 if (!zdr_int64_t (zdrs, &objp->seconds))
266 		 return FALSE;
267 	 if (!zdr_uint32_t (zdrs, &objp->nseconds))
268 		 return FALSE;
269 	return TRUE;
270 }
271 
272 uint32_t
zdr_time_how4(ZDR * zdrs,time_how4 * objp)273 zdr_time_how4 (ZDR *zdrs, time_how4 *objp)
274 {
275 
276 
277 	 if (!zdr_enum (zdrs, (enum_t *) objp))
278 		 return FALSE;
279 	return TRUE;
280 }
281 
282 uint32_t
zdr_settime4(ZDR * zdrs,settime4 * objp)283 zdr_settime4 (ZDR *zdrs, settime4 *objp)
284 {
285 
286 
287 	 if (!zdr_time_how4 (zdrs, &objp->set_it))
288 		 return FALSE;
289 	switch (objp->set_it) {
290 	case SET_TO_CLIENT_TIME4:
291 		 if (!zdr_nfstime4 (zdrs, &objp->settime4_u.time))
292 			 return FALSE;
293 		break;
294 	default:
295 		break;
296 	}
297 	return TRUE;
298 }
299 
300 uint32_t
zdr_nfs_fh4(ZDR * zdrs,nfs_fh4 * objp)301 zdr_nfs_fh4 (ZDR *zdrs, nfs_fh4 *objp)
302 {
303 
304 
305 	 if (!zdr_bytes (zdrs, (char **)&objp->nfs_fh4_val, (u_int *) &objp->nfs_fh4_len, NFS4_FHSIZE))
306 		 return FALSE;
307 	return TRUE;
308 }
309 
310 uint32_t
zdr_fsid4(ZDR * zdrs,fsid4 * objp)311 zdr_fsid4 (ZDR *zdrs, fsid4 *objp)
312 {
313 
314 
315 	 if (!zdr_uint64_t (zdrs, &objp->major))
316 		 return FALSE;
317 	 if (!zdr_uint64_t (zdrs, &objp->minor))
318 		 return FALSE;
319 	return TRUE;
320 }
321 
322 uint32_t
zdr_fs_location4(ZDR * zdrs,fs_location4 * objp)323 zdr_fs_location4 (ZDR *zdrs, fs_location4 *objp)
324 {
325 
326 
327 	 if (!zdr_array (zdrs, (char **)&objp->server.server_val, (u_int *) &objp->server.server_len, ~0,
328 		sizeof (utf8str_cis), (zdrproc_t) zdr_utf8str_cis))
329 		 return FALSE;
330 	 if (!zdr_pathname4 (zdrs, &objp->rootpath))
331 		 return FALSE;
332 	return TRUE;
333 }
334 
335 uint32_t
zdr_fs_locations4(ZDR * zdrs,fs_locations4 * objp)336 zdr_fs_locations4 (ZDR *zdrs, fs_locations4 *objp)
337 {
338 
339 
340 	 if (!zdr_pathname4 (zdrs, &objp->fs_root))
341 		 return FALSE;
342 	 if (!zdr_array (zdrs, (char **)&objp->locations.locations_val, (u_int *) &objp->locations.locations_len, ~0,
343 		sizeof (fs_location4), (zdrproc_t) zdr_fs_location4))
344 		 return FALSE;
345 	return TRUE;
346 }
347 
348 uint32_t
zdr_acetype4(ZDR * zdrs,acetype4 * objp)349 zdr_acetype4 (ZDR *zdrs, acetype4 *objp)
350 {
351 
352 
353 	 if (!zdr_uint32_t (zdrs, objp))
354 		 return FALSE;
355 	return TRUE;
356 }
357 
358 uint32_t
zdr_aceflag4(ZDR * zdrs,aceflag4 * objp)359 zdr_aceflag4 (ZDR *zdrs, aceflag4 *objp)
360 {
361 
362 
363 	 if (!zdr_uint32_t (zdrs, objp))
364 		 return FALSE;
365 	return TRUE;
366 }
367 
368 uint32_t
zdr_acemask4(ZDR * zdrs,acemask4 * objp)369 zdr_acemask4 (ZDR *zdrs, acemask4 *objp)
370 {
371 
372 
373 	 if (!zdr_uint32_t (zdrs, objp))
374 		 return FALSE;
375 	return TRUE;
376 }
377 
378 uint32_t
zdr_nfsace4(ZDR * zdrs,nfsace4 * objp)379 zdr_nfsace4 (ZDR *zdrs, nfsace4 *objp)
380 {
381 
382 
383 	 if (!zdr_acetype4 (zdrs, &objp->type))
384 		 return FALSE;
385 	 if (!zdr_aceflag4 (zdrs, &objp->flag))
386 		 return FALSE;
387 	 if (!zdr_acemask4 (zdrs, &objp->access_mask))
388 		 return FALSE;
389 	 if (!zdr_utf8str_mixed (zdrs, &objp->who))
390 		 return FALSE;
391 	return TRUE;
392 }
393 
394 uint32_t
zdr_specdata4(ZDR * zdrs,specdata4 * objp)395 zdr_specdata4 (ZDR *zdrs, specdata4 *objp)
396 {
397 
398 
399 	 if (!zdr_uint32_t (zdrs, &objp->specdata1))
400 		 return FALSE;
401 	 if (!zdr_uint32_t (zdrs, &objp->specdata2))
402 		 return FALSE;
403 	return TRUE;
404 }
405 
406 uint32_t
zdr_fattr4_supported_attrs(ZDR * zdrs,fattr4_supported_attrs * objp)407 zdr_fattr4_supported_attrs (ZDR *zdrs, fattr4_supported_attrs *objp)
408 {
409 
410 
411 	 if (!zdr_bitmap4 (zdrs, objp))
412 		 return FALSE;
413 	return TRUE;
414 }
415 
416 uint32_t
zdr_fattr4_type(ZDR * zdrs,fattr4_type * objp)417 zdr_fattr4_type (ZDR *zdrs, fattr4_type *objp)
418 {
419 
420 
421 	 if (!zdr_nfs_ftype4 (zdrs, objp))
422 		 return FALSE;
423 	return TRUE;
424 }
425 
426 uint32_t
zdr_fattr4_fh_expire_type(ZDR * zdrs,fattr4_fh_expire_type * objp)427 zdr_fattr4_fh_expire_type (ZDR *zdrs, fattr4_fh_expire_type *objp)
428 {
429 
430 
431 	 if (!zdr_uint32_t (zdrs, objp))
432 		 return FALSE;
433 	return TRUE;
434 }
435 
436 uint32_t
zdr_fattr4_change(ZDR * zdrs,fattr4_change * objp)437 zdr_fattr4_change (ZDR *zdrs, fattr4_change *objp)
438 {
439 
440 
441 	 if (!zdr_changeid4 (zdrs, objp))
442 		 return FALSE;
443 	return TRUE;
444 }
445 
446 uint32_t
zdr_fattr4_size(ZDR * zdrs,fattr4_size * objp)447 zdr_fattr4_size (ZDR *zdrs, fattr4_size *objp)
448 {
449 
450 
451 	 if (!zdr_uint64_t (zdrs, objp))
452 		 return FALSE;
453 	return TRUE;
454 }
455 
456 uint32_t
zdr_fattr4_link_support(ZDR * zdrs,fattr4_link_support * objp)457 zdr_fattr4_link_support (ZDR *zdrs, fattr4_link_support *objp)
458 {
459 
460 
461 	 if (!zdr_bool (zdrs, objp))
462 		 return FALSE;
463 	return TRUE;
464 }
465 
466 uint32_t
zdr_fattr4_symlink_support(ZDR * zdrs,fattr4_symlink_support * objp)467 zdr_fattr4_symlink_support (ZDR *zdrs, fattr4_symlink_support *objp)
468 {
469 
470 
471 	 if (!zdr_bool (zdrs, objp))
472 		 return FALSE;
473 	return TRUE;
474 }
475 
476 uint32_t
zdr_fattr4_named_attr(ZDR * zdrs,fattr4_named_attr * objp)477 zdr_fattr4_named_attr (ZDR *zdrs, fattr4_named_attr *objp)
478 {
479 
480 
481 	 if (!zdr_bool (zdrs, objp))
482 		 return FALSE;
483 	return TRUE;
484 }
485 
486 uint32_t
zdr_fattr4_fsid(ZDR * zdrs,fattr4_fsid * objp)487 zdr_fattr4_fsid (ZDR *zdrs, fattr4_fsid *objp)
488 {
489 
490 
491 	 if (!zdr_fsid4 (zdrs, objp))
492 		 return FALSE;
493 	return TRUE;
494 }
495 
496 uint32_t
zdr_fattr4_unique_handles(ZDR * zdrs,fattr4_unique_handles * objp)497 zdr_fattr4_unique_handles (ZDR *zdrs, fattr4_unique_handles *objp)
498 {
499 
500 
501 	 if (!zdr_bool (zdrs, objp))
502 		 return FALSE;
503 	return TRUE;
504 }
505 
506 uint32_t
zdr_fattr4_lease_time(ZDR * zdrs,fattr4_lease_time * objp)507 zdr_fattr4_lease_time (ZDR *zdrs, fattr4_lease_time *objp)
508 {
509 
510 
511 	 if (!zdr_uint32_t (zdrs, objp))
512 		 return FALSE;
513 	return TRUE;
514 }
515 
516 uint32_t
zdr_fattr4_rdattr_error(ZDR * zdrs,fattr4_rdattr_error * objp)517 zdr_fattr4_rdattr_error (ZDR *zdrs, fattr4_rdattr_error *objp)
518 {
519 
520 
521 	 if (!zdr_nfsstat4 (zdrs, objp))
522 		 return FALSE;
523 	return TRUE;
524 }
525 
526 uint32_t
zdr_fattr4_acl(ZDR * zdrs,fattr4_acl * objp)527 zdr_fattr4_acl (ZDR *zdrs, fattr4_acl *objp)
528 {
529 
530 
531 	 if (!zdr_array (zdrs, (char **)&objp->fattr4_acl_val, (u_int *) &objp->fattr4_acl_len, ~0,
532 		sizeof (nfsace4), (zdrproc_t) zdr_nfsace4))
533 		 return FALSE;
534 	return TRUE;
535 }
536 
537 uint32_t
zdr_fattr4_aclsupport(ZDR * zdrs,fattr4_aclsupport * objp)538 zdr_fattr4_aclsupport (ZDR *zdrs, fattr4_aclsupport *objp)
539 {
540 
541 
542 	 if (!zdr_uint32_t (zdrs, objp))
543 		 return FALSE;
544 	return TRUE;
545 }
546 
547 uint32_t
zdr_fattr4_archive(ZDR * zdrs,fattr4_archive * objp)548 zdr_fattr4_archive (ZDR *zdrs, fattr4_archive *objp)
549 {
550 
551 
552 	 if (!zdr_bool (zdrs, objp))
553 		 return FALSE;
554 	return TRUE;
555 }
556 
557 uint32_t
zdr_fattr4_cansettime(ZDR * zdrs,fattr4_cansettime * objp)558 zdr_fattr4_cansettime (ZDR *zdrs, fattr4_cansettime *objp)
559 {
560 
561 
562 	 if (!zdr_bool (zdrs, objp))
563 		 return FALSE;
564 	return TRUE;
565 }
566 
567 uint32_t
zdr_fattr4_case_insensitive(ZDR * zdrs,fattr4_case_insensitive * objp)568 zdr_fattr4_case_insensitive (ZDR *zdrs, fattr4_case_insensitive *objp)
569 {
570 
571 
572 	 if (!zdr_bool (zdrs, objp))
573 		 return FALSE;
574 	return TRUE;
575 }
576 
577 uint32_t
zdr_fattr4_case_preserving(ZDR * zdrs,fattr4_case_preserving * objp)578 zdr_fattr4_case_preserving (ZDR *zdrs, fattr4_case_preserving *objp)
579 {
580 
581 
582 	 if (!zdr_bool (zdrs, objp))
583 		 return FALSE;
584 	return TRUE;
585 }
586 
587 uint32_t
zdr_fattr4_chown_restricted(ZDR * zdrs,fattr4_chown_restricted * objp)588 zdr_fattr4_chown_restricted (ZDR *zdrs, fattr4_chown_restricted *objp)
589 {
590 
591 
592 	 if (!zdr_bool (zdrs, objp))
593 		 return FALSE;
594 	return TRUE;
595 }
596 
597 uint32_t
zdr_fattr4_fileid(ZDR * zdrs,fattr4_fileid * objp)598 zdr_fattr4_fileid (ZDR *zdrs, fattr4_fileid *objp)
599 {
600 
601 
602 	 if (!zdr_uint64_t (zdrs, objp))
603 		 return FALSE;
604 	return TRUE;
605 }
606 
607 uint32_t
zdr_fattr4_files_avail(ZDR * zdrs,fattr4_files_avail * objp)608 zdr_fattr4_files_avail (ZDR *zdrs, fattr4_files_avail *objp)
609 {
610 
611 
612 	 if (!zdr_uint64_t (zdrs, objp))
613 		 return FALSE;
614 	return TRUE;
615 }
616 
617 uint32_t
zdr_fattr4_filehandle(ZDR * zdrs,fattr4_filehandle * objp)618 zdr_fattr4_filehandle (ZDR *zdrs, fattr4_filehandle *objp)
619 {
620 
621 
622 	 if (!zdr_nfs_fh4 (zdrs, objp))
623 		 return FALSE;
624 	return TRUE;
625 }
626 
627 uint32_t
zdr_fattr4_files_free(ZDR * zdrs,fattr4_files_free * objp)628 zdr_fattr4_files_free (ZDR *zdrs, fattr4_files_free *objp)
629 {
630 
631 
632 	 if (!zdr_uint64_t (zdrs, objp))
633 		 return FALSE;
634 	return TRUE;
635 }
636 
637 uint32_t
zdr_fattr4_files_total(ZDR * zdrs,fattr4_files_total * objp)638 zdr_fattr4_files_total (ZDR *zdrs, fattr4_files_total *objp)
639 {
640 
641 
642 	 if (!zdr_uint64_t (zdrs, objp))
643 		 return FALSE;
644 	return TRUE;
645 }
646 
647 uint32_t
zdr_fattr4_fs_locations(ZDR * zdrs,fattr4_fs_locations * objp)648 zdr_fattr4_fs_locations (ZDR *zdrs, fattr4_fs_locations *objp)
649 {
650 
651 
652 	 if (!zdr_fs_locations4 (zdrs, objp))
653 		 return FALSE;
654 	return TRUE;
655 }
656 
657 uint32_t
zdr_fattr4_hidden(ZDR * zdrs,fattr4_hidden * objp)658 zdr_fattr4_hidden (ZDR *zdrs, fattr4_hidden *objp)
659 {
660 
661 
662 	 if (!zdr_bool (zdrs, objp))
663 		 return FALSE;
664 	return TRUE;
665 }
666 
667 uint32_t
zdr_fattr4_homogeneous(ZDR * zdrs,fattr4_homogeneous * objp)668 zdr_fattr4_homogeneous (ZDR *zdrs, fattr4_homogeneous *objp)
669 {
670 
671 
672 	 if (!zdr_bool (zdrs, objp))
673 		 return FALSE;
674 	return TRUE;
675 }
676 
677 uint32_t
zdr_fattr4_maxfilesize(ZDR * zdrs,fattr4_maxfilesize * objp)678 zdr_fattr4_maxfilesize (ZDR *zdrs, fattr4_maxfilesize *objp)
679 {
680 
681 
682 	 if (!zdr_uint64_t (zdrs, objp))
683 		 return FALSE;
684 	return TRUE;
685 }
686 
687 uint32_t
zdr_fattr4_maxlink(ZDR * zdrs,fattr4_maxlink * objp)688 zdr_fattr4_maxlink (ZDR *zdrs, fattr4_maxlink *objp)
689 {
690 
691 
692 	 if (!zdr_uint32_t (zdrs, objp))
693 		 return FALSE;
694 	return TRUE;
695 }
696 
697 uint32_t
zdr_fattr4_maxname(ZDR * zdrs,fattr4_maxname * objp)698 zdr_fattr4_maxname (ZDR *zdrs, fattr4_maxname *objp)
699 {
700 
701 
702 	 if (!zdr_uint32_t (zdrs, objp))
703 		 return FALSE;
704 	return TRUE;
705 }
706 
707 uint32_t
zdr_fattr4_maxread(ZDR * zdrs,fattr4_maxread * objp)708 zdr_fattr4_maxread (ZDR *zdrs, fattr4_maxread *objp)
709 {
710 
711 
712 	 if (!zdr_uint64_t (zdrs, objp))
713 		 return FALSE;
714 	return TRUE;
715 }
716 
717 uint32_t
zdr_fattr4_maxwrite(ZDR * zdrs,fattr4_maxwrite * objp)718 zdr_fattr4_maxwrite (ZDR *zdrs, fattr4_maxwrite *objp)
719 {
720 
721 
722 	 if (!zdr_uint64_t (zdrs, objp))
723 		 return FALSE;
724 	return TRUE;
725 }
726 
727 uint32_t
zdr_fattr4_mimetype(ZDR * zdrs,fattr4_mimetype * objp)728 zdr_fattr4_mimetype (ZDR *zdrs, fattr4_mimetype *objp)
729 {
730 
731 
732 	 if (!zdr_utf8str_cs (zdrs, objp))
733 		 return FALSE;
734 	return TRUE;
735 }
736 
737 uint32_t
zdr_fattr4_mode(ZDR * zdrs,fattr4_mode * objp)738 zdr_fattr4_mode (ZDR *zdrs, fattr4_mode *objp)
739 {
740 
741 
742 	 if (!zdr_mode4 (zdrs, objp))
743 		 return FALSE;
744 	return TRUE;
745 }
746 
747 uint32_t
zdr_fattr4_mounted_on_fileid(ZDR * zdrs,fattr4_mounted_on_fileid * objp)748 zdr_fattr4_mounted_on_fileid (ZDR *zdrs, fattr4_mounted_on_fileid *objp)
749 {
750 
751 
752 	 if (!zdr_uint64_t (zdrs, objp))
753 		 return FALSE;
754 	return TRUE;
755 }
756 
757 uint32_t
zdr_fattr4_no_trunc(ZDR * zdrs,fattr4_no_trunc * objp)758 zdr_fattr4_no_trunc (ZDR *zdrs, fattr4_no_trunc *objp)
759 {
760 
761 
762 	 if (!zdr_bool (zdrs, objp))
763 		 return FALSE;
764 	return TRUE;
765 }
766 
767 uint32_t
zdr_fattr4_numlinks(ZDR * zdrs,fattr4_numlinks * objp)768 zdr_fattr4_numlinks (ZDR *zdrs, fattr4_numlinks *objp)
769 {
770 
771 
772 	 if (!zdr_uint32_t (zdrs, objp))
773 		 return FALSE;
774 	return TRUE;
775 }
776 
777 uint32_t
zdr_fattr4_owner(ZDR * zdrs,fattr4_owner * objp)778 zdr_fattr4_owner (ZDR *zdrs, fattr4_owner *objp)
779 {
780 
781 
782 	 if (!zdr_utf8str_mixed (zdrs, objp))
783 		 return FALSE;
784 	return TRUE;
785 }
786 
787 uint32_t
zdr_fattr4_owner_group(ZDR * zdrs,fattr4_owner_group * objp)788 zdr_fattr4_owner_group (ZDR *zdrs, fattr4_owner_group *objp)
789 {
790 
791 
792 	 if (!zdr_utf8str_mixed (zdrs, objp))
793 		 return FALSE;
794 	return TRUE;
795 }
796 
797 uint32_t
zdr_fattr4_quota_avail_hard(ZDR * zdrs,fattr4_quota_avail_hard * objp)798 zdr_fattr4_quota_avail_hard (ZDR *zdrs, fattr4_quota_avail_hard *objp)
799 {
800 
801 
802 	 if (!zdr_uint64_t (zdrs, objp))
803 		 return FALSE;
804 	return TRUE;
805 }
806 
807 uint32_t
zdr_fattr4_quota_avail_soft(ZDR * zdrs,fattr4_quota_avail_soft * objp)808 zdr_fattr4_quota_avail_soft (ZDR *zdrs, fattr4_quota_avail_soft *objp)
809 {
810 
811 
812 	 if (!zdr_uint64_t (zdrs, objp))
813 		 return FALSE;
814 	return TRUE;
815 }
816 
817 uint32_t
zdr_fattr4_quota_used(ZDR * zdrs,fattr4_quota_used * objp)818 zdr_fattr4_quota_used (ZDR *zdrs, fattr4_quota_used *objp)
819 {
820 
821 
822 	 if (!zdr_uint64_t (zdrs, objp))
823 		 return FALSE;
824 	return TRUE;
825 }
826 
827 uint32_t
zdr_fattr4_rawdev(ZDR * zdrs,fattr4_rawdev * objp)828 zdr_fattr4_rawdev (ZDR *zdrs, fattr4_rawdev *objp)
829 {
830 
831 
832 	 if (!zdr_specdata4 (zdrs, objp))
833 		 return FALSE;
834 	return TRUE;
835 }
836 
837 uint32_t
zdr_fattr4_space_avail(ZDR * zdrs,fattr4_space_avail * objp)838 zdr_fattr4_space_avail (ZDR *zdrs, fattr4_space_avail *objp)
839 {
840 
841 
842 	 if (!zdr_uint64_t (zdrs, objp))
843 		 return FALSE;
844 	return TRUE;
845 }
846 
847 uint32_t
zdr_fattr4_space_free(ZDR * zdrs,fattr4_space_free * objp)848 zdr_fattr4_space_free (ZDR *zdrs, fattr4_space_free *objp)
849 {
850 
851 
852 	 if (!zdr_uint64_t (zdrs, objp))
853 		 return FALSE;
854 	return TRUE;
855 }
856 
857 uint32_t
zdr_fattr4_space_total(ZDR * zdrs,fattr4_space_total * objp)858 zdr_fattr4_space_total (ZDR *zdrs, fattr4_space_total *objp)
859 {
860 
861 
862 	 if (!zdr_uint64_t (zdrs, objp))
863 		 return FALSE;
864 	return TRUE;
865 }
866 
867 uint32_t
zdr_fattr4_space_used(ZDR * zdrs,fattr4_space_used * objp)868 zdr_fattr4_space_used (ZDR *zdrs, fattr4_space_used *objp)
869 {
870 
871 
872 	 if (!zdr_uint64_t (zdrs, objp))
873 		 return FALSE;
874 	return TRUE;
875 }
876 
877 uint32_t
zdr_fattr4_system(ZDR * zdrs,fattr4_system * objp)878 zdr_fattr4_system (ZDR *zdrs, fattr4_system *objp)
879 {
880 
881 
882 	 if (!zdr_bool (zdrs, objp))
883 		 return FALSE;
884 	return TRUE;
885 }
886 
887 uint32_t
zdr_fattr4_time_access(ZDR * zdrs,fattr4_time_access * objp)888 zdr_fattr4_time_access (ZDR *zdrs, fattr4_time_access *objp)
889 {
890 
891 
892 	 if (!zdr_nfstime4 (zdrs, objp))
893 		 return FALSE;
894 	return TRUE;
895 }
896 
897 uint32_t
zdr_fattr4_time_access_set(ZDR * zdrs,fattr4_time_access_set * objp)898 zdr_fattr4_time_access_set (ZDR *zdrs, fattr4_time_access_set *objp)
899 {
900 
901 
902 	 if (!zdr_settime4 (zdrs, objp))
903 		 return FALSE;
904 	return TRUE;
905 }
906 
907 uint32_t
zdr_fattr4_time_backup(ZDR * zdrs,fattr4_time_backup * objp)908 zdr_fattr4_time_backup (ZDR *zdrs, fattr4_time_backup *objp)
909 {
910 
911 
912 	 if (!zdr_nfstime4 (zdrs, objp))
913 		 return FALSE;
914 	return TRUE;
915 }
916 
917 uint32_t
zdr_fattr4_time_create(ZDR * zdrs,fattr4_time_create * objp)918 zdr_fattr4_time_create (ZDR *zdrs, fattr4_time_create *objp)
919 {
920 
921 
922 	 if (!zdr_nfstime4 (zdrs, objp))
923 		 return FALSE;
924 	return TRUE;
925 }
926 
927 uint32_t
zdr_fattr4_time_delta(ZDR * zdrs,fattr4_time_delta * objp)928 zdr_fattr4_time_delta (ZDR *zdrs, fattr4_time_delta *objp)
929 {
930 
931 
932 	 if (!zdr_nfstime4 (zdrs, objp))
933 		 return FALSE;
934 	return TRUE;
935 }
936 
937 uint32_t
zdr_fattr4_time_metadata(ZDR * zdrs,fattr4_time_metadata * objp)938 zdr_fattr4_time_metadata (ZDR *zdrs, fattr4_time_metadata *objp)
939 {
940 
941 
942 	 if (!zdr_nfstime4 (zdrs, objp))
943 		 return FALSE;
944 	return TRUE;
945 }
946 
947 uint32_t
zdr_fattr4_time_modify(ZDR * zdrs,fattr4_time_modify * objp)948 zdr_fattr4_time_modify (ZDR *zdrs, fattr4_time_modify *objp)
949 {
950 
951 
952 	 if (!zdr_nfstime4 (zdrs, objp))
953 		 return FALSE;
954 	return TRUE;
955 }
956 
957 uint32_t
zdr_fattr4_time_modify_set(ZDR * zdrs,fattr4_time_modify_set * objp)958 zdr_fattr4_time_modify_set (ZDR *zdrs, fattr4_time_modify_set *objp)
959 {
960 
961 
962 	 if (!zdr_settime4 (zdrs, objp))
963 		 return FALSE;
964 	return TRUE;
965 }
966 
967 uint32_t
zdr_attrlist4(ZDR * zdrs,attrlist4 * objp)968 zdr_attrlist4 (ZDR *zdrs, attrlist4 *objp)
969 {
970 
971 
972 	 if (!zdr_bytes (zdrs, (char **)&objp->attrlist4_val, (u_int *) &objp->attrlist4_len, ~0))
973 		 return FALSE;
974 	return TRUE;
975 }
976 
977 uint32_t
zdr_fattr4(ZDR * zdrs,fattr4 * objp)978 zdr_fattr4 (ZDR *zdrs, fattr4 *objp)
979 {
980 
981 
982 	 if (!zdr_bitmap4 (zdrs, &objp->attrmask))
983 		 return FALSE;
984 	 if (!zdr_attrlist4 (zdrs, &objp->attr_vals))
985 		 return FALSE;
986 	return TRUE;
987 }
988 
989 uint32_t
zdr_change_info4(ZDR * zdrs,change_info4 * objp)990 zdr_change_info4 (ZDR *zdrs, change_info4 *objp)
991 {
992 
993 
994 	 if (!zdr_bool (zdrs, &objp->atomic))
995 		 return FALSE;
996 	 if (!zdr_changeid4 (zdrs, &objp->before))
997 		 return FALSE;
998 	 if (!zdr_changeid4 (zdrs, &objp->after))
999 		 return FALSE;
1000 	return TRUE;
1001 }
1002 
1003 uint32_t
zdr_clientaddr4(ZDR * zdrs,clientaddr4 * objp)1004 zdr_clientaddr4 (ZDR *zdrs, clientaddr4 *objp)
1005 {
1006 
1007 
1008 	 if (!zdr_string (zdrs, &objp->r_netid, ~0))
1009 		 return FALSE;
1010 	 if (!zdr_string (zdrs, &objp->r_addr, ~0))
1011 		 return FALSE;
1012 	return TRUE;
1013 }
1014 
1015 uint32_t
zdr_cb_client4(ZDR * zdrs,cb_client4 * objp)1016 zdr_cb_client4 (ZDR *zdrs, cb_client4 *objp)
1017 {
1018 
1019 
1020 	 if (!zdr_uint32_t (zdrs, &objp->cb_program))
1021 		 return FALSE;
1022 	 if (!zdr_clientaddr4 (zdrs, &objp->cb_location))
1023 		 return FALSE;
1024 	return TRUE;
1025 }
1026 
1027 uint32_t
zdr_stateid4(ZDR * zdrs,stateid4 * objp)1028 zdr_stateid4 (ZDR *zdrs, stateid4 *objp)
1029 {
1030 
1031 
1032 
1033 	 if (!zdr_uint32_t (zdrs, &objp->seqid))
1034 		 return FALSE;
1035 	 if (!zdr_opaque (zdrs, objp->other, 12))
1036 		 return FALSE;
1037 	return TRUE;
1038 }
1039 
1040 uint32_t
zdr_nfs_client_id4(ZDR * zdrs,nfs_client_id4 * objp)1041 zdr_nfs_client_id4 (ZDR *zdrs, nfs_client_id4 *objp)
1042 {
1043 
1044 
1045 	 if (!zdr_verifier4 (zdrs, objp->verifier))
1046 		 return FALSE;
1047 	 if (!zdr_bytes (zdrs, (char **)&objp->id.id_val, (u_int *) &objp->id.id_len, NFS4_OPAQUE_LIMIT))
1048 		 return FALSE;
1049 	return TRUE;
1050 }
1051 
1052 uint32_t
zdr_open_owner4(ZDR * zdrs,open_owner4 * objp)1053 zdr_open_owner4 (ZDR *zdrs, open_owner4 *objp)
1054 {
1055 
1056 
1057 	 if (!zdr_clientid4 (zdrs, &objp->clientid))
1058 		 return FALSE;
1059 	 if (!zdr_bytes (zdrs, (char **)&objp->owner.owner_val, (u_int *) &objp->owner.owner_len, NFS4_OPAQUE_LIMIT))
1060 		 return FALSE;
1061 	return TRUE;
1062 }
1063 
1064 uint32_t
zdr_lock_owner4(ZDR * zdrs,lock_owner4 * objp)1065 zdr_lock_owner4 (ZDR *zdrs, lock_owner4 *objp)
1066 {
1067 
1068 
1069 	 if (!zdr_clientid4 (zdrs, &objp->clientid))
1070 		 return FALSE;
1071 	 if (!zdr_bytes (zdrs, (char **)&objp->owner.owner_val, (u_int *) &objp->owner.owner_len, NFS4_OPAQUE_LIMIT))
1072 		 return FALSE;
1073 	return TRUE;
1074 }
1075 
1076 uint32_t
zdr_nfs_lock_type4(ZDR * zdrs,nfs_lock_type4 * objp)1077 zdr_nfs_lock_type4 (ZDR *zdrs, nfs_lock_type4 *objp)
1078 {
1079 
1080 
1081 	 if (!zdr_enum (zdrs, (enum_t *) objp))
1082 		 return FALSE;
1083 	return TRUE;
1084 }
1085 
1086 uint32_t
zdr_ACCESS4args(ZDR * zdrs,ACCESS4args * objp)1087 zdr_ACCESS4args (ZDR *zdrs, ACCESS4args *objp)
1088 {
1089 
1090 
1091 	 if (!zdr_uint32_t (zdrs, &objp->access))
1092 		 return FALSE;
1093 	return TRUE;
1094 }
1095 
1096 uint32_t
zdr_ACCESS4resok(ZDR * zdrs,ACCESS4resok * objp)1097 zdr_ACCESS4resok (ZDR *zdrs, ACCESS4resok *objp)
1098 {
1099 
1100 
1101 	 if (!zdr_uint32_t (zdrs, &objp->supported))
1102 		 return FALSE;
1103 	 if (!zdr_uint32_t (zdrs, &objp->access))
1104 		 return FALSE;
1105 	return TRUE;
1106 }
1107 
1108 uint32_t
zdr_ACCESS4res(ZDR * zdrs,ACCESS4res * objp)1109 zdr_ACCESS4res (ZDR *zdrs, ACCESS4res *objp)
1110 {
1111 
1112 
1113 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1114 		 return FALSE;
1115 	switch (objp->status) {
1116 	case NFS4_OK:
1117 		 if (!zdr_ACCESS4resok (zdrs, &objp->ACCESS4res_u.resok4))
1118 			 return FALSE;
1119 		break;
1120 	default:
1121 		break;
1122 	}
1123 	return TRUE;
1124 }
1125 
1126 uint32_t
zdr_CLOSE4args(ZDR * zdrs,CLOSE4args * objp)1127 zdr_CLOSE4args (ZDR *zdrs, CLOSE4args *objp)
1128 {
1129 
1130 
1131 	 if (!zdr_seqid4 (zdrs, &objp->seqid))
1132 		 return FALSE;
1133 	 if (!zdr_stateid4 (zdrs, &objp->open_stateid))
1134 		 return FALSE;
1135 	return TRUE;
1136 }
1137 
1138 uint32_t
zdr_CLOSE4res(ZDR * zdrs,CLOSE4res * objp)1139 zdr_CLOSE4res (ZDR *zdrs, CLOSE4res *objp)
1140 {
1141 
1142 
1143 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1144 		 return FALSE;
1145 	switch (objp->status) {
1146 	case NFS4_OK:
1147 		 if (!zdr_stateid4 (zdrs, &objp->CLOSE4res_u.open_stateid))
1148 			 return FALSE;
1149 		break;
1150 	default:
1151 		break;
1152 	}
1153 	return TRUE;
1154 }
1155 
1156 uint32_t
zdr_COMMIT4args(ZDR * zdrs,COMMIT4args * objp)1157 zdr_COMMIT4args (ZDR *zdrs, COMMIT4args *objp)
1158 {
1159 
1160 
1161 	 if (!zdr_offset4 (zdrs, &objp->offset))
1162 		 return FALSE;
1163 	 if (!zdr_count4 (zdrs, &objp->count))
1164 		 return FALSE;
1165 	return TRUE;
1166 }
1167 
1168 uint32_t
zdr_COMMIT4resok(ZDR * zdrs,COMMIT4resok * objp)1169 zdr_COMMIT4resok (ZDR *zdrs, COMMIT4resok *objp)
1170 {
1171 
1172 
1173 	 if (!zdr_verifier4 (zdrs, objp->writeverf))
1174 		 return FALSE;
1175 	return TRUE;
1176 }
1177 
1178 uint32_t
zdr_COMMIT4res(ZDR * zdrs,COMMIT4res * objp)1179 zdr_COMMIT4res (ZDR *zdrs, COMMIT4res *objp)
1180 {
1181 
1182 
1183 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1184 		 return FALSE;
1185 	switch (objp->status) {
1186 	case NFS4_OK:
1187 		 if (!zdr_COMMIT4resok (zdrs, &objp->COMMIT4res_u.resok4))
1188 			 return FALSE;
1189 		break;
1190 	default:
1191 		break;
1192 	}
1193 	return TRUE;
1194 }
1195 
1196 uint32_t
zdr_createtype4(ZDR * zdrs,createtype4 * objp)1197 zdr_createtype4 (ZDR *zdrs, createtype4 *objp)
1198 {
1199 
1200 
1201 	 if (!zdr_nfs_ftype4 (zdrs, &objp->type))
1202 		 return FALSE;
1203 	switch (objp->type) {
1204 	case NF4LNK:
1205 		 if (!zdr_linktext4 (zdrs, &objp->createtype4_u.linkdata))
1206 			 return FALSE;
1207 		break;
1208 	case NF4BLK:
1209 	case NF4CHR:
1210 		 if (!zdr_specdata4 (zdrs, &objp->createtype4_u.devdata))
1211 			 return FALSE;
1212 		break;
1213 	case NF4SOCK:
1214 	case NF4FIFO:
1215 	case NF4DIR:
1216 		break;
1217 	default:
1218 		break;
1219 	}
1220 	return TRUE;
1221 }
1222 
1223 uint32_t
zdr_CREATE4args(ZDR * zdrs,CREATE4args * objp)1224 zdr_CREATE4args (ZDR *zdrs, CREATE4args *objp)
1225 {
1226 
1227 
1228 	 if (!zdr_createtype4 (zdrs, &objp->objtype))
1229 		 return FALSE;
1230 	 if (!zdr_component4 (zdrs, &objp->objname))
1231 		 return FALSE;
1232 	 if (!zdr_fattr4 (zdrs, &objp->createattrs))
1233 		 return FALSE;
1234 	return TRUE;
1235 }
1236 
1237 uint32_t
zdr_CREATE4resok(ZDR * zdrs,CREATE4resok * objp)1238 zdr_CREATE4resok (ZDR *zdrs, CREATE4resok *objp)
1239 {
1240 
1241 
1242 	 if (!zdr_change_info4 (zdrs, &objp->cinfo))
1243 		 return FALSE;
1244 	 if (!zdr_bitmap4 (zdrs, &objp->attrset))
1245 		 return FALSE;
1246 	return TRUE;
1247 }
1248 
1249 uint32_t
zdr_CREATE4res(ZDR * zdrs,CREATE4res * objp)1250 zdr_CREATE4res (ZDR *zdrs, CREATE4res *objp)
1251 {
1252 
1253 
1254 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1255 		 return FALSE;
1256 	switch (objp->status) {
1257 	case NFS4_OK:
1258 		 if (!zdr_CREATE4resok (zdrs, &objp->CREATE4res_u.resok4))
1259 			 return FALSE;
1260 		break;
1261 	default:
1262 		break;
1263 	}
1264 	return TRUE;
1265 }
1266 
1267 uint32_t
zdr_DELEGPURGE4args(ZDR * zdrs,DELEGPURGE4args * objp)1268 zdr_DELEGPURGE4args (ZDR *zdrs, DELEGPURGE4args *objp)
1269 {
1270 
1271 
1272 	 if (!zdr_clientid4 (zdrs, &objp->clientid))
1273 		 return FALSE;
1274 	return TRUE;
1275 }
1276 
1277 uint32_t
zdr_DELEGPURGE4res(ZDR * zdrs,DELEGPURGE4res * objp)1278 zdr_DELEGPURGE4res (ZDR *zdrs, DELEGPURGE4res *objp)
1279 {
1280 
1281 
1282 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1283 		 return FALSE;
1284 	return TRUE;
1285 }
1286 
1287 uint32_t
zdr_DELEGRETURN4args(ZDR * zdrs,DELEGRETURN4args * objp)1288 zdr_DELEGRETURN4args (ZDR *zdrs, DELEGRETURN4args *objp)
1289 {
1290 
1291 
1292 	 if (!zdr_stateid4 (zdrs, &objp->deleg_stateid))
1293 		 return FALSE;
1294 	return TRUE;
1295 }
1296 
1297 uint32_t
zdr_DELEGRETURN4res(ZDR * zdrs,DELEGRETURN4res * objp)1298 zdr_DELEGRETURN4res (ZDR *zdrs, DELEGRETURN4res *objp)
1299 {
1300 
1301 
1302 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1303 		 return FALSE;
1304 	return TRUE;
1305 }
1306 
1307 uint32_t
zdr_GETATTR4args(ZDR * zdrs,GETATTR4args * objp)1308 zdr_GETATTR4args (ZDR *zdrs, GETATTR4args *objp)
1309 {
1310 
1311 
1312 	 if (!zdr_bitmap4 (zdrs, &objp->attr_request))
1313 		 return FALSE;
1314 	return TRUE;
1315 }
1316 
1317 uint32_t
zdr_GETATTR4resok(ZDR * zdrs,GETATTR4resok * objp)1318 zdr_GETATTR4resok (ZDR *zdrs, GETATTR4resok *objp)
1319 {
1320 
1321 
1322 	 if (!zdr_fattr4 (zdrs, &objp->obj_attributes))
1323 		 return FALSE;
1324 	return TRUE;
1325 }
1326 
1327 uint32_t
zdr_GETATTR4res(ZDR * zdrs,GETATTR4res * objp)1328 zdr_GETATTR4res (ZDR *zdrs, GETATTR4res *objp)
1329 {
1330 
1331 
1332 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1333 		 return FALSE;
1334 	switch (objp->status) {
1335 	case NFS4_OK:
1336 		 if (!zdr_GETATTR4resok (zdrs, &objp->GETATTR4res_u.resok4))
1337 			 return FALSE;
1338 		break;
1339 	default:
1340 		break;
1341 	}
1342 	return TRUE;
1343 }
1344 
1345 uint32_t
zdr_GETFH4resok(ZDR * zdrs,GETFH4resok * objp)1346 zdr_GETFH4resok (ZDR *zdrs, GETFH4resok *objp)
1347 {
1348 
1349 
1350 	 if (!zdr_nfs_fh4 (zdrs, &objp->object))
1351 		 return FALSE;
1352 	return TRUE;
1353 }
1354 
1355 uint32_t
zdr_GETFH4res(ZDR * zdrs,GETFH4res * objp)1356 zdr_GETFH4res (ZDR *zdrs, GETFH4res *objp)
1357 {
1358 
1359 
1360 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1361 		 return FALSE;
1362 	switch (objp->status) {
1363 	case NFS4_OK:
1364 		 if (!zdr_GETFH4resok (zdrs, &objp->GETFH4res_u.resok4))
1365 			 return FALSE;
1366 		break;
1367 	default:
1368 		break;
1369 	}
1370 	return TRUE;
1371 }
1372 
1373 uint32_t
zdr_LINK4args(ZDR * zdrs,LINK4args * objp)1374 zdr_LINK4args (ZDR *zdrs, LINK4args *objp)
1375 {
1376 
1377 
1378 	 if (!zdr_component4 (zdrs, &objp->newname))
1379 		 return FALSE;
1380 	return TRUE;
1381 }
1382 
1383 uint32_t
zdr_LINK4resok(ZDR * zdrs,LINK4resok * objp)1384 zdr_LINK4resok (ZDR *zdrs, LINK4resok *objp)
1385 {
1386 
1387 
1388 	 if (!zdr_change_info4 (zdrs, &objp->cinfo))
1389 		 return FALSE;
1390 	return TRUE;
1391 }
1392 
1393 uint32_t
zdr_LINK4res(ZDR * zdrs,LINK4res * objp)1394 zdr_LINK4res (ZDR *zdrs, LINK4res *objp)
1395 {
1396 
1397 
1398 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1399 		 return FALSE;
1400 	switch (objp->status) {
1401 	case NFS4_OK:
1402 		 if (!zdr_LINK4resok (zdrs, &objp->LINK4res_u.resok4))
1403 			 return FALSE;
1404 		break;
1405 	default:
1406 		break;
1407 	}
1408 	return TRUE;
1409 }
1410 
1411 uint32_t
zdr_open_to_lock_owner4(ZDR * zdrs,open_to_lock_owner4 * objp)1412 zdr_open_to_lock_owner4 (ZDR *zdrs, open_to_lock_owner4 *objp)
1413 {
1414 
1415 
1416 	 if (!zdr_seqid4 (zdrs, &objp->open_seqid))
1417 		 return FALSE;
1418 	 if (!zdr_stateid4 (zdrs, &objp->open_stateid))
1419 		 return FALSE;
1420 	 if (!zdr_seqid4 (zdrs, &objp->lock_seqid))
1421 		 return FALSE;
1422 	 if (!zdr_lock_owner4 (zdrs, &objp->lock_owner))
1423 		 return FALSE;
1424 	return TRUE;
1425 }
1426 
1427 uint32_t
zdr_exist_lock_owner4(ZDR * zdrs,exist_lock_owner4 * objp)1428 zdr_exist_lock_owner4 (ZDR *zdrs, exist_lock_owner4 *objp)
1429 {
1430 
1431 
1432 	 if (!zdr_stateid4 (zdrs, &objp->lock_stateid))
1433 		 return FALSE;
1434 	 if (!zdr_seqid4 (zdrs, &objp->lock_seqid))
1435 		 return FALSE;
1436 	return TRUE;
1437 }
1438 
1439 uint32_t
zdr_locker4(ZDR * zdrs,locker4 * objp)1440 zdr_locker4 (ZDR *zdrs, locker4 *objp)
1441 {
1442 
1443 
1444 	 if (!zdr_bool (zdrs, &objp->new_lock_owner))
1445 		 return FALSE;
1446 	switch (objp->new_lock_owner) {
1447 	case TRUE:
1448 		 if (!zdr_open_to_lock_owner4 (zdrs, &objp->locker4_u.open_owner))
1449 			 return FALSE;
1450 		break;
1451 	case FALSE:
1452 		 if (!zdr_exist_lock_owner4 (zdrs, &objp->locker4_u.lock_owner))
1453 			 return FALSE;
1454 		break;
1455 	default:
1456 		return FALSE;
1457 	}
1458 	return TRUE;
1459 }
1460 
1461 uint32_t
zdr_LOCK4args(ZDR * zdrs,LOCK4args * objp)1462 zdr_LOCK4args (ZDR *zdrs, LOCK4args *objp)
1463 {
1464 
1465 
1466 	 if (!zdr_nfs_lock_type4 (zdrs, &objp->locktype))
1467 		 return FALSE;
1468 	 if (!zdr_bool (zdrs, &objp->reclaim))
1469 		 return FALSE;
1470 	 if (!zdr_offset4 (zdrs, &objp->offset))
1471 		 return FALSE;
1472 	 if (!zdr_length4 (zdrs, &objp->length))
1473 		 return FALSE;
1474 	 if (!zdr_locker4 (zdrs, &objp->locker))
1475 		 return FALSE;
1476 	return TRUE;
1477 }
1478 
1479 uint32_t
zdr_LOCK4denied(ZDR * zdrs,LOCK4denied * objp)1480 zdr_LOCK4denied (ZDR *zdrs, LOCK4denied *objp)
1481 {
1482 
1483 
1484 	 if (!zdr_offset4 (zdrs, &objp->offset))
1485 		 return FALSE;
1486 	 if (!zdr_length4 (zdrs, &objp->length))
1487 		 return FALSE;
1488 	 if (!zdr_nfs_lock_type4 (zdrs, &objp->locktype))
1489 		 return FALSE;
1490 	 if (!zdr_lock_owner4 (zdrs, &objp->owner))
1491 		 return FALSE;
1492 	return TRUE;
1493 }
1494 
1495 uint32_t
zdr_LOCK4resok(ZDR * zdrs,LOCK4resok * objp)1496 zdr_LOCK4resok (ZDR *zdrs, LOCK4resok *objp)
1497 {
1498 
1499 
1500 	 if (!zdr_stateid4 (zdrs, &objp->lock_stateid))
1501 		 return FALSE;
1502 	return TRUE;
1503 }
1504 
1505 uint32_t
zdr_LOCK4res(ZDR * zdrs,LOCK4res * objp)1506 zdr_LOCK4res (ZDR *zdrs, LOCK4res *objp)
1507 {
1508 
1509 
1510 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1511 		 return FALSE;
1512 	switch (objp->status) {
1513 	case NFS4_OK:
1514 		 if (!zdr_LOCK4resok (zdrs, &objp->LOCK4res_u.resok4))
1515 			 return FALSE;
1516 		break;
1517 	case NFS4ERR_DENIED:
1518 		 if (!zdr_LOCK4denied (zdrs, &objp->LOCK4res_u.denied))
1519 			 return FALSE;
1520 		break;
1521 	default:
1522 		break;
1523 	}
1524 	return TRUE;
1525 }
1526 
1527 uint32_t
zdr_LOCKT4args(ZDR * zdrs,LOCKT4args * objp)1528 zdr_LOCKT4args (ZDR *zdrs, LOCKT4args *objp)
1529 {
1530 
1531 
1532 	 if (!zdr_nfs_lock_type4 (zdrs, &objp->locktype))
1533 		 return FALSE;
1534 	 if (!zdr_offset4 (zdrs, &objp->offset))
1535 		 return FALSE;
1536 	 if (!zdr_length4 (zdrs, &objp->length))
1537 		 return FALSE;
1538 	 if (!zdr_lock_owner4 (zdrs, &objp->owner))
1539 		 return FALSE;
1540 	return TRUE;
1541 }
1542 
1543 uint32_t
zdr_LOCKT4res(ZDR * zdrs,LOCKT4res * objp)1544 zdr_LOCKT4res (ZDR *zdrs, LOCKT4res *objp)
1545 {
1546 
1547 
1548 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1549 		 return FALSE;
1550 	switch (objp->status) {
1551 	case NFS4ERR_DENIED:
1552 		 if (!zdr_LOCK4denied (zdrs, &objp->LOCKT4res_u.denied))
1553 			 return FALSE;
1554 		break;
1555 	case NFS4_OK:
1556 		break;
1557 	default:
1558 		break;
1559 	}
1560 	return TRUE;
1561 }
1562 
1563 uint32_t
zdr_LOCKU4args(ZDR * zdrs,LOCKU4args * objp)1564 zdr_LOCKU4args (ZDR *zdrs, LOCKU4args *objp)
1565 {
1566 
1567 
1568 	 if (!zdr_nfs_lock_type4 (zdrs, &objp->locktype))
1569 		 return FALSE;
1570 	 if (!zdr_seqid4 (zdrs, &objp->seqid))
1571 		 return FALSE;
1572 	 if (!zdr_stateid4 (zdrs, &objp->lock_stateid))
1573 		 return FALSE;
1574 	 if (!zdr_offset4 (zdrs, &objp->offset))
1575 		 return FALSE;
1576 	 if (!zdr_length4 (zdrs, &objp->length))
1577 		 return FALSE;
1578 	return TRUE;
1579 }
1580 
1581 uint32_t
zdr_LOCKU4res(ZDR * zdrs,LOCKU4res * objp)1582 zdr_LOCKU4res (ZDR *zdrs, LOCKU4res *objp)
1583 {
1584 
1585 
1586 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1587 		 return FALSE;
1588 	switch (objp->status) {
1589 	case NFS4_OK:
1590 		 if (!zdr_stateid4 (zdrs, &objp->LOCKU4res_u.lock_stateid))
1591 			 return FALSE;
1592 		break;
1593 	default:
1594 		break;
1595 	}
1596 	return TRUE;
1597 }
1598 
1599 uint32_t
zdr_LOOKUP4args(ZDR * zdrs,LOOKUP4args * objp)1600 zdr_LOOKUP4args (ZDR *zdrs, LOOKUP4args *objp)
1601 {
1602 
1603 
1604 	 if (!zdr_component4 (zdrs, &objp->objname))
1605 		 return FALSE;
1606 	return TRUE;
1607 }
1608 
1609 uint32_t
zdr_LOOKUP4res(ZDR * zdrs,LOOKUP4res * objp)1610 zdr_LOOKUP4res (ZDR *zdrs, LOOKUP4res *objp)
1611 {
1612 
1613 
1614 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1615 		 return FALSE;
1616 	return TRUE;
1617 }
1618 
1619 uint32_t
zdr_LOOKUPP4res(ZDR * zdrs,LOOKUPP4res * objp)1620 zdr_LOOKUPP4res (ZDR *zdrs, LOOKUPP4res *objp)
1621 {
1622 
1623 
1624 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1625 		 return FALSE;
1626 	return TRUE;
1627 }
1628 
1629 uint32_t
zdr_NVERIFY4args(ZDR * zdrs,NVERIFY4args * objp)1630 zdr_NVERIFY4args (ZDR *zdrs, NVERIFY4args *objp)
1631 {
1632 
1633 
1634 	 if (!zdr_fattr4 (zdrs, &objp->obj_attributes))
1635 		 return FALSE;
1636 	return TRUE;
1637 }
1638 
1639 uint32_t
zdr_NVERIFY4res(ZDR * zdrs,NVERIFY4res * objp)1640 zdr_NVERIFY4res (ZDR *zdrs, NVERIFY4res *objp)
1641 {
1642 
1643 
1644 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1645 		 return FALSE;
1646 	return TRUE;
1647 }
1648 
1649 uint32_t
zdr_createmode4(ZDR * zdrs,createmode4 * objp)1650 zdr_createmode4 (ZDR *zdrs, createmode4 *objp)
1651 {
1652 
1653 
1654 	 if (!zdr_enum (zdrs, (enum_t *) objp))
1655 		 return FALSE;
1656 	return TRUE;
1657 }
1658 
1659 uint32_t
zdr_createhow4(ZDR * zdrs,createhow4 * objp)1660 zdr_createhow4 (ZDR *zdrs, createhow4 *objp)
1661 {
1662 
1663 
1664 	 if (!zdr_createmode4 (zdrs, &objp->mode))
1665 		 return FALSE;
1666 	switch (objp->mode) {
1667 	case UNCHECKED4:
1668 	case GUARDED4:
1669 		 if (!zdr_fattr4 (zdrs, &objp->createhow4_u.createattrs))
1670 			 return FALSE;
1671 		break;
1672 	case EXCLUSIVE4:
1673 		 if (!zdr_verifier4 (zdrs, objp->createhow4_u.createverf))
1674 			 return FALSE;
1675 		break;
1676 	default:
1677 		return FALSE;
1678 	}
1679 	return TRUE;
1680 }
1681 
1682 uint32_t
zdr_opentype4(ZDR * zdrs,opentype4 * objp)1683 zdr_opentype4 (ZDR *zdrs, opentype4 *objp)
1684 {
1685 
1686 
1687 	 if (!zdr_enum (zdrs, (enum_t *) objp))
1688 		 return FALSE;
1689 	return TRUE;
1690 }
1691 
1692 uint32_t
zdr_openflag4(ZDR * zdrs,openflag4 * objp)1693 zdr_openflag4 (ZDR *zdrs, openflag4 *objp)
1694 {
1695 
1696 
1697 	 if (!zdr_opentype4 (zdrs, &objp->opentype))
1698 		 return FALSE;
1699 	switch (objp->opentype) {
1700 	case OPEN4_CREATE:
1701 		 if (!zdr_createhow4 (zdrs, &objp->openflag4_u.how))
1702 			 return FALSE;
1703 		break;
1704 	default:
1705 		break;
1706 	}
1707 	return TRUE;
1708 }
1709 
1710 uint32_t
zdr_limit_by4(ZDR * zdrs,limit_by4 * objp)1711 zdr_limit_by4 (ZDR *zdrs, limit_by4 *objp)
1712 {
1713 
1714 
1715 	 if (!zdr_enum (zdrs, (enum_t *) objp))
1716 		 return FALSE;
1717 	return TRUE;
1718 }
1719 
1720 uint32_t
zdr_nfs_modified_limit4(ZDR * zdrs,nfs_modified_limit4 * objp)1721 zdr_nfs_modified_limit4 (ZDR *zdrs, nfs_modified_limit4 *objp)
1722 {
1723 
1724 
1725 	 if (!zdr_uint32_t (zdrs, &objp->num_blocks))
1726 		 return FALSE;
1727 	 if (!zdr_uint32_t (zdrs, &objp->bytes_per_block))
1728 		 return FALSE;
1729 	return TRUE;
1730 }
1731 
1732 uint32_t
zdr_nfs_space_limit4(ZDR * zdrs,nfs_space_limit4 * objp)1733 zdr_nfs_space_limit4 (ZDR *zdrs, nfs_space_limit4 *objp)
1734 {
1735 
1736 
1737 	 if (!zdr_limit_by4 (zdrs, &objp->limitby))
1738 		 return FALSE;
1739 	switch (objp->limitby) {
1740 	case NFS_LIMIT_SIZE:
1741 		 if (!zdr_uint64_t (zdrs, &objp->nfs_space_limit4_u.filesize))
1742 			 return FALSE;
1743 		break;
1744 	case NFS_LIMIT_BLOCKS:
1745 		 if (!zdr_nfs_modified_limit4 (zdrs, &objp->nfs_space_limit4_u.mod_blocks))
1746 			 return FALSE;
1747 		break;
1748 	default:
1749 		return FALSE;
1750 	}
1751 	return TRUE;
1752 }
1753 
1754 uint32_t
zdr_open_delegation_type4(ZDR * zdrs,open_delegation_type4 * objp)1755 zdr_open_delegation_type4 (ZDR *zdrs, open_delegation_type4 *objp)
1756 {
1757 
1758 
1759 	 if (!zdr_enum (zdrs, (enum_t *) objp))
1760 		 return FALSE;
1761 	return TRUE;
1762 }
1763 
1764 uint32_t
zdr_open_claim_type4(ZDR * zdrs,open_claim_type4 * objp)1765 zdr_open_claim_type4 (ZDR *zdrs, open_claim_type4 *objp)
1766 {
1767 
1768 
1769 	 if (!zdr_enum (zdrs, (enum_t *) objp))
1770 		 return FALSE;
1771 	return TRUE;
1772 }
1773 
1774 uint32_t
zdr_open_claim_delegate_cur4(ZDR * zdrs,open_claim_delegate_cur4 * objp)1775 zdr_open_claim_delegate_cur4 (ZDR *zdrs, open_claim_delegate_cur4 *objp)
1776 {
1777 
1778 
1779 	 if (!zdr_stateid4 (zdrs, &objp->delegate_stateid))
1780 		 return FALSE;
1781 	 if (!zdr_component4 (zdrs, &objp->file))
1782 		 return FALSE;
1783 	return TRUE;
1784 }
1785 
1786 uint32_t
zdr_open_claim4(ZDR * zdrs,open_claim4 * objp)1787 zdr_open_claim4 (ZDR *zdrs, open_claim4 *objp)
1788 {
1789 
1790 
1791 	 if (!zdr_open_claim_type4 (zdrs, &objp->claim))
1792 		 return FALSE;
1793 	switch (objp->claim) {
1794 	case CLAIM_NULL:
1795 		 if (!zdr_component4 (zdrs, &objp->open_claim4_u.file))
1796 			 return FALSE;
1797 		break;
1798 	case CLAIM_PREVIOUS:
1799 		 if (!zdr_open_delegation_type4 (zdrs, &objp->open_claim4_u.delegate_type))
1800 			 return FALSE;
1801 		break;
1802 	case CLAIM_DELEGATE_CUR:
1803 		 if (!zdr_open_claim_delegate_cur4 (zdrs, &objp->open_claim4_u.delegate_cur_info))
1804 			 return FALSE;
1805 		break;
1806 	case CLAIM_DELEGATE_PREV:
1807 		 if (!zdr_component4 (zdrs, &objp->open_claim4_u.file_delegate_prev))
1808 			 return FALSE;
1809 		break;
1810 	default:
1811 		return FALSE;
1812 	}
1813 	return TRUE;
1814 }
1815 
1816 uint32_t
zdr_OPEN4args(ZDR * zdrs,OPEN4args * objp)1817 zdr_OPEN4args (ZDR *zdrs, OPEN4args *objp)
1818 {
1819 
1820 
1821 	 if (!zdr_seqid4 (zdrs, &objp->seqid))
1822 		 return FALSE;
1823 	 if (!zdr_uint32_t (zdrs, &objp->share_access))
1824 		 return FALSE;
1825 	 if (!zdr_uint32_t (zdrs, &objp->share_deny))
1826 		 return FALSE;
1827 	 if (!zdr_open_owner4 (zdrs, &objp->owner))
1828 		 return FALSE;
1829 	 if (!zdr_openflag4 (zdrs, &objp->openhow))
1830 		 return FALSE;
1831 	 if (!zdr_open_claim4 (zdrs, &objp->claim))
1832 		 return FALSE;
1833 	return TRUE;
1834 }
1835 
1836 uint32_t
zdr_open_read_delegation4(ZDR * zdrs,open_read_delegation4 * objp)1837 zdr_open_read_delegation4 (ZDR *zdrs, open_read_delegation4 *objp)
1838 {
1839 
1840 
1841 	 if (!zdr_stateid4 (zdrs, &objp->stateid))
1842 		 return FALSE;
1843 	 if (!zdr_bool (zdrs, &objp->recall))
1844 		 return FALSE;
1845 	 if (!zdr_nfsace4 (zdrs, &objp->permissions))
1846 		 return FALSE;
1847 	return TRUE;
1848 }
1849 
1850 uint32_t
zdr_open_write_delegation4(ZDR * zdrs,open_write_delegation4 * objp)1851 zdr_open_write_delegation4 (ZDR *zdrs, open_write_delegation4 *objp)
1852 {
1853 
1854 
1855 	 if (!zdr_stateid4 (zdrs, &objp->stateid))
1856 		 return FALSE;
1857 	 if (!zdr_bool (zdrs, &objp->recall))
1858 		 return FALSE;
1859 	 if (!zdr_nfs_space_limit4 (zdrs, &objp->space_limit))
1860 		 return FALSE;
1861 	 if (!zdr_nfsace4 (zdrs, &objp->permissions))
1862 		 return FALSE;
1863 	return TRUE;
1864 }
1865 
1866 uint32_t
zdr_open_delegation4(ZDR * zdrs,open_delegation4 * objp)1867 zdr_open_delegation4 (ZDR *zdrs, open_delegation4 *objp)
1868 {
1869 
1870 
1871 	 if (!zdr_open_delegation_type4 (zdrs, &objp->delegation_type))
1872 		 return FALSE;
1873 	switch (objp->delegation_type) {
1874 	case OPEN_DELEGATE_NONE:
1875 		break;
1876 	case OPEN_DELEGATE_READ:
1877 		 if (!zdr_open_read_delegation4 (zdrs, &objp->open_delegation4_u.read))
1878 			 return FALSE;
1879 		break;
1880 	case OPEN_DELEGATE_WRITE:
1881 		 if (!zdr_open_write_delegation4 (zdrs, &objp->open_delegation4_u.write))
1882 			 return FALSE;
1883 		break;
1884 	default:
1885 		return FALSE;
1886 	}
1887 	return TRUE;
1888 }
1889 
1890 uint32_t
zdr_OPEN4resok(ZDR * zdrs,OPEN4resok * objp)1891 zdr_OPEN4resok (ZDR *zdrs, OPEN4resok *objp)
1892 {
1893 
1894 
1895 	 if (!zdr_stateid4 (zdrs, &objp->stateid))
1896 		 return FALSE;
1897 	 if (!zdr_change_info4 (zdrs, &objp->cinfo))
1898 		 return FALSE;
1899 	 if (!zdr_uint32_t (zdrs, &objp->rflags))
1900 		 return FALSE;
1901 	 if (!zdr_bitmap4 (zdrs, &objp->attrset))
1902 		 return FALSE;
1903 	 if (!zdr_open_delegation4 (zdrs, &objp->delegation))
1904 		 return FALSE;
1905 	return TRUE;
1906 }
1907 
1908 uint32_t
zdr_OPEN4res(ZDR * zdrs,OPEN4res * objp)1909 zdr_OPEN4res (ZDR *zdrs, OPEN4res *objp)
1910 {
1911 
1912 
1913 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1914 		 return FALSE;
1915 	switch (objp->status) {
1916 	case NFS4_OK:
1917 		 if (!zdr_OPEN4resok (zdrs, &objp->OPEN4res_u.resok4))
1918 			 return FALSE;
1919 		break;
1920 	default:
1921 		break;
1922 	}
1923 	return TRUE;
1924 }
1925 
1926 uint32_t
zdr_OPENATTR4args(ZDR * zdrs,OPENATTR4args * objp)1927 zdr_OPENATTR4args (ZDR *zdrs, OPENATTR4args *objp)
1928 {
1929 
1930 
1931 	 if (!zdr_bool (zdrs, &objp->createdir))
1932 		 return FALSE;
1933 	return TRUE;
1934 }
1935 
1936 uint32_t
zdr_OPENATTR4res(ZDR * zdrs,OPENATTR4res * objp)1937 zdr_OPENATTR4res (ZDR *zdrs, OPENATTR4res *objp)
1938 {
1939 
1940 
1941 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1942 		 return FALSE;
1943 	return TRUE;
1944 }
1945 
1946 uint32_t
zdr_OPEN_CONFIRM4args(ZDR * zdrs,OPEN_CONFIRM4args * objp)1947 zdr_OPEN_CONFIRM4args (ZDR *zdrs, OPEN_CONFIRM4args *objp)
1948 {
1949 
1950 
1951 	 if (!zdr_stateid4 (zdrs, &objp->open_stateid))
1952 		 return FALSE;
1953 	 if (!zdr_seqid4 (zdrs, &objp->seqid))
1954 		 return FALSE;
1955 	return TRUE;
1956 }
1957 
1958 uint32_t
zdr_OPEN_CONFIRM4resok(ZDR * zdrs,OPEN_CONFIRM4resok * objp)1959 zdr_OPEN_CONFIRM4resok (ZDR *zdrs, OPEN_CONFIRM4resok *objp)
1960 {
1961 
1962 
1963 	 if (!zdr_stateid4 (zdrs, &objp->open_stateid))
1964 		 return FALSE;
1965 	return TRUE;
1966 }
1967 
1968 uint32_t
zdr_OPEN_CONFIRM4res(ZDR * zdrs,OPEN_CONFIRM4res * objp)1969 zdr_OPEN_CONFIRM4res (ZDR *zdrs, OPEN_CONFIRM4res *objp)
1970 {
1971 
1972 
1973 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
1974 		 return FALSE;
1975 	switch (objp->status) {
1976 	case NFS4_OK:
1977 		 if (!zdr_OPEN_CONFIRM4resok (zdrs, &objp->OPEN_CONFIRM4res_u.resok4))
1978 			 return FALSE;
1979 		break;
1980 	default:
1981 		break;
1982 	}
1983 	return TRUE;
1984 }
1985 
1986 uint32_t
zdr_OPEN_DOWNGRADE4args(ZDR * zdrs,OPEN_DOWNGRADE4args * objp)1987 zdr_OPEN_DOWNGRADE4args (ZDR *zdrs, OPEN_DOWNGRADE4args *objp)
1988 {
1989 
1990 
1991 	 if (!zdr_stateid4 (zdrs, &objp->open_stateid))
1992 		 return FALSE;
1993 	 if (!zdr_seqid4 (zdrs, &objp->seqid))
1994 		 return FALSE;
1995 	 if (!zdr_uint32_t (zdrs, &objp->share_access))
1996 		 return FALSE;
1997 	 if (!zdr_uint32_t (zdrs, &objp->share_deny))
1998 		 return FALSE;
1999 	return TRUE;
2000 }
2001 
2002 uint32_t
zdr_OPEN_DOWNGRADE4resok(ZDR * zdrs,OPEN_DOWNGRADE4resok * objp)2003 zdr_OPEN_DOWNGRADE4resok (ZDR *zdrs, OPEN_DOWNGRADE4resok *objp)
2004 {
2005 
2006 
2007 	 if (!zdr_stateid4 (zdrs, &objp->open_stateid))
2008 		 return FALSE;
2009 	return TRUE;
2010 }
2011 
2012 uint32_t
zdr_OPEN_DOWNGRADE4res(ZDR * zdrs,OPEN_DOWNGRADE4res * objp)2013 zdr_OPEN_DOWNGRADE4res (ZDR *zdrs, OPEN_DOWNGRADE4res *objp)
2014 {
2015 
2016 
2017 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2018 		 return FALSE;
2019 	switch (objp->status) {
2020 	case NFS4_OK:
2021 		 if (!zdr_OPEN_DOWNGRADE4resok (zdrs, &objp->OPEN_DOWNGRADE4res_u.resok4))
2022 			 return FALSE;
2023 		break;
2024 	default:
2025 		break;
2026 	}
2027 	return TRUE;
2028 }
2029 
2030 uint32_t
zdr_PUTFH4args(ZDR * zdrs,PUTFH4args * objp)2031 zdr_PUTFH4args (ZDR *zdrs, PUTFH4args *objp)
2032 {
2033 
2034 
2035 	 if (!zdr_nfs_fh4 (zdrs, &objp->object))
2036 		 return FALSE;
2037 	return TRUE;
2038 }
2039 
2040 uint32_t
zdr_PUTFH4res(ZDR * zdrs,PUTFH4res * objp)2041 zdr_PUTFH4res (ZDR *zdrs, PUTFH4res *objp)
2042 {
2043 
2044 
2045 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2046 		 return FALSE;
2047 	return TRUE;
2048 }
2049 
2050 uint32_t
zdr_PUTPUBFH4res(ZDR * zdrs,PUTPUBFH4res * objp)2051 zdr_PUTPUBFH4res (ZDR *zdrs, PUTPUBFH4res *objp)
2052 {
2053 
2054 
2055 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2056 		 return FALSE;
2057 	return TRUE;
2058 }
2059 
2060 uint32_t
zdr_PUTROOTFH4res(ZDR * zdrs,PUTROOTFH4res * objp)2061 zdr_PUTROOTFH4res (ZDR *zdrs, PUTROOTFH4res *objp)
2062 {
2063 
2064 
2065 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2066 		 return FALSE;
2067 	return TRUE;
2068 }
2069 
2070 uint32_t
zdr_READ4args(ZDR * zdrs,READ4args * objp)2071 zdr_READ4args (ZDR *zdrs, READ4args *objp)
2072 {
2073 
2074 
2075 	 if (!zdr_stateid4 (zdrs, &objp->stateid))
2076 		 return FALSE;
2077 	 if (!zdr_offset4 (zdrs, &objp->offset))
2078 		 return FALSE;
2079 	 if (!zdr_count4 (zdrs, &objp->count))
2080 		 return FALSE;
2081 	return TRUE;
2082 }
2083 
2084 uint32_t
zdr_READ4resok(ZDR * zdrs,READ4resok * objp)2085 zdr_READ4resok (ZDR *zdrs, READ4resok *objp)
2086 {
2087 
2088 
2089 	 if (!zdr_bool (zdrs, &objp->eof))
2090 		 return FALSE;
2091 	 if (!zdr_bytes (zdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
2092 		 return FALSE;
2093 	return TRUE;
2094 }
2095 
2096 uint32_t
zdr_READ4res(ZDR * zdrs,READ4res * objp)2097 zdr_READ4res (ZDR *zdrs, READ4res *objp)
2098 {
2099 
2100 
2101 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2102 		 return FALSE;
2103 	switch (objp->status) {
2104 	case NFS4_OK:
2105 		 if (!zdr_READ4resok (zdrs, &objp->READ4res_u.resok4))
2106 			 return FALSE;
2107 		break;
2108 	default:
2109 		break;
2110 	}
2111 	return TRUE;
2112 }
2113 
2114 uint32_t
zdr_READDIR4args(ZDR * zdrs,READDIR4args * objp)2115 zdr_READDIR4args (ZDR *zdrs, READDIR4args *objp)
2116 {
2117 
2118 
2119 	 if (!zdr_nfs_cookie4 (zdrs, &objp->cookie))
2120 		 return FALSE;
2121 	 if (!zdr_verifier4 (zdrs, objp->cookieverf))
2122 		 return FALSE;
2123 	 if (!zdr_count4 (zdrs, &objp->dircount))
2124 		 return FALSE;
2125 	 if (!zdr_count4 (zdrs, &objp->maxcount))
2126 		 return FALSE;
2127 	 if (!zdr_bitmap4 (zdrs, &objp->attr_request))
2128 		 return FALSE;
2129 	return TRUE;
2130 }
2131 
2132 uint32_t
zdr_entry4(ZDR * zdrs,entry4 * objp)2133 zdr_entry4 (ZDR *zdrs, entry4 *objp)
2134 {
2135 
2136 
2137 	 if (!zdr_nfs_cookie4 (zdrs, &objp->cookie))
2138 		 return FALSE;
2139 	 if (!zdr_component4 (zdrs, &objp->name))
2140 		 return FALSE;
2141 	 if (!zdr_fattr4 (zdrs, &objp->attrs))
2142 		 return FALSE;
2143 	 if (!zdr_pointer (zdrs, (char **)&objp->nextentry, sizeof (entry4), (zdrproc_t) zdr_entry4))
2144 		 return FALSE;
2145 	return TRUE;
2146 }
2147 
2148 uint32_t
zdr_dirlist4(ZDR * zdrs,dirlist4 * objp)2149 zdr_dirlist4 (ZDR *zdrs, dirlist4 *objp)
2150 {
2151 
2152 
2153 	 if (!zdr_pointer (zdrs, (char **)&objp->entries, sizeof (entry4), (zdrproc_t) zdr_entry4))
2154 		 return FALSE;
2155 	 if (!zdr_bool (zdrs, &objp->eof))
2156 		 return FALSE;
2157 	return TRUE;
2158 }
2159 
2160 uint32_t
zdr_READDIR4resok(ZDR * zdrs,READDIR4resok * objp)2161 zdr_READDIR4resok (ZDR *zdrs, READDIR4resok *objp)
2162 {
2163 
2164 
2165 	 if (!zdr_verifier4 (zdrs, objp->cookieverf))
2166 		 return FALSE;
2167 	 if (!zdr_dirlist4 (zdrs, &objp->reply))
2168 		 return FALSE;
2169 	return TRUE;
2170 }
2171 
2172 uint32_t
zdr_READDIR4res(ZDR * zdrs,READDIR4res * objp)2173 zdr_READDIR4res (ZDR *zdrs, READDIR4res *objp)
2174 {
2175 
2176 
2177 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2178 		 return FALSE;
2179 	switch (objp->status) {
2180 	case NFS4_OK:
2181 		 if (!zdr_READDIR4resok (zdrs, &objp->READDIR4res_u.resok4))
2182 			 return FALSE;
2183 		break;
2184 	default:
2185 		break;
2186 	}
2187 	return TRUE;
2188 }
2189 
2190 uint32_t
zdr_READLINK4resok(ZDR * zdrs,READLINK4resok * objp)2191 zdr_READLINK4resok (ZDR *zdrs, READLINK4resok *objp)
2192 {
2193 
2194 
2195 	 if (!zdr_linktext4 (zdrs, &objp->link))
2196 		 return FALSE;
2197 	return TRUE;
2198 }
2199 
2200 uint32_t
zdr_READLINK4res(ZDR * zdrs,READLINK4res * objp)2201 zdr_READLINK4res (ZDR *zdrs, READLINK4res *objp)
2202 {
2203 
2204 
2205 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2206 		 return FALSE;
2207 	switch (objp->status) {
2208 	case NFS4_OK:
2209 		 if (!zdr_READLINK4resok (zdrs, &objp->READLINK4res_u.resok4))
2210 			 return FALSE;
2211 		break;
2212 	default:
2213 		break;
2214 	}
2215 	return TRUE;
2216 }
2217 
2218 uint32_t
zdr_REMOVE4args(ZDR * zdrs,REMOVE4args * objp)2219 zdr_REMOVE4args (ZDR *zdrs, REMOVE4args *objp)
2220 {
2221 
2222 
2223 	 if (!zdr_component4 (zdrs, &objp->target))
2224 		 return FALSE;
2225 	return TRUE;
2226 }
2227 
2228 uint32_t
zdr_REMOVE4resok(ZDR * zdrs,REMOVE4resok * objp)2229 zdr_REMOVE4resok (ZDR *zdrs, REMOVE4resok *objp)
2230 {
2231 
2232 
2233 	 if (!zdr_change_info4 (zdrs, &objp->cinfo))
2234 		 return FALSE;
2235 	return TRUE;
2236 }
2237 
2238 uint32_t
zdr_REMOVE4res(ZDR * zdrs,REMOVE4res * objp)2239 zdr_REMOVE4res (ZDR *zdrs, REMOVE4res *objp)
2240 {
2241 
2242 
2243 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2244 		 return FALSE;
2245 	switch (objp->status) {
2246 	case NFS4_OK:
2247 		 if (!zdr_REMOVE4resok (zdrs, &objp->REMOVE4res_u.resok4))
2248 			 return FALSE;
2249 		break;
2250 	default:
2251 		break;
2252 	}
2253 	return TRUE;
2254 }
2255 
2256 uint32_t
zdr_RENAME4args(ZDR * zdrs,RENAME4args * objp)2257 zdr_RENAME4args (ZDR *zdrs, RENAME4args *objp)
2258 {
2259 
2260 
2261 	 if (!zdr_component4 (zdrs, &objp->oldname))
2262 		 return FALSE;
2263 	 if (!zdr_component4 (zdrs, &objp->newname))
2264 		 return FALSE;
2265 	return TRUE;
2266 }
2267 
2268 uint32_t
zdr_RENAME4resok(ZDR * zdrs,RENAME4resok * objp)2269 zdr_RENAME4resok (ZDR *zdrs, RENAME4resok *objp)
2270 {
2271 
2272 
2273 	 if (!zdr_change_info4 (zdrs, &objp->source_cinfo))
2274 		 return FALSE;
2275 	 if (!zdr_change_info4 (zdrs, &objp->target_cinfo))
2276 		 return FALSE;
2277 	return TRUE;
2278 }
2279 
2280 uint32_t
zdr_RENAME4res(ZDR * zdrs,RENAME4res * objp)2281 zdr_RENAME4res (ZDR *zdrs, RENAME4res *objp)
2282 {
2283 
2284 
2285 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2286 		 return FALSE;
2287 	switch (objp->status) {
2288 	case NFS4_OK:
2289 		 if (!zdr_RENAME4resok (zdrs, &objp->RENAME4res_u.resok4))
2290 			 return FALSE;
2291 		break;
2292 	default:
2293 		break;
2294 	}
2295 	return TRUE;
2296 }
2297 
2298 uint32_t
zdr_RENEW4args(ZDR * zdrs,RENEW4args * objp)2299 zdr_RENEW4args (ZDR *zdrs, RENEW4args *objp)
2300 {
2301 
2302 
2303 	 if (!zdr_clientid4 (zdrs, &objp->clientid))
2304 		 return FALSE;
2305 	return TRUE;
2306 }
2307 
2308 uint32_t
zdr_RENEW4res(ZDR * zdrs,RENEW4res * objp)2309 zdr_RENEW4res (ZDR *zdrs, RENEW4res *objp)
2310 {
2311 
2312 
2313 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2314 		 return FALSE;
2315 	return TRUE;
2316 }
2317 
2318 uint32_t
zdr_RESTOREFH4res(ZDR * zdrs,RESTOREFH4res * objp)2319 zdr_RESTOREFH4res (ZDR *zdrs, RESTOREFH4res *objp)
2320 {
2321 
2322 
2323 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2324 		 return FALSE;
2325 	return TRUE;
2326 }
2327 
2328 uint32_t
zdr_SAVEFH4res(ZDR * zdrs,SAVEFH4res * objp)2329 zdr_SAVEFH4res (ZDR *zdrs, SAVEFH4res *objp)
2330 {
2331 
2332 
2333 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2334 		 return FALSE;
2335 	return TRUE;
2336 }
2337 
2338 uint32_t
zdr_SETATTR4args(ZDR * zdrs,SETATTR4args * objp)2339 zdr_SETATTR4args (ZDR *zdrs, SETATTR4args *objp)
2340 {
2341 
2342 
2343 	 if (!zdr_stateid4 (zdrs, &objp->stateid))
2344 		 return FALSE;
2345 	 if (!zdr_fattr4 (zdrs, &objp->obj_attributes))
2346 		 return FALSE;
2347 	return TRUE;
2348 }
2349 
2350 uint32_t
zdr_SETATTR4res(ZDR * zdrs,SETATTR4res * objp)2351 zdr_SETATTR4res (ZDR *zdrs, SETATTR4res *objp)
2352 {
2353 
2354 
2355 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2356 		 return FALSE;
2357 	 if (!zdr_bitmap4 (zdrs, &objp->attrsset))
2358 		 return FALSE;
2359 	return TRUE;
2360 }
2361 
2362 uint32_t
zdr_SETCLIENTID4args(ZDR * zdrs,SETCLIENTID4args * objp)2363 zdr_SETCLIENTID4args (ZDR *zdrs, SETCLIENTID4args *objp)
2364 {
2365 
2366 
2367 	 if (!zdr_nfs_client_id4 (zdrs, &objp->client))
2368 		 return FALSE;
2369 	 if (!zdr_cb_client4 (zdrs, &objp->callback))
2370 		 return FALSE;
2371 	 if (!zdr_uint32_t (zdrs, &objp->callback_ident))
2372 		 return FALSE;
2373 	return TRUE;
2374 }
2375 
2376 uint32_t
zdr_SETCLIENTID4resok(ZDR * zdrs,SETCLIENTID4resok * objp)2377 zdr_SETCLIENTID4resok (ZDR *zdrs, SETCLIENTID4resok *objp)
2378 {
2379 
2380 
2381 	 if (!zdr_clientid4 (zdrs, &objp->clientid))
2382 		 return FALSE;
2383 	 if (!zdr_verifier4 (zdrs, objp->setclientid_confirm))
2384 		 return FALSE;
2385 	return TRUE;
2386 }
2387 
2388 uint32_t
zdr_SETCLIENTID4res(ZDR * zdrs,SETCLIENTID4res * objp)2389 zdr_SETCLIENTID4res (ZDR *zdrs, SETCLIENTID4res *objp)
2390 {
2391 
2392 
2393 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2394 		 return FALSE;
2395 	switch (objp->status) {
2396 	case NFS4_OK:
2397 		 if (!zdr_SETCLIENTID4resok (zdrs, &objp->SETCLIENTID4res_u.resok4))
2398 			 return FALSE;
2399 		break;
2400 	case NFS4ERR_CLID_INUSE:
2401 		 if (!zdr_clientaddr4 (zdrs, &objp->SETCLIENTID4res_u.client_using))
2402 			 return FALSE;
2403 		break;
2404 	default:
2405 		break;
2406 	}
2407 	return TRUE;
2408 }
2409 
2410 uint32_t
zdr_SETCLIENTID_CONFIRM4args(ZDR * zdrs,SETCLIENTID_CONFIRM4args * objp)2411 zdr_SETCLIENTID_CONFIRM4args (ZDR *zdrs, SETCLIENTID_CONFIRM4args *objp)
2412 {
2413 
2414 
2415 	 if (!zdr_clientid4 (zdrs, &objp->clientid))
2416 		 return FALSE;
2417 	 if (!zdr_verifier4 (zdrs, objp->setclientid_confirm))
2418 		 return FALSE;
2419 	return TRUE;
2420 }
2421 
2422 uint32_t
zdr_SETCLIENTID_CONFIRM4res(ZDR * zdrs,SETCLIENTID_CONFIRM4res * objp)2423 zdr_SETCLIENTID_CONFIRM4res (ZDR *zdrs, SETCLIENTID_CONFIRM4res *objp)
2424 {
2425 
2426 
2427 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2428 		 return FALSE;
2429 	return TRUE;
2430 }
2431 
2432 uint32_t
zdr_VERIFY4args(ZDR * zdrs,VERIFY4args * objp)2433 zdr_VERIFY4args (ZDR *zdrs, VERIFY4args *objp)
2434 {
2435 
2436 
2437 	 if (!zdr_fattr4 (zdrs, &objp->obj_attributes))
2438 		 return FALSE;
2439 	return TRUE;
2440 }
2441 
2442 uint32_t
zdr_VERIFY4res(ZDR * zdrs,VERIFY4res * objp)2443 zdr_VERIFY4res (ZDR *zdrs, VERIFY4res *objp)
2444 {
2445 
2446 
2447 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2448 		 return FALSE;
2449 	return TRUE;
2450 }
2451 
2452 uint32_t
zdr_stable_how4(ZDR * zdrs,stable_how4 * objp)2453 zdr_stable_how4 (ZDR *zdrs, stable_how4 *objp)
2454 {
2455 
2456 
2457 	 if (!zdr_enum (zdrs, (enum_t *) objp))
2458 		 return FALSE;
2459 	return TRUE;
2460 }
2461 
2462 uint32_t
zdr_WRITE4args(ZDR * zdrs,WRITE4args * objp)2463 zdr_WRITE4args (ZDR *zdrs, WRITE4args *objp)
2464 {
2465 
2466 
2467 	 if (!zdr_stateid4 (zdrs, &objp->stateid))
2468 		 return FALSE;
2469 	 if (!zdr_offset4 (zdrs, &objp->offset))
2470 		 return FALSE;
2471 	 if (!zdr_stable_how4 (zdrs, &objp->stable))
2472 		 return FALSE;
2473 	 if (!zdr_bytes (zdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
2474 		 return FALSE;
2475 	return TRUE;
2476 }
2477 
2478 uint32_t
zdr_WRITE4resok(ZDR * zdrs,WRITE4resok * objp)2479 zdr_WRITE4resok (ZDR *zdrs, WRITE4resok *objp)
2480 {
2481 
2482 
2483 	 if (!zdr_count4 (zdrs, &objp->count))
2484 		 return FALSE;
2485 	 if (!zdr_stable_how4 (zdrs, &objp->committed))
2486 		 return FALSE;
2487 	 if (!zdr_verifier4 (zdrs, objp->writeverf))
2488 		 return FALSE;
2489 	return TRUE;
2490 }
2491 
2492 uint32_t
zdr_WRITE4res(ZDR * zdrs,WRITE4res * objp)2493 zdr_WRITE4res (ZDR *zdrs, WRITE4res *objp)
2494 {
2495 
2496 
2497 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2498 		 return FALSE;
2499 	switch (objp->status) {
2500 	case NFS4_OK:
2501 		 if (!zdr_WRITE4resok (zdrs, &objp->WRITE4res_u.resok4))
2502 			 return FALSE;
2503 		break;
2504 	default:
2505 		break;
2506 	}
2507 	return TRUE;
2508 }
2509 
2510 uint32_t
zdr_RELEASE_LOCKOWNER4args(ZDR * zdrs,RELEASE_LOCKOWNER4args * objp)2511 zdr_RELEASE_LOCKOWNER4args (ZDR *zdrs, RELEASE_LOCKOWNER4args *objp)
2512 {
2513 
2514 
2515 	 if (!zdr_lock_owner4 (zdrs, &objp->lock_owner))
2516 		 return FALSE;
2517 	return TRUE;
2518 }
2519 
2520 uint32_t
zdr_RELEASE_LOCKOWNER4res(ZDR * zdrs,RELEASE_LOCKOWNER4res * objp)2521 zdr_RELEASE_LOCKOWNER4res (ZDR *zdrs, RELEASE_LOCKOWNER4res *objp)
2522 {
2523 
2524 
2525 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2526 		 return FALSE;
2527 	return TRUE;
2528 }
2529 
2530 uint32_t
zdr_ILLEGAL4res(ZDR * zdrs,ILLEGAL4res * objp)2531 zdr_ILLEGAL4res (ZDR *zdrs, ILLEGAL4res *objp)
2532 {
2533 
2534 
2535 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2536 		 return FALSE;
2537 	return TRUE;
2538 }
2539 
2540 uint32_t
zdr_nfs_opnum4(ZDR * zdrs,nfs_opnum4 * objp)2541 zdr_nfs_opnum4 (ZDR *zdrs, nfs_opnum4 *objp)
2542 {
2543 
2544 
2545 	 if (!zdr_enum (zdrs, (enum_t *) objp))
2546 		 return FALSE;
2547 	return TRUE;
2548 }
2549 
2550 uint32_t
zdr_nfs_argop4(ZDR * zdrs,nfs_argop4 * objp)2551 zdr_nfs_argop4 (ZDR *zdrs, nfs_argop4 *objp)
2552 {
2553 
2554 
2555 	 if (!zdr_nfs_opnum4 (zdrs, &objp->argop))
2556 		 return FALSE;
2557 	switch (objp->argop) {
2558 	case OP_ACCESS:
2559 		 if (!zdr_ACCESS4args (zdrs, &objp->nfs_argop4_u.opaccess))
2560 			 return FALSE;
2561 		break;
2562 	case OP_CLOSE:
2563 		 if (!zdr_CLOSE4args (zdrs, &objp->nfs_argop4_u.opclose))
2564 			 return FALSE;
2565 		break;
2566 	case OP_COMMIT:
2567 		 if (!zdr_COMMIT4args (zdrs, &objp->nfs_argop4_u.opcommit))
2568 			 return FALSE;
2569 		break;
2570 	case OP_CREATE:
2571 		 if (!zdr_CREATE4args (zdrs, &objp->nfs_argop4_u.opcreate))
2572 			 return FALSE;
2573 		break;
2574 	case OP_DELEGPURGE:
2575 		 if (!zdr_DELEGPURGE4args (zdrs, &objp->nfs_argop4_u.opdelegpurge))
2576 			 return FALSE;
2577 		break;
2578 	case OP_DELEGRETURN:
2579 		 if (!zdr_DELEGRETURN4args (zdrs, &objp->nfs_argop4_u.opdelegreturn))
2580 			 return FALSE;
2581 		break;
2582 	case OP_GETATTR:
2583 		 if (!zdr_GETATTR4args (zdrs, &objp->nfs_argop4_u.opgetattr))
2584 			 return FALSE;
2585 		break;
2586 	case OP_GETFH:
2587 		break;
2588 	case OP_LINK:
2589 		 if (!zdr_LINK4args (zdrs, &objp->nfs_argop4_u.oplink))
2590 			 return FALSE;
2591 		break;
2592 	case OP_LOCK:
2593 		 if (!zdr_LOCK4args (zdrs, &objp->nfs_argop4_u.oplock))
2594 			 return FALSE;
2595 		break;
2596 	case OP_LOCKT:
2597 		 if (!zdr_LOCKT4args (zdrs, &objp->nfs_argop4_u.oplockt))
2598 			 return FALSE;
2599 		break;
2600 	case OP_LOCKU:
2601 		 if (!zdr_LOCKU4args (zdrs, &objp->nfs_argop4_u.oplocku))
2602 			 return FALSE;
2603 		break;
2604 	case OP_LOOKUP:
2605 		 if (!zdr_LOOKUP4args (zdrs, &objp->nfs_argop4_u.oplookup))
2606 			 return FALSE;
2607 		break;
2608 	case OP_LOOKUPP:
2609 		break;
2610 	case OP_NVERIFY:
2611 		 if (!zdr_NVERIFY4args (zdrs, &objp->nfs_argop4_u.opnverify))
2612 			 return FALSE;
2613 		break;
2614 	case OP_OPEN:
2615 		 if (!zdr_OPEN4args (zdrs, &objp->nfs_argop4_u.opopen))
2616 			 return FALSE;
2617 		break;
2618 	case OP_OPENATTR:
2619 		 if (!zdr_OPENATTR4args (zdrs, &objp->nfs_argop4_u.opopenattr))
2620 			 return FALSE;
2621 		break;
2622 	case OP_OPEN_CONFIRM:
2623 		 if (!zdr_OPEN_CONFIRM4args (zdrs, &objp->nfs_argop4_u.opopen_confirm))
2624 			 return FALSE;
2625 		break;
2626 	case OP_OPEN_DOWNGRADE:
2627 		 if (!zdr_OPEN_DOWNGRADE4args (zdrs, &objp->nfs_argop4_u.opopen_downgrade))
2628 			 return FALSE;
2629 		break;
2630 	case OP_PUTFH:
2631 		 if (!zdr_PUTFH4args (zdrs, &objp->nfs_argop4_u.opputfh))
2632 			 return FALSE;
2633 		break;
2634 	case OP_PUTPUBFH:
2635 		break;
2636 	case OP_PUTROOTFH:
2637 		break;
2638 	case OP_READ:
2639 		 if (!zdr_READ4args (zdrs, &objp->nfs_argop4_u.opread))
2640 			 return FALSE;
2641 		break;
2642 	case OP_READDIR:
2643 		 if (!zdr_READDIR4args (zdrs, &objp->nfs_argop4_u.opreaddir))
2644 			 return FALSE;
2645 		break;
2646 	case OP_READLINK:
2647 		break;
2648 	case OP_REMOVE:
2649 		 if (!zdr_REMOVE4args (zdrs, &objp->nfs_argop4_u.opremove))
2650 			 return FALSE;
2651 		break;
2652 	case OP_RENAME:
2653 		 if (!zdr_RENAME4args (zdrs, &objp->nfs_argop4_u.oprename))
2654 			 return FALSE;
2655 		break;
2656 	case OP_RENEW:
2657 		 if (!zdr_RENEW4args (zdrs, &objp->nfs_argop4_u.oprenew))
2658 			 return FALSE;
2659 		break;
2660 	case OP_RESTOREFH:
2661 		break;
2662 	case OP_SAVEFH:
2663 		break;
2664 	case OP_SETATTR:
2665 		 if (!zdr_SETATTR4args (zdrs, &objp->nfs_argop4_u.opsetattr))
2666 			 return FALSE;
2667 		break;
2668 	case OP_SETCLIENTID:
2669 		 if (!zdr_SETCLIENTID4args (zdrs, &objp->nfs_argop4_u.opsetclientid))
2670 			 return FALSE;
2671 		break;
2672 	case OP_SETCLIENTID_CONFIRM:
2673 		 if (!zdr_SETCLIENTID_CONFIRM4args (zdrs, &objp->nfs_argop4_u.opsetclientid_confirm))
2674 			 return FALSE;
2675 		break;
2676 	case OP_VERIFY:
2677 		 if (!zdr_VERIFY4args (zdrs, &objp->nfs_argop4_u.opverify))
2678 			 return FALSE;
2679 		break;
2680 	case OP_WRITE:
2681 		 if (!zdr_WRITE4args (zdrs, &objp->nfs_argop4_u.opwrite))
2682 			 return FALSE;
2683 		break;
2684 	case OP_RELEASE_LOCKOWNER:
2685 		 if (!zdr_RELEASE_LOCKOWNER4args (zdrs, &objp->nfs_argop4_u.oprelease_lockowner))
2686 			 return FALSE;
2687 		break;
2688 	case OP_ILLEGAL:
2689 		break;
2690 	default:
2691 		return FALSE;
2692 	}
2693 	return TRUE;
2694 }
2695 
2696 uint32_t
zdr_nfs_resop4(ZDR * zdrs,nfs_resop4 * objp)2697 zdr_nfs_resop4 (ZDR *zdrs, nfs_resop4 *objp)
2698 {
2699 
2700 
2701 	 if (!zdr_nfs_opnum4 (zdrs, &objp->resop))
2702 		 return FALSE;
2703 	switch (objp->resop) {
2704 	case OP_ACCESS:
2705 		 if (!zdr_ACCESS4res (zdrs, &objp->nfs_resop4_u.opaccess))
2706 			 return FALSE;
2707 		break;
2708 	case OP_CLOSE:
2709 		 if (!zdr_CLOSE4res (zdrs, &objp->nfs_resop4_u.opclose))
2710 			 return FALSE;
2711 		break;
2712 	case OP_COMMIT:
2713 		 if (!zdr_COMMIT4res (zdrs, &objp->nfs_resop4_u.opcommit))
2714 			 return FALSE;
2715 		break;
2716 	case OP_CREATE:
2717 		 if (!zdr_CREATE4res (zdrs, &objp->nfs_resop4_u.opcreate))
2718 			 return FALSE;
2719 		break;
2720 	case OP_DELEGPURGE:
2721 		 if (!zdr_DELEGPURGE4res (zdrs, &objp->nfs_resop4_u.opdelegpurge))
2722 			 return FALSE;
2723 		break;
2724 	case OP_DELEGRETURN:
2725 		 if (!zdr_DELEGRETURN4res (zdrs, &objp->nfs_resop4_u.opdelegreturn))
2726 			 return FALSE;
2727 		break;
2728 	case OP_GETATTR:
2729 		 if (!zdr_GETATTR4res (zdrs, &objp->nfs_resop4_u.opgetattr))
2730 			 return FALSE;
2731 		break;
2732 	case OP_GETFH:
2733 		 if (!zdr_GETFH4res (zdrs, &objp->nfs_resop4_u.opgetfh))
2734 			 return FALSE;
2735 		break;
2736 	case OP_LINK:
2737 		 if (!zdr_LINK4res (zdrs, &objp->nfs_resop4_u.oplink))
2738 			 return FALSE;
2739 		break;
2740 	case OP_LOCK:
2741 		 if (!zdr_LOCK4res (zdrs, &objp->nfs_resop4_u.oplock))
2742 			 return FALSE;
2743 		break;
2744 	case OP_LOCKT:
2745 		 if (!zdr_LOCKT4res (zdrs, &objp->nfs_resop4_u.oplockt))
2746 			 return FALSE;
2747 		break;
2748 	case OP_LOCKU:
2749 		 if (!zdr_LOCKU4res (zdrs, &objp->nfs_resop4_u.oplocku))
2750 			 return FALSE;
2751 		break;
2752 	case OP_LOOKUP:
2753 		 if (!zdr_LOOKUP4res (zdrs, &objp->nfs_resop4_u.oplookup))
2754 			 return FALSE;
2755 		break;
2756 	case OP_LOOKUPP:
2757 		 if (!zdr_LOOKUPP4res (zdrs, &objp->nfs_resop4_u.oplookupp))
2758 			 return FALSE;
2759 		break;
2760 	case OP_NVERIFY:
2761 		 if (!zdr_NVERIFY4res (zdrs, &objp->nfs_resop4_u.opnverify))
2762 			 return FALSE;
2763 		break;
2764 	case OP_OPEN:
2765 		 if (!zdr_OPEN4res (zdrs, &objp->nfs_resop4_u.opopen))
2766 			 return FALSE;
2767 		break;
2768 	case OP_OPENATTR:
2769 		 if (!zdr_OPENATTR4res (zdrs, &objp->nfs_resop4_u.opopenattr))
2770 			 return FALSE;
2771 		break;
2772 	case OP_OPEN_CONFIRM:
2773 		 if (!zdr_OPEN_CONFIRM4res (zdrs, &objp->nfs_resop4_u.opopen_confirm))
2774 			 return FALSE;
2775 		break;
2776 	case OP_OPEN_DOWNGRADE:
2777 		 if (!zdr_OPEN_DOWNGRADE4res (zdrs, &objp->nfs_resop4_u.opopen_downgrade))
2778 			 return FALSE;
2779 		break;
2780 	case OP_PUTFH:
2781 		 if (!zdr_PUTFH4res (zdrs, &objp->nfs_resop4_u.opputfh))
2782 			 return FALSE;
2783 		break;
2784 	case OP_PUTPUBFH:
2785 		 if (!zdr_PUTPUBFH4res (zdrs, &objp->nfs_resop4_u.opputpubfh))
2786 			 return FALSE;
2787 		break;
2788 	case OP_PUTROOTFH:
2789 		 if (!zdr_PUTROOTFH4res (zdrs, &objp->nfs_resop4_u.opputrootfh))
2790 			 return FALSE;
2791 		break;
2792 	case OP_READ:
2793 		 if (!zdr_READ4res (zdrs, &objp->nfs_resop4_u.opread))
2794 			 return FALSE;
2795 		break;
2796 	case OP_READDIR:
2797 		 if (!zdr_READDIR4res (zdrs, &objp->nfs_resop4_u.opreaddir))
2798 			 return FALSE;
2799 		break;
2800 	case OP_READLINK:
2801 		 if (!zdr_READLINK4res (zdrs, &objp->nfs_resop4_u.opreadlink))
2802 			 return FALSE;
2803 		break;
2804 	case OP_REMOVE:
2805 		 if (!zdr_REMOVE4res (zdrs, &objp->nfs_resop4_u.opremove))
2806 			 return FALSE;
2807 		break;
2808 	case OP_RENAME:
2809 		 if (!zdr_RENAME4res (zdrs, &objp->nfs_resop4_u.oprename))
2810 			 return FALSE;
2811 		break;
2812 	case OP_RENEW:
2813 		 if (!zdr_RENEW4res (zdrs, &objp->nfs_resop4_u.oprenew))
2814 			 return FALSE;
2815 		break;
2816 	case OP_RESTOREFH:
2817 		 if (!zdr_RESTOREFH4res (zdrs, &objp->nfs_resop4_u.oprestorefh))
2818 			 return FALSE;
2819 		break;
2820 	case OP_SAVEFH:
2821 		 if (!zdr_SAVEFH4res (zdrs, &objp->nfs_resop4_u.opsavefh))
2822 			 return FALSE;
2823 		break;
2824 	case OP_SETATTR:
2825 		 if (!zdr_SETATTR4res (zdrs, &objp->nfs_resop4_u.opsetattr))
2826 			 return FALSE;
2827 		break;
2828 	case OP_SETCLIENTID:
2829 		 if (!zdr_SETCLIENTID4res (zdrs, &objp->nfs_resop4_u.opsetclientid))
2830 			 return FALSE;
2831 		break;
2832 	case OP_SETCLIENTID_CONFIRM:
2833 		 if (!zdr_SETCLIENTID_CONFIRM4res (zdrs, &objp->nfs_resop4_u.opsetclientid_confirm))
2834 			 return FALSE;
2835 		break;
2836 	case OP_VERIFY:
2837 		 if (!zdr_VERIFY4res (zdrs, &objp->nfs_resop4_u.opverify))
2838 			 return FALSE;
2839 		break;
2840 	case OP_WRITE:
2841 		 if (!zdr_WRITE4res (zdrs, &objp->nfs_resop4_u.opwrite))
2842 			 return FALSE;
2843 		break;
2844 	case OP_RELEASE_LOCKOWNER:
2845 		 if (!zdr_RELEASE_LOCKOWNER4res (zdrs, &objp->nfs_resop4_u.oprelease_lockowner))
2846 			 return FALSE;
2847 		break;
2848 	case OP_ILLEGAL:
2849 		 if (!zdr_ILLEGAL4res (zdrs, &objp->nfs_resop4_u.opillegal))
2850 			 return FALSE;
2851 		break;
2852 	default:
2853 		return FALSE;
2854 	}
2855 	return TRUE;
2856 }
2857 
2858 uint32_t
zdr_COMPOUND4args(ZDR * zdrs,COMPOUND4args * objp)2859 zdr_COMPOUND4args (ZDR *zdrs, COMPOUND4args *objp)
2860 {
2861 
2862 
2863 	 if (!zdr_utf8str_cs (zdrs, &objp->tag))
2864 		 return FALSE;
2865 	 if (!zdr_uint32_t (zdrs, &objp->minorversion))
2866 		 return FALSE;
2867 	 if (!zdr_array (zdrs, (char **)&objp->argarray.argarray_val, (u_int *) &objp->argarray.argarray_len, ~0,
2868 		sizeof (nfs_argop4), (zdrproc_t) zdr_nfs_argop4))
2869 		 return FALSE;
2870 	return TRUE;
2871 }
2872 
2873 uint32_t
zdr_COMPOUND4res(ZDR * zdrs,COMPOUND4res * objp)2874 zdr_COMPOUND4res (ZDR *zdrs, COMPOUND4res *objp)
2875 {
2876 
2877 
2878 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2879 		 return FALSE;
2880 	 if (!zdr_utf8str_cs (zdrs, &objp->tag))
2881 		 return FALSE;
2882 	 if (!zdr_array (zdrs, (char **)&objp->resarray.resarray_val, (u_int *) &objp->resarray.resarray_len, ~0,
2883 		sizeof (nfs_resop4), (zdrproc_t) zdr_nfs_resop4))
2884 		 return FALSE;
2885 	return TRUE;
2886 }
2887 
2888 uint32_t
zdr_CB_GETATTR4args(ZDR * zdrs,CB_GETATTR4args * objp)2889 zdr_CB_GETATTR4args (ZDR *zdrs, CB_GETATTR4args *objp)
2890 {
2891 
2892 
2893 	 if (!zdr_nfs_fh4 (zdrs, &objp->fh))
2894 		 return FALSE;
2895 	 if (!zdr_bitmap4 (zdrs, &objp->attr_request))
2896 		 return FALSE;
2897 	return TRUE;
2898 }
2899 
2900 uint32_t
zdr_CB_GETATTR4resok(ZDR * zdrs,CB_GETATTR4resok * objp)2901 zdr_CB_GETATTR4resok (ZDR *zdrs, CB_GETATTR4resok *objp)
2902 {
2903 
2904 
2905 	 if (!zdr_fattr4 (zdrs, &objp->obj_attributes))
2906 		 return FALSE;
2907 	return TRUE;
2908 }
2909 
2910 uint32_t
zdr_CB_GETATTR4res(ZDR * zdrs,CB_GETATTR4res * objp)2911 zdr_CB_GETATTR4res (ZDR *zdrs, CB_GETATTR4res *objp)
2912 {
2913 
2914 
2915 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2916 		 return FALSE;
2917 	switch (objp->status) {
2918 	case NFS4_OK:
2919 		 if (!zdr_CB_GETATTR4resok (zdrs, &objp->CB_GETATTR4res_u.resok4))
2920 			 return FALSE;
2921 		break;
2922 	default:
2923 		break;
2924 	}
2925 	return TRUE;
2926 }
2927 
2928 uint32_t
zdr_CB_RECALL4args(ZDR * zdrs,CB_RECALL4args * objp)2929 zdr_CB_RECALL4args (ZDR *zdrs, CB_RECALL4args *objp)
2930 {
2931 
2932 
2933 	 if (!zdr_stateid4 (zdrs, &objp->stateid))
2934 		 return FALSE;
2935 	 if (!zdr_bool (zdrs, &objp->truncate))
2936 		 return FALSE;
2937 	 if (!zdr_nfs_fh4 (zdrs, &objp->fh))
2938 		 return FALSE;
2939 	return TRUE;
2940 }
2941 
2942 uint32_t
zdr_CB_RECALL4res(ZDR * zdrs,CB_RECALL4res * objp)2943 zdr_CB_RECALL4res (ZDR *zdrs, CB_RECALL4res *objp)
2944 {
2945 
2946 
2947 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2948 		 return FALSE;
2949 	return TRUE;
2950 }
2951 
2952 uint32_t
zdr_CB_ILLEGAL4res(ZDR * zdrs,CB_ILLEGAL4res * objp)2953 zdr_CB_ILLEGAL4res (ZDR *zdrs, CB_ILLEGAL4res *objp)
2954 {
2955 
2956 
2957 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
2958 		 return FALSE;
2959 	return TRUE;
2960 }
2961 
2962 uint32_t
zdr_nfs_cb_opnum4(ZDR * zdrs,nfs_cb_opnum4 * objp)2963 zdr_nfs_cb_opnum4 (ZDR *zdrs, nfs_cb_opnum4 *objp)
2964 {
2965 
2966 
2967 	 if (!zdr_enum (zdrs, (enum_t *) objp))
2968 		 return FALSE;
2969 	return TRUE;
2970 }
2971 
2972 uint32_t
zdr_nfs_cb_argop4(ZDR * zdrs,nfs_cb_argop4 * objp)2973 zdr_nfs_cb_argop4 (ZDR *zdrs, nfs_cb_argop4 *objp)
2974 {
2975 
2976 
2977 	 if (!zdr_u_int (zdrs, &objp->argop))
2978 		 return FALSE;
2979 	switch (objp->argop) {
2980 	case OP_CB_GETATTR:
2981 		 if (!zdr_CB_GETATTR4args (zdrs, &objp->nfs_cb_argop4_u.opcbgetattr))
2982 			 return FALSE;
2983 		break;
2984 	case OP_CB_RECALL:
2985 		 if (!zdr_CB_RECALL4args (zdrs, &objp->nfs_cb_argop4_u.opcbrecall))
2986 			 return FALSE;
2987 		break;
2988 	case OP_CB_ILLEGAL:
2989 		break;
2990 	default:
2991 		return FALSE;
2992 	}
2993 	return TRUE;
2994 }
2995 
2996 uint32_t
zdr_nfs_cb_resop4(ZDR * zdrs,nfs_cb_resop4 * objp)2997 zdr_nfs_cb_resop4 (ZDR *zdrs, nfs_cb_resop4 *objp)
2998 {
2999 
3000 
3001 	 if (!zdr_u_int (zdrs, &objp->resop))
3002 		 return FALSE;
3003 	switch (objp->resop) {
3004 	case OP_CB_GETATTR:
3005 		 if (!zdr_CB_GETATTR4res (zdrs, &objp->nfs_cb_resop4_u.opcbgetattr))
3006 			 return FALSE;
3007 		break;
3008 	case OP_CB_RECALL:
3009 		 if (!zdr_CB_RECALL4res (zdrs, &objp->nfs_cb_resop4_u.opcbrecall))
3010 			 return FALSE;
3011 		break;
3012 	case OP_CB_ILLEGAL:
3013 		 if (!zdr_CB_ILLEGAL4res (zdrs, &objp->nfs_cb_resop4_u.opcbillegal))
3014 			 return FALSE;
3015 		break;
3016 	default:
3017 		return FALSE;
3018 	}
3019 	return TRUE;
3020 }
3021 
3022 uint32_t
zdr_CB_COMPOUND4args(ZDR * zdrs,CB_COMPOUND4args * objp)3023 zdr_CB_COMPOUND4args (ZDR *zdrs, CB_COMPOUND4args *objp)
3024 {
3025 
3026 
3027 	 if (!zdr_utf8str_cs (zdrs, &objp->tag))
3028 		 return FALSE;
3029 	 if (!zdr_uint32_t (zdrs, &objp->minorversion))
3030 		 return FALSE;
3031 	 if (!zdr_uint32_t (zdrs, &objp->callback_ident))
3032 		 return FALSE;
3033 	 if (!zdr_array (zdrs, (char **)&objp->argarray.argarray_val, (u_int *) &objp->argarray.argarray_len, ~0,
3034 		sizeof (nfs_cb_argop4), (zdrproc_t) zdr_nfs_cb_argop4))
3035 		 return FALSE;
3036 	return TRUE;
3037 }
3038 
3039 uint32_t
zdr_CB_COMPOUND4res(ZDR * zdrs,CB_COMPOUND4res * objp)3040 zdr_CB_COMPOUND4res (ZDR *zdrs, CB_COMPOUND4res *objp)
3041 {
3042 
3043 
3044 	 if (!zdr_nfsstat4 (zdrs, &objp->status))
3045 		 return FALSE;
3046 	 if (!zdr_utf8str_cs (zdrs, &objp->tag))
3047 		 return FALSE;
3048 	 if (!zdr_array (zdrs, (char **)&objp->resarray.resarray_val, (u_int *) &objp->resarray.resarray_len, ~0,
3049 		sizeof (nfs_cb_resop4), (zdrproc_t) zdr_nfs_cb_resop4))
3050 		 return FALSE;
3051 	return TRUE;
3052 }
3053