1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5 
6 #ifndef _NDMP4_H_RPCGEN
7 #define _NDMP4_H_RPCGEN
8 
9 #include <rpc/rpc.h>
10 
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #ifndef NDMOS_OPTION_NO_NDMP4
17 #define NDMP4VER 4
18 #define NDMP4PORT 10000
19 #define ndmp4_u_quad unsigned long long
20 extern bool_t xdr_ndmp4_u_quad();
21 
22 struct _ndmp4_u_quad {
23 	u_long high;
24 	u_long low;
25 };
26 typedef struct _ndmp4_u_quad _ndmp4_u_quad;
27 
28 enum ndmp4_header_message_type {
29 	NDMP4_MESSAGE_REQUEST = 0,
30 	NDMP4_MESSAGE_REPLY = 1,
31 };
32 typedef enum ndmp4_header_message_type ndmp4_header_message_type;
33 #define NDMP4_MESSAGE_POST NDMP4_MESSAGE_REQUEST
34 
35 enum ndmp4_error {
36 	NDMP4_NO_ERR = 0,
37 	NDMP4_NOT_SUPPORTED_ERR = 1,
38 	NDMP4_DEVICE_BUSY_ERR = 2,
39 	NDMP4_DEVICE_OPENED_ERR = 3,
40 	NDMP4_NOT_AUTHORIZED_ERR = 4,
41 	NDMP4_PERMISSION_ERR = 5,
42 	NDMP4_DEV_NOT_OPEN_ERR = 6,
43 	NDMP4_IO_ERR = 7,
44 	NDMP4_TIMEOUT_ERR = 8,
45 	NDMP4_ILLEGAL_ARGS_ERR = 9,
46 	NDMP4_NO_TAPE_LOADED_ERR = 10,
47 	NDMP4_WRITE_PROTECT_ERR = 11,
48 	NDMP4_EOF_ERR = 12,
49 	NDMP4_EOM_ERR = 13,
50 	NDMP4_FILE_NOT_FOUND_ERR = 14,
51 	NDMP4_BAD_FILE_ERR = 15,
52 	NDMP4_NO_DEVICE_ERR = 16,
53 	NDMP4_NO_BUS_ERR = 17,
54 	NDMP4_XDR_DECODE_ERR = 18,
55 	NDMP4_ILLEGAL_STATE_ERR = 19,
56 	NDMP4_UNDEFINED_ERR = 20,
57 	NDMP4_XDR_ENCODE_ERR = 21,
58 	NDMP4_NO_MEM_ERR = 22,
59 	NDMP4_CONNECT_ERR = 23,
60 	NDMP4_SEQUENCE_NUM_ERR = 24,
61 	NDMP4_READ_IN_PROGRESS_ERR = 25,
62 	NDMP4_PRECONDITION_ERR = 26,
63 	NDMP4_CLASS_NOT_SUPPORTED = 27,
64 	NDMP4_VERSION_NOT_SUPPORTED = 28,
65 	NDMP4_EXT_DUPL_CLASSES = 29,
66 	NDMP4_EXT_DN_ILLEGAL = 30,
67 };
68 typedef enum ndmp4_error ndmp4_error;
69 
70 enum ndmp4_message {
71 	NDMP4_CONNECT_OPEN = 0x900,
72 	NDMP4_CONNECT_CLIENT_AUTH = 0x901,
73 	NDMP4_CONNECT_CLOSE = 0x902,
74 	NDMP4_CONNECT_SERVER_AUTH = 0x903,
75 	NDMP4_CONFIG_GET_HOST_INFO = 0x100,
76 	NDMP4_CONFIG_GET_CONNECTION_TYPE = 0x102,
77 	NDMP4_CONFIG_GET_AUTH_ATTR = 0x103,
78 	NDMP4_CONFIG_GET_BUTYPE_INFO = 0x104,
79 	NDMP4_CONFIG_GET_FS_INFO = 0x105,
80 	NDMP4_CONFIG_GET_TAPE_INFO = 0x106,
81 	NDMP4_CONFIG_GET_SCSI_INFO = 0x107,
82 	NDMP4_CONFIG_GET_SERVER_INFO = 0x108,
83 	NDMP4_CONFIG_SET_EXT_LIST = 0x109,
84 	NDMP4_CONFIG_GET_EXT_LIST = 0x10A,
85 	NDMP4_SCSI_OPEN = 0x200,
86 	NDMP4_SCSI_CLOSE = 0x201,
87 	NDMP4_SCSI_GET_STATE = 0x202,
88 	NDMP4_SCSI_RESET_DEVICE = 0x204,
89 	NDMP4_SCSI_EXECUTE_CDB = 0x206,
90 	NDMP4_TAPE_OPEN = 0x300,
91 	NDMP4_TAPE_CLOSE = 0x301,
92 	NDMP4_TAPE_GET_STATE = 0x302,
93 	NDMP4_TAPE_MTIO = 0x303,
94 	NDMP4_TAPE_WRITE = 0x304,
95 	NDMP4_TAPE_READ = 0x305,
96 	NDMP4_TAPE_EXECUTE_CDB = 0x307,
97 	NDMP4_DATA_GET_STATE = 0x400,
98 	NDMP4_DATA_START_BACKUP = 0x401,
99 	NDMP4_DATA_START_RECOVER = 0x402,
100 	NDMP4_DATA_ABORT = 0x403,
101 	NDMP4_DATA_GET_ENV = 0x404,
102 	NDMP4_DATA_STOP = 0x407,
103 	NDMP4_DATA_LISTEN = 0x409,
104 	NDMP4_DATA_CONNECT = 0x40A,
105 	NDMP4_DATA_START_RECOVER_FILEHIST = 0x40B,
106 	NDMP4_NOTIFY_DATA_HALTED = 0x501,
107 	NDMP4_NOTIFY_CONNECTION_STATUS = 0x502,
108 	NDMP4_NOTIFY_MOVER_HALTED = 0x503,
109 	NDMP4_NOTIFY_MOVER_PAUSED = 0x504,
110 	NDMP4_NOTIFY_DATA_READ = 0x505,
111 	NDMP4_LOG_FILE = 0x602,
112 	NDMP4_LOG_MESSAGE = 0x603,
113 	NDMP4_FH_ADD_FILE = 0x703,
114 	NDMP4_FH_ADD_DIR = 0x704,
115 	NDMP4_FH_ADD_NODE = 0x705,
116 	NDMP4_MOVER_GET_STATE = 0xA00,
117 	NDMP4_MOVER_LISTEN = 0xA01,
118 	NDMP4_MOVER_CONTINUE = 0xA02,
119 	NDMP4_MOVER_ABORT = 0xA03,
120 	NDMP4_MOVER_STOP = 0xA04,
121 	NDMP4_MOVER_SET_WINDOW = 0xA05,
122 	NDMP4_MOVER_READ = 0xA06,
123 	NDMP4_MOVER_CLOSE = 0xA07,
124 	NDMP4_MOVER_SET_RECORD_SIZE = 0xA08,
125 	NDMP4_MOVER_CONNECT = 0xA09,
126 	NDMP4_EXT_STANDARD_BASE = 0x10000,
127 	NDMP4_EXT_PROPRIETARY_BASE = 0x20000000,
128 };
129 typedef enum ndmp4_message ndmp4_message;
130 
131 struct ndmp4_header {
132 	u_long sequence;
133 	u_long time_stamp;
134 	ndmp4_header_message_type message_type;
135 	ndmp4_message message_code;
136 	u_long reply_sequence;
137 	ndmp4_error error_code;
138 };
139 typedef struct ndmp4_header ndmp4_header;
140 
141 struct ndmp4_pval {
142 	char *name;
143 	char *value;
144 };
145 typedef struct ndmp4_pval ndmp4_pval;
146 
147 struct ndmp4_connect_open_request {
148 	u_short protocol_version;
149 };
150 typedef struct ndmp4_connect_open_request ndmp4_connect_open_request;
151 
152 struct ndmp4_connect_open_reply {
153 	ndmp4_error error;
154 };
155 typedef struct ndmp4_connect_open_reply ndmp4_connect_open_reply;
156 
157 enum ndmp4_auth_type {
158 	NDMP4_AUTH_NONE = 0,
159 	NDMP4_AUTH_TEXT = 1,
160 	NDMP4_AUTH_MD5 = 2,
161 };
162 typedef enum ndmp4_auth_type ndmp4_auth_type;
163 
164 struct ndmp4_auth_text {
165 	char *auth_id;
166 	char *auth_password;
167 };
168 typedef struct ndmp4_auth_text ndmp4_auth_text;
169 
170 struct ndmp4_auth_md5 {
171 	char *auth_id;
172 	char auth_digest[16];
173 };
174 typedef struct ndmp4_auth_md5 ndmp4_auth_md5;
175 
176 struct ndmp4_auth_data {
177 	ndmp4_auth_type auth_type;
178 	union {
179 		struct ndmp4_auth_text auth_text;
180 		struct ndmp4_auth_md5 auth_md5;
181 	} ndmp4_auth_data_u;
182 };
183 typedef struct ndmp4_auth_data ndmp4_auth_data;
184 
185 struct ndmp4_auth_attr {
186 	ndmp4_auth_type auth_type;
187 	union {
188 		char challenge[64];
189 	} ndmp4_auth_attr_u;
190 };
191 typedef struct ndmp4_auth_attr ndmp4_auth_attr;
192 
193 struct ndmp4_connect_client_auth_request {
194 	ndmp4_auth_data auth_data;
195 };
196 typedef struct ndmp4_connect_client_auth_request ndmp4_connect_client_auth_request;
197 
198 struct ndmp4_connect_client_auth_reply {
199 	ndmp4_error error;
200 };
201 typedef struct ndmp4_connect_client_auth_reply ndmp4_connect_client_auth_reply;
202 
203 struct ndmp4_connect_server_auth_request {
204 	ndmp4_auth_attr client_attr;
205 };
206 typedef struct ndmp4_connect_server_auth_request ndmp4_connect_server_auth_request;
207 
208 struct ndmp4_connect_server_auth_reply {
209 	ndmp4_error error;
210 	ndmp4_auth_data server_result;
211 };
212 typedef struct ndmp4_connect_server_auth_reply ndmp4_connect_server_auth_reply;
213 
214 struct ndmp4_config_get_host_info_reply {
215 	ndmp4_error error;
216 	char *hostname;
217 	char *os_type;
218 	char *os_vers;
219 	char *hostid;
220 };
221 typedef struct ndmp4_config_get_host_info_reply ndmp4_config_get_host_info_reply;
222 
223 struct ndmp4_config_get_server_info_reply {
224 	ndmp4_error error;
225 	char *vendor_name;
226 	char *product_name;
227 	char *revision_number;
228 	struct {
229 		u_int auth_type_len;
230 		ndmp4_auth_type *auth_type_val;
231 	} auth_type;
232 };
233 typedef struct ndmp4_config_get_server_info_reply ndmp4_config_get_server_info_reply;
234 
235 enum ndmp4_addr_type {
236 	NDMP4_ADDR_LOCAL = 0,
237 	NDMP4_ADDR_TCP = 1,
238 	NDMP4_ADDR_RESERVED = 2,
239 	NDMP4_ADDR_IPC = 3,
240 };
241 typedef enum ndmp4_addr_type ndmp4_addr_type;
242 
243 struct ndmp4_config_get_connection_type_reply {
244 	ndmp4_error error;
245 	struct {
246 		u_int addr_types_len;
247 		ndmp4_addr_type *addr_types_val;
248 	} addr_types;
249 };
250 typedef struct ndmp4_config_get_connection_type_reply ndmp4_config_get_connection_type_reply;
251 
252 struct ndmp4_config_get_auth_attr_request {
253 	ndmp4_auth_type auth_type;
254 };
255 typedef struct ndmp4_config_get_auth_attr_request ndmp4_config_get_auth_attr_request;
256 
257 struct ndmp4_config_get_auth_attr_reply {
258 	ndmp4_error error;
259 	ndmp4_auth_attr server_attr;
260 };
261 typedef struct ndmp4_config_get_auth_attr_reply ndmp4_config_get_auth_attr_reply;
262 #define NDMP4_BUTYPE_BACKUP_FILELIST 0x0002
263 #define NDMP4_BUTYPE_RECOVER_FILELIST 0x0004
264 #define NDMP4_BUTYPE_BACKUP_DIRECT 0x0008
265 #define NDMP4_BUTYPE_RECOVER_DIRECT 0x0010
266 #define NDMP4_BUTYPE_BACKUP_INCREMENTAL 0x0020
267 #define NDMP4_BUTYPE_RECOVER_INCREMENTAL 0x0040
268 #define NDMP4_BUTYPE_BACKUP_UTF8 0x0080
269 #define NDMP4_BUTYPE_RECOVER_UTF8 0x0100
270 #define NDMP4_BUTYPE_BACKUP_FH_FILE 0x0200
271 #define NDMP4_BUTYPE_BACKUP_FH_DIR 0x0400
272 #define NDMP4_BUTYPE_RECOVER_FILEHIST 0x0800
273 #define NDMP4_BUTYPE_RECOVER_FH_FILE 0x1000
274 #define NDMP4_BUTYPE_RECOVER_FH_DIR 0x2000
275 
276 struct ndmp4_butype_info {
277 	char *butype_name;
278 	struct {
279 		u_int default_env_len;
280 		ndmp4_pval *default_env_val;
281 	} default_env;
282 	u_long attrs;
283 };
284 typedef struct ndmp4_butype_info ndmp4_butype_info;
285 
286 struct ndmp4_config_get_butype_info_reply {
287 	ndmp4_error error;
288 	struct {
289 		u_int butype_info_len;
290 		ndmp4_butype_info *butype_info_val;
291 	} butype_info;
292 };
293 typedef struct ndmp4_config_get_butype_info_reply ndmp4_config_get_butype_info_reply;
294 #define NDMP4_FS_INFO_TOTAL_SIZE_UNS 0x00000001
295 #define NDMP4_FS_INFO_USED_SIZE_UNS 0x00000002
296 #define NDMP4_FS_INFO_AVAIL_SIZE_UNS 0x00000004
297 #define NDMP4_FS_INFO_TOTAL_INODES_UNS 0x00000008
298 #define NDMP4_FS_INFO_USED_INODES_UNS 0x00000010
299 
300 struct ndmp4_fs_info {
301 	u_long unsupported;
302 	char *fs_type;
303 	char *fs_logical_device;
304 	char *fs_physical_device;
305 	ndmp4_u_quad total_size;
306 	ndmp4_u_quad used_size;
307 	ndmp4_u_quad avail_size;
308 	ndmp4_u_quad total_inodes;
309 	ndmp4_u_quad used_inodes;
310 	struct {
311 		u_int fs_env_len;
312 		ndmp4_pval *fs_env_val;
313 	} fs_env;
314 	char *fs_status;
315 };
316 typedef struct ndmp4_fs_info ndmp4_fs_info;
317 
318 struct ndmp4_config_get_fs_info_reply {
319 	ndmp4_error error;
320 	struct {
321 		u_int fs_info_len;
322 		ndmp4_fs_info *fs_info_val;
323 	} fs_info;
324 };
325 typedef struct ndmp4_config_get_fs_info_reply ndmp4_config_get_fs_info_reply;
326 #define NDMP4_TAPE_ATTR_REWIND 0x00000001
327 #define NDMP4_TAPE_ATTR_UNLOAD 0x00000002
328 #define NDMP4_TAPE_ATTR_RAW 0x00000004
329 
330 struct ndmp4_device_capability {
331 	char *device;
332 	u_long attr;
333 	struct {
334 		u_int capability_len;
335 		ndmp4_pval *capability_val;
336 	} capability;
337 };
338 typedef struct ndmp4_device_capability ndmp4_device_capability;
339 
340 struct ndmp4_device_info {
341 	char *model;
342 	struct {
343 		u_int caplist_len;
344 		ndmp4_device_capability *caplist_val;
345 	} caplist;
346 };
347 typedef struct ndmp4_device_info ndmp4_device_info;
348 
349 struct ndmp4_config_get_tape_info_reply {
350 	ndmp4_error error;
351 	struct {
352 		u_int tape_info_len;
353 		ndmp4_device_info *tape_info_val;
354 	} tape_info;
355 };
356 typedef struct ndmp4_config_get_tape_info_reply ndmp4_config_get_tape_info_reply;
357 
358 struct ndmp4_config_get_scsi_info_reply {
359 	ndmp4_error error;
360 	struct {
361 		u_int scsi_info_len;
362 		ndmp4_device_info *scsi_info_val;
363 	} scsi_info;
364 };
365 typedef struct ndmp4_config_get_scsi_info_reply ndmp4_config_get_scsi_info_reply;
366 
367 struct ndmp4_class_list {
368 	u_short class_id;
369 	struct {
370 		u_int class_version_len;
371 		u_short *class_version_val;
372 	} class_version;
373 };
374 typedef struct ndmp4_class_list ndmp4_class_list;
375 
376 struct ndmp4_class_version {
377 	u_short class_id;
378 	u_short class_version;
379 };
380 typedef struct ndmp4_class_version ndmp4_class_version;
381 
382 struct ndmp4_config_get_ext_list_reply {
383 	ndmp4_error error;
384 	struct {
385 		u_int class_list_len;
386 		ndmp4_class_list *class_list_val;
387 	} class_list;
388 };
389 typedef struct ndmp4_config_get_ext_list_reply ndmp4_config_get_ext_list_reply;
390 
391 struct ndmp4_config_set_ext_list_request {
392 	ndmp4_error error;
393 	struct {
394 		u_int ndmp4_accepted_ext_len;
395 		ndmp4_class_list *ndmp4_accepted_ext_val;
396 	} ndmp4_accepted_ext;
397 };
398 typedef struct ndmp4_config_set_ext_list_request ndmp4_config_set_ext_list_request;
399 
400 struct ndmp4_config_set_ext_list_reply {
401 	ndmp4_error error;
402 };
403 typedef struct ndmp4_config_set_ext_list_reply ndmp4_config_set_ext_list_reply;
404 
405 struct ndmp4_scsi_open_request {
406 	char *device;
407 };
408 typedef struct ndmp4_scsi_open_request ndmp4_scsi_open_request;
409 
410 struct ndmp4_scsi_open_reply {
411 	ndmp4_error error;
412 };
413 typedef struct ndmp4_scsi_open_reply ndmp4_scsi_open_reply;
414 
415 struct ndmp4_scsi_close_reply {
416 	ndmp4_error error;
417 };
418 typedef struct ndmp4_scsi_close_reply ndmp4_scsi_close_reply;
419 
420 struct ndmp4_scsi_get_state_reply {
421 	ndmp4_error error;
422 	short target_controller;
423 	short target_id;
424 	short target_lun;
425 };
426 typedef struct ndmp4_scsi_get_state_reply ndmp4_scsi_get_state_reply;
427 
428 struct ndmp4_scsi_reset_device_reply {
429 	ndmp4_error error;
430 };
431 typedef struct ndmp4_scsi_reset_device_reply ndmp4_scsi_reset_device_reply;
432 #define NDMP4_SCSI_DATA_IN 0x00000001
433 #define NDMP4_SCSI_DATA_OUT 0x00000002
434 
435 struct ndmp4_execute_cdb_request {
436 	u_long flags;
437 	u_long timeout;
438 	u_long datain_len;
439 	struct {
440 		u_int cdb_len;
441 		char *cdb_val;
442 	} cdb;
443 	struct {
444 		u_int dataout_len;
445 		char *dataout_val;
446 	} dataout;
447 };
448 typedef struct ndmp4_execute_cdb_request ndmp4_execute_cdb_request;
449 
450 struct ndmp4_execute_cdb_reply {
451 	ndmp4_error error;
452 	u_char status;
453 	u_long dataout_len;
454 	struct {
455 		u_int datain_len;
456 		char *datain_val;
457 	} datain;
458 	struct {
459 		u_int ext_sense_len;
460 		char *ext_sense_val;
461 	} ext_sense;
462 };
463 typedef struct ndmp4_execute_cdb_reply ndmp4_execute_cdb_reply;
464 
465 typedef ndmp4_execute_cdb_request ndmp4_scsi_execute_cdb_request;
466 
467 typedef ndmp4_execute_cdb_reply ndmp4_scsi_execute_cdb_reply;
468 
469 enum ndmp4_tape_open_mode {
470 	NDMP4_TAPE_READ_MODE = 0,
471 	NDMP4_TAPE_RDWR_MODE = 1,
472 	NDMP4_TAPE_RAW_MODE = 2,
473 };
474 typedef enum ndmp4_tape_open_mode ndmp4_tape_open_mode;
475 
476 struct ndmp4_tape_open_request {
477 	char *device;
478 	ndmp4_tape_open_mode mode;
479 };
480 typedef struct ndmp4_tape_open_request ndmp4_tape_open_request;
481 
482 struct ndmp4_tape_open_reply {
483 	ndmp4_error error;
484 };
485 typedef struct ndmp4_tape_open_reply ndmp4_tape_open_reply;
486 
487 struct ndmp4_tape_close_reply {
488 	ndmp4_error error;
489 };
490 typedef struct ndmp4_tape_close_reply ndmp4_tape_close_reply;
491 #define NDMP4_TAPE_STATE_NOREWIND 0x0008
492 #define NDMP4_TAPE_STATE_WR_PROT 0x0010
493 #define NDMP4_TAPE_STATE_ERROR 0x0020
494 #define NDMP4_TAPE_STATE_UNLOAD 0x0040
495 #define NDMP4_TAPE_STATE_FILE_NUM_UNS 0x00000001
496 #define NDMP4_TAPE_STATE_SOFT_ERRORS_UNS 0x00000002
497 #define NDMP4_TAPE_STATE_BLOCK_SIZE_UNS 0x00000004
498 #define NDMP4_TAPE_STATE_BLOCKNO_UNS 0x00000008
499 #define NDMP4_TAPE_STATE_TOTAL_SPACE_UNS 0x00000010
500 #define NDMP4_TAPE_STATE_SPACE_REMAIN_UNS 0x00000020
501 
502 struct ndmp4_tape_get_state_reply {
503 	u_long unsupported;
504 	ndmp4_error error;
505 	u_long flags;
506 	u_long file_num;
507 	u_long soft_errors;
508 	u_long block_size;
509 	u_long blockno;
510 	ndmp4_u_quad total_space;
511 	ndmp4_u_quad space_remain;
512 };
513 typedef struct ndmp4_tape_get_state_reply ndmp4_tape_get_state_reply;
514 
515 enum ndmp4_tape_mtio_op {
516 	NDMP4_MTIO_FSF = 0,
517 	NDMP4_MTIO_BSF = 1,
518 	NDMP4_MTIO_FSR = 2,
519 	NDMP4_MTIO_BSR = 3,
520 	NDMP4_MTIO_REW = 4,
521 	NDMP4_MTIO_EOF = 5,
522 	NDMP4_MTIO_OFF = 6,
523 	NDMP4_MTIO_TUR = 7,
524 };
525 typedef enum ndmp4_tape_mtio_op ndmp4_tape_mtio_op;
526 
527 struct ndmp4_tape_mtio_request {
528 	ndmp4_tape_mtio_op tape_op;
529 	u_long count;
530 };
531 typedef struct ndmp4_tape_mtio_request ndmp4_tape_mtio_request;
532 
533 struct ndmp4_tape_mtio_reply {
534 	ndmp4_error error;
535 	u_long resid_count;
536 };
537 typedef struct ndmp4_tape_mtio_reply ndmp4_tape_mtio_reply;
538 
539 struct ndmp4_tape_write_request {
540 	struct {
541 		u_int data_out_len;
542 		char *data_out_val;
543 	} data_out;
544 };
545 typedef struct ndmp4_tape_write_request ndmp4_tape_write_request;
546 
547 struct ndmp4_tape_write_reply {
548 	ndmp4_error error;
549 	u_long count;
550 };
551 typedef struct ndmp4_tape_write_reply ndmp4_tape_write_reply;
552 
553 struct ndmp4_tape_read_request {
554 	u_long count;
555 };
556 typedef struct ndmp4_tape_read_request ndmp4_tape_read_request;
557 
558 struct ndmp4_tape_read_reply {
559 	ndmp4_error error;
560 	struct {
561 		u_int data_in_len;
562 		char *data_in_val;
563 	} data_in;
564 };
565 typedef struct ndmp4_tape_read_reply ndmp4_tape_read_reply;
566 
567 typedef ndmp4_scsi_execute_cdb_request ndmp4_tape_execute_cdb_request;
568 
569 typedef ndmp4_scsi_execute_cdb_reply ndmp4_tape_execute_cdb_reply;
570 
571 enum ndmp4_data_operation {
572 	NDMP4_DATA_OP_NOACTION = 0,
573 	NDMP4_DATA_OP_BACKUP = 1,
574 	NDMP4_DATA_OP_RECOVER = 2,
575 	NDMP4_DATA_OP_RECOVER_FILEHIST = 3,
576 };
577 typedef enum ndmp4_data_operation ndmp4_data_operation;
578 
579 enum ndmp4_data_state {
580 	NDMP4_DATA_STATE_IDLE = 0,
581 	NDMP4_DATA_STATE_ACTIVE = 1,
582 	NDMP4_DATA_STATE_HALTED = 2,
583 	NDMP4_DATA_STATE_LISTEN = 3,
584 	NDMP4_DATA_STATE_CONNECTED = 4,
585 };
586 typedef enum ndmp4_data_state ndmp4_data_state;
587 
588 enum ndmp4_data_halt_reason {
589 	NDMP4_DATA_HALT_NA = 0,
590 	NDMP4_DATA_HALT_SUCCESSFUL = 1,
591 	NDMP4_DATA_HALT_ABORTED = 2,
592 	NDMP4_DATA_HALT_INTERNAL_ERROR = 3,
593 	NDMP4_DATA_HALT_CONNECT_ERROR = 4,
594 };
595 typedef enum ndmp4_data_halt_reason ndmp4_data_halt_reason;
596 
597 struct ndmp4_tcp_addr {
598 	u_long ip_addr;
599 	u_short port;
600 	struct {
601 		u_int addr_env_len;
602 		ndmp4_pval *addr_env_val;
603 	} addr_env;
604 };
605 typedef struct ndmp4_tcp_addr ndmp4_tcp_addr;
606 
607 struct ndmp4_ipc_addr {
608 	struct {
609 		u_int comm_data_len;
610 		char *comm_data_val;
611 	} comm_data;
612 };
613 typedef struct ndmp4_ipc_addr ndmp4_ipc_addr;
614 
615 struct ndmp4_addr {
616 	ndmp4_addr_type addr_type;
617 	union {
618 		struct {
619 			u_int tcp_addr_len;
620 			ndmp4_tcp_addr *tcp_addr_val;
621 		} tcp_addr;
622 		ndmp4_ipc_addr ipc_addr;
623 	} ndmp4_addr_u;
624 };
625 typedef struct ndmp4_addr ndmp4_addr;
626 #define NDMP4_DATA_STATE_EST_BYTES_REMAIN_UNS 0x00000001
627 #define NDMP4_DATA_STATE_EST_TIME_REMAIN_UNS 0x00000002
628 
629 struct ndmp4_data_get_state_reply {
630 	u_long unsupported;
631 	ndmp4_error error;
632 	ndmp4_data_operation operation;
633 	ndmp4_data_state state;
634 	ndmp4_data_halt_reason halt_reason;
635 	ndmp4_u_quad bytes_processed;
636 	ndmp4_u_quad est_bytes_remain;
637 	u_long est_time_remain;
638 	ndmp4_addr data_connection_addr;
639 	ndmp4_u_quad read_offset;
640 	ndmp4_u_quad read_length;
641 };
642 typedef struct ndmp4_data_get_state_reply ndmp4_data_get_state_reply;
643 
644 struct ndmp4_data_listen_request {
645 	ndmp4_addr_type addr_type;
646 };
647 typedef struct ndmp4_data_listen_request ndmp4_data_listen_request;
648 
649 struct ndmp4_data_listen_reply {
650 	ndmp4_error error;
651 	ndmp4_addr connect_addr;
652 };
653 typedef struct ndmp4_data_listen_reply ndmp4_data_listen_reply;
654 
655 struct ndmp4_data_connect_request {
656 	ndmp4_addr addr;
657 };
658 typedef struct ndmp4_data_connect_request ndmp4_data_connect_request;
659 
660 struct ndmp4_data_connect_reply {
661 	ndmp4_error error;
662 };
663 typedef struct ndmp4_data_connect_reply ndmp4_data_connect_reply;
664 
665 struct ndmp4_data_start_backup_request {
666 	char *butype_name;
667 	struct {
668 		u_int env_len;
669 		ndmp4_pval *env_val;
670 	} env;
671 };
672 typedef struct ndmp4_data_start_backup_request ndmp4_data_start_backup_request;
673 
674 struct ndmp4_data_start_backup_reply {
675 	ndmp4_error error;
676 };
677 typedef struct ndmp4_data_start_backup_reply ndmp4_data_start_backup_reply;
678 
679 struct ndmp4_name {
680 	char *original_path;
681 	char *destination_path;
682 	char *name;
683 	char *other_name;
684 	ndmp4_u_quad node;
685 	ndmp4_u_quad fh_info;
686 };
687 typedef struct ndmp4_name ndmp4_name;
688 
689 struct ndmp4_data_start_recover_request {
690 	struct {
691 		u_int env_len;
692 		ndmp4_pval *env_val;
693 	} env;
694 	struct {
695 		u_int nlist_len;
696 		ndmp4_name *nlist_val;
697 	} nlist;
698 	char *butype_name;
699 };
700 typedef struct ndmp4_data_start_recover_request ndmp4_data_start_recover_request;
701 
702 struct ndmp4_data_start_recover_reply {
703 	ndmp4_error error;
704 };
705 typedef struct ndmp4_data_start_recover_reply ndmp4_data_start_recover_reply;
706 
707 struct ndmp4_data_start_recover_filehist_request {
708 	struct {
709 		u_int env_len;
710 		ndmp4_pval *env_val;
711 	} env;
712 	struct {
713 		u_int nlist_len;
714 		ndmp4_name *nlist_val;
715 	} nlist;
716 	char *butype_name;
717 };
718 typedef struct ndmp4_data_start_recover_filehist_request ndmp4_data_start_recover_filehist_request;
719 
720 struct ndmp4_data_start_recover_filehist_reply {
721 	ndmp4_error error;
722 };
723 typedef struct ndmp4_data_start_recover_filehist_reply ndmp4_data_start_recover_filehist_reply;
724 
725 struct ndmp4_data_abort_reply {
726 	ndmp4_error error;
727 };
728 typedef struct ndmp4_data_abort_reply ndmp4_data_abort_reply;
729 
730 struct ndmp4_data_stop_reply {
731 	ndmp4_error error;
732 };
733 typedef struct ndmp4_data_stop_reply ndmp4_data_stop_reply;
734 
735 struct ndmp4_data_get_env_reply {
736 	ndmp4_error error;
737 	struct {
738 		u_int env_len;
739 		ndmp4_pval *env_val;
740 	} env;
741 };
742 typedef struct ndmp4_data_get_env_reply ndmp4_data_get_env_reply;
743 
744 enum ndmp4_mover_mode {
745 	NDMP4_MOVER_MODE_READ = 0,
746 	NDMP4_MOVER_MODE_WRITE = 1,
747 	NDMP4_MOVER_MODE_NOACTION = 2,
748 };
749 typedef enum ndmp4_mover_mode ndmp4_mover_mode;
750 
751 enum ndmp4_mover_state {
752 	NDMP4_MOVER_STATE_IDLE = 0,
753 	NDMP4_MOVER_STATE_LISTEN = 1,
754 	NDMP4_MOVER_STATE_ACTIVE = 2,
755 	NDMP4_MOVER_STATE_PAUSED = 3,
756 	NDMP4_MOVER_STATE_HALTED = 4,
757 };
758 typedef enum ndmp4_mover_state ndmp4_mover_state;
759 
760 enum ndmp4_mover_pause_reason {
761 	NDMP4_MOVER_PAUSE_NA = 0,
762 	NDMP4_MOVER_PAUSE_EOM = 1,
763 	NDMP4_MOVER_PAUSE_EOF = 2,
764 	NDMP4_MOVER_PAUSE_SEEK = 3,
765 	NDMP4_MOVER_PAUSE_EOW = 5,
766 };
767 typedef enum ndmp4_mover_pause_reason ndmp4_mover_pause_reason;
768 
769 enum ndmp4_mover_halt_reason {
770 	NDMP4_MOVER_HALT_NA = 0,
771 	NDMP4_MOVER_HALT_CONNECT_CLOSED = 1,
772 	NDMP4_MOVER_HALT_ABORTED = 2,
773 	NDMP4_MOVER_HALT_INTERNAL_ERROR = 3,
774 	NDMP4_MOVER_HALT_CONNECT_ERROR = 4,
775 	NDMP4_MOVER_HALT_MEDIA_ERROR = 5,
776 };
777 typedef enum ndmp4_mover_halt_reason ndmp4_mover_halt_reason;
778 
779 struct ndmp4_mover_set_record_size_request {
780 	u_long len;
781 };
782 typedef struct ndmp4_mover_set_record_size_request ndmp4_mover_set_record_size_request;
783 
784 struct ndmp4_mover_set_record_size_reply {
785 	ndmp4_error error;
786 };
787 typedef struct ndmp4_mover_set_record_size_reply ndmp4_mover_set_record_size_reply;
788 
789 struct ndmp4_mover_set_window_request {
790 	ndmp4_u_quad offset;
791 	ndmp4_u_quad length;
792 };
793 typedef struct ndmp4_mover_set_window_request ndmp4_mover_set_window_request;
794 
795 struct ndmp4_mover_set_window_reply {
796 	ndmp4_error error;
797 };
798 typedef struct ndmp4_mover_set_window_reply ndmp4_mover_set_window_reply;
799 
800 struct ndmp4_mover_connect_request {
801 	ndmp4_mover_mode mode;
802 	ndmp4_addr addr;
803 };
804 typedef struct ndmp4_mover_connect_request ndmp4_mover_connect_request;
805 
806 struct ndmp4_mover_connect_reply {
807 	ndmp4_error error;
808 };
809 typedef struct ndmp4_mover_connect_reply ndmp4_mover_connect_reply;
810 
811 struct ndmp4_mover_listen_request {
812 	ndmp4_mover_mode mode;
813 	ndmp4_addr_type addr_type;
814 };
815 typedef struct ndmp4_mover_listen_request ndmp4_mover_listen_request;
816 
817 struct ndmp4_mover_listen_reply {
818 	ndmp4_error error;
819 	ndmp4_addr connect_addr;
820 };
821 typedef struct ndmp4_mover_listen_reply ndmp4_mover_listen_reply;
822 
823 struct ndmp4_mover_read_request {
824 	ndmp4_u_quad offset;
825 	ndmp4_u_quad length;
826 };
827 typedef struct ndmp4_mover_read_request ndmp4_mover_read_request;
828 
829 struct ndmp4_mover_read_reply {
830 	ndmp4_error error;
831 };
832 typedef struct ndmp4_mover_read_reply ndmp4_mover_read_reply;
833 
834 struct ndmp4_mover_get_state_reply {
835 	ndmp4_error error;
836 	ndmp4_mover_mode mode;
837 	ndmp4_mover_state state;
838 	ndmp4_mover_pause_reason pause_reason;
839 	ndmp4_mover_halt_reason halt_reason;
840 	u_long record_size;
841 	u_long record_num;
842 	ndmp4_u_quad bytes_moved;
843 	ndmp4_u_quad seek_position;
844 	ndmp4_u_quad bytes_left_to_read;
845 	ndmp4_u_quad window_offset;
846 	ndmp4_u_quad window_length;
847 	ndmp4_addr data_connection_addr;
848 };
849 typedef struct ndmp4_mover_get_state_reply ndmp4_mover_get_state_reply;
850 
851 struct ndmp4_mover_continue_reply {
852 	ndmp4_error error;
853 };
854 typedef struct ndmp4_mover_continue_reply ndmp4_mover_continue_reply;
855 
856 struct ndmp4_mover_close_reply {
857 	ndmp4_error error;
858 };
859 typedef struct ndmp4_mover_close_reply ndmp4_mover_close_reply;
860 
861 struct ndmp4_mover_abort_reply {
862 	ndmp4_error error;
863 };
864 typedef struct ndmp4_mover_abort_reply ndmp4_mover_abort_reply;
865 
866 struct ndmp4_mover_stop_reply {
867 	ndmp4_error error;
868 };
869 typedef struct ndmp4_mover_stop_reply ndmp4_mover_stop_reply;
870 
871 struct ndmp4_notify_data_halted_post {
872 	ndmp4_data_halt_reason reason;
873 };
874 typedef struct ndmp4_notify_data_halted_post ndmp4_notify_data_halted_post;
875 
876 enum ndmp4_connection_status_reason {
877 	NDMP4_CONNECTED = 0,
878 	NDMP4_SHUTDOWN = 1,
879 	NDMP4_REFUSED = 2,
880 };
881 typedef enum ndmp4_connection_status_reason ndmp4_connection_status_reason;
882 
883 struct ndmp4_notify_connection_status_post {
884 	ndmp4_connection_status_reason reason;
885 	u_short protocol_version;
886 	char *text_reason;
887 };
888 typedef struct ndmp4_notify_connection_status_post ndmp4_notify_connection_status_post;
889 
890 struct ndmp4_notify_mover_halted_post {
891 	ndmp4_mover_halt_reason reason;
892 };
893 typedef struct ndmp4_notify_mover_halted_post ndmp4_notify_mover_halted_post;
894 
895 struct ndmp4_notify_mover_paused_post {
896 	ndmp4_mover_pause_reason reason;
897 	ndmp4_u_quad seek_position;
898 };
899 typedef struct ndmp4_notify_mover_paused_post ndmp4_notify_mover_paused_post;
900 
901 struct ndmp4_notify_data_read_post {
902 	ndmp4_u_quad offset;
903 	ndmp4_u_quad length;
904 };
905 typedef struct ndmp4_notify_data_read_post ndmp4_notify_data_read_post;
906 
907 enum ndmp4_has_associated_message {
908 	NDMP4_NO_ASSOCIATED_MESSAGE = 0,
909 	NDMP4_HAS_ASSOCIATED_MESSAGE = 1,
910 };
911 typedef enum ndmp4_has_associated_message ndmp4_has_associated_message;
912 
913 enum ndmp4_log_type {
914 	NDMP4_LOG_NORMAL = 0,
915 	NDMP4_LOG_DEBUG = 1,
916 	NDMP4_LOG_ERROR = 2,
917 	NDMP4_LOG_WARNING = 3,
918 };
919 typedef enum ndmp4_log_type ndmp4_log_type;
920 
921 struct ndmp4_log_message_post {
922 	ndmp4_log_type log_type;
923 	u_long message_id;
924 	char *entry;
925 	ndmp4_has_associated_message associated_message_valid;
926 	u_long associated_message_sequence;
927 };
928 typedef struct ndmp4_log_message_post ndmp4_log_message_post;
929 
930 enum ndmp4_recovery_status {
931 	NDMP4_RECOVERY_SUCCESSFUL = 0,
932 	NDMP4_RECOVERY_FAILED_PERMISSION = 1,
933 	NDMP4_RECOVERY_FAILED_NOT_FOUND = 2,
934 	NDMP4_RECOVERY_FAILED_NO_DIRECTORY = 3,
935 	NDMP4_RECOVERY_FAILED_OUT_OF_MEMORY = 4,
936 	NDMP4_RECOVERY_FAILED_IO_ERROR = 5,
937 	NDMP4_RECOVERY_FAILED_UNDEFINED_ERROR = 6,
938 };
939 typedef enum ndmp4_recovery_status ndmp4_recovery_status;
940 
941 struct ndmp4_log_file_post {
942 	char *name;
943 	ndmp4_recovery_status recovery_status;
944 };
945 typedef struct ndmp4_log_file_post ndmp4_log_file_post;
946 
947 enum ndmp4_fs_type {
948 	NDMP4_FS_UNIX = 0,
949 	NDMP4_FS_NT = 1,
950 	NDMP4_FS_OTHER = 2,
951 };
952 typedef enum ndmp4_fs_type ndmp4_fs_type;
953 
954 typedef char *ndmp4_path;
955 
956 struct ndmp4_nt_path {
957 	ndmp4_path nt_path;
958 	ndmp4_path dos_path;
959 };
960 typedef struct ndmp4_nt_path ndmp4_nt_path;
961 
962 struct ndmp4_file_name {
963 	ndmp4_fs_type fs_type;
964 	union {
965 		ndmp4_path unix_name;
966 		ndmp4_nt_path nt_name;
967 		ndmp4_path other_name;
968 	} ndmp4_file_name_u;
969 };
970 typedef struct ndmp4_file_name ndmp4_file_name;
971 
972 enum ndmp4_file_type {
973 	NDMP4_FILE_DIR = 0,
974 	NDMP4_FILE_FIFO = 1,
975 	NDMP4_FILE_CSPEC = 2,
976 	NDMP4_FILE_BSPEC = 3,
977 	NDMP4_FILE_REG = 4,
978 	NDMP4_FILE_SLINK = 5,
979 	NDMP4_FILE_SOCK = 6,
980 	NDMP4_FILE_REGISTRY = 7,
981 	NDMP4_FILE_OTHER = 8,
982 };
983 typedef enum ndmp4_file_type ndmp4_file_type;
984 #define NDMP4_FILE_STAT_ATIME_UNS 0x00000001
985 #define NDMP4_FILE_STAT_CTIME_UNS 0x00000002
986 #define NDMP4_FILE_STAT_GROUP_UNS 0x00000004
987 
988 struct ndmp4_file_stat {
989 	u_long unsupported;
990 	ndmp4_fs_type fs_type;
991 	ndmp4_file_type ftype;
992 	u_long mtime;
993 	u_long atime;
994 	u_long ctime;
995 	u_long owner;
996 	u_long group;
997 	u_long fattr;
998 	ndmp4_u_quad size;
999 	u_long links;
1000 };
1001 typedef struct ndmp4_file_stat ndmp4_file_stat;
1002 
1003 struct ndmp4_file {
1004 	struct {
1005 		u_int names_len;
1006 		ndmp4_file_name *names_val;
1007 	} names;
1008 	struct {
1009 		u_int stats_len;
1010 		ndmp4_file_stat *stats_val;
1011 	} stats;
1012 	ndmp4_u_quad node;
1013 	ndmp4_u_quad fh_info;
1014 };
1015 typedef struct ndmp4_file ndmp4_file;
1016 
1017 struct ndmp4_fh_add_file_post {
1018 	struct {
1019 		u_int files_len;
1020 		ndmp4_file *files_val;
1021 	} files;
1022 };
1023 typedef struct ndmp4_fh_add_file_post ndmp4_fh_add_file_post;
1024 
1025 struct ndmp4_dir {
1026 	struct {
1027 		u_int names_len;
1028 		ndmp4_file_name *names_val;
1029 	} names;
1030 	ndmp4_u_quad node;
1031 	ndmp4_u_quad parent;
1032 };
1033 typedef struct ndmp4_dir ndmp4_dir;
1034 
1035 struct ndmp4_fh_add_dir_post {
1036 	struct {
1037 		u_int dirs_len;
1038 		ndmp4_dir *dirs_val;
1039 	} dirs;
1040 };
1041 typedef struct ndmp4_fh_add_dir_post ndmp4_fh_add_dir_post;
1042 
1043 struct ndmp4_node {
1044 	struct {
1045 		u_int stats_len;
1046 		ndmp4_file_stat *stats_val;
1047 	} stats;
1048 	ndmp4_u_quad node;
1049 	ndmp4_u_quad fh_info;
1050 };
1051 typedef struct ndmp4_node ndmp4_node;
1052 
1053 struct ndmp4_fh_add_node_post {
1054 	struct {
1055 		u_int nodes_len;
1056 		ndmp4_node *nodes_val;
1057 	} nodes;
1058 };
1059 typedef struct ndmp4_fh_add_node_post ndmp4_fh_add_node_post;
1060 #endif /* !NDMOS_OPTION_NO_NDMP4 */
1061 
1062 /* the xdr functions */
1063 
1064 #if defined(__STDC__) || defined(__cplusplus)
1065 extern  bool_t xdr__ndmp4_u_quad (XDR *, _ndmp4_u_quad*);
1066 extern  bool_t xdr_ndmp4_header_message_type (XDR *, ndmp4_header_message_type*);
1067 extern  bool_t xdr_ndmp4_error (XDR *, ndmp4_error*);
1068 extern  bool_t xdr_ndmp4_message (XDR *, ndmp4_message*);
1069 extern  bool_t xdr_ndmp4_header (XDR *, ndmp4_header*);
1070 extern  bool_t xdr_ndmp4_pval (XDR *, ndmp4_pval*);
1071 extern  bool_t xdr_ndmp4_connect_open_request (XDR *, ndmp4_connect_open_request*);
1072 extern  bool_t xdr_ndmp4_connect_open_reply (XDR *, ndmp4_connect_open_reply*);
1073 extern  bool_t xdr_ndmp4_auth_type (XDR *, ndmp4_auth_type*);
1074 extern  bool_t xdr_ndmp4_auth_text (XDR *, ndmp4_auth_text*);
1075 extern  bool_t xdr_ndmp4_auth_md5 (XDR *, ndmp4_auth_md5*);
1076 extern  bool_t xdr_ndmp4_auth_data (XDR *, ndmp4_auth_data*);
1077 extern  bool_t xdr_ndmp4_auth_attr (XDR *, ndmp4_auth_attr*);
1078 extern  bool_t xdr_ndmp4_connect_client_auth_request (XDR *, ndmp4_connect_client_auth_request*);
1079 extern  bool_t xdr_ndmp4_connect_client_auth_reply (XDR *, ndmp4_connect_client_auth_reply*);
1080 extern  bool_t xdr_ndmp4_connect_server_auth_request (XDR *, ndmp4_connect_server_auth_request*);
1081 extern  bool_t xdr_ndmp4_connect_server_auth_reply (XDR *, ndmp4_connect_server_auth_reply*);
1082 extern  bool_t xdr_ndmp4_config_get_host_info_reply (XDR *, ndmp4_config_get_host_info_reply*);
1083 extern  bool_t xdr_ndmp4_config_get_server_info_reply (XDR *, ndmp4_config_get_server_info_reply*);
1084 extern  bool_t xdr_ndmp4_addr_type (XDR *, ndmp4_addr_type*);
1085 extern  bool_t xdr_ndmp4_config_get_connection_type_reply (XDR *, ndmp4_config_get_connection_type_reply*);
1086 extern  bool_t xdr_ndmp4_config_get_auth_attr_request (XDR *, ndmp4_config_get_auth_attr_request*);
1087 extern  bool_t xdr_ndmp4_config_get_auth_attr_reply (XDR *, ndmp4_config_get_auth_attr_reply*);
1088 extern  bool_t xdr_ndmp4_butype_info (XDR *, ndmp4_butype_info*);
1089 extern  bool_t xdr_ndmp4_config_get_butype_info_reply (XDR *, ndmp4_config_get_butype_info_reply*);
1090 extern  bool_t xdr_ndmp4_fs_info (XDR *, ndmp4_fs_info*);
1091 extern  bool_t xdr_ndmp4_config_get_fs_info_reply (XDR *, ndmp4_config_get_fs_info_reply*);
1092 extern  bool_t xdr_ndmp4_device_capability (XDR *, ndmp4_device_capability*);
1093 extern  bool_t xdr_ndmp4_device_info (XDR *, ndmp4_device_info*);
1094 extern  bool_t xdr_ndmp4_config_get_tape_info_reply (XDR *, ndmp4_config_get_tape_info_reply*);
1095 extern  bool_t xdr_ndmp4_config_get_scsi_info_reply (XDR *, ndmp4_config_get_scsi_info_reply*);
1096 extern  bool_t xdr_ndmp4_class_list (XDR *, ndmp4_class_list*);
1097 extern  bool_t xdr_ndmp4_class_version (XDR *, ndmp4_class_version*);
1098 extern  bool_t xdr_ndmp4_config_get_ext_list_reply (XDR *, ndmp4_config_get_ext_list_reply*);
1099 extern  bool_t xdr_ndmp4_config_set_ext_list_request (XDR *, ndmp4_config_set_ext_list_request*);
1100 extern  bool_t xdr_ndmp4_config_set_ext_list_reply (XDR *, ndmp4_config_set_ext_list_reply*);
1101 extern  bool_t xdr_ndmp4_scsi_open_request (XDR *, ndmp4_scsi_open_request*);
1102 extern  bool_t xdr_ndmp4_scsi_open_reply (XDR *, ndmp4_scsi_open_reply*);
1103 extern  bool_t xdr_ndmp4_scsi_close_reply (XDR *, ndmp4_scsi_close_reply*);
1104 extern  bool_t xdr_ndmp4_scsi_get_state_reply (XDR *, ndmp4_scsi_get_state_reply*);
1105 extern  bool_t xdr_ndmp4_scsi_reset_device_reply (XDR *, ndmp4_scsi_reset_device_reply*);
1106 extern  bool_t xdr_ndmp4_execute_cdb_request (XDR *, ndmp4_execute_cdb_request*);
1107 extern  bool_t xdr_ndmp4_execute_cdb_reply (XDR *, ndmp4_execute_cdb_reply*);
1108 extern  bool_t xdr_ndmp4_scsi_execute_cdb_request (XDR *, ndmp4_scsi_execute_cdb_request*);
1109 extern  bool_t xdr_ndmp4_scsi_execute_cdb_reply (XDR *, ndmp4_scsi_execute_cdb_reply*);
1110 extern  bool_t xdr_ndmp4_tape_open_mode (XDR *, ndmp4_tape_open_mode*);
1111 extern  bool_t xdr_ndmp4_tape_open_request (XDR *, ndmp4_tape_open_request*);
1112 extern  bool_t xdr_ndmp4_tape_open_reply (XDR *, ndmp4_tape_open_reply*);
1113 extern  bool_t xdr_ndmp4_tape_close_reply (XDR *, ndmp4_tape_close_reply*);
1114 extern  bool_t xdr_ndmp4_tape_get_state_reply (XDR *, ndmp4_tape_get_state_reply*);
1115 extern  bool_t xdr_ndmp4_tape_mtio_op (XDR *, ndmp4_tape_mtio_op*);
1116 extern  bool_t xdr_ndmp4_tape_mtio_request (XDR *, ndmp4_tape_mtio_request*);
1117 extern  bool_t xdr_ndmp4_tape_mtio_reply (XDR *, ndmp4_tape_mtio_reply*);
1118 extern  bool_t xdr_ndmp4_tape_write_request (XDR *, ndmp4_tape_write_request*);
1119 extern  bool_t xdr_ndmp4_tape_write_reply (XDR *, ndmp4_tape_write_reply*);
1120 extern  bool_t xdr_ndmp4_tape_read_request (XDR *, ndmp4_tape_read_request*);
1121 extern  bool_t xdr_ndmp4_tape_read_reply (XDR *, ndmp4_tape_read_reply*);
1122 extern  bool_t xdr_ndmp4_tape_execute_cdb_request (XDR *, ndmp4_tape_execute_cdb_request*);
1123 extern  bool_t xdr_ndmp4_tape_execute_cdb_reply (XDR *, ndmp4_tape_execute_cdb_reply*);
1124 extern  bool_t xdr_ndmp4_data_operation (XDR *, ndmp4_data_operation*);
1125 extern  bool_t xdr_ndmp4_data_state (XDR *, ndmp4_data_state*);
1126 extern  bool_t xdr_ndmp4_data_halt_reason (XDR *, ndmp4_data_halt_reason*);
1127 extern  bool_t xdr_ndmp4_tcp_addr (XDR *, ndmp4_tcp_addr*);
1128 extern  bool_t xdr_ndmp4_ipc_addr (XDR *, ndmp4_ipc_addr*);
1129 extern  bool_t xdr_ndmp4_addr (XDR *, ndmp4_addr*);
1130 extern  bool_t xdr_ndmp4_data_get_state_reply (XDR *, ndmp4_data_get_state_reply*);
1131 extern  bool_t xdr_ndmp4_data_listen_request (XDR *, ndmp4_data_listen_request*);
1132 extern  bool_t xdr_ndmp4_data_listen_reply (XDR *, ndmp4_data_listen_reply*);
1133 extern  bool_t xdr_ndmp4_data_connect_request (XDR *, ndmp4_data_connect_request*);
1134 extern  bool_t xdr_ndmp4_data_connect_reply (XDR *, ndmp4_data_connect_reply*);
1135 extern  bool_t xdr_ndmp4_data_start_backup_request (XDR *, ndmp4_data_start_backup_request*);
1136 extern  bool_t xdr_ndmp4_data_start_backup_reply (XDR *, ndmp4_data_start_backup_reply*);
1137 extern  bool_t xdr_ndmp4_name (XDR *, ndmp4_name*);
1138 extern  bool_t xdr_ndmp4_data_start_recover_request (XDR *, ndmp4_data_start_recover_request*);
1139 extern  bool_t xdr_ndmp4_data_start_recover_reply (XDR *, ndmp4_data_start_recover_reply*);
1140 extern  bool_t xdr_ndmp4_data_start_recover_filehist_request (XDR *, ndmp4_data_start_recover_filehist_request*);
1141 extern  bool_t xdr_ndmp4_data_start_recover_filehist_reply (XDR *, ndmp4_data_start_recover_filehist_reply*);
1142 extern  bool_t xdr_ndmp4_data_abort_reply (XDR *, ndmp4_data_abort_reply*);
1143 extern  bool_t xdr_ndmp4_data_stop_reply (XDR *, ndmp4_data_stop_reply*);
1144 extern  bool_t xdr_ndmp4_data_get_env_reply (XDR *, ndmp4_data_get_env_reply*);
1145 extern  bool_t xdr_ndmp4_mover_mode (XDR *, ndmp4_mover_mode*);
1146 extern  bool_t xdr_ndmp4_mover_state (XDR *, ndmp4_mover_state*);
1147 extern  bool_t xdr_ndmp4_mover_pause_reason (XDR *, ndmp4_mover_pause_reason*);
1148 extern  bool_t xdr_ndmp4_mover_halt_reason (XDR *, ndmp4_mover_halt_reason*);
1149 extern  bool_t xdr_ndmp4_mover_set_record_size_request (XDR *, ndmp4_mover_set_record_size_request*);
1150 extern  bool_t xdr_ndmp4_mover_set_record_size_reply (XDR *, ndmp4_mover_set_record_size_reply*);
1151 extern  bool_t xdr_ndmp4_mover_set_window_request (XDR *, ndmp4_mover_set_window_request*);
1152 extern  bool_t xdr_ndmp4_mover_set_window_reply (XDR *, ndmp4_mover_set_window_reply*);
1153 extern  bool_t xdr_ndmp4_mover_connect_request (XDR *, ndmp4_mover_connect_request*);
1154 extern  bool_t xdr_ndmp4_mover_connect_reply (XDR *, ndmp4_mover_connect_reply*);
1155 extern  bool_t xdr_ndmp4_mover_listen_request (XDR *, ndmp4_mover_listen_request*);
1156 extern  bool_t xdr_ndmp4_mover_listen_reply (XDR *, ndmp4_mover_listen_reply*);
1157 extern  bool_t xdr_ndmp4_mover_read_request (XDR *, ndmp4_mover_read_request*);
1158 extern  bool_t xdr_ndmp4_mover_read_reply (XDR *, ndmp4_mover_read_reply*);
1159 extern  bool_t xdr_ndmp4_mover_get_state_reply (XDR *, ndmp4_mover_get_state_reply*);
1160 extern  bool_t xdr_ndmp4_mover_continue_reply (XDR *, ndmp4_mover_continue_reply*);
1161 extern  bool_t xdr_ndmp4_mover_close_reply (XDR *, ndmp4_mover_close_reply*);
1162 extern  bool_t xdr_ndmp4_mover_abort_reply (XDR *, ndmp4_mover_abort_reply*);
1163 extern  bool_t xdr_ndmp4_mover_stop_reply (XDR *, ndmp4_mover_stop_reply*);
1164 extern  bool_t xdr_ndmp4_notify_data_halted_post (XDR *, ndmp4_notify_data_halted_post*);
1165 extern  bool_t xdr_ndmp4_connection_status_reason (XDR *, ndmp4_connection_status_reason*);
1166 extern  bool_t xdr_ndmp4_notify_connection_status_post (XDR *, ndmp4_notify_connection_status_post*);
1167 extern  bool_t xdr_ndmp4_notify_mover_halted_post (XDR *, ndmp4_notify_mover_halted_post*);
1168 extern  bool_t xdr_ndmp4_notify_mover_paused_post (XDR *, ndmp4_notify_mover_paused_post*);
1169 extern  bool_t xdr_ndmp4_notify_data_read_post (XDR *, ndmp4_notify_data_read_post*);
1170 extern  bool_t xdr_ndmp4_has_associated_message (XDR *, ndmp4_has_associated_message*);
1171 extern  bool_t xdr_ndmp4_log_type (XDR *, ndmp4_log_type*);
1172 extern  bool_t xdr_ndmp4_log_message_post (XDR *, ndmp4_log_message_post*);
1173 extern  bool_t xdr_ndmp4_recovery_status (XDR *, ndmp4_recovery_status*);
1174 extern  bool_t xdr_ndmp4_log_file_post (XDR *, ndmp4_log_file_post*);
1175 extern  bool_t xdr_ndmp4_fs_type (XDR *, ndmp4_fs_type*);
1176 extern  bool_t xdr_ndmp4_path (XDR *, ndmp4_path*);
1177 extern  bool_t xdr_ndmp4_nt_path (XDR *, ndmp4_nt_path*);
1178 extern  bool_t xdr_ndmp4_file_name (XDR *, ndmp4_file_name*);
1179 extern  bool_t xdr_ndmp4_file_type (XDR *, ndmp4_file_type*);
1180 extern  bool_t xdr_ndmp4_file_stat (XDR *, ndmp4_file_stat*);
1181 extern  bool_t xdr_ndmp4_file (XDR *, ndmp4_file*);
1182 extern  bool_t xdr_ndmp4_fh_add_file_post (XDR *, ndmp4_fh_add_file_post*);
1183 extern  bool_t xdr_ndmp4_dir (XDR *, ndmp4_dir*);
1184 extern  bool_t xdr_ndmp4_fh_add_dir_post (XDR *, ndmp4_fh_add_dir_post*);
1185 extern  bool_t xdr_ndmp4_node (XDR *, ndmp4_node*);
1186 extern  bool_t xdr_ndmp4_fh_add_node_post (XDR *, ndmp4_fh_add_node_post*);
1187 
1188 #else /* K&R C */
1189 extern bool_t xdr__ndmp4_u_quad ();
1190 extern bool_t xdr_ndmp4_header_message_type ();
1191 extern bool_t xdr_ndmp4_error ();
1192 extern bool_t xdr_ndmp4_message ();
1193 extern bool_t xdr_ndmp4_header ();
1194 extern bool_t xdr_ndmp4_pval ();
1195 extern bool_t xdr_ndmp4_connect_open_request ();
1196 extern bool_t xdr_ndmp4_connect_open_reply ();
1197 extern bool_t xdr_ndmp4_auth_type ();
1198 extern bool_t xdr_ndmp4_auth_text ();
1199 extern bool_t xdr_ndmp4_auth_md5 ();
1200 extern bool_t xdr_ndmp4_auth_data ();
1201 extern bool_t xdr_ndmp4_auth_attr ();
1202 extern bool_t xdr_ndmp4_connect_client_auth_request ();
1203 extern bool_t xdr_ndmp4_connect_client_auth_reply ();
1204 extern bool_t xdr_ndmp4_connect_server_auth_request ();
1205 extern bool_t xdr_ndmp4_connect_server_auth_reply ();
1206 extern bool_t xdr_ndmp4_config_get_host_info_reply ();
1207 extern bool_t xdr_ndmp4_config_get_server_info_reply ();
1208 extern bool_t xdr_ndmp4_addr_type ();
1209 extern bool_t xdr_ndmp4_config_get_connection_type_reply ();
1210 extern bool_t xdr_ndmp4_config_get_auth_attr_request ();
1211 extern bool_t xdr_ndmp4_config_get_auth_attr_reply ();
1212 extern bool_t xdr_ndmp4_butype_info ();
1213 extern bool_t xdr_ndmp4_config_get_butype_info_reply ();
1214 extern bool_t xdr_ndmp4_fs_info ();
1215 extern bool_t xdr_ndmp4_config_get_fs_info_reply ();
1216 extern bool_t xdr_ndmp4_device_capability ();
1217 extern bool_t xdr_ndmp4_device_info ();
1218 extern bool_t xdr_ndmp4_config_get_tape_info_reply ();
1219 extern bool_t xdr_ndmp4_config_get_scsi_info_reply ();
1220 extern bool_t xdr_ndmp4_class_list ();
1221 extern bool_t xdr_ndmp4_class_version ();
1222 extern bool_t xdr_ndmp4_config_get_ext_list_reply ();
1223 extern bool_t xdr_ndmp4_config_set_ext_list_request ();
1224 extern bool_t xdr_ndmp4_config_set_ext_list_reply ();
1225 extern bool_t xdr_ndmp4_scsi_open_request ();
1226 extern bool_t xdr_ndmp4_scsi_open_reply ();
1227 extern bool_t xdr_ndmp4_scsi_close_reply ();
1228 extern bool_t xdr_ndmp4_scsi_get_state_reply ();
1229 extern bool_t xdr_ndmp4_scsi_reset_device_reply ();
1230 extern bool_t xdr_ndmp4_execute_cdb_request ();
1231 extern bool_t xdr_ndmp4_execute_cdb_reply ();
1232 extern bool_t xdr_ndmp4_scsi_execute_cdb_request ();
1233 extern bool_t xdr_ndmp4_scsi_execute_cdb_reply ();
1234 extern bool_t xdr_ndmp4_tape_open_mode ();
1235 extern bool_t xdr_ndmp4_tape_open_request ();
1236 extern bool_t xdr_ndmp4_tape_open_reply ();
1237 extern bool_t xdr_ndmp4_tape_close_reply ();
1238 extern bool_t xdr_ndmp4_tape_get_state_reply ();
1239 extern bool_t xdr_ndmp4_tape_mtio_op ();
1240 extern bool_t xdr_ndmp4_tape_mtio_request ();
1241 extern bool_t xdr_ndmp4_tape_mtio_reply ();
1242 extern bool_t xdr_ndmp4_tape_write_request ();
1243 extern bool_t xdr_ndmp4_tape_write_reply ();
1244 extern bool_t xdr_ndmp4_tape_read_request ();
1245 extern bool_t xdr_ndmp4_tape_read_reply ();
1246 extern bool_t xdr_ndmp4_tape_execute_cdb_request ();
1247 extern bool_t xdr_ndmp4_tape_execute_cdb_reply ();
1248 extern bool_t xdr_ndmp4_data_operation ();
1249 extern bool_t xdr_ndmp4_data_state ();
1250 extern bool_t xdr_ndmp4_data_halt_reason ();
1251 extern bool_t xdr_ndmp4_tcp_addr ();
1252 extern bool_t xdr_ndmp4_ipc_addr ();
1253 extern bool_t xdr_ndmp4_addr ();
1254 extern bool_t xdr_ndmp4_data_get_state_reply ();
1255 extern bool_t xdr_ndmp4_data_listen_request ();
1256 extern bool_t xdr_ndmp4_data_listen_reply ();
1257 extern bool_t xdr_ndmp4_data_connect_request ();
1258 extern bool_t xdr_ndmp4_data_connect_reply ();
1259 extern bool_t xdr_ndmp4_data_start_backup_request ();
1260 extern bool_t xdr_ndmp4_data_start_backup_reply ();
1261 extern bool_t xdr_ndmp4_name ();
1262 extern bool_t xdr_ndmp4_data_start_recover_request ();
1263 extern bool_t xdr_ndmp4_data_start_recover_reply ();
1264 extern bool_t xdr_ndmp4_data_start_recover_filehist_request ();
1265 extern bool_t xdr_ndmp4_data_start_recover_filehist_reply ();
1266 extern bool_t xdr_ndmp4_data_abort_reply ();
1267 extern bool_t xdr_ndmp4_data_stop_reply ();
1268 extern bool_t xdr_ndmp4_data_get_env_reply ();
1269 extern bool_t xdr_ndmp4_mover_mode ();
1270 extern bool_t xdr_ndmp4_mover_state ();
1271 extern bool_t xdr_ndmp4_mover_pause_reason ();
1272 extern bool_t xdr_ndmp4_mover_halt_reason ();
1273 extern bool_t xdr_ndmp4_mover_set_record_size_request ();
1274 extern bool_t xdr_ndmp4_mover_set_record_size_reply ();
1275 extern bool_t xdr_ndmp4_mover_set_window_request ();
1276 extern bool_t xdr_ndmp4_mover_set_window_reply ();
1277 extern bool_t xdr_ndmp4_mover_connect_request ();
1278 extern bool_t xdr_ndmp4_mover_connect_reply ();
1279 extern bool_t xdr_ndmp4_mover_listen_request ();
1280 extern bool_t xdr_ndmp4_mover_listen_reply ();
1281 extern bool_t xdr_ndmp4_mover_read_request ();
1282 extern bool_t xdr_ndmp4_mover_read_reply ();
1283 extern bool_t xdr_ndmp4_mover_get_state_reply ();
1284 extern bool_t xdr_ndmp4_mover_continue_reply ();
1285 extern bool_t xdr_ndmp4_mover_close_reply ();
1286 extern bool_t xdr_ndmp4_mover_abort_reply ();
1287 extern bool_t xdr_ndmp4_mover_stop_reply ();
1288 extern bool_t xdr_ndmp4_notify_data_halted_post ();
1289 extern bool_t xdr_ndmp4_connection_status_reason ();
1290 extern bool_t xdr_ndmp4_notify_connection_status_post ();
1291 extern bool_t xdr_ndmp4_notify_mover_halted_post ();
1292 extern bool_t xdr_ndmp4_notify_mover_paused_post ();
1293 extern bool_t xdr_ndmp4_notify_data_read_post ();
1294 extern bool_t xdr_ndmp4_has_associated_message ();
1295 extern bool_t xdr_ndmp4_log_type ();
1296 extern bool_t xdr_ndmp4_log_message_post ();
1297 extern bool_t xdr_ndmp4_recovery_status ();
1298 extern bool_t xdr_ndmp4_log_file_post ();
1299 extern bool_t xdr_ndmp4_fs_type ();
1300 extern bool_t xdr_ndmp4_path ();
1301 extern bool_t xdr_ndmp4_nt_path ();
1302 extern bool_t xdr_ndmp4_file_name ();
1303 extern bool_t xdr_ndmp4_file_type ();
1304 extern bool_t xdr_ndmp4_file_stat ();
1305 extern bool_t xdr_ndmp4_file ();
1306 extern bool_t xdr_ndmp4_fh_add_file_post ();
1307 extern bool_t xdr_ndmp4_dir ();
1308 extern bool_t xdr_ndmp4_fh_add_dir_post ();
1309 extern bool_t xdr_ndmp4_node ();
1310 extern bool_t xdr_ndmp4_fh_add_node_post ();
1311 
1312 #endif /* K&R C */
1313 
1314 #ifdef __cplusplus
1315 }
1316 #endif
1317 
1318 #endif /* !_NDMP4_H_RPCGEN */
1319