Imported Upstream version 3.2.0
[debian/amanda] / ndmp-src / ndmp2_xdr.c
1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5
6 #include "ndmp2.h"
7 #ifndef NDMOS_OPTION_NO_NDMP2
8 #define ndmp2_u_quad unsigned long long
9 extern bool_t xdr_ndmp2_u_quad();
10
11 bool_t
12 xdr__ndmp2_u_quad (XDR *xdrs, _ndmp2_u_quad *objp)
13 {
14         register int32_t *buf;
15
16          if (!xdr_u_long (xdrs, &objp->high))
17                  return FALSE;
18          if (!xdr_u_long (xdrs, &objp->low))
19                  return FALSE;
20         return TRUE;
21 }
22
23 bool_t
24 xdr_ndmp2_pval (XDR *xdrs, ndmp2_pval *objp)
25 {
26         register int32_t *buf;
27
28          if (!xdr_string (xdrs, &objp->name, ~0))
29                  return FALSE;
30          if (!xdr_string (xdrs, &objp->value, ~0))
31                  return FALSE;
32         return TRUE;
33 }
34
35 bool_t
36 xdr_ndmp2_scsi_device (XDR *xdrs, ndmp2_scsi_device *objp)
37 {
38         register int32_t *buf;
39
40          if (!xdr_string (xdrs, &objp->name, ~0))
41                  return FALSE;
42         return TRUE;
43 }
44
45 bool_t
46 xdr_ndmp2_tape_device (XDR *xdrs, ndmp2_tape_device *objp)
47 {
48         register int32_t *buf;
49
50          if (!xdr_string (xdrs, &objp->name, ~0))
51                  return FALSE;
52         return TRUE;
53 }
54
55 bool_t
56 xdr_ndmp2_error (XDR *xdrs, ndmp2_error *objp)
57 {
58         register int32_t *buf;
59
60          if (!xdr_enum (xdrs, (enum_t *) objp))
61                  return FALSE;
62         return TRUE;
63 }
64
65 bool_t
66 xdr_ndmp2_header_message_type (XDR *xdrs, ndmp2_header_message_type *objp)
67 {
68         register int32_t *buf;
69
70          if (!xdr_enum (xdrs, (enum_t *) objp))
71                  return FALSE;
72         return TRUE;
73 }
74
75 bool_t
76 xdr_ndmp2_message (XDR *xdrs, ndmp2_message *objp)
77 {
78         register int32_t *buf;
79
80          if (!xdr_enum (xdrs, (enum_t *) objp))
81                  return FALSE;
82         return TRUE;
83 }
84
85 bool_t
86 xdr_ndmp2_header (XDR *xdrs, ndmp2_header *objp)
87 {
88         register int32_t *buf;
89
90          if (!xdr_u_long (xdrs, &objp->sequence))
91                  return FALSE;
92          if (!xdr_u_long (xdrs, &objp->time_stamp))
93                  return FALSE;
94          if (!xdr_ndmp2_header_message_type (xdrs, &objp->message_type))
95                  return FALSE;
96          if (!xdr_ndmp2_message (xdrs, &objp->message))
97                  return FALSE;
98          if (!xdr_u_long (xdrs, &objp->reply_sequence))
99                  return FALSE;
100          if (!xdr_ndmp2_error (xdrs, &objp->error))
101                  return FALSE;
102         return TRUE;
103 }
104
105 bool_t
106 xdr_ndmp2_connect_open_request (XDR *xdrs, ndmp2_connect_open_request *objp)
107 {
108         register int32_t *buf;
109
110          if (!xdr_u_short (xdrs, &objp->protocol_version))
111                  return FALSE;
112         return TRUE;
113 }
114
115 bool_t
116 xdr_ndmp2_connect_open_reply (XDR *xdrs, ndmp2_connect_open_reply *objp)
117 {
118         register int32_t *buf;
119
120          if (!xdr_ndmp2_error (xdrs, &objp->error))
121                  return FALSE;
122         return TRUE;
123 }
124
125 bool_t
126 xdr_ndmp2_auth_type (XDR *xdrs, ndmp2_auth_type *objp)
127 {
128         register int32_t *buf;
129
130          if (!xdr_enum (xdrs, (enum_t *) objp))
131                  return FALSE;
132         return TRUE;
133 }
134
135 bool_t
136 xdr_ndmp2_auth_text (XDR *xdrs, ndmp2_auth_text *objp)
137 {
138         register int32_t *buf;
139
140          if (!xdr_string (xdrs, &objp->auth_id, ~0))
141                  return FALSE;
142          if (!xdr_string (xdrs, &objp->auth_password, ~0))
143                  return FALSE;
144         return TRUE;
145 }
146
147 bool_t
148 xdr_ndmp2_auth_md5 (XDR *xdrs, ndmp2_auth_md5 *objp)
149 {
150         register int32_t *buf;
151
152         int i;
153          if (!xdr_string (xdrs, &objp->auth_id, ~0))
154                  return FALSE;
155          if (!xdr_opaque (xdrs, objp->auth_digest, 16))
156                  return FALSE;
157         return TRUE;
158 }
159
160 bool_t
161 xdr_ndmp2_auth_data (XDR *xdrs, ndmp2_auth_data *objp)
162 {
163         register int32_t *buf;
164
165          if (!xdr_ndmp2_auth_type (xdrs, &objp->auth_type))
166                  return FALSE;
167         switch (objp->auth_type) {
168         case NDMP2_AUTH_NONE:
169                 break;
170         case NDMP2_AUTH_TEXT:
171                  if (!xdr_ndmp2_auth_text (xdrs, &objp->ndmp2_auth_data_u.auth_text))
172                          return FALSE;
173                 break;
174         case NDMP2_AUTH_MD5:
175                  if (!xdr_ndmp2_auth_md5 (xdrs, &objp->ndmp2_auth_data_u.auth_md5))
176                          return FALSE;
177                 break;
178         default:
179                 return FALSE;
180         }
181         return TRUE;
182 }
183
184 bool_t
185 xdr_ndmp2_connect_client_auth_request (XDR *xdrs, ndmp2_connect_client_auth_request *objp)
186 {
187         register int32_t *buf;
188
189          if (!xdr_ndmp2_auth_data (xdrs, &objp->auth_data))
190                  return FALSE;
191         return TRUE;
192 }
193
194 bool_t
195 xdr_ndmp2_connect_client_auth_reply (XDR *xdrs, ndmp2_connect_client_auth_reply *objp)
196 {
197         register int32_t *buf;
198
199          if (!xdr_ndmp2_error (xdrs, &objp->error))
200                  return FALSE;
201         return TRUE;
202 }
203
204 bool_t
205 xdr_ndmp2_auth_attr (XDR *xdrs, ndmp2_auth_attr *objp)
206 {
207         register int32_t *buf;
208
209          if (!xdr_ndmp2_auth_type (xdrs, &objp->auth_type))
210                  return FALSE;
211         switch (objp->auth_type) {
212         case NDMP2_AUTH_NONE:
213                 break;
214         case NDMP2_AUTH_TEXT:
215                 break;
216         case NDMP2_AUTH_MD5:
217                  if (!xdr_opaque (xdrs, objp->ndmp2_auth_attr_u.challenge, 64))
218                          return FALSE;
219                 break;
220         default:
221                 return FALSE;
222         }
223         return TRUE;
224 }
225
226 bool_t
227 xdr_ndmp2_connect_server_auth_request (XDR *xdrs, ndmp2_connect_server_auth_request *objp)
228 {
229         register int32_t *buf;
230
231          if (!xdr_ndmp2_auth_attr (xdrs, &objp->client_attr))
232                  return FALSE;
233         return TRUE;
234 }
235
236 bool_t
237 xdr_ndmp2_connect_server_auth_reply (XDR *xdrs, ndmp2_connect_server_auth_reply *objp)
238 {
239         register int32_t *buf;
240
241          if (!xdr_ndmp2_error (xdrs, &objp->error))
242                  return FALSE;
243          if (!xdr_ndmp2_auth_data (xdrs, &objp->auth_result))
244                  return FALSE;
245         return TRUE;
246 }
247
248 bool_t
249 xdr_ndmp2_config_get_host_info_reply (XDR *xdrs, ndmp2_config_get_host_info_reply *objp)
250 {
251         register int32_t *buf;
252
253          if (!xdr_ndmp2_error (xdrs, &objp->error))
254                  return FALSE;
255          if (!xdr_string (xdrs, &objp->hostname, ~0))
256                  return FALSE;
257          if (!xdr_string (xdrs, &objp->os_type, ~0))
258                  return FALSE;
259          if (!xdr_string (xdrs, &objp->os_vers, ~0))
260                  return FALSE;
261          if (!xdr_string (xdrs, &objp->hostid, ~0))
262                  return FALSE;
263          if (!xdr_array (xdrs, (char **)&objp->auth_type.auth_type_val, (u_int *) &objp->auth_type.auth_type_len, ~0,
264                 sizeof (ndmp2_auth_type), (xdrproc_t) xdr_ndmp2_auth_type))
265                  return FALSE;
266         return TRUE;
267 }
268
269 bool_t
270 xdr_ndmp2_config_get_butype_attr_request (XDR *xdrs, ndmp2_config_get_butype_attr_request *objp)
271 {
272         register int32_t *buf;
273
274          if (!xdr_string (xdrs, &objp->name, ~0))
275                  return FALSE;
276         return TRUE;
277 }
278
279 bool_t
280 xdr_ndmp2_config_get_butype_attr_reply (XDR *xdrs, ndmp2_config_get_butype_attr_reply *objp)
281 {
282         register int32_t *buf;
283
284          if (!xdr_ndmp2_error (xdrs, &objp->error))
285                  return FALSE;
286          if (!xdr_u_long (xdrs, &objp->attrs))
287                  return FALSE;
288         return TRUE;
289 }
290
291 bool_t
292 xdr_ndmp2_mover_addr_type (XDR *xdrs, ndmp2_mover_addr_type *objp)
293 {
294         register int32_t *buf;
295
296          if (!xdr_enum (xdrs, (enum_t *) objp))
297                  return FALSE;
298         return TRUE;
299 }
300
301 bool_t
302 xdr_ndmp2_config_get_mover_type_reply (XDR *xdrs, ndmp2_config_get_mover_type_reply *objp)
303 {
304         register int32_t *buf;
305
306          if (!xdr_ndmp2_error (xdrs, &objp->error))
307                  return FALSE;
308          if (!xdr_array (xdrs, (char **)&objp->methods.methods_val, (u_int *) &objp->methods.methods_len, ~0,
309                 sizeof (ndmp2_mover_addr_type), (xdrproc_t) xdr_ndmp2_mover_addr_type))
310                  return FALSE;
311         return TRUE;
312 }
313
314 bool_t
315 xdr_ndmp2_config_get_auth_attr_request (XDR *xdrs, ndmp2_config_get_auth_attr_request *objp)
316 {
317         register int32_t *buf;
318
319          if (!xdr_ndmp2_auth_type (xdrs, &objp->auth_type))
320                  return FALSE;
321         return TRUE;
322 }
323
324 bool_t
325 xdr_ndmp2_config_get_auth_attr_reply (XDR *xdrs, ndmp2_config_get_auth_attr_reply *objp)
326 {
327         register int32_t *buf;
328
329          if (!xdr_ndmp2_error (xdrs, &objp->error))
330                  return FALSE;
331          if (!xdr_ndmp2_auth_attr (xdrs, &objp->server_attr))
332                  return FALSE;
333         return TRUE;
334 }
335
336 bool_t
337 xdr_ndmp2_scsi_open_request (XDR *xdrs, ndmp2_scsi_open_request *objp)
338 {
339         register int32_t *buf;
340
341          if (!xdr_ndmp2_scsi_device (xdrs, &objp->device))
342                  return FALSE;
343         return TRUE;
344 }
345
346 bool_t
347 xdr_ndmp2_scsi_open_reply (XDR *xdrs, ndmp2_scsi_open_reply *objp)
348 {
349         register int32_t *buf;
350
351          if (!xdr_ndmp2_error (xdrs, &objp->error))
352                  return FALSE;
353         return TRUE;
354 }
355
356 bool_t
357 xdr_ndmp2_scsi_close_reply (XDR *xdrs, ndmp2_scsi_close_reply *objp)
358 {
359         register int32_t *buf;
360
361          if (!xdr_ndmp2_error (xdrs, &objp->error))
362                  return FALSE;
363         return TRUE;
364 }
365
366 bool_t
367 xdr_ndmp2_scsi_get_state_reply (XDR *xdrs, ndmp2_scsi_get_state_reply *objp)
368 {
369         register int32_t *buf;
370
371          if (!xdr_ndmp2_error (xdrs, &objp->error))
372                  return FALSE;
373          if (!xdr_short (xdrs, &objp->target_controller))
374                  return FALSE;
375          if (!xdr_short (xdrs, &objp->target_id))
376                  return FALSE;
377          if (!xdr_short (xdrs, &objp->target_lun))
378                  return FALSE;
379         return TRUE;
380 }
381
382 bool_t
383 xdr_ndmp2_scsi_set_target_request (XDR *xdrs, ndmp2_scsi_set_target_request *objp)
384 {
385         register int32_t *buf;
386
387          if (!xdr_ndmp2_scsi_device (xdrs, &objp->device))
388                  return FALSE;
389          if (!xdr_u_short (xdrs, &objp->target_controller))
390                  return FALSE;
391          if (!xdr_u_short (xdrs, &objp->target_id))
392                  return FALSE;
393          if (!xdr_u_short (xdrs, &objp->target_lun))
394                  return FALSE;
395         return TRUE;
396 }
397
398 bool_t
399 xdr_ndmp2_scsi_set_target_reply (XDR *xdrs, ndmp2_scsi_set_target_reply *objp)
400 {
401         register int32_t *buf;
402
403          if (!xdr_ndmp2_error (xdrs, &objp->error))
404                  return FALSE;
405         return TRUE;
406 }
407
408 bool_t
409 xdr_ndmp2_scsi_reset_device_reply (XDR *xdrs, ndmp2_scsi_reset_device_reply *objp)
410 {
411         register int32_t *buf;
412
413          if (!xdr_ndmp2_error (xdrs, &objp->error))
414                  return FALSE;
415         return TRUE;
416 }
417
418 bool_t
419 xdr_ndmp2_scsi_reset_bus_reply (XDR *xdrs, ndmp2_scsi_reset_bus_reply *objp)
420 {
421         register int32_t *buf;
422
423          if (!xdr_ndmp2_error (xdrs, &objp->error))
424                  return FALSE;
425         return TRUE;
426 }
427
428 bool_t
429 xdr_ndmp2_execute_cdb_request (XDR *xdrs, ndmp2_execute_cdb_request *objp)
430 {
431         register int32_t *buf;
432
433
434         if (xdrs->x_op == XDR_ENCODE) {
435                 buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
436                 if (buf == NULL) {
437                          if (!xdr_u_long (xdrs, &objp->flags))
438                                  return FALSE;
439                          if (!xdr_u_long (xdrs, &objp->timeout))
440                                  return FALSE;
441                          if (!xdr_u_long (xdrs, &objp->datain_len))
442                                  return FALSE;
443
444                 } else {
445                 IXDR_PUT_U_LONG(buf, objp->flags);
446                 IXDR_PUT_U_LONG(buf, objp->timeout);
447                 IXDR_PUT_U_LONG(buf, objp->datain_len);
448                 }
449                  if (!xdr_bytes (xdrs, (char **)&objp->cdb.cdb_val, (u_int *) &objp->cdb.cdb_len, ~0))
450                          return FALSE;
451                  if (!xdr_bytes (xdrs, (char **)&objp->dataout.dataout_val, (u_int *) &objp->dataout.dataout_len, ~0))
452                          return FALSE;
453                 return TRUE;
454         } else if (xdrs->x_op == XDR_DECODE) {
455                 buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
456                 if (buf == NULL) {
457                          if (!xdr_u_long (xdrs, &objp->flags))
458                                  return FALSE;
459                          if (!xdr_u_long (xdrs, &objp->timeout))
460                                  return FALSE;
461                          if (!xdr_u_long (xdrs, &objp->datain_len))
462                                  return FALSE;
463
464                 } else {
465                 objp->flags = IXDR_GET_U_LONG(buf);
466                 objp->timeout = IXDR_GET_U_LONG(buf);
467                 objp->datain_len = IXDR_GET_U_LONG(buf);
468                 }
469                  if (!xdr_bytes (xdrs, (char **)&objp->cdb.cdb_val, (u_int *) &objp->cdb.cdb_len, ~0))
470                          return FALSE;
471                  if (!xdr_bytes (xdrs, (char **)&objp->dataout.dataout_val, (u_int *) &objp->dataout.dataout_len, ~0))
472                          return FALSE;
473          return TRUE;
474         }
475
476          if (!xdr_u_long (xdrs, &objp->flags))
477                  return FALSE;
478          if (!xdr_u_long (xdrs, &objp->timeout))
479                  return FALSE;
480          if (!xdr_u_long (xdrs, &objp->datain_len))
481                  return FALSE;
482          if (!xdr_bytes (xdrs, (char **)&objp->cdb.cdb_val, (u_int *) &objp->cdb.cdb_len, ~0))
483                  return FALSE;
484          if (!xdr_bytes (xdrs, (char **)&objp->dataout.dataout_val, (u_int *) &objp->dataout.dataout_len, ~0))
485                  return FALSE;
486         return TRUE;
487 }
488
489 bool_t
490 xdr_ndmp2_execute_cdb_reply (XDR *xdrs, ndmp2_execute_cdb_reply *objp)
491 {
492         register int32_t *buf;
493
494          if (!xdr_ndmp2_error (xdrs, &objp->error))
495                  return FALSE;
496          if (!xdr_u_char (xdrs, &objp->status))
497                  return FALSE;
498          if (!xdr_u_long (xdrs, &objp->dataout_len))
499                  return FALSE;
500          if (!xdr_bytes (xdrs, (char **)&objp->datain.datain_val, (u_int *) &objp->datain.datain_len, ~0))
501                  return FALSE;
502          if (!xdr_bytes (xdrs, (char **)&objp->ext_sense.ext_sense_val, (u_int *) &objp->ext_sense.ext_sense_len, ~0))
503                  return FALSE;
504         return TRUE;
505 }
506
507 bool_t
508 xdr_ndmp2_scsi_execute_cdb_request (XDR *xdrs, ndmp2_scsi_execute_cdb_request *objp)
509 {
510         register int32_t *buf;
511
512          if (!xdr_ndmp2_execute_cdb_request (xdrs, objp))
513                  return FALSE;
514         return TRUE;
515 }
516
517 bool_t
518 xdr_ndmp2_scsi_execute_cdb_reply (XDR *xdrs, ndmp2_scsi_execute_cdb_reply *objp)
519 {
520         register int32_t *buf;
521
522          if (!xdr_ndmp2_execute_cdb_reply (xdrs, objp))
523                  return FALSE;
524         return TRUE;
525 }
526
527 bool_t
528 xdr_ndmp2_tape_open_mode (XDR *xdrs, ndmp2_tape_open_mode *objp)
529 {
530         register int32_t *buf;
531
532          if (!xdr_enum (xdrs, (enum_t *) objp))
533                  return FALSE;
534         return TRUE;
535 }
536
537 bool_t
538 xdr_ndmp2_tape_open_request (XDR *xdrs, ndmp2_tape_open_request *objp)
539 {
540         register int32_t *buf;
541
542          if (!xdr_ndmp2_tape_device (xdrs, &objp->device))
543                  return FALSE;
544          if (!xdr_ndmp2_tape_open_mode (xdrs, &objp->mode))
545                  return FALSE;
546         return TRUE;
547 }
548
549 bool_t
550 xdr_ndmp2_tape_open_reply (XDR *xdrs, ndmp2_tape_open_reply *objp)
551 {
552         register int32_t *buf;
553
554          if (!xdr_ndmp2_error (xdrs, &objp->error))
555                  return FALSE;
556         return TRUE;
557 }
558
559 bool_t
560 xdr_ndmp2_tape_close_reply (XDR *xdrs, ndmp2_tape_close_reply *objp)
561 {
562         register int32_t *buf;
563
564          if (!xdr_ndmp2_error (xdrs, &objp->error))
565                  return FALSE;
566         return TRUE;
567 }
568
569 bool_t
570 xdr_ndmp2_tape_get_state_reply (XDR *xdrs, ndmp2_tape_get_state_reply *objp)
571 {
572         register int32_t *buf;
573
574
575         if (xdrs->x_op == XDR_ENCODE) {
576                  if (!xdr_ndmp2_error (xdrs, &objp->error))
577                          return FALSE;
578                 buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
579                 if (buf == NULL) {
580                          if (!xdr_u_long (xdrs, &objp->flags))
581                                  return FALSE;
582                          if (!xdr_u_long (xdrs, &objp->file_num))
583                                  return FALSE;
584                          if (!xdr_u_long (xdrs, &objp->soft_errors))
585                                  return FALSE;
586                          if (!xdr_u_long (xdrs, &objp->block_size))
587                                  return FALSE;
588                          if (!xdr_u_long (xdrs, &objp->blockno))
589                                  return FALSE;
590
591                 } else {
592                 IXDR_PUT_U_LONG(buf, objp->flags);
593                 IXDR_PUT_U_LONG(buf, objp->file_num);
594                 IXDR_PUT_U_LONG(buf, objp->soft_errors);
595                 IXDR_PUT_U_LONG(buf, objp->block_size);
596                 IXDR_PUT_U_LONG(buf, objp->blockno);
597                 }
598                  if (!xdr_ndmp2_u_quad (xdrs, &objp->total_space))
599                          return FALSE;
600                  if (!xdr_ndmp2_u_quad (xdrs, &objp->space_remain))
601                          return FALSE;
602                 return TRUE;
603         } else if (xdrs->x_op == XDR_DECODE) {
604                  if (!xdr_ndmp2_error (xdrs, &objp->error))
605                          return FALSE;
606                 buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
607                 if (buf == NULL) {
608                          if (!xdr_u_long (xdrs, &objp->flags))
609                                  return FALSE;
610                          if (!xdr_u_long (xdrs, &objp->file_num))
611                                  return FALSE;
612                          if (!xdr_u_long (xdrs, &objp->soft_errors))
613                                  return FALSE;
614                          if (!xdr_u_long (xdrs, &objp->block_size))
615                                  return FALSE;
616                          if (!xdr_u_long (xdrs, &objp->blockno))
617                                  return FALSE;
618
619                 } else {
620                 objp->flags = IXDR_GET_U_LONG(buf);
621                 objp->file_num = IXDR_GET_U_LONG(buf);
622                 objp->soft_errors = IXDR_GET_U_LONG(buf);
623                 objp->block_size = IXDR_GET_U_LONG(buf);
624                 objp->blockno = IXDR_GET_U_LONG(buf);
625                 }
626                  if (!xdr_ndmp2_u_quad (xdrs, &objp->total_space))
627                          return FALSE;
628                  if (!xdr_ndmp2_u_quad (xdrs, &objp->space_remain))
629                          return FALSE;
630          return TRUE;
631         }
632
633          if (!xdr_ndmp2_error (xdrs, &objp->error))
634                  return FALSE;
635          if (!xdr_u_long (xdrs, &objp->flags))
636                  return FALSE;
637          if (!xdr_u_long (xdrs, &objp->file_num))
638                  return FALSE;
639          if (!xdr_u_long (xdrs, &objp->soft_errors))
640                  return FALSE;
641          if (!xdr_u_long (xdrs, &objp->block_size))
642                  return FALSE;
643          if (!xdr_u_long (xdrs, &objp->blockno))
644                  return FALSE;
645          if (!xdr_ndmp2_u_quad (xdrs, &objp->total_space))
646                  return FALSE;
647          if (!xdr_ndmp2_u_quad (xdrs, &objp->space_remain))
648                  return FALSE;
649         return TRUE;
650 }
651
652 bool_t
653 xdr_ndmp2_tape_mtio_op (XDR *xdrs, ndmp2_tape_mtio_op *objp)
654 {
655         register int32_t *buf;
656
657          if (!xdr_enum (xdrs, (enum_t *) objp))
658                  return FALSE;
659         return TRUE;
660 }
661
662 bool_t
663 xdr_ndmp2_tape_mtio_request (XDR *xdrs, ndmp2_tape_mtio_request *objp)
664 {
665         register int32_t *buf;
666
667          if (!xdr_ndmp2_tape_mtio_op (xdrs, &objp->tape_op))
668                  return FALSE;
669          if (!xdr_u_long (xdrs, &objp->count))
670                  return FALSE;
671         return TRUE;
672 }
673
674 bool_t
675 xdr_ndmp2_tape_mtio_reply (XDR *xdrs, ndmp2_tape_mtio_reply *objp)
676 {
677         register int32_t *buf;
678
679          if (!xdr_ndmp2_error (xdrs, &objp->error))
680                  return FALSE;
681          if (!xdr_u_long (xdrs, &objp->resid_count))
682                  return FALSE;
683         return TRUE;
684 }
685
686 bool_t
687 xdr_ndmp2_tape_write_request (XDR *xdrs, ndmp2_tape_write_request *objp)
688 {
689         register int32_t *buf;
690
691          if (!xdr_bytes (xdrs, (char **)&objp->data_out.data_out_val, (u_int *) &objp->data_out.data_out_len, ~0))
692                  return FALSE;
693         return TRUE;
694 }
695
696 bool_t
697 xdr_ndmp2_tape_write_reply (XDR *xdrs, ndmp2_tape_write_reply *objp)
698 {
699         register int32_t *buf;
700
701          if (!xdr_ndmp2_error (xdrs, &objp->error))
702                  return FALSE;
703          if (!xdr_u_long (xdrs, &objp->count))
704                  return FALSE;
705         return TRUE;
706 }
707
708 bool_t
709 xdr_ndmp2_tape_read_request (XDR *xdrs, ndmp2_tape_read_request *objp)
710 {
711         register int32_t *buf;
712
713          if (!xdr_u_long (xdrs, &objp->count))
714                  return FALSE;
715         return TRUE;
716 }
717
718 bool_t
719 xdr_ndmp2_tape_read_reply (XDR *xdrs, ndmp2_tape_read_reply *objp)
720 {
721         register int32_t *buf;
722
723          if (!xdr_ndmp2_error (xdrs, &objp->error))
724                  return FALSE;
725          if (!xdr_bytes (xdrs, (char **)&objp->data_in.data_in_val, (u_int *) &objp->data_in.data_in_len, ~0))
726                  return FALSE;
727         return TRUE;
728 }
729
730 bool_t
731 xdr_ndmp2_tape_execute_cdb_request (XDR *xdrs, ndmp2_tape_execute_cdb_request *objp)
732 {
733         register int32_t *buf;
734
735          if (!xdr_ndmp2_execute_cdb_request (xdrs, objp))
736                  return FALSE;
737         return TRUE;
738 }
739
740 bool_t
741 xdr_ndmp2_tape_execute_cdb_reply (XDR *xdrs, ndmp2_tape_execute_cdb_reply *objp)
742 {
743         register int32_t *buf;
744
745          if (!xdr_ndmp2_execute_cdb_reply (xdrs, objp))
746                  return FALSE;
747         return TRUE;
748 }
749
750 bool_t
751 xdr_ndmp2_mover_state (XDR *xdrs, ndmp2_mover_state *objp)
752 {
753         register int32_t *buf;
754
755          if (!xdr_enum (xdrs, (enum_t *) objp))
756                  return FALSE;
757         return TRUE;
758 }
759
760 bool_t
761 xdr_ndmp2_mover_pause_reason (XDR *xdrs, ndmp2_mover_pause_reason *objp)
762 {
763         register int32_t *buf;
764
765          if (!xdr_enum (xdrs, (enum_t *) objp))
766                  return FALSE;
767         return TRUE;
768 }
769
770 bool_t
771 xdr_ndmp2_mover_halt_reason (XDR *xdrs, ndmp2_mover_halt_reason *objp)
772 {
773         register int32_t *buf;
774
775          if (!xdr_enum (xdrs, (enum_t *) objp))
776                  return FALSE;
777         return TRUE;
778 }
779
780 bool_t
781 xdr_ndmp2_mover_get_state_reply (XDR *xdrs, ndmp2_mover_get_state_reply *objp)
782 {
783         register int32_t *buf;
784
785          if (!xdr_ndmp2_error (xdrs, &objp->error))
786                  return FALSE;
787          if (!xdr_ndmp2_mover_state (xdrs, &objp->state))
788                  return FALSE;
789          if (!xdr_ndmp2_mover_pause_reason (xdrs, &objp->pause_reason))
790                  return FALSE;
791          if (!xdr_ndmp2_mover_halt_reason (xdrs, &objp->halt_reason))
792                  return FALSE;
793          if (!xdr_u_long (xdrs, &objp->record_size))
794                  return FALSE;
795          if (!xdr_u_long (xdrs, &objp->record_num))
796                  return FALSE;
797          if (!xdr_ndmp2_u_quad (xdrs, &objp->data_written))
798                  return FALSE;
799          if (!xdr_ndmp2_u_quad (xdrs, &objp->seek_position))
800                  return FALSE;
801          if (!xdr_ndmp2_u_quad (xdrs, &objp->bytes_left_to_read))
802                  return FALSE;
803          if (!xdr_ndmp2_u_quad (xdrs, &objp->window_offset))
804                  return FALSE;
805          if (!xdr_ndmp2_u_quad (xdrs, &objp->window_length))
806                  return FALSE;
807         return TRUE;
808 }
809
810 bool_t
811 xdr_ndmp2_mover_mode (XDR *xdrs, ndmp2_mover_mode *objp)
812 {
813         register int32_t *buf;
814
815          if (!xdr_enum (xdrs, (enum_t *) objp))
816                  return FALSE;
817         return TRUE;
818 }
819
820 bool_t
821 xdr_ndmp2_mover_tcp_addr (XDR *xdrs, ndmp2_mover_tcp_addr *objp)
822 {
823         register int32_t *buf;
824
825          if (!xdr_u_long (xdrs, &objp->ip_addr))
826                  return FALSE;
827          if (!xdr_u_short (xdrs, &objp->port))
828                  return FALSE;
829         return TRUE;
830 }
831
832 bool_t
833 xdr_ndmp2_mover_addr (XDR *xdrs, ndmp2_mover_addr *objp)
834 {
835         register int32_t *buf;
836
837          if (!xdr_ndmp2_mover_addr_type (xdrs, &objp->addr_type))
838                  return FALSE;
839         switch (objp->addr_type) {
840         case NDMP2_ADDR_LOCAL:
841                 break;
842         case NDMP2_ADDR_TCP:
843                  if (!xdr_ndmp2_mover_tcp_addr (xdrs, &objp->ndmp2_mover_addr_u.addr))
844                          return FALSE;
845                 break;
846         default:
847                 return FALSE;
848         }
849         return TRUE;
850 }
851
852 bool_t
853 xdr_ndmp2_mover_listen_request (XDR *xdrs, ndmp2_mover_listen_request *objp)
854 {
855         register int32_t *buf;
856
857          if (!xdr_ndmp2_mover_mode (xdrs, &objp->mode))
858                  return FALSE;
859          if (!xdr_ndmp2_mover_addr_type (xdrs, &objp->addr_type))
860                  return FALSE;
861         return TRUE;
862 }
863
864 bool_t
865 xdr_ndmp2_mover_listen_reply (XDR *xdrs, ndmp2_mover_listen_reply *objp)
866 {
867         register int32_t *buf;
868
869          if (!xdr_ndmp2_error (xdrs, &objp->error))
870                  return FALSE;
871          if (!xdr_ndmp2_mover_addr (xdrs, &objp->mover))
872                  return FALSE;
873         return TRUE;
874 }
875
876 bool_t
877 xdr_ndmp2_mover_set_record_size_request (XDR *xdrs, ndmp2_mover_set_record_size_request *objp)
878 {
879         register int32_t *buf;
880
881          if (!xdr_u_long (xdrs, &objp->len))
882                  return FALSE;
883         return TRUE;
884 }
885
886 bool_t
887 xdr_ndmp2_mover_set_record_size_reply (XDR *xdrs, ndmp2_mover_set_record_size_reply *objp)
888 {
889         register int32_t *buf;
890
891          if (!xdr_ndmp2_error (xdrs, &objp->error))
892                  return FALSE;
893         return TRUE;
894 }
895
896 bool_t
897 xdr_ndmp2_mover_set_window_request (XDR *xdrs, ndmp2_mover_set_window_request *objp)
898 {
899         register int32_t *buf;
900
901          if (!xdr_ndmp2_u_quad (xdrs, &objp->offset))
902                  return FALSE;
903          if (!xdr_ndmp2_u_quad (xdrs, &objp->length))
904                  return FALSE;
905         return TRUE;
906 }
907
908 bool_t
909 xdr_ndmp2_mover_set_window_reply (XDR *xdrs, ndmp2_mover_set_window_reply *objp)
910 {
911         register int32_t *buf;
912
913          if (!xdr_ndmp2_error (xdrs, &objp->error))
914                  return FALSE;
915         return TRUE;
916 }
917
918 bool_t
919 xdr_ndmp2_mover_continue_reply (XDR *xdrs, ndmp2_mover_continue_reply *objp)
920 {
921         register int32_t *buf;
922
923          if (!xdr_ndmp2_error (xdrs, &objp->error))
924                  return FALSE;
925         return TRUE;
926 }
927
928 bool_t
929 xdr_ndmp2_mover_abort_reply (XDR *xdrs, ndmp2_mover_abort_reply *objp)
930 {
931         register int32_t *buf;
932
933          if (!xdr_ndmp2_error (xdrs, &objp->error))
934                  return FALSE;
935         return TRUE;
936 }
937
938 bool_t
939 xdr_ndmp2_mover_stop_reply (XDR *xdrs, ndmp2_mover_stop_reply *objp)
940 {
941         register int32_t *buf;
942
943          if (!xdr_ndmp2_error (xdrs, &objp->error))
944                  return FALSE;
945         return TRUE;
946 }
947
948 bool_t
949 xdr_ndmp2_mover_read_request (XDR *xdrs, ndmp2_mover_read_request *objp)
950 {
951         register int32_t *buf;
952
953          if (!xdr_ndmp2_u_quad (xdrs, &objp->offset))
954                  return FALSE;
955          if (!xdr_ndmp2_u_quad (xdrs, &objp->length))
956                  return FALSE;
957         return TRUE;
958 }
959
960 bool_t
961 xdr_ndmp2_mover_read_reply (XDR *xdrs, ndmp2_mover_read_reply *objp)
962 {
963         register int32_t *buf;
964
965          if (!xdr_ndmp2_error (xdrs, &objp->error))
966                  return FALSE;
967         return TRUE;
968 }
969
970 bool_t
971 xdr_ndmp2_mover_close_reply (XDR *xdrs, ndmp2_mover_close_reply *objp)
972 {
973         register int32_t *buf;
974
975          if (!xdr_ndmp2_error (xdrs, &objp->error))
976                  return FALSE;
977         return TRUE;
978 }
979
980 bool_t
981 xdr_ndmp2_data_operation (XDR *xdrs, ndmp2_data_operation *objp)
982 {
983         register int32_t *buf;
984
985          if (!xdr_enum (xdrs, (enum_t *) objp))
986                  return FALSE;
987         return TRUE;
988 }
989
990 bool_t
991 xdr_ndmp2_data_state (XDR *xdrs, ndmp2_data_state *objp)
992 {
993         register int32_t *buf;
994
995          if (!xdr_enum (xdrs, (enum_t *) objp))
996                  return FALSE;
997         return TRUE;
998 }
999
1000 bool_t
1001 xdr_ndmp2_data_halt_reason (XDR *xdrs, ndmp2_data_halt_reason *objp)
1002 {
1003         register int32_t *buf;
1004
1005          if (!xdr_enum (xdrs, (enum_t *) objp))
1006                  return FALSE;
1007         return TRUE;
1008 }
1009
1010 bool_t
1011 xdr_ndmp2_data_get_state_reply (XDR *xdrs, ndmp2_data_get_state_reply *objp)
1012 {
1013         register int32_t *buf;
1014
1015          if (!xdr_ndmp2_error (xdrs, &objp->error))
1016                  return FALSE;
1017          if (!xdr_ndmp2_data_operation (xdrs, &objp->operation))
1018                  return FALSE;
1019          if (!xdr_ndmp2_data_state (xdrs, &objp->state))
1020                  return FALSE;
1021          if (!xdr_ndmp2_data_halt_reason (xdrs, &objp->halt_reason))
1022                  return FALSE;
1023          if (!xdr_ndmp2_u_quad (xdrs, &objp->bytes_processed))
1024                  return FALSE;
1025          if (!xdr_ndmp2_u_quad (xdrs, &objp->est_bytes_remain))
1026                  return FALSE;
1027          if (!xdr_u_long (xdrs, &objp->est_time_remain))
1028                  return FALSE;
1029          if (!xdr_ndmp2_mover_addr (xdrs, &objp->mover))
1030                  return FALSE;
1031          if (!xdr_ndmp2_u_quad (xdrs, &objp->read_offset))
1032                  return FALSE;
1033          if (!xdr_ndmp2_u_quad (xdrs, &objp->read_length))
1034                  return FALSE;
1035         return TRUE;
1036 }
1037
1038 bool_t
1039 xdr_ndmp2_data_start_backup_request (XDR *xdrs, ndmp2_data_start_backup_request *objp)
1040 {
1041         register int32_t *buf;
1042
1043          if (!xdr_ndmp2_mover_addr (xdrs, &objp->mover))
1044                  return FALSE;
1045          if (!xdr_string (xdrs, &objp->bu_type, ~0))
1046                  return FALSE;
1047          if (!xdr_array (xdrs, (char **)&objp->env.env_val, (u_int *) &objp->env.env_len, ~0,
1048                 sizeof (ndmp2_pval), (xdrproc_t) xdr_ndmp2_pval))
1049                  return FALSE;
1050         return TRUE;
1051 }
1052
1053 bool_t
1054 xdr_ndmp2_data_start_backup_reply (XDR *xdrs, ndmp2_data_start_backup_reply *objp)
1055 {
1056         register int32_t *buf;
1057
1058          if (!xdr_ndmp2_error (xdrs, &objp->error))
1059                  return FALSE;
1060         return TRUE;
1061 }
1062
1063 bool_t
1064 xdr_ndmp2_name (XDR *xdrs, ndmp2_name *objp)
1065 {
1066         register int32_t *buf;
1067
1068          if (!xdr_string (xdrs, &objp->name, ~0))
1069                  return FALSE;
1070          if (!xdr_string (xdrs, &objp->dest, ~0))
1071                  return FALSE;
1072          if (!xdr_u_short (xdrs, &objp->ssid))
1073                  return FALSE;
1074          if (!xdr_ndmp2_u_quad (xdrs, &objp->fh_info))
1075                  return FALSE;
1076         return TRUE;
1077 }
1078
1079 bool_t
1080 xdr_ndmp2_data_start_recover_request (XDR *xdrs, ndmp2_data_start_recover_request *objp)
1081 {
1082         register int32_t *buf;
1083
1084          if (!xdr_ndmp2_mover_addr (xdrs, &objp->mover))
1085                  return FALSE;
1086          if (!xdr_array (xdrs, (char **)&objp->env.env_val, (u_int *) &objp->env.env_len, ~0,
1087                 sizeof (ndmp2_pval), (xdrproc_t) xdr_ndmp2_pval))
1088                  return FALSE;
1089          if (!xdr_array (xdrs, (char **)&objp->nlist.nlist_val, (u_int *) &objp->nlist.nlist_len, ~0,
1090                 sizeof (ndmp2_name), (xdrproc_t) xdr_ndmp2_name))
1091                  return FALSE;
1092          if (!xdr_string (xdrs, &objp->bu_type, ~0))
1093                  return FALSE;
1094         return TRUE;
1095 }
1096
1097 bool_t
1098 xdr_ndmp2_data_start_recover_reply (XDR *xdrs, ndmp2_data_start_recover_reply *objp)
1099 {
1100         register int32_t *buf;
1101
1102          if (!xdr_ndmp2_error (xdrs, &objp->error))
1103                  return FALSE;
1104         return TRUE;
1105 }
1106
1107 bool_t
1108 xdr_ndmp2_data_start_recover_filehist_request (XDR *xdrs, ndmp2_data_start_recover_filehist_request *objp)
1109 {
1110         register int32_t *buf;
1111
1112          if (!xdr_ndmp2_data_start_recover_request (xdrs, objp))
1113                  return FALSE;
1114         return TRUE;
1115 }
1116
1117 bool_t
1118 xdr_ndmp2_data_start_recover_filehist_reply (XDR *xdrs, ndmp2_data_start_recover_filehist_reply *objp)
1119 {
1120         register int32_t *buf;
1121
1122          if (!xdr_ndmp2_data_start_recover_reply (xdrs, objp))
1123                  return FALSE;
1124         return TRUE;
1125 }
1126
1127 bool_t
1128 xdr_ndmp2_data_abort_reply (XDR *xdrs, ndmp2_data_abort_reply *objp)
1129 {
1130         register int32_t *buf;
1131
1132          if (!xdr_ndmp2_error (xdrs, &objp->error))
1133                  return FALSE;
1134         return TRUE;
1135 }
1136
1137 bool_t
1138 xdr_ndmp2_data_stop_reply (XDR *xdrs, ndmp2_data_stop_reply *objp)
1139 {
1140         register int32_t *buf;
1141
1142          if (!xdr_ndmp2_error (xdrs, &objp->error))
1143                  return FALSE;
1144         return TRUE;
1145 }
1146
1147 bool_t
1148 xdr_ndmp2_data_get_env_reply (XDR *xdrs, ndmp2_data_get_env_reply *objp)
1149 {
1150         register int32_t *buf;
1151
1152          if (!xdr_ndmp2_error (xdrs, &objp->error))
1153                  return FALSE;
1154          if (!xdr_array (xdrs, (char **)&objp->env.env_val, (u_int *) &objp->env.env_len, ~0,
1155                 sizeof (ndmp2_pval), (xdrproc_t) xdr_ndmp2_pval))
1156                  return FALSE;
1157         return TRUE;
1158 }
1159
1160 bool_t
1161 xdr_ndmp2_notify_data_halted_request (XDR *xdrs, ndmp2_notify_data_halted_request *objp)
1162 {
1163         register int32_t *buf;
1164
1165          if (!xdr_ndmp2_data_halt_reason (xdrs, &objp->reason))
1166                  return FALSE;
1167          if (!xdr_string (xdrs, &objp->text_reason, ~0))
1168                  return FALSE;
1169         return TRUE;
1170 }
1171
1172 bool_t
1173 xdr_ndmp2_connect_reason (XDR *xdrs, ndmp2_connect_reason *objp)
1174 {
1175         register int32_t *buf;
1176
1177          if (!xdr_enum (xdrs, (enum_t *) objp))
1178                  return FALSE;
1179         return TRUE;
1180 }
1181
1182 bool_t
1183 xdr_ndmp2_notify_connected_request (XDR *xdrs, ndmp2_notify_connected_request *objp)
1184 {
1185         register int32_t *buf;
1186
1187          if (!xdr_ndmp2_connect_reason (xdrs, &objp->reason))
1188                  return FALSE;
1189          if (!xdr_u_short (xdrs, &objp->protocol_version))
1190                  return FALSE;
1191          if (!xdr_string (xdrs, &objp->text_reason, ~0))
1192                  return FALSE;
1193         return TRUE;
1194 }
1195
1196 bool_t
1197 xdr_ndmp2_notify_mover_paused_request (XDR *xdrs, ndmp2_notify_mover_paused_request *objp)
1198 {
1199         register int32_t *buf;
1200
1201          if (!xdr_ndmp2_mover_pause_reason (xdrs, &objp->reason))
1202                  return FALSE;
1203          if (!xdr_ndmp2_u_quad (xdrs, &objp->seek_position))
1204                  return FALSE;
1205         return TRUE;
1206 }
1207
1208 bool_t
1209 xdr_ndmp2_notify_mover_halted_request (XDR *xdrs, ndmp2_notify_mover_halted_request *objp)
1210 {
1211         register int32_t *buf;
1212
1213          if (!xdr_ndmp2_mover_halt_reason (xdrs, &objp->reason))
1214                  return FALSE;
1215          if (!xdr_string (xdrs, &objp->text_reason, ~0))
1216                  return FALSE;
1217         return TRUE;
1218 }
1219
1220 bool_t
1221 xdr_ndmp2_notify_data_read_request (XDR *xdrs, ndmp2_notify_data_read_request *objp)
1222 {
1223         register int32_t *buf;
1224
1225          if (!xdr_ndmp2_u_quad (xdrs, &objp->offset))
1226                  return FALSE;
1227          if (!xdr_ndmp2_u_quad (xdrs, &objp->length))
1228                  return FALSE;
1229         return TRUE;
1230 }
1231
1232 bool_t
1233 xdr_ndmp2_log_log_request (XDR *xdrs, ndmp2_log_log_request *objp)
1234 {
1235         register int32_t *buf;
1236
1237          if (!xdr_string (xdrs, &objp->entry, ~0))
1238                  return FALSE;
1239         return TRUE;
1240 }
1241
1242 bool_t
1243 xdr_ndmp2_debug_level (XDR *xdrs, ndmp2_debug_level *objp)
1244 {
1245         register int32_t *buf;
1246
1247          if (!xdr_enum (xdrs, (enum_t *) objp))
1248                  return FALSE;
1249         return TRUE;
1250 }
1251
1252 bool_t
1253 xdr_ndmp2_log_debug_request (XDR *xdrs, ndmp2_log_debug_request *objp)
1254 {
1255         register int32_t *buf;
1256
1257          if (!xdr_ndmp2_debug_level (xdrs, &objp->level))
1258                  return FALSE;
1259          if (!xdr_string (xdrs, &objp->message, ~0))
1260                  return FALSE;
1261         return TRUE;
1262 }
1263
1264 bool_t
1265 xdr_ndmp2_log_file_request (XDR *xdrs, ndmp2_log_file_request *objp)
1266 {
1267         register int32_t *buf;
1268
1269          if (!xdr_string (xdrs, &objp->name, ~0))
1270                  return FALSE;
1271          if (!xdr_u_short (xdrs, &objp->ssid))
1272                  return FALSE;
1273          if (!xdr_ndmp2_error (xdrs, &objp->error))
1274                  return FALSE;
1275         return TRUE;
1276 }
1277
1278 bool_t
1279 xdr_ndmp2_unix_path (XDR *xdrs, ndmp2_unix_path *objp)
1280 {
1281         register int32_t *buf;
1282
1283          if (!xdr_string (xdrs, objp, ~0))
1284                  return FALSE;
1285         return TRUE;
1286 }
1287
1288 bool_t
1289 xdr_ndmp2_unix_file_type (XDR *xdrs, ndmp2_unix_file_type *objp)
1290 {
1291         register int32_t *buf;
1292
1293          if (!xdr_enum (xdrs, (enum_t *) objp))
1294                  return FALSE;
1295         return TRUE;
1296 }
1297
1298 bool_t
1299 xdr_ndmp2_unix_file_stat (XDR *xdrs, ndmp2_unix_file_stat *objp)
1300 {
1301         register int32_t *buf;
1302
1303
1304         if (xdrs->x_op == XDR_ENCODE) {
1305                  if (!xdr_ndmp2_unix_file_type (xdrs, &objp->ftype))
1306                          return FALSE;
1307                 buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
1308                 if (buf == NULL) {
1309                          if (!xdr_u_long (xdrs, &objp->mtime))
1310                                  return FALSE;
1311                          if (!xdr_u_long (xdrs, &objp->atime))
1312                                  return FALSE;
1313                          if (!xdr_u_long (xdrs, &objp->ctime))
1314                                  return FALSE;
1315                          if (!xdr_u_long (xdrs, &objp->uid))
1316                                  return FALSE;
1317                          if (!xdr_u_long (xdrs, &objp->gid))
1318                                  return FALSE;
1319                          if (!xdr_u_long (xdrs, &objp->mode))
1320                                  return FALSE;
1321
1322                 } else {
1323                 IXDR_PUT_U_LONG(buf, objp->mtime);
1324                 IXDR_PUT_U_LONG(buf, objp->atime);
1325                 IXDR_PUT_U_LONG(buf, objp->ctime);
1326                 IXDR_PUT_U_LONG(buf, objp->uid);
1327                 IXDR_PUT_U_LONG(buf, objp->gid);
1328                 IXDR_PUT_U_LONG(buf, objp->mode);
1329                 }
1330                  if (!xdr_ndmp2_u_quad (xdrs, &objp->size))
1331                          return FALSE;
1332                  if (!xdr_ndmp2_u_quad (xdrs, &objp->fh_info))
1333                          return FALSE;
1334                 return TRUE;
1335         } else if (xdrs->x_op == XDR_DECODE) {
1336                  if (!xdr_ndmp2_unix_file_type (xdrs, &objp->ftype))
1337                          return FALSE;
1338                 buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
1339                 if (buf == NULL) {
1340                          if (!xdr_u_long (xdrs, &objp->mtime))
1341                                  return FALSE;
1342                          if (!xdr_u_long (xdrs, &objp->atime))
1343                                  return FALSE;
1344                          if (!xdr_u_long (xdrs, &objp->ctime))
1345                                  return FALSE;
1346                          if (!xdr_u_long (xdrs, &objp->uid))
1347                                  return FALSE;
1348                          if (!xdr_u_long (xdrs, &objp->gid))
1349                                  return FALSE;
1350                          if (!xdr_u_long (xdrs, &objp->mode))
1351                                  return FALSE;
1352
1353                 } else {
1354                 objp->mtime = IXDR_GET_U_LONG(buf);
1355                 objp->atime = IXDR_GET_U_LONG(buf);
1356                 objp->ctime = IXDR_GET_U_LONG(buf);
1357                 objp->uid = IXDR_GET_U_LONG(buf);
1358                 objp->gid = IXDR_GET_U_LONG(buf);
1359                 objp->mode = IXDR_GET_U_LONG(buf);
1360                 }
1361                  if (!xdr_ndmp2_u_quad (xdrs, &objp->size))
1362                          return FALSE;
1363                  if (!xdr_ndmp2_u_quad (xdrs, &objp->fh_info))
1364                          return FALSE;
1365          return TRUE;
1366         }
1367
1368          if (!xdr_ndmp2_unix_file_type (xdrs, &objp->ftype))
1369                  return FALSE;
1370          if (!xdr_u_long (xdrs, &objp->mtime))
1371                  return FALSE;
1372          if (!xdr_u_long (xdrs, &objp->atime))
1373                  return FALSE;
1374          if (!xdr_u_long (xdrs, &objp->ctime))
1375                  return FALSE;
1376          if (!xdr_u_long (xdrs, &objp->uid))
1377                  return FALSE;
1378          if (!xdr_u_long (xdrs, &objp->gid))
1379                  return FALSE;
1380          if (!xdr_u_long (xdrs, &objp->mode))
1381                  return FALSE;
1382          if (!xdr_ndmp2_u_quad (xdrs, &objp->size))
1383                  return FALSE;
1384          if (!xdr_ndmp2_u_quad (xdrs, &objp->fh_info))
1385                  return FALSE;
1386         return TRUE;
1387 }
1388
1389 bool_t
1390 xdr_ndmp2_fh_unix_path (XDR *xdrs, ndmp2_fh_unix_path *objp)
1391 {
1392         register int32_t *buf;
1393
1394          if (!xdr_ndmp2_unix_path (xdrs, &objp->name))
1395                  return FALSE;
1396          if (!xdr_ndmp2_unix_file_stat (xdrs, &objp->fstat))
1397                  return FALSE;
1398         return TRUE;
1399 }
1400
1401 bool_t
1402 xdr_ndmp2_fh_add_unix_path_request (XDR *xdrs, ndmp2_fh_add_unix_path_request *objp)
1403 {
1404         register int32_t *buf;
1405
1406          if (!xdr_array (xdrs, (char **)&objp->paths.paths_val, (u_int *) &objp->paths.paths_len, ~0,
1407                 sizeof (ndmp2_fh_unix_path), (xdrproc_t) xdr_ndmp2_fh_unix_path))
1408                  return FALSE;
1409         return TRUE;
1410 }
1411
1412 bool_t
1413 xdr_ndmp2_fh_unix_dir (XDR *xdrs, ndmp2_fh_unix_dir *objp)
1414 {
1415         register int32_t *buf;
1416
1417          if (!xdr_ndmp2_unix_path (xdrs, &objp->name))
1418                  return FALSE;
1419          if (!xdr_u_long (xdrs, &objp->node))
1420                  return FALSE;
1421          if (!xdr_u_long (xdrs, &objp->parent))
1422                  return FALSE;
1423         return TRUE;
1424 }
1425
1426 bool_t
1427 xdr_ndmp2_fh_add_unix_dir_request (XDR *xdrs, ndmp2_fh_add_unix_dir_request *objp)
1428 {
1429         register int32_t *buf;
1430
1431          if (!xdr_array (xdrs, (char **)&objp->dirs.dirs_val, (u_int *) &objp->dirs.dirs_len, ~0,
1432                 sizeof (ndmp2_fh_unix_dir), (xdrproc_t) xdr_ndmp2_fh_unix_dir))
1433                  return FALSE;
1434         return TRUE;
1435 }
1436
1437 bool_t
1438 xdr_ndmp2_fh_unix_node (XDR *xdrs, ndmp2_fh_unix_node *objp)
1439 {
1440         register int32_t *buf;
1441
1442          if (!xdr_ndmp2_unix_file_stat (xdrs, &objp->fstat))
1443                  return FALSE;
1444          if (!xdr_u_long (xdrs, &objp->node))
1445                  return FALSE;
1446         return TRUE;
1447 }
1448
1449 bool_t
1450 xdr_ndmp2_fh_add_unix_node_request (XDR *xdrs, ndmp2_fh_add_unix_node_request *objp)
1451 {
1452         register int32_t *buf;
1453
1454          if (!xdr_array (xdrs, (char **)&objp->nodes.nodes_val, (u_int *) &objp->nodes.nodes_len, ~0,
1455                 sizeof (ndmp2_fh_unix_node), (xdrproc_t) xdr_ndmp2_fh_unix_node))
1456                  return FALSE;
1457         return TRUE;
1458 }
1459 #endif /* !NDMOS_OPTION_NO_NDMP2 */