ad1659e281d66dffba9dd59f532c1801af795d29
[debian/amanda] / ndmp-src / ndmp4_xdr.c
1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5
6 #include "ndmp4.h"
7 #ifndef NDMOS_OPTION_NO_NDMP4
8 #define ndmp4_u_quad unsigned long long
9 extern bool_t xdr_ndmp4_u_quad();
10
11 bool_t
12 xdr__ndmp4_u_quad (XDR *xdrs, _ndmp4_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_ndmp4_header_message_type (XDR *xdrs, ndmp4_header_message_type *objp)
23 {
24         if (!xdr_enum (xdrs, (enum_t *) objp))
25                 return FALSE;
26         return TRUE;
27 }
28
29 bool_t
30 xdr_ndmp4_error (XDR *xdrs, ndmp4_error *objp)
31 {
32         if (!xdr_enum (xdrs, (enum_t *) objp))
33                 return FALSE;
34         return TRUE;
35 }
36
37 bool_t
38 xdr_ndmp4_message (XDR *xdrs, ndmp4_message *objp)
39 {
40         if (!xdr_enum (xdrs, (enum_t *) objp))
41                 return FALSE;
42         return TRUE;
43 }
44
45 bool_t
46 xdr_ndmp4_header (XDR *xdrs, ndmp4_header *objp)
47 {
48         if (!xdr_u_long (xdrs, &objp->sequence))
49                 return FALSE;
50         if (!xdr_u_long (xdrs, &objp->time_stamp))
51                 return FALSE;
52         if (!xdr_ndmp4_header_message_type (xdrs, &objp->message_type))
53                 return FALSE;
54         if (!xdr_ndmp4_message (xdrs, &objp->message_code))
55                 return FALSE;
56         if (!xdr_u_long (xdrs, &objp->reply_sequence))
57                 return FALSE;
58         if (!xdr_ndmp4_error (xdrs, &objp->error_code))
59                 return FALSE;
60         return TRUE;
61 }
62
63 bool_t
64 xdr_ndmp4_pval (XDR *xdrs, ndmp4_pval *objp)
65 {
66         if (!xdr_string (xdrs, &objp->name, ~0))
67                 return FALSE;
68         if (!xdr_string (xdrs, &objp->value, ~0))
69                 return FALSE;
70         return TRUE;
71 }
72
73 bool_t
74 xdr_ndmp4_connect_open_request (XDR *xdrs, ndmp4_connect_open_request *objp)
75 {
76         if (!xdr_u_short (xdrs, &objp->protocol_version))
77                 return FALSE;
78         return TRUE;
79 }
80
81 bool_t
82 xdr_ndmp4_connect_open_reply (XDR *xdrs, ndmp4_connect_open_reply *objp)
83 {
84         if (!xdr_ndmp4_error (xdrs, &objp->error))
85                 return FALSE;
86         return TRUE;
87 }
88
89 bool_t
90 xdr_ndmp4_auth_type (XDR *xdrs, ndmp4_auth_type *objp)
91 {
92         if (!xdr_enum (xdrs, (enum_t *) objp))
93                 return FALSE;
94         return TRUE;
95 }
96
97 bool_t
98 xdr_ndmp4_auth_text (XDR *xdrs, ndmp4_auth_text *objp)
99 {
100         if (!xdr_string (xdrs, &objp->auth_id, ~0))
101                 return FALSE;
102         if (!xdr_string (xdrs, &objp->auth_password, ~0))
103                 return FALSE;
104         return TRUE;
105 }
106
107 bool_t
108 xdr_ndmp4_auth_md5 (XDR *xdrs, ndmp4_auth_md5 *objp)
109 {
110         if (!xdr_string (xdrs, &objp->auth_id, ~0))
111                 return FALSE;
112         if (!xdr_opaque (xdrs, objp->auth_digest, 16))
113                 return FALSE;
114         return TRUE;
115 }
116
117 bool_t
118 xdr_ndmp4_auth_data (XDR *xdrs, ndmp4_auth_data *objp)
119 {
120         if (!xdr_ndmp4_auth_type (xdrs, &objp->auth_type))
121                 return FALSE;
122         switch (objp->auth_type) {
123         case NDMP4_AUTH_NONE:
124                 break;
125         case NDMP4_AUTH_TEXT:
126                 if (!xdr_ndmp4_auth_text (xdrs, &objp->ndmp4_auth_data_u.auth_text))
127                         return FALSE;
128                 break;
129         case NDMP4_AUTH_MD5:
130                 if (!xdr_ndmp4_auth_md5 (xdrs, &objp->ndmp4_auth_data_u.auth_md5))
131                         return FALSE;
132                 break;
133         default:
134                 return FALSE;
135         }
136         return TRUE;
137 }
138
139 bool_t
140 xdr_ndmp4_auth_attr (XDR *xdrs, ndmp4_auth_attr *objp)
141 {
142         if (!xdr_ndmp4_auth_type (xdrs, &objp->auth_type))
143                 return FALSE;
144         switch (objp->auth_type) {
145         case NDMP4_AUTH_NONE:
146                 break;
147         case NDMP4_AUTH_TEXT:
148                 break;
149         case NDMP4_AUTH_MD5:
150                 if (!xdr_opaque (xdrs, objp->ndmp4_auth_attr_u.challenge, 64))
151                         return FALSE;
152                 break;
153         default:
154                 return FALSE;
155         }
156         return TRUE;
157 }
158
159 bool_t
160 xdr_ndmp4_connect_client_auth_request (XDR *xdrs, ndmp4_connect_client_auth_request *objp)
161 {
162         if (!xdr_ndmp4_auth_data (xdrs, &objp->auth_data))
163                 return FALSE;
164         return TRUE;
165 }
166
167 bool_t
168 xdr_ndmp4_connect_client_auth_reply (XDR *xdrs, ndmp4_connect_client_auth_reply *objp)
169 {
170         if (!xdr_ndmp4_error (xdrs, &objp->error))
171                 return FALSE;
172         return TRUE;
173 }
174
175 bool_t
176 xdr_ndmp4_connect_server_auth_request (XDR *xdrs, ndmp4_connect_server_auth_request *objp)
177 {
178         if (!xdr_ndmp4_auth_attr (xdrs, &objp->client_attr))
179                 return FALSE;
180         return TRUE;
181 }
182
183 bool_t
184 xdr_ndmp4_connect_server_auth_reply (XDR *xdrs, ndmp4_connect_server_auth_reply *objp)
185 {
186         if (!xdr_ndmp4_error (xdrs, &objp->error))
187                 return FALSE;
188         if (!xdr_ndmp4_auth_data (xdrs, &objp->server_result))
189                 return FALSE;
190         return TRUE;
191 }
192
193 bool_t
194 xdr_ndmp4_config_get_host_info_reply (XDR *xdrs, ndmp4_config_get_host_info_reply *objp)
195 {
196         if (!xdr_ndmp4_error (xdrs, &objp->error))
197                 return FALSE;
198         if (!xdr_string (xdrs, &objp->hostname, ~0))
199                 return FALSE;
200         if (!xdr_string (xdrs, &objp->os_type, ~0))
201                 return FALSE;
202         if (!xdr_string (xdrs, &objp->os_vers, ~0))
203                 return FALSE;
204         if (!xdr_string (xdrs, &objp->hostid, ~0))
205                 return FALSE;
206         return TRUE;
207 }
208
209 bool_t
210 xdr_ndmp4_config_get_server_info_reply (XDR *xdrs, ndmp4_config_get_server_info_reply *objp)
211 {
212         if (!xdr_ndmp4_error (xdrs, &objp->error))
213                 return FALSE;
214         if (!xdr_string (xdrs, &objp->vendor_name, ~0))
215                 return FALSE;
216         if (!xdr_string (xdrs, &objp->product_name, ~0))
217                 return FALSE;
218         if (!xdr_string (xdrs, &objp->revision_number, ~0))
219                 return FALSE;
220         if (!xdr_array (xdrs, (char **)&objp->auth_type.auth_type_val, (u_int *) &objp->auth_type.auth_type_len, ~0,
221                 sizeof (ndmp4_auth_type), (xdrproc_t) xdr_ndmp4_auth_type))
222                 return FALSE;
223         return TRUE;
224 }
225
226 bool_t
227 xdr_ndmp4_addr_type (XDR *xdrs, ndmp4_addr_type *objp)
228 {
229         if (!xdr_enum (xdrs, (enum_t *) objp))
230                 return FALSE;
231         return TRUE;
232 }
233
234 bool_t
235 xdr_ndmp4_config_get_connection_type_reply (XDR *xdrs, ndmp4_config_get_connection_type_reply *objp)
236 {
237         if (!xdr_ndmp4_error (xdrs, &objp->error))
238                 return FALSE;
239         if (!xdr_array (xdrs, (char **)&objp->addr_types.addr_types_val, (u_int *) &objp->addr_types.addr_types_len, ~0,
240                 sizeof (ndmp4_addr_type), (xdrproc_t) xdr_ndmp4_addr_type))
241                 return FALSE;
242         return TRUE;
243 }
244
245 bool_t
246 xdr_ndmp4_config_get_auth_attr_request (XDR *xdrs, ndmp4_config_get_auth_attr_request *objp)
247 {
248         if (!xdr_ndmp4_auth_type (xdrs, &objp->auth_type))
249                 return FALSE;
250         return TRUE;
251 }
252
253 bool_t
254 xdr_ndmp4_config_get_auth_attr_reply (XDR *xdrs, ndmp4_config_get_auth_attr_reply *objp)
255 {
256         if (!xdr_ndmp4_error (xdrs, &objp->error))
257                 return FALSE;
258         if (!xdr_ndmp4_auth_attr (xdrs, &objp->server_attr))
259                 return FALSE;
260         return TRUE;
261 }
262
263 bool_t
264 xdr_ndmp4_butype_info (XDR *xdrs, ndmp4_butype_info *objp)
265 {
266         if (!xdr_string (xdrs, &objp->butype_name, ~0))
267                 return FALSE;
268         if (!xdr_array (xdrs, (char **)&objp->default_env.default_env_val, (u_int *) &objp->default_env.default_env_len, ~0,
269                 sizeof (ndmp4_pval), (xdrproc_t) xdr_ndmp4_pval))
270                 return FALSE;
271         if (!xdr_u_long (xdrs, &objp->attrs))
272                 return FALSE;
273         return TRUE;
274 }
275
276 bool_t
277 xdr_ndmp4_config_get_butype_info_reply (XDR *xdrs, ndmp4_config_get_butype_info_reply *objp)
278 {
279         if (!xdr_ndmp4_error (xdrs, &objp->error))
280                 return FALSE;
281         if (!xdr_array (xdrs, (char **)&objp->butype_info.butype_info_val, (u_int *) &objp->butype_info.butype_info_len, ~0,
282                 sizeof (ndmp4_butype_info), (xdrproc_t) xdr_ndmp4_butype_info))
283                 return FALSE;
284         return TRUE;
285 }
286
287 bool_t
288 xdr_ndmp4_fs_info (XDR *xdrs, ndmp4_fs_info *objp)
289 {
290         if (!xdr_u_long (xdrs, &objp->unsupported))
291                 return FALSE;
292         if (!xdr_string (xdrs, &objp->fs_type, ~0))
293                 return FALSE;
294         if (!xdr_string (xdrs, &objp->fs_logical_device, ~0))
295                 return FALSE;
296         if (!xdr_string (xdrs, &objp->fs_physical_device, ~0))
297                 return FALSE;
298         if (!xdr_ndmp4_u_quad (xdrs, &objp->total_size))
299                 return FALSE;
300         if (!xdr_ndmp4_u_quad (xdrs, &objp->used_size))
301                 return FALSE;
302         if (!xdr_ndmp4_u_quad (xdrs, &objp->avail_size))
303                 return FALSE;
304         if (!xdr_ndmp4_u_quad (xdrs, &objp->total_inodes))
305                 return FALSE;
306         if (!xdr_ndmp4_u_quad (xdrs, &objp->used_inodes))
307                 return FALSE;
308         if (!xdr_array (xdrs, (char **)&objp->fs_env.fs_env_val, (u_int *) &objp->fs_env.fs_env_len, ~0,
309                 sizeof (ndmp4_pval), (xdrproc_t) xdr_ndmp4_pval))
310                 return FALSE;
311         if (!xdr_string (xdrs, &objp->fs_status, ~0))
312                 return FALSE;
313         return TRUE;
314 }
315
316 bool_t
317 xdr_ndmp4_config_get_fs_info_reply (XDR *xdrs, ndmp4_config_get_fs_info_reply *objp)
318 {
319         if (!xdr_ndmp4_error (xdrs, &objp->error))
320                 return FALSE;
321         if (!xdr_array (xdrs, (char **)&objp->fs_info.fs_info_val, (u_int *) &objp->fs_info.fs_info_len, ~0,
322                 sizeof (ndmp4_fs_info), (xdrproc_t) xdr_ndmp4_fs_info))
323                 return FALSE;
324         return TRUE;
325 }
326
327 bool_t
328 xdr_ndmp4_device_capability (XDR *xdrs, ndmp4_device_capability *objp)
329 {
330         if (!xdr_string (xdrs, &objp->device, ~0))
331                 return FALSE;
332         if (!xdr_u_long (xdrs, &objp->attr))
333                 return FALSE;
334         if (!xdr_array (xdrs, (char **)&objp->capability.capability_val, (u_int *) &objp->capability.capability_len, ~0,
335                 sizeof (ndmp4_pval), (xdrproc_t) xdr_ndmp4_pval))
336                 return FALSE;
337         return TRUE;
338 }
339
340 bool_t
341 xdr_ndmp4_device_info (XDR *xdrs, ndmp4_device_info *objp)
342 {
343         if (!xdr_string (xdrs, &objp->model, ~0))
344                 return FALSE;
345         if (!xdr_array (xdrs, (char **)&objp->caplist.caplist_val, (u_int *) &objp->caplist.caplist_len, ~0,
346                 sizeof (ndmp4_device_capability), (xdrproc_t) xdr_ndmp4_device_capability))
347                 return FALSE;
348         return TRUE;
349 }
350
351 bool_t
352 xdr_ndmp4_config_get_tape_info_reply (XDR *xdrs, ndmp4_config_get_tape_info_reply *objp)
353 {
354         if (!xdr_ndmp4_error (xdrs, &objp->error))
355                 return FALSE;
356         if (!xdr_array (xdrs, (char **)&objp->tape_info.tape_info_val, (u_int *) &objp->tape_info.tape_info_len, ~0,
357                 sizeof (ndmp4_device_info), (xdrproc_t) xdr_ndmp4_device_info))
358                 return FALSE;
359         return TRUE;
360 }
361
362 bool_t
363 xdr_ndmp4_config_get_scsi_info_reply (XDR *xdrs, ndmp4_config_get_scsi_info_reply *objp)
364 {
365         if (!xdr_ndmp4_error (xdrs, &objp->error))
366                 return FALSE;
367         if (!xdr_array (xdrs, (char **)&objp->scsi_info.scsi_info_val, (u_int *) &objp->scsi_info.scsi_info_len, ~0,
368                 sizeof (ndmp4_device_info), (xdrproc_t) xdr_ndmp4_device_info))
369                 return FALSE;
370         return TRUE;
371 }
372
373 bool_t
374 xdr_ndmp4_class_list (XDR *xdrs, ndmp4_class_list *objp)
375 {
376         if (!xdr_u_short (xdrs, &objp->class_id))
377                 return FALSE;
378         if (!xdr_array (xdrs, (char **)&objp->class_version.class_version_val, (u_int *) &objp->class_version.class_version_len, ~0,
379                 sizeof (u_short), (xdrproc_t) xdr_u_short))
380                 return FALSE;
381         return TRUE;
382 }
383
384 bool_t
385 xdr_ndmp4_class_version (XDR *xdrs, ndmp4_class_version *objp)
386 {
387         if (!xdr_u_short (xdrs, &objp->class_id))
388                 return FALSE;
389         if (!xdr_u_short (xdrs, &objp->class_version))
390                 return FALSE;
391         return TRUE;
392 }
393
394 bool_t
395 xdr_ndmp4_config_get_ext_list_reply (XDR *xdrs, ndmp4_config_get_ext_list_reply *objp)
396 {
397         if (!xdr_ndmp4_error (xdrs, &objp->error))
398                 return FALSE;
399         if (!xdr_array (xdrs, (char **)&objp->class_list.class_list_val, (u_int *) &objp->class_list.class_list_len, ~0,
400                 sizeof (ndmp4_class_list), (xdrproc_t) xdr_ndmp4_class_list))
401                 return FALSE;
402         return TRUE;
403 }
404
405 bool_t
406 xdr_ndmp4_config_set_ext_list_request (XDR *xdrs, ndmp4_config_set_ext_list_request *objp)
407 {
408         if (!xdr_ndmp4_error (xdrs, &objp->error))
409                 return FALSE;
410         if (!xdr_array (xdrs, (char **)&objp->ndmp4_accepted_ext.ndmp4_accepted_ext_val, (u_int *) &objp->ndmp4_accepted_ext.ndmp4_accepted_ext_len, ~0,
411                 sizeof (ndmp4_class_list), (xdrproc_t) xdr_ndmp4_class_list))
412                 return FALSE;
413         return TRUE;
414 }
415
416 bool_t
417 xdr_ndmp4_config_set_ext_list_reply (XDR *xdrs, ndmp4_config_set_ext_list_reply *objp)
418 {
419         if (!xdr_ndmp4_error (xdrs, &objp->error))
420                 return FALSE;
421         return TRUE;
422 }
423
424 bool_t
425 xdr_ndmp4_scsi_open_request (XDR *xdrs, ndmp4_scsi_open_request *objp)
426 {
427         if (!xdr_string (xdrs, &objp->device, ~0))
428                 return FALSE;
429         return TRUE;
430 }
431
432 bool_t
433 xdr_ndmp4_scsi_open_reply (XDR *xdrs, ndmp4_scsi_open_reply *objp)
434 {
435         if (!xdr_ndmp4_error (xdrs, &objp->error))
436                 return FALSE;
437         return TRUE;
438 }
439
440 bool_t
441 xdr_ndmp4_scsi_close_reply (XDR *xdrs, ndmp4_scsi_close_reply *objp)
442 {
443         if (!xdr_ndmp4_error (xdrs, &objp->error))
444                 return FALSE;
445         return TRUE;
446 }
447
448 bool_t
449 xdr_ndmp4_scsi_get_state_reply (XDR *xdrs, ndmp4_scsi_get_state_reply *objp)
450 {
451         if (!xdr_ndmp4_error (xdrs, &objp->error))
452                 return FALSE;
453         if (!xdr_short (xdrs, &objp->target_controller))
454                 return FALSE;
455         if (!xdr_short (xdrs, &objp->target_id))
456                 return FALSE;
457         if (!xdr_short (xdrs, &objp->target_lun))
458                 return FALSE;
459         return TRUE;
460 }
461
462 bool_t
463 xdr_ndmp4_scsi_reset_device_reply (XDR *xdrs, ndmp4_scsi_reset_device_reply *objp)
464 {
465         if (!xdr_ndmp4_error (xdrs, &objp->error))
466                 return FALSE;
467         return TRUE;
468 }
469
470 bool_t
471 xdr_ndmp4_execute_cdb_request (XDR *xdrs, ndmp4_execute_cdb_request *objp)
472 {
473         register int32_t *buf;
474
475         if (xdrs->x_op == XDR_ENCODE) {
476                 buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
477                 if (buf == NULL) {
478                         if (!xdr_u_long (xdrs, &objp->flags))
479                                 return FALSE;
480                         if (!xdr_u_long (xdrs, &objp->timeout))
481                                 return FALSE;
482                         if (!xdr_u_long (xdrs, &objp->datain_len))
483                                 return FALSE;
484
485                 } else {
486                 IXDR_PUT_U_LONG(buf, objp->flags);
487                 IXDR_PUT_U_LONG(buf, objp->timeout);
488                 IXDR_PUT_U_LONG(buf, objp->datain_len);
489                 }
490                 if (!xdr_bytes (xdrs, (char **)&objp->cdb.cdb_val, (u_int *) &objp->cdb.cdb_len, ~0))
491                         return FALSE;
492                 if (!xdr_bytes (xdrs, (char **)&objp->dataout.dataout_val, (u_int *) &objp->dataout.dataout_len, ~0))
493                         return FALSE;
494                 return TRUE;
495         } else if (xdrs->x_op == XDR_DECODE) {
496                 buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
497                 if (buf == NULL) {
498                         if (!xdr_u_long (xdrs, &objp->flags))
499                                 return FALSE;
500                         if (!xdr_u_long (xdrs, &objp->timeout))
501                                 return FALSE;
502                         if (!xdr_u_long (xdrs, &objp->datain_len))
503                                 return FALSE;
504
505                 } else {
506                 objp->flags = IXDR_GET_U_LONG(buf);
507                 objp->timeout = IXDR_GET_U_LONG(buf);
508                 objp->datain_len = IXDR_GET_U_LONG(buf);
509                 }
510                 if (!xdr_bytes (xdrs, (char **)&objp->cdb.cdb_val, (u_int *) &objp->cdb.cdb_len, ~0))
511                         return FALSE;
512                 if (!xdr_bytes (xdrs, (char **)&objp->dataout.dataout_val, (u_int *) &objp->dataout.dataout_len, ~0))
513                         return FALSE;
514                 return TRUE;
515         }
516
517         if (!xdr_u_long (xdrs, &objp->flags))
518                 return FALSE;
519         if (!xdr_u_long (xdrs, &objp->timeout))
520                 return FALSE;
521         if (!xdr_u_long (xdrs, &objp->datain_len))
522                 return FALSE;
523         if (!xdr_bytes (xdrs, (char **)&objp->cdb.cdb_val, (u_int *) &objp->cdb.cdb_len, ~0))
524                 return FALSE;
525         if (!xdr_bytes (xdrs, (char **)&objp->dataout.dataout_val, (u_int *) &objp->dataout.dataout_len, ~0))
526                 return FALSE;
527         return TRUE;
528 }
529
530 bool_t
531 xdr_ndmp4_execute_cdb_reply (XDR *xdrs, ndmp4_execute_cdb_reply *objp)
532 {
533         if (!xdr_ndmp4_error (xdrs, &objp->error))
534                 return FALSE;
535         if (!xdr_u_char (xdrs, &objp->status))
536                 return FALSE;
537         if (!xdr_u_long (xdrs, &objp->dataout_len))
538                 return FALSE;
539         if (!xdr_bytes (xdrs, (char **)&objp->datain.datain_val, (u_int *) &objp->datain.datain_len, ~0))
540                 return FALSE;
541         if (!xdr_bytes (xdrs, (char **)&objp->ext_sense.ext_sense_val, (u_int *) &objp->ext_sense.ext_sense_len, ~0))
542                 return FALSE;
543         return TRUE;
544 }
545
546 bool_t
547 xdr_ndmp4_scsi_execute_cdb_request (XDR *xdrs, ndmp4_scsi_execute_cdb_request *objp)
548 {
549         if (!xdr_ndmp4_execute_cdb_request (xdrs, objp))
550                 return FALSE;
551         return TRUE;
552 }
553
554 bool_t
555 xdr_ndmp4_scsi_execute_cdb_reply (XDR *xdrs, ndmp4_scsi_execute_cdb_reply *objp)
556 {
557         if (!xdr_ndmp4_execute_cdb_reply (xdrs, objp))
558                 return FALSE;
559         return TRUE;
560 }
561
562 bool_t
563 xdr_ndmp4_tape_open_mode (XDR *xdrs, ndmp4_tape_open_mode *objp)
564 {
565         if (!xdr_enum (xdrs, (enum_t *) objp))
566                 return FALSE;
567         return TRUE;
568 }
569
570 bool_t
571 xdr_ndmp4_tape_open_request (XDR *xdrs, ndmp4_tape_open_request *objp)
572 {
573         if (!xdr_string (xdrs, &objp->device, ~0))
574                 return FALSE;
575         if (!xdr_ndmp4_tape_open_mode (xdrs, &objp->mode))
576                 return FALSE;
577         return TRUE;
578 }
579
580 bool_t
581 xdr_ndmp4_tape_open_reply (XDR *xdrs, ndmp4_tape_open_reply *objp)
582 {
583         if (!xdr_ndmp4_error (xdrs, &objp->error))
584                 return FALSE;
585         return TRUE;
586 }
587
588 bool_t
589 xdr_ndmp4_tape_close_reply (XDR *xdrs, ndmp4_tape_close_reply *objp)
590 {
591         if (!xdr_ndmp4_error (xdrs, &objp->error))
592                 return FALSE;
593         return TRUE;
594 }
595
596 bool_t
597 xdr_ndmp4_tape_get_state_reply (XDR *xdrs, ndmp4_tape_get_state_reply *objp)
598 {
599         register int32_t *buf;
600
601         if (xdrs->x_op == XDR_ENCODE) {
602                 if (!xdr_u_long (xdrs, &objp->unsupported))
603                         return FALSE;
604                 if (!xdr_ndmp4_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                 IXDR_PUT_U_LONG(buf, objp->flags);
621                 IXDR_PUT_U_LONG(buf, objp->file_num);
622                 IXDR_PUT_U_LONG(buf, objp->soft_errors);
623                 IXDR_PUT_U_LONG(buf, objp->block_size);
624                 IXDR_PUT_U_LONG(buf, objp->blockno);
625                 }
626                 if (!xdr_ndmp4_u_quad (xdrs, &objp->total_space))
627                         return FALSE;
628                 if (!xdr_ndmp4_u_quad (xdrs, &objp->space_remain))
629                         return FALSE;
630                 return TRUE;
631         } else if (xdrs->x_op == XDR_DECODE) {
632                 if (!xdr_u_long (xdrs, &objp->unsupported))
633                         return FALSE;
634                 if (!xdr_ndmp4_error (xdrs, &objp->error))
635                         return FALSE;
636                 buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
637                 if (buf == NULL) {
638                         if (!xdr_u_long (xdrs, &objp->flags))
639                                 return FALSE;
640                         if (!xdr_u_long (xdrs, &objp->file_num))
641                                 return FALSE;
642                         if (!xdr_u_long (xdrs, &objp->soft_errors))
643                                 return FALSE;
644                         if (!xdr_u_long (xdrs, &objp->block_size))
645                                 return FALSE;
646                         if (!xdr_u_long (xdrs, &objp->blockno))
647                                 return FALSE;
648
649                 } else {
650                 objp->flags = IXDR_GET_U_LONG(buf);
651                 objp->file_num = IXDR_GET_U_LONG(buf);
652                 objp->soft_errors = IXDR_GET_U_LONG(buf);
653                 objp->block_size = IXDR_GET_U_LONG(buf);
654                 objp->blockno = IXDR_GET_U_LONG(buf);
655                 }
656                 if (!xdr_ndmp4_u_quad (xdrs, &objp->total_space))
657                         return FALSE;
658                 if (!xdr_ndmp4_u_quad (xdrs, &objp->space_remain))
659                         return FALSE;
660                 return TRUE;
661         }
662
663         if (!xdr_u_long (xdrs, &objp->unsupported))
664                 return FALSE;
665         if (!xdr_ndmp4_error (xdrs, &objp->error))
666                 return FALSE;
667         if (!xdr_u_long (xdrs, &objp->flags))
668                 return FALSE;
669         if (!xdr_u_long (xdrs, &objp->file_num))
670                 return FALSE;
671         if (!xdr_u_long (xdrs, &objp->soft_errors))
672                 return FALSE;
673         if (!xdr_u_long (xdrs, &objp->block_size))
674                 return FALSE;
675         if (!xdr_u_long (xdrs, &objp->blockno))
676                 return FALSE;
677         if (!xdr_ndmp4_u_quad (xdrs, &objp->total_space))
678                 return FALSE;
679         if (!xdr_ndmp4_u_quad (xdrs, &objp->space_remain))
680                 return FALSE;
681         return TRUE;
682 }
683
684 bool_t
685 xdr_ndmp4_tape_mtio_op (XDR *xdrs, ndmp4_tape_mtio_op *objp)
686 {
687         if (!xdr_enum (xdrs, (enum_t *) objp))
688                 return FALSE;
689         return TRUE;
690 }
691
692 bool_t
693 xdr_ndmp4_tape_mtio_request (XDR *xdrs, ndmp4_tape_mtio_request *objp)
694 {
695         if (!xdr_ndmp4_tape_mtio_op (xdrs, &objp->tape_op))
696                 return FALSE;
697         if (!xdr_u_long (xdrs, &objp->count))
698                 return FALSE;
699         return TRUE;
700 }
701
702 bool_t
703 xdr_ndmp4_tape_mtio_reply (XDR *xdrs, ndmp4_tape_mtio_reply *objp)
704 {
705         if (!xdr_ndmp4_error (xdrs, &objp->error))
706                 return FALSE;
707         if (!xdr_u_long (xdrs, &objp->resid_count))
708                 return FALSE;
709         return TRUE;
710 }
711
712 bool_t
713 xdr_ndmp4_tape_write_request (XDR *xdrs, ndmp4_tape_write_request *objp)
714 {
715         if (!xdr_bytes (xdrs, (char **)&objp->data_out.data_out_val, (u_int *) &objp->data_out.data_out_len, ~0))
716                 return FALSE;
717         return TRUE;
718 }
719
720 bool_t
721 xdr_ndmp4_tape_write_reply (XDR *xdrs, ndmp4_tape_write_reply *objp)
722 {
723         if (!xdr_ndmp4_error (xdrs, &objp->error))
724                 return FALSE;
725         if (!xdr_u_long (xdrs, &objp->count))
726                 return FALSE;
727         return TRUE;
728 }
729
730 bool_t
731 xdr_ndmp4_tape_read_request (XDR *xdrs, ndmp4_tape_read_request *objp)
732 {
733         if (!xdr_u_long (xdrs, &objp->count))
734                 return FALSE;
735         return TRUE;
736 }
737
738 bool_t
739 xdr_ndmp4_tape_read_reply (XDR *xdrs, ndmp4_tape_read_reply *objp)
740 {
741         if (!xdr_ndmp4_error (xdrs, &objp->error))
742                 return FALSE;
743         if (!xdr_bytes (xdrs, (char **)&objp->data_in.data_in_val, (u_int *) &objp->data_in.data_in_len, ~0))
744                 return FALSE;
745         return TRUE;
746 }
747
748 bool_t
749 xdr_ndmp4_tape_execute_cdb_request (XDR *xdrs, ndmp4_tape_execute_cdb_request *objp)
750 {
751         if (!xdr_ndmp4_scsi_execute_cdb_request (xdrs, objp))
752                 return FALSE;
753         return TRUE;
754 }
755
756 bool_t
757 xdr_ndmp4_tape_execute_cdb_reply (XDR *xdrs, ndmp4_tape_execute_cdb_reply *objp)
758 {
759         if (!xdr_ndmp4_scsi_execute_cdb_reply (xdrs, objp))
760                 return FALSE;
761         return TRUE;
762 }
763
764 bool_t
765 xdr_ndmp4_data_operation (XDR *xdrs, ndmp4_data_operation *objp)
766 {
767         if (!xdr_enum (xdrs, (enum_t *) objp))
768                 return FALSE;
769         return TRUE;
770 }
771
772 bool_t
773 xdr_ndmp4_data_state (XDR *xdrs, ndmp4_data_state *objp)
774 {
775         if (!xdr_enum (xdrs, (enum_t *) objp))
776                 return FALSE;
777         return TRUE;
778 }
779
780 bool_t
781 xdr_ndmp4_data_halt_reason (XDR *xdrs, ndmp4_data_halt_reason *objp)
782 {
783         if (!xdr_enum (xdrs, (enum_t *) objp))
784                 return FALSE;
785         return TRUE;
786 }
787
788 bool_t
789 xdr_ndmp4_tcp_addr (XDR *xdrs, ndmp4_tcp_addr *objp)
790 {
791         if (!xdr_u_long (xdrs, &objp->ip_addr))
792                 return FALSE;
793         if (!xdr_u_short (xdrs, &objp->port))
794                 return FALSE;
795         if (!xdr_array (xdrs, (char **)&objp->addr_env.addr_env_val, (u_int *) &objp->addr_env.addr_env_len, ~0,
796                 sizeof (ndmp4_pval), (xdrproc_t) xdr_ndmp4_pval))
797                 return FALSE;
798         return TRUE;
799 }
800
801 bool_t
802 xdr_ndmp4_ipc_addr (XDR *xdrs, ndmp4_ipc_addr *objp)
803 {
804         if (!xdr_bytes (xdrs, (char **)&objp->comm_data.comm_data_val, (u_int *) &objp->comm_data.comm_data_len, ~0))
805                 return FALSE;
806         return TRUE;
807 }
808
809 bool_t
810 xdr_ndmp4_addr (XDR *xdrs, ndmp4_addr *objp)
811 {
812         if (!xdr_ndmp4_addr_type (xdrs, &objp->addr_type))
813                 return FALSE;
814         switch (objp->addr_type) {
815         case NDMP4_ADDR_LOCAL:
816                 break;
817         case NDMP4_ADDR_TCP:
818                 if (!xdr_array (xdrs, (char **)&objp->ndmp4_addr_u.tcp_addr.tcp_addr_val, (u_int *) &objp->ndmp4_addr_u.tcp_addr.tcp_addr_len, ~0,
819                         sizeof (ndmp4_tcp_addr), (xdrproc_t) xdr_ndmp4_tcp_addr))
820                         return FALSE;
821                 break;
822         case NDMP4_ADDR_IPC:
823                 if (!xdr_ndmp4_ipc_addr (xdrs, &objp->ndmp4_addr_u.ipc_addr))
824                         return FALSE;
825                 break;
826         default:
827                 return FALSE;
828         }
829         return TRUE;
830 }
831
832 bool_t
833 xdr_ndmp4_data_get_state_reply (XDR *xdrs, ndmp4_data_get_state_reply *objp)
834 {
835         if (!xdr_u_long (xdrs, &objp->unsupported))
836                 return FALSE;
837         if (!xdr_ndmp4_error (xdrs, &objp->error))
838                 return FALSE;
839         if (!xdr_ndmp4_data_operation (xdrs, &objp->operation))
840                 return FALSE;
841         if (!xdr_ndmp4_data_state (xdrs, &objp->state))
842                 return FALSE;
843         if (!xdr_ndmp4_data_halt_reason (xdrs, &objp->halt_reason))
844                 return FALSE;
845         if (!xdr_ndmp4_u_quad (xdrs, &objp->bytes_processed))
846                 return FALSE;
847         if (!xdr_ndmp4_u_quad (xdrs, &objp->est_bytes_remain))
848                 return FALSE;
849         if (!xdr_u_long (xdrs, &objp->est_time_remain))
850                 return FALSE;
851         if (!xdr_ndmp4_addr (xdrs, &objp->data_connection_addr))
852                 return FALSE;
853         if (!xdr_ndmp4_u_quad (xdrs, &objp->read_offset))
854                 return FALSE;
855         if (!xdr_ndmp4_u_quad (xdrs, &objp->read_length))
856                 return FALSE;
857         return TRUE;
858 }
859
860 bool_t
861 xdr_ndmp4_data_listen_request (XDR *xdrs, ndmp4_data_listen_request *objp)
862 {
863         if (!xdr_ndmp4_addr_type (xdrs, &objp->addr_type))
864                 return FALSE;
865         return TRUE;
866 }
867
868 bool_t
869 xdr_ndmp4_data_listen_reply (XDR *xdrs, ndmp4_data_listen_reply *objp)
870 {
871         if (!xdr_ndmp4_error (xdrs, &objp->error))
872                 return FALSE;
873         if (!xdr_ndmp4_addr (xdrs, &objp->connect_addr))
874                 return FALSE;
875         return TRUE;
876 }
877
878 bool_t
879 xdr_ndmp4_data_connect_request (XDR *xdrs, ndmp4_data_connect_request *objp)
880 {
881         if (!xdr_ndmp4_addr (xdrs, &objp->addr))
882                 return FALSE;
883         return TRUE;
884 }
885
886 bool_t
887 xdr_ndmp4_data_connect_reply (XDR *xdrs, ndmp4_data_connect_reply *objp)
888 {
889         if (!xdr_ndmp4_error (xdrs, &objp->error))
890                 return FALSE;
891         return TRUE;
892 }
893
894 bool_t
895 xdr_ndmp4_data_start_backup_request (XDR *xdrs, ndmp4_data_start_backup_request *objp)
896 {
897         if (!xdr_string (xdrs, &objp->butype_name, ~0))
898                 return FALSE;
899         if (!xdr_array (xdrs, (char **)&objp->env.env_val, (u_int *) &objp->env.env_len, ~0,
900                 sizeof (ndmp4_pval), (xdrproc_t) xdr_ndmp4_pval))
901                 return FALSE;
902         return TRUE;
903 }
904
905 bool_t
906 xdr_ndmp4_data_start_backup_reply (XDR *xdrs, ndmp4_data_start_backup_reply *objp)
907 {
908         if (!xdr_ndmp4_error (xdrs, &objp->error))
909                 return FALSE;
910         return TRUE;
911 }
912
913 bool_t
914 xdr_ndmp4_name (XDR *xdrs, ndmp4_name *objp)
915 {
916         if (!xdr_string (xdrs, &objp->original_path, ~0))
917                 return FALSE;
918         if (!xdr_string (xdrs, &objp->destination_path, ~0))
919                 return FALSE;
920         if (!xdr_string (xdrs, &objp->name, ~0))
921                 return FALSE;
922         if (!xdr_string (xdrs, &objp->other_name, ~0))
923                 return FALSE;
924         if (!xdr_ndmp4_u_quad (xdrs, &objp->node))
925                 return FALSE;
926         if (!xdr_ndmp4_u_quad (xdrs, &objp->fh_info))
927                 return FALSE;
928         return TRUE;
929 }
930
931 bool_t
932 xdr_ndmp4_data_start_recover_request (XDR *xdrs, ndmp4_data_start_recover_request *objp)
933 {
934         if (!xdr_array (xdrs, (char **)&objp->env.env_val, (u_int *) &objp->env.env_len, ~0,
935                 sizeof (ndmp4_pval), (xdrproc_t) xdr_ndmp4_pval))
936                 return FALSE;
937         if (!xdr_array (xdrs, (char **)&objp->nlist.nlist_val, (u_int *) &objp->nlist.nlist_len, ~0,
938                 sizeof (ndmp4_name), (xdrproc_t) xdr_ndmp4_name))
939                 return FALSE;
940         if (!xdr_string (xdrs, &objp->butype_name, ~0))
941                 return FALSE;
942         return TRUE;
943 }
944
945 bool_t
946 xdr_ndmp4_data_start_recover_reply (XDR *xdrs, ndmp4_data_start_recover_reply *objp)
947 {
948         if (!xdr_ndmp4_error (xdrs, &objp->error))
949                 return FALSE;
950         return TRUE;
951 }
952
953 bool_t
954 xdr_ndmp4_data_start_recover_filehist_request (XDR *xdrs, ndmp4_data_start_recover_filehist_request *objp)
955 {
956         if (!xdr_array (xdrs, (char **)&objp->env.env_val, (u_int *) &objp->env.env_len, ~0,
957                 sizeof (ndmp4_pval), (xdrproc_t) xdr_ndmp4_pval))
958                 return FALSE;
959         if (!xdr_array (xdrs, (char **)&objp->nlist.nlist_val, (u_int *) &objp->nlist.nlist_len, ~0,
960                 sizeof (ndmp4_name), (xdrproc_t) xdr_ndmp4_name))
961                 return FALSE;
962         if (!xdr_string (xdrs, &objp->butype_name, ~0))
963                 return FALSE;
964         return TRUE;
965 }
966
967 bool_t
968 xdr_ndmp4_data_start_recover_filehist_reply (XDR *xdrs, ndmp4_data_start_recover_filehist_reply *objp)
969 {
970         if (!xdr_ndmp4_error (xdrs, &objp->error))
971                 return FALSE;
972         return TRUE;
973 }
974
975 bool_t
976 xdr_ndmp4_data_abort_reply (XDR *xdrs, ndmp4_data_abort_reply *objp)
977 {
978         if (!xdr_ndmp4_error (xdrs, &objp->error))
979                 return FALSE;
980         return TRUE;
981 }
982
983 bool_t
984 xdr_ndmp4_data_stop_reply (XDR *xdrs, ndmp4_data_stop_reply *objp)
985 {
986         if (!xdr_ndmp4_error (xdrs, &objp->error))
987                 return FALSE;
988         return TRUE;
989 }
990
991 bool_t
992 xdr_ndmp4_data_get_env_reply (XDR *xdrs, ndmp4_data_get_env_reply *objp)
993 {
994         if (!xdr_ndmp4_error (xdrs, &objp->error))
995                 return FALSE;
996         if (!xdr_array (xdrs, (char **)&objp->env.env_val, (u_int *) &objp->env.env_len, ~0,
997                 sizeof (ndmp4_pval), (xdrproc_t) xdr_ndmp4_pval))
998                 return FALSE;
999         return TRUE;
1000 }
1001
1002 bool_t
1003 xdr_ndmp4_mover_mode (XDR *xdrs, ndmp4_mover_mode *objp)
1004 {
1005         if (!xdr_enum (xdrs, (enum_t *) objp))
1006                 return FALSE;
1007         return TRUE;
1008 }
1009
1010 bool_t
1011 xdr_ndmp4_mover_state (XDR *xdrs, ndmp4_mover_state *objp)
1012 {
1013         if (!xdr_enum (xdrs, (enum_t *) objp))
1014                 return FALSE;
1015         return TRUE;
1016 }
1017
1018 bool_t
1019 xdr_ndmp4_mover_pause_reason (XDR *xdrs, ndmp4_mover_pause_reason *objp)
1020 {
1021         if (!xdr_enum (xdrs, (enum_t *) objp))
1022                 return FALSE;
1023         return TRUE;
1024 }
1025
1026 bool_t
1027 xdr_ndmp4_mover_halt_reason (XDR *xdrs, ndmp4_mover_halt_reason *objp)
1028 {
1029         if (!xdr_enum (xdrs, (enum_t *) objp))
1030                 return FALSE;
1031         return TRUE;
1032 }
1033
1034 bool_t
1035 xdr_ndmp4_mover_set_record_size_request (XDR *xdrs, ndmp4_mover_set_record_size_request *objp)
1036 {
1037         if (!xdr_u_long (xdrs, &objp->len))
1038                 return FALSE;
1039         return TRUE;
1040 }
1041
1042 bool_t
1043 xdr_ndmp4_mover_set_record_size_reply (XDR *xdrs, ndmp4_mover_set_record_size_reply *objp)
1044 {
1045         if (!xdr_ndmp4_error (xdrs, &objp->error))
1046                 return FALSE;
1047         return TRUE;
1048 }
1049
1050 bool_t
1051 xdr_ndmp4_mover_set_window_request (XDR *xdrs, ndmp4_mover_set_window_request *objp)
1052 {
1053         if (!xdr_ndmp4_u_quad (xdrs, &objp->offset))
1054                 return FALSE;
1055         if (!xdr_ndmp4_u_quad (xdrs, &objp->length))
1056                 return FALSE;
1057         return TRUE;
1058 }
1059
1060 bool_t
1061 xdr_ndmp4_mover_set_window_reply (XDR *xdrs, ndmp4_mover_set_window_reply *objp)
1062 {
1063         if (!xdr_ndmp4_error (xdrs, &objp->error))
1064                 return FALSE;
1065         return TRUE;
1066 }
1067
1068 bool_t
1069 xdr_ndmp4_mover_connect_request (XDR *xdrs, ndmp4_mover_connect_request *objp)
1070 {
1071         if (!xdr_ndmp4_mover_mode (xdrs, &objp->mode))
1072                 return FALSE;
1073         if (!xdr_ndmp4_addr (xdrs, &objp->addr))
1074                 return FALSE;
1075         return TRUE;
1076 }
1077
1078 bool_t
1079 xdr_ndmp4_mover_connect_reply (XDR *xdrs, ndmp4_mover_connect_reply *objp)
1080 {
1081         if (!xdr_ndmp4_error (xdrs, &objp->error))
1082                 return FALSE;
1083         return TRUE;
1084 }
1085
1086 bool_t
1087 xdr_ndmp4_mover_listen_request (XDR *xdrs, ndmp4_mover_listen_request *objp)
1088 {
1089         if (!xdr_ndmp4_mover_mode (xdrs, &objp->mode))
1090                 return FALSE;
1091         if (!xdr_ndmp4_addr_type (xdrs, &objp->addr_type))
1092                 return FALSE;
1093         return TRUE;
1094 }
1095
1096 bool_t
1097 xdr_ndmp4_mover_listen_reply (XDR *xdrs, ndmp4_mover_listen_reply *objp)
1098 {
1099         if (!xdr_ndmp4_error (xdrs, &objp->error))
1100                 return FALSE;
1101         if (!xdr_ndmp4_addr (xdrs, &objp->connect_addr))
1102                 return FALSE;
1103         return TRUE;
1104 }
1105
1106 bool_t
1107 xdr_ndmp4_mover_read_request (XDR *xdrs, ndmp4_mover_read_request *objp)
1108 {
1109         if (!xdr_ndmp4_u_quad (xdrs, &objp->offset))
1110                 return FALSE;
1111         if (!xdr_ndmp4_u_quad (xdrs, &objp->length))
1112                 return FALSE;
1113         return TRUE;
1114 }
1115
1116 bool_t
1117 xdr_ndmp4_mover_read_reply (XDR *xdrs, ndmp4_mover_read_reply *objp)
1118 {
1119         if (!xdr_ndmp4_error (xdrs, &objp->error))
1120                 return FALSE;
1121         return TRUE;
1122 }
1123
1124 bool_t
1125 xdr_ndmp4_mover_get_state_reply (XDR *xdrs, ndmp4_mover_get_state_reply *objp)
1126 {
1127         if (!xdr_ndmp4_error (xdrs, &objp->error))
1128                 return FALSE;
1129         if (!xdr_ndmp4_mover_mode (xdrs, &objp->mode))
1130                 return FALSE;
1131         if (!xdr_ndmp4_mover_state (xdrs, &objp->state))
1132                 return FALSE;
1133         if (!xdr_ndmp4_mover_pause_reason (xdrs, &objp->pause_reason))
1134                 return FALSE;
1135         if (!xdr_ndmp4_mover_halt_reason (xdrs, &objp->halt_reason))
1136                 return FALSE;
1137         if (!xdr_u_long (xdrs, &objp->record_size))
1138                 return FALSE;
1139         if (!xdr_u_long (xdrs, &objp->record_num))
1140                 return FALSE;
1141         if (!xdr_ndmp4_u_quad (xdrs, &objp->bytes_moved))
1142                 return FALSE;
1143         if (!xdr_ndmp4_u_quad (xdrs, &objp->seek_position))
1144                 return FALSE;
1145         if (!xdr_ndmp4_u_quad (xdrs, &objp->bytes_left_to_read))
1146                 return FALSE;
1147         if (!xdr_ndmp4_u_quad (xdrs, &objp->window_offset))
1148                 return FALSE;
1149         if (!xdr_ndmp4_u_quad (xdrs, &objp->window_length))
1150                 return FALSE;
1151         if (!xdr_ndmp4_addr (xdrs, &objp->data_connection_addr))
1152                 return FALSE;
1153         return TRUE;
1154 }
1155
1156 bool_t
1157 xdr_ndmp4_mover_continue_reply (XDR *xdrs, ndmp4_mover_continue_reply *objp)
1158 {
1159         if (!xdr_ndmp4_error (xdrs, &objp->error))
1160                 return FALSE;
1161         return TRUE;
1162 }
1163
1164 bool_t
1165 xdr_ndmp4_mover_close_reply (XDR *xdrs, ndmp4_mover_close_reply *objp)
1166 {
1167         if (!xdr_ndmp4_error (xdrs, &objp->error))
1168                 return FALSE;
1169         return TRUE;
1170 }
1171
1172 bool_t
1173 xdr_ndmp4_mover_abort_reply (XDR *xdrs, ndmp4_mover_abort_reply *objp)
1174 {
1175         if (!xdr_ndmp4_error (xdrs, &objp->error))
1176                 return FALSE;
1177         return TRUE;
1178 }
1179
1180 bool_t
1181 xdr_ndmp4_mover_stop_reply (XDR *xdrs, ndmp4_mover_stop_reply *objp)
1182 {
1183         if (!xdr_ndmp4_error (xdrs, &objp->error))
1184                 return FALSE;
1185         return TRUE;
1186 }
1187
1188 bool_t
1189 xdr_ndmp4_notify_data_halted_post (XDR *xdrs, ndmp4_notify_data_halted_post *objp)
1190 {
1191         if (!xdr_ndmp4_data_halt_reason (xdrs, &objp->reason))
1192                 return FALSE;
1193         return TRUE;
1194 }
1195
1196 bool_t
1197 xdr_ndmp4_connection_status_reason (XDR *xdrs, ndmp4_connection_status_reason *objp)
1198 {
1199         if (!xdr_enum (xdrs, (enum_t *) objp))
1200                 return FALSE;
1201         return TRUE;
1202 }
1203
1204 bool_t
1205 xdr_ndmp4_notify_connection_status_post (XDR *xdrs, ndmp4_notify_connection_status_post *objp)
1206 {
1207         if (!xdr_ndmp4_connection_status_reason (xdrs, &objp->reason))
1208                 return FALSE;
1209         if (!xdr_u_short (xdrs, &objp->protocol_version))
1210                 return FALSE;
1211         if (!xdr_string (xdrs, &objp->text_reason, ~0))
1212                 return FALSE;
1213         return TRUE;
1214 }
1215
1216 bool_t
1217 xdr_ndmp4_notify_mover_halted_post (XDR *xdrs, ndmp4_notify_mover_halted_post *objp)
1218 {
1219         if (!xdr_ndmp4_mover_halt_reason (xdrs, &objp->reason))
1220                 return FALSE;
1221         return TRUE;
1222 }
1223
1224 bool_t
1225 xdr_ndmp4_notify_mover_paused_post (XDR *xdrs, ndmp4_notify_mover_paused_post *objp)
1226 {
1227         if (!xdr_ndmp4_mover_pause_reason (xdrs, &objp->reason))
1228                 return FALSE;
1229         if (!xdr_ndmp4_u_quad (xdrs, &objp->seek_position))
1230                 return FALSE;
1231         return TRUE;
1232 }
1233
1234 bool_t
1235 xdr_ndmp4_notify_data_read_post (XDR *xdrs, ndmp4_notify_data_read_post *objp)
1236 {
1237         if (!xdr_ndmp4_u_quad (xdrs, &objp->offset))
1238                 return FALSE;
1239         if (!xdr_ndmp4_u_quad (xdrs, &objp->length))
1240                 return FALSE;
1241         return TRUE;
1242 }
1243
1244 bool_t
1245 xdr_ndmp4_has_associated_message (XDR *xdrs, ndmp4_has_associated_message *objp)
1246 {
1247         if (!xdr_enum (xdrs, (enum_t *) objp))
1248                 return FALSE;
1249         return TRUE;
1250 }
1251
1252 bool_t
1253 xdr_ndmp4_log_type (XDR *xdrs, ndmp4_log_type *objp)
1254 {
1255         if (!xdr_enum (xdrs, (enum_t *) objp))
1256                 return FALSE;
1257         return TRUE;
1258 }
1259
1260 bool_t
1261 xdr_ndmp4_log_message_post (XDR *xdrs, ndmp4_log_message_post *objp)
1262 {
1263         if (!xdr_ndmp4_log_type (xdrs, &objp->log_type))
1264                 return FALSE;
1265         if (!xdr_u_long (xdrs, &objp->message_id))
1266                 return FALSE;
1267         if (!xdr_string (xdrs, &objp->entry, ~0))
1268                 return FALSE;
1269         if (!xdr_ndmp4_has_associated_message (xdrs, &objp->associated_message_valid))
1270                 return FALSE;
1271         if (!xdr_u_long (xdrs, &objp->associated_message_sequence))
1272                 return FALSE;
1273         return TRUE;
1274 }
1275
1276 bool_t
1277 xdr_ndmp4_recovery_status (XDR *xdrs, ndmp4_recovery_status *objp)
1278 {
1279         if (!xdr_enum (xdrs, (enum_t *) objp))
1280                 return FALSE;
1281         return TRUE;
1282 }
1283
1284 bool_t
1285 xdr_ndmp4_log_file_post (XDR *xdrs, ndmp4_log_file_post *objp)
1286 {
1287         if (!xdr_string (xdrs, &objp->name, ~0))
1288                 return FALSE;
1289         if (!xdr_ndmp4_recovery_status (xdrs, &objp->recovery_status))
1290                 return FALSE;
1291         return TRUE;
1292 }
1293
1294 bool_t
1295 xdr_ndmp4_fs_type (XDR *xdrs, ndmp4_fs_type *objp)
1296 {
1297         if (!xdr_enum (xdrs, (enum_t *) objp))
1298                 return FALSE;
1299         return TRUE;
1300 }
1301
1302 bool_t
1303 xdr_ndmp4_path (XDR *xdrs, ndmp4_path *objp)
1304 {
1305         if (!xdr_string (xdrs, objp, ~0))
1306                 return FALSE;
1307         return TRUE;
1308 }
1309
1310 bool_t
1311 xdr_ndmp4_nt_path (XDR *xdrs, ndmp4_nt_path *objp)
1312 {
1313         if (!xdr_ndmp4_path (xdrs, &objp->nt_path))
1314                 return FALSE;
1315         if (!xdr_ndmp4_path (xdrs, &objp->dos_path))
1316                 return FALSE;
1317         return TRUE;
1318 }
1319
1320 bool_t
1321 xdr_ndmp4_file_name (XDR *xdrs, ndmp4_file_name *objp)
1322 {
1323         if (!xdr_ndmp4_fs_type (xdrs, &objp->fs_type))
1324                 return FALSE;
1325         switch (objp->fs_type) {
1326         case NDMP4_FS_UNIX:
1327                 if (!xdr_ndmp4_path (xdrs, &objp->ndmp4_file_name_u.unix_name))
1328                         return FALSE;
1329                 break;
1330         case NDMP4_FS_NT:
1331                 if (!xdr_ndmp4_nt_path (xdrs, &objp->ndmp4_file_name_u.nt_name))
1332                         return FALSE;
1333                 break;
1334         default:
1335                 if (!xdr_ndmp4_path (xdrs, &objp->ndmp4_file_name_u.other_name))
1336                         return FALSE;
1337                 break;
1338         }
1339         return TRUE;
1340 }
1341
1342 bool_t
1343 xdr_ndmp4_file_type (XDR *xdrs, ndmp4_file_type *objp)
1344 {
1345         if (!xdr_enum (xdrs, (enum_t *) objp))
1346                 return FALSE;
1347         return TRUE;
1348 }
1349
1350 bool_t
1351 xdr_ndmp4_file_stat (XDR *xdrs, ndmp4_file_stat *objp)
1352 {
1353         register int32_t *buf;
1354
1355         if (xdrs->x_op == XDR_ENCODE) {
1356                 if (!xdr_u_long (xdrs, &objp->unsupported))
1357                         return FALSE;
1358                 if (!xdr_ndmp4_fs_type (xdrs, &objp->fs_type))
1359                         return FALSE;
1360                 if (!xdr_ndmp4_file_type (xdrs, &objp->ftype))
1361                         return FALSE;
1362                 buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
1363                 if (buf == NULL) {
1364                         if (!xdr_u_long (xdrs, &objp->mtime))
1365                                 return FALSE;
1366                         if (!xdr_u_long (xdrs, &objp->atime))
1367                                 return FALSE;
1368                         if (!xdr_u_long (xdrs, &objp->ctime))
1369                                 return FALSE;
1370                         if (!xdr_u_long (xdrs, &objp->owner))
1371                                 return FALSE;
1372                         if (!xdr_u_long (xdrs, &objp->group))
1373                                 return FALSE;
1374                         if (!xdr_u_long (xdrs, &objp->fattr))
1375                                 return FALSE;
1376
1377                 } else {
1378                 IXDR_PUT_U_LONG(buf, objp->mtime);
1379                 IXDR_PUT_U_LONG(buf, objp->atime);
1380                 IXDR_PUT_U_LONG(buf, objp->ctime);
1381                 IXDR_PUT_U_LONG(buf, objp->owner);
1382                 IXDR_PUT_U_LONG(buf, objp->group);
1383                 IXDR_PUT_U_LONG(buf, objp->fattr);
1384                 }
1385                 if (!xdr_ndmp4_u_quad (xdrs, &objp->size))
1386                         return FALSE;
1387                 if (!xdr_u_long (xdrs, &objp->links))
1388                         return FALSE;
1389                 return TRUE;
1390         } else if (xdrs->x_op == XDR_DECODE) {
1391                 if (!xdr_u_long (xdrs, &objp->unsupported))
1392                         return FALSE;
1393                 if (!xdr_ndmp4_fs_type (xdrs, &objp->fs_type))
1394                         return FALSE;
1395                 if (!xdr_ndmp4_file_type (xdrs, &objp->ftype))
1396                         return FALSE;
1397                 buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
1398                 if (buf == NULL) {
1399                         if (!xdr_u_long (xdrs, &objp->mtime))
1400                                 return FALSE;
1401                         if (!xdr_u_long (xdrs, &objp->atime))
1402                                 return FALSE;
1403                         if (!xdr_u_long (xdrs, &objp->ctime))
1404                                 return FALSE;
1405                         if (!xdr_u_long (xdrs, &objp->owner))
1406                                 return FALSE;
1407                         if (!xdr_u_long (xdrs, &objp->group))
1408                                 return FALSE;
1409                         if (!xdr_u_long (xdrs, &objp->fattr))
1410                                 return FALSE;
1411
1412                 } else {
1413                 objp->mtime = IXDR_GET_U_LONG(buf);
1414                 objp->atime = IXDR_GET_U_LONG(buf);
1415                 objp->ctime = IXDR_GET_U_LONG(buf);
1416                 objp->owner = IXDR_GET_U_LONG(buf);
1417                 objp->group = IXDR_GET_U_LONG(buf);
1418                 objp->fattr = IXDR_GET_U_LONG(buf);
1419                 }
1420                 if (!xdr_ndmp4_u_quad (xdrs, &objp->size))
1421                         return FALSE;
1422                 if (!xdr_u_long (xdrs, &objp->links))
1423                         return FALSE;
1424                 return TRUE;
1425         }
1426
1427         if (!xdr_u_long (xdrs, &objp->unsupported))
1428                 return FALSE;
1429         if (!xdr_ndmp4_fs_type (xdrs, &objp->fs_type))
1430                 return FALSE;
1431         if (!xdr_ndmp4_file_type (xdrs, &objp->ftype))
1432                 return FALSE;
1433         if (!xdr_u_long (xdrs, &objp->mtime))
1434                 return FALSE;
1435         if (!xdr_u_long (xdrs, &objp->atime))
1436                 return FALSE;
1437         if (!xdr_u_long (xdrs, &objp->ctime))
1438                 return FALSE;
1439         if (!xdr_u_long (xdrs, &objp->owner))
1440                 return FALSE;
1441         if (!xdr_u_long (xdrs, &objp->group))
1442                 return FALSE;
1443         if (!xdr_u_long (xdrs, &objp->fattr))
1444                 return FALSE;
1445         if (!xdr_ndmp4_u_quad (xdrs, &objp->size))
1446                 return FALSE;
1447         if (!xdr_u_long (xdrs, &objp->links))
1448                 return FALSE;
1449         return TRUE;
1450 }
1451
1452 bool_t
1453 xdr_ndmp4_file (XDR *xdrs, ndmp4_file *objp)
1454 {
1455         if (!xdr_array (xdrs, (char **)&objp->names.names_val, (u_int *) &objp->names.names_len, ~0,
1456                 sizeof (ndmp4_file_name), (xdrproc_t) xdr_ndmp4_file_name))
1457                 return FALSE;
1458         if (!xdr_array (xdrs, (char **)&objp->stats.stats_val, (u_int *) &objp->stats.stats_len, ~0,
1459                 sizeof (ndmp4_file_stat), (xdrproc_t) xdr_ndmp4_file_stat))
1460                 return FALSE;
1461         if (!xdr_ndmp4_u_quad (xdrs, &objp->node))
1462                 return FALSE;
1463         if (!xdr_ndmp4_u_quad (xdrs, &objp->fh_info))
1464                 return FALSE;
1465         return TRUE;
1466 }
1467
1468 bool_t
1469 xdr_ndmp4_fh_add_file_post (XDR *xdrs, ndmp4_fh_add_file_post *objp)
1470 {
1471         if (!xdr_array (xdrs, (char **)&objp->files.files_val, (u_int *) &objp->files.files_len, ~0,
1472                 sizeof (ndmp4_file), (xdrproc_t) xdr_ndmp4_file))
1473                 return FALSE;
1474         return TRUE;
1475 }
1476
1477 bool_t
1478 xdr_ndmp4_dir (XDR *xdrs, ndmp4_dir *objp)
1479 {
1480         if (!xdr_array (xdrs, (char **)&objp->names.names_val, (u_int *) &objp->names.names_len, ~0,
1481                 sizeof (ndmp4_file_name), (xdrproc_t) xdr_ndmp4_file_name))
1482                 return FALSE;
1483         if (!xdr_ndmp4_u_quad (xdrs, &objp->node))
1484                 return FALSE;
1485         if (!xdr_ndmp4_u_quad (xdrs, &objp->parent))
1486                 return FALSE;
1487         return TRUE;
1488 }
1489
1490 bool_t
1491 xdr_ndmp4_fh_add_dir_post (XDR *xdrs, ndmp4_fh_add_dir_post *objp)
1492 {
1493         if (!xdr_array (xdrs, (char **)&objp->dirs.dirs_val, (u_int *) &objp->dirs.dirs_len, ~0,
1494                 sizeof (ndmp4_dir), (xdrproc_t) xdr_ndmp4_dir))
1495                 return FALSE;
1496         return TRUE;
1497 }
1498
1499 bool_t
1500 xdr_ndmp4_node (XDR *xdrs, ndmp4_node *objp)
1501 {
1502         if (!xdr_array (xdrs, (char **)&objp->stats.stats_val, (u_int *) &objp->stats.stats_len, ~0,
1503                 sizeof (ndmp4_file_stat), (xdrproc_t) xdr_ndmp4_file_stat))
1504                 return FALSE;
1505         if (!xdr_ndmp4_u_quad (xdrs, &objp->node))
1506                 return FALSE;
1507         if (!xdr_ndmp4_u_quad (xdrs, &objp->fh_info))
1508                 return FALSE;
1509         return TRUE;
1510 }
1511
1512 bool_t
1513 xdr_ndmp4_fh_add_node_post (XDR *xdrs, ndmp4_fh_add_node_post *objp)
1514 {
1515         if (!xdr_array (xdrs, (char **)&objp->nodes.nodes_val, (u_int *) &objp->nodes.nodes_len, ~0,
1516                 sizeof (ndmp4_node), (xdrproc_t) xdr_ndmp4_node))
1517                 return FALSE;
1518         return TRUE;
1519 }
1520 #endif /* !NDMOS_OPTION_NO_NDMP4 */