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