Imported Upstream version 3.1.0
[debian/amanda] / ndmp-src / ndmp3.h
1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5
6 #ifndef _NDMP3_H_RPCGEN
7 #define _NDMP3_H_RPCGEN
8
9 #include <rpc/rpc.h>
10
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 #ifndef NDMOS_OPTION_NO_NDMP3
17 #define NDMP3VER 3
18 #define NDMP3PORT 10000
19 #define ndmp3_u_quad unsigned long long
20 extern bool_t xdr_ndmp3_u_quad();
21
22 struct _ndmp3_u_quad {
23         u_long high;
24         u_long low;
25 };
26 typedef struct _ndmp3_u_quad _ndmp3_u_quad;
27
28 struct ndmp3_pval {
29         char *name;
30         char *value;
31 };
32 typedef struct ndmp3_pval ndmp3_pval;
33
34 enum ndmp3_error {
35         NDMP3_NO_ERR = 0,
36         NDMP3_NOT_SUPPORTED_ERR = 1,
37         NDMP3_DEVICE_BUSY_ERR = 2,
38         NDMP3_DEVICE_OPENED_ERR = 3,
39         NDMP3_NOT_AUTHORIZED_ERR = 4,
40         NDMP3_PERMISSION_ERR = 5,
41         NDMP3_DEV_NOT_OPEN_ERR = 6,
42         NDMP3_IO_ERR = 7,
43         NDMP3_TIMEOUT_ERR = 8,
44         NDMP3_ILLEGAL_ARGS_ERR = 9,
45         NDMP3_NO_TAPE_LOADED_ERR = 10,
46         NDMP3_WRITE_PROTECT_ERR = 11,
47         NDMP3_EOF_ERR = 12,
48         NDMP3_EOM_ERR = 13,
49         NDMP3_FILE_NOT_FOUND_ERR = 14,
50         NDMP3_BAD_FILE_ERR = 15,
51         NDMP3_NO_DEVICE_ERR = 16,
52         NDMP3_NO_BUS_ERR = 17,
53         NDMP3_XDR_DECODE_ERR = 18,
54         NDMP3_ILLEGAL_STATE_ERR = 19,
55         NDMP3_UNDEFINED_ERR = 20,
56         NDMP3_XDR_ENCODE_ERR = 21,
57         NDMP3_NO_MEM_ERR = 22,
58         NDMP3_CONNECT_ERR = 23,
59 };
60 typedef enum ndmp3_error ndmp3_error;
61
62 enum ndmp3_header_message_type {
63         NDMP3_MESSAGE_REQUEST = 0,
64         NDMP3_MESSAGE_REPLY = 1,
65 };
66 typedef enum ndmp3_header_message_type ndmp3_header_message_type;
67
68 enum ndmp3_message {
69         NDMP3_CONNECT_OPEN = 0x900,
70         NDMP3_CONNECT_CLIENT_AUTH = 0x901,
71         NDMP3_CONNECT_CLOSE = 0x902,
72         NDMP3_CONNECT_SERVER_AUTH = 0x903,
73         NDMP3_CONFIG_GET_HOST_INFO = 0x100,
74         NDMP3_CONFIG_GET_CONNECTION_TYPE = 0x102,
75         NDMP3_CONFIG_GET_AUTH_ATTR = 0x103,
76         NDMP3_CONFIG_GET_BUTYPE_INFO = 0x104,
77         NDMP3_CONFIG_GET_FS_INFO = 0x105,
78         NDMP3_CONFIG_GET_TAPE_INFO = 0x106,
79         NDMP3_CONFIG_GET_SCSI_INFO = 0x107,
80         NDMP3_CONFIG_GET_SERVER_INFO = 0x108,
81         NDMP3_SCSI_OPEN = 0x200,
82         NDMP3_SCSI_CLOSE = 0x201,
83         NDMP3_SCSI_GET_STATE = 0x202,
84         NDMP3_SCSI_SET_TARGET = 0x203,
85         NDMP3_SCSI_RESET_DEVICE = 0x204,
86         NDMP3_SCSI_RESET_BUS = 0x205,
87         NDMP3_SCSI_EXECUTE_CDB = 0x206,
88         NDMP3_TAPE_OPEN = 0x300,
89         NDMP3_TAPE_CLOSE = 0x301,
90         NDMP3_TAPE_GET_STATE = 0x302,
91         NDMP3_TAPE_MTIO = 0x303,
92         NDMP3_TAPE_WRITE = 0x304,
93         NDMP3_TAPE_READ = 0x305,
94         NDMP3_TAPE_EXECUTE_CDB = 0x307,
95         NDMP3_DATA_GET_STATE = 0x400,
96         NDMP3_DATA_START_BACKUP = 0x401,
97         NDMP3_DATA_START_RECOVER = 0x402,
98         NDMP3_DATA_ABORT = 0x403,
99         NDMP3_DATA_GET_ENV = 0x404,
100         NDMP3_DATA_STOP = 0x407,
101         NDMP3_DATA_LISTEN = 0x409,
102         NDMP3_DATA_CONNECT = 0x40a,
103         NDMP3_DATA_START_RECOVER_FILEHIST = 0x40b,
104         NDMP3_NOTIFY_DATA_HALTED = 0x501,
105         NDMP3_NOTIFY_CONNECTED = 0x502,
106         NDMP3_NOTIFY_MOVER_HALTED = 0x503,
107         NDMP3_NOTIFY_MOVER_PAUSED = 0x504,
108         NDMP3_NOTIFY_DATA_READ = 0x505,
109         NDMP3_LOG_FILE = 0x602,
110         NDMP3_LOG_MESSAGE = 0x603,
111         NDMP3_FH_ADD_FILE = 0x703,
112         NDMP3_FH_ADD_DIR = 0x704,
113         NDMP3_FH_ADD_NODE = 0x705,
114         NDMP3_MOVER_GET_STATE = 0xa00,
115         NDMP3_MOVER_LISTEN = 0xa01,
116         NDMP3_MOVER_CONTINUE = 0xa02,
117         NDMP3_MOVER_ABORT = 0xa03,
118         NDMP3_MOVER_STOP = 0xa04,
119         NDMP3_MOVER_SET_WINDOW = 0xa05,
120         NDMP3_MOVER_READ = 0xa06,
121         NDMP3_MOVER_CLOSE = 0xa07,
122         NDMP3_MOVER_SET_RECORD_SIZE = 0xa08,
123         NDMP3_MOVER_CONNECT = 0xa09,
124         NDMP3_VENDORS_BASE = 0xf000,
125         NDMP3_RESERVED_BASE = 0xff00,
126 };
127 typedef enum ndmp3_message ndmp3_message;
128
129 struct ndmp3_header {
130         u_long sequence;
131         u_long time_stamp;
132         ndmp3_header_message_type message_type;
133         ndmp3_message message;
134         u_long reply_sequence;
135         ndmp3_error error;
136 };
137 typedef struct ndmp3_header ndmp3_header;
138
139 struct ndmp3_connect_open_request {
140         u_short protocol_version;
141 };
142 typedef struct ndmp3_connect_open_request ndmp3_connect_open_request;
143
144 struct ndmp3_connect_open_reply {
145         ndmp3_error error;
146 };
147 typedef struct ndmp3_connect_open_reply ndmp3_connect_open_reply;
148
149 enum ndmp3_auth_type {
150         NDMP3_AUTH_NONE = 0,
151         NDMP3_AUTH_TEXT = 1,
152         NDMP3_AUTH_MD5 = 2,
153 };
154 typedef enum ndmp3_auth_type ndmp3_auth_type;
155
156 struct ndmp3_auth_text {
157         char *auth_id;
158         char *auth_password;
159 };
160 typedef struct ndmp3_auth_text ndmp3_auth_text;
161
162 struct ndmp3_auth_md5 {
163         char *auth_id;
164         char auth_digest[16];
165 };
166 typedef struct ndmp3_auth_md5 ndmp3_auth_md5;
167
168 struct ndmp3_auth_data {
169         ndmp3_auth_type auth_type;
170         union {
171                 struct ndmp3_auth_text auth_text;
172                 struct ndmp3_auth_md5 auth_md5;
173         } ndmp3_auth_data_u;
174 };
175 typedef struct ndmp3_auth_data ndmp3_auth_data;
176
177 struct ndmp3_connect_client_auth_request {
178         ndmp3_auth_data auth_data;
179 };
180 typedef struct ndmp3_connect_client_auth_request ndmp3_connect_client_auth_request;
181
182 struct ndmp3_connect_client_auth_reply {
183         ndmp3_error error;
184 };
185 typedef struct ndmp3_connect_client_auth_reply ndmp3_connect_client_auth_reply;
186
187 struct ndmp3_auth_attr {
188         ndmp3_auth_type auth_type;
189         union {
190                 char challenge[64];
191         } ndmp3_auth_attr_u;
192 };
193 typedef struct ndmp3_auth_attr ndmp3_auth_attr;
194
195 struct ndmp3_connect_server_auth_request {
196         ndmp3_auth_attr client_attr;
197 };
198 typedef struct ndmp3_connect_server_auth_request ndmp3_connect_server_auth_request;
199
200 struct ndmp3_connect_server_auth_reply {
201         ndmp3_error error;
202         ndmp3_auth_data server_result;
203 };
204 typedef struct ndmp3_connect_server_auth_reply ndmp3_connect_server_auth_reply;
205
206 struct ndmp3_config_get_host_info_reply {
207         ndmp3_error error;
208         char *hostname;
209         char *os_type;
210         char *os_vers;
211         char *hostid;
212 };
213 typedef struct ndmp3_config_get_host_info_reply ndmp3_config_get_host_info_reply;
214
215 enum ndmp3_addr_type {
216         NDMP3_ADDR_LOCAL = 0,
217         NDMP3_ADDR_TCP = 1,
218         NDMP3_ADDR_FC = 2,
219         NDMP3_ADDR_IPC = 3,
220 };
221 typedef enum ndmp3_addr_type ndmp3_addr_type;
222
223 struct ndmp3_config_get_connection_type_reply {
224         ndmp3_error error;
225         struct {
226                 u_int addr_types_len;
227                 ndmp3_addr_type *addr_types_val;
228         } addr_types;
229 };
230 typedef struct ndmp3_config_get_connection_type_reply ndmp3_config_get_connection_type_reply;
231
232 struct ndmp3_config_get_auth_attr_request {
233         ndmp3_auth_type auth_type;
234 };
235 typedef struct ndmp3_config_get_auth_attr_request ndmp3_config_get_auth_attr_request;
236
237 struct ndmp3_config_get_auth_attr_reply {
238         ndmp3_error error;
239         ndmp3_auth_attr server_attr;
240 };
241 typedef struct ndmp3_config_get_auth_attr_reply ndmp3_config_get_auth_attr_reply;
242
243 struct ndmp3_config_get_server_info_reply {
244         ndmp3_error error;
245         char *vendor_name;
246         char *product_name;
247         char *revision_number;
248         struct {
249                 u_int auth_type_len;
250                 ndmp3_auth_type *auth_type_val;
251         } auth_type;
252 };
253 typedef struct ndmp3_config_get_server_info_reply ndmp3_config_get_server_info_reply;
254 #define NDMP3_BUTYPE_BACKUP_FILE_HISTORY 0x0001
255 #define NDMP3_BUTYPE_BACKUP_FILELIST 0x0002
256 #define NDMP3_BUTYPE_RECOVER_FILELIST 0x0004
257 #define NDMP3_BUTYPE_BACKUP_DIRECT 0x0008
258 #define NDMP3_BUTYPE_RECOVER_DIRECT 0x0010
259 #define NDMP3_BUTYPE_BACKUP_INCREMENTAL 0x0020
260 #define NDMP3_BUTYPE_RECOVER_INCREMENTAL 0x0040
261 #define NDMP3_BUTYPE_BACKUP_UTF8 0x0080
262 #define NDMP3_BUTYPE_RECOVER_UTF8 0x0100
263 #define NDMP3_BUTYPE_RECOVER_FILE_HISTORY 0x0200
264
265 struct ndmp3_butype_info {
266         char *butype_name;
267         struct {
268                 u_int default_env_len;
269                 ndmp3_pval *default_env_val;
270         } default_env;
271         u_long attrs;
272 };
273 typedef struct ndmp3_butype_info ndmp3_butype_info;
274
275 struct ndmp3_config_get_butype_info_reply {
276         ndmp3_error error;
277         struct {
278                 u_int butype_info_len;
279                 ndmp3_butype_info *butype_info_val;
280         } butype_info;
281 };
282 typedef struct ndmp3_config_get_butype_info_reply ndmp3_config_get_butype_info_reply;
283 #define NDMP3_FS_INFO_TOTAL_SIZE_INVALID 0x00000001
284 #define NDMP3_FS_INFO_USED_SIZE_INVALID 0x00000002
285 #define NDMP3_FS_INFO_AVAIL_SIZE_INVALID 0x00000004
286 #define NDMP3_FS_INFO_TOTAL_INODES_INVALID 0x00000008
287 #define NDMP3_FS_INFO_USED_INODES_INVALID 0x00000010
288
289 struct ndmp3_fs_info {
290         u_long invalid;
291         char *fs_type;
292         char *fs_logical_device;
293         char *fs_physical_device;
294         ndmp3_u_quad total_size;
295         ndmp3_u_quad used_size;
296         ndmp3_u_quad avail_size;
297         ndmp3_u_quad total_inodes;
298         ndmp3_u_quad used_inodes;
299         struct {
300                 u_int fs_env_len;
301                 ndmp3_pval *fs_env_val;
302         } fs_env;
303         char *fs_status;
304 };
305 typedef struct ndmp3_fs_info ndmp3_fs_info;
306
307 struct ndmp3_config_get_fs_info_reply {
308         ndmp3_error error;
309         struct {
310                 u_int fs_info_len;
311                 ndmp3_fs_info *fs_info_val;
312         } fs_info;
313 };
314 typedef struct ndmp3_config_get_fs_info_reply ndmp3_config_get_fs_info_reply;
315 #define NDMP3_TAPE_ATTR_REWIND 0x00000001
316 #define NDMP3_TAPE_ATTR_UNLOAD 0x00000002
317
318 struct ndmp3_device_capability {
319         char *device;
320         u_long attr;
321         struct {
322                 u_int capability_len;
323                 ndmp3_pval *capability_val;
324         } capability;
325 };
326 typedef struct ndmp3_device_capability ndmp3_device_capability;
327
328 struct ndmp3_device_info {
329         char *model;
330         struct {
331                 u_int caplist_len;
332                 ndmp3_device_capability *caplist_val;
333         } caplist;
334 };
335 typedef struct ndmp3_device_info ndmp3_device_info;
336
337 struct ndmp3_config_get_tape_info_reply {
338         ndmp3_error error;
339         struct {
340                 u_int tape_info_len;
341                 ndmp3_device_info *tape_info_val;
342         } tape_info;
343 };
344 typedef struct ndmp3_config_get_tape_info_reply ndmp3_config_get_tape_info_reply;
345
346 struct ndmp3_config_get_scsi_info_reply {
347         ndmp3_error error;
348         struct {
349                 u_int scsi_info_len;
350                 ndmp3_device_info *scsi_info_val;
351         } scsi_info;
352 };
353 typedef struct ndmp3_config_get_scsi_info_reply ndmp3_config_get_scsi_info_reply;
354
355 struct ndmp3_scsi_open_request {
356         char *device;
357 };
358 typedef struct ndmp3_scsi_open_request ndmp3_scsi_open_request;
359
360 struct ndmp3_scsi_open_reply {
361         ndmp3_error error;
362 };
363 typedef struct ndmp3_scsi_open_reply ndmp3_scsi_open_reply;
364
365 struct ndmp3_scsi_close_reply {
366         ndmp3_error error;
367 };
368 typedef struct ndmp3_scsi_close_reply ndmp3_scsi_close_reply;
369
370 struct ndmp3_scsi_get_state_reply {
371         ndmp3_error error;
372         short target_controller;
373         short target_id;
374         short target_lun;
375 };
376 typedef struct ndmp3_scsi_get_state_reply ndmp3_scsi_get_state_reply;
377
378 struct ndmp3_scsi_set_target_request {
379         char *device;
380         u_short target_controller;
381         u_short target_id;
382         u_short target_lun;
383 };
384 typedef struct ndmp3_scsi_set_target_request ndmp3_scsi_set_target_request;
385
386 struct ndmp3_scsi_set_target_reply {
387         ndmp3_error error;
388 };
389 typedef struct ndmp3_scsi_set_target_reply ndmp3_scsi_set_target_reply;
390
391 struct ndmp3_scsi_reset_device_reply {
392         ndmp3_error error;
393 };
394 typedef struct ndmp3_scsi_reset_device_reply ndmp3_scsi_reset_device_reply;
395
396 struct ndmp3_scsi_reset_bus_reply {
397         ndmp3_error error;
398 };
399 typedef struct ndmp3_scsi_reset_bus_reply ndmp3_scsi_reset_bus_reply;
400 #define NDMP3_SCSI_DATA_IN 0x00000001
401 #define NDMP3_SCSI_DATA_OUT 0x00000002
402
403 struct ndmp3_execute_cdb_request {
404         u_long flags;
405         u_long timeout;
406         u_long datain_len;
407         struct {
408                 u_int cdb_len;
409                 char *cdb_val;
410         } cdb;
411         struct {
412                 u_int dataout_len;
413                 char *dataout_val;
414         } dataout;
415 };
416 typedef struct ndmp3_execute_cdb_request ndmp3_execute_cdb_request;
417
418 struct ndmp3_execute_cdb_reply {
419         ndmp3_error error;
420         u_char status;
421         u_long dataout_len;
422         struct {
423                 u_int datain_len;
424                 char *datain_val;
425         } datain;
426         struct {
427                 u_int ext_sense_len;
428                 char *ext_sense_val;
429         } ext_sense;
430 };
431 typedef struct ndmp3_execute_cdb_reply ndmp3_execute_cdb_reply;
432
433 typedef ndmp3_execute_cdb_request ndmp3_scsi_execute_cdb_request;
434
435 typedef ndmp3_execute_cdb_reply ndmp3_scsi_execute_cdb_reply;
436
437 enum ndmp3_tape_open_mode {
438         NDMP3_TAPE_READ_MODE = 0,
439         NDMP3_TAPE_RDWR_MODE = 1,
440 };
441 typedef enum ndmp3_tape_open_mode ndmp3_tape_open_mode;
442
443 struct ndmp3_tape_open_request {
444         char *device;
445         ndmp3_tape_open_mode mode;
446 };
447 typedef struct ndmp3_tape_open_request ndmp3_tape_open_request;
448
449 struct ndmp3_tape_open_reply {
450         ndmp3_error error;
451 };
452 typedef struct ndmp3_tape_open_reply ndmp3_tape_open_reply;
453
454 struct ndmp3_tape_close_reply {
455         ndmp3_error error;
456 };
457 typedef struct ndmp3_tape_close_reply ndmp3_tape_close_reply;
458 #define NDMP3_TAPE_STATE_NOREWIND 0x0008
459 #define NDMP3_TAPE_STATE_WR_PROT 0x0010
460 #define NDMP3_TAPE_STATE_ERROR 0x0020
461 #define NDMP3_TAPE_STATE_UNLOAD 0x0040
462 #define NDMP3_TAPE_STATE_FILE_NUM_INVALID 0x00000001
463 #define NDMP3_TAPE_STATE_SOFT_ERRORS_INVALID 0x00000002
464 #define NDMP3_TAPE_STATE_BLOCK_SIZE_INVALID 0x00000004
465 #define NDMP3_TAPE_STATE_BLOCKNO_INVALID 0x00000008
466 #define NDMP3_TAPE_STATE_TOTAL_SPACE_INVALID 0x00000010
467 #define NDMP3_TAPE_STATE_SPACE_REMAIN_INVALID 0x00000020
468 #define NDMP3_TAPE_STATE_PARTITION_INVALID 0x00000040
469
470 struct ndmp3_tape_get_state_reply {
471         u_long invalid;
472         ndmp3_error error;
473         u_long flags;
474         u_long file_num;
475         u_long soft_errors;
476         u_long block_size;
477         u_long blockno;
478         ndmp3_u_quad total_space;
479         ndmp3_u_quad space_remain;
480         u_long partition;
481 };
482 typedef struct ndmp3_tape_get_state_reply ndmp3_tape_get_state_reply;
483
484 enum ndmp3_tape_mtio_op {
485         NDMP3_MTIO_FSF = 0,
486         NDMP3_MTIO_BSF = 1,
487         NDMP3_MTIO_FSR = 2,
488         NDMP3_MTIO_BSR = 3,
489         NDMP3_MTIO_REW = 4,
490         NDMP3_MTIO_EOF = 5,
491         NDMP3_MTIO_OFF = 6,
492 };
493 typedef enum ndmp3_tape_mtio_op ndmp3_tape_mtio_op;
494
495 struct ndmp3_tape_mtio_request {
496         ndmp3_tape_mtio_op tape_op;
497         u_long count;
498 };
499 typedef struct ndmp3_tape_mtio_request ndmp3_tape_mtio_request;
500
501 struct ndmp3_tape_mtio_reply {
502         ndmp3_error error;
503         u_long resid_count;
504 };
505 typedef struct ndmp3_tape_mtio_reply ndmp3_tape_mtio_reply;
506
507 struct ndmp3_tape_write_request {
508         struct {
509                 u_int data_out_len;
510                 char *data_out_val;
511         } data_out;
512 };
513 typedef struct ndmp3_tape_write_request ndmp3_tape_write_request;
514
515 struct ndmp3_tape_write_reply {
516         ndmp3_error error;
517         u_long count;
518 };
519 typedef struct ndmp3_tape_write_reply ndmp3_tape_write_reply;
520
521 struct ndmp3_tape_read_request {
522         u_long count;
523 };
524 typedef struct ndmp3_tape_read_request ndmp3_tape_read_request;
525
526 struct ndmp3_tape_read_reply {
527         ndmp3_error error;
528         struct {
529                 u_int data_in_len;
530                 char *data_in_val;
531         } data_in;
532 };
533 typedef struct ndmp3_tape_read_reply ndmp3_tape_read_reply;
534
535 typedef ndmp3_execute_cdb_request ndmp3_tape_execute_cdb_request;
536
537 typedef ndmp3_execute_cdb_reply ndmp3_tape_execute_cdb_reply;
538
539 enum ndmp3_mover_state {
540         NDMP3_MOVER_STATE_IDLE = 0,
541         NDMP3_MOVER_STATE_LISTEN = 1,
542         NDMP3_MOVER_STATE_ACTIVE = 2,
543         NDMP3_MOVER_STATE_PAUSED = 3,
544         NDMP3_MOVER_STATE_HALTED = 4,
545 };
546 typedef enum ndmp3_mover_state ndmp3_mover_state;
547
548 enum ndmp3_mover_pause_reason {
549         NDMP3_MOVER_PAUSE_NA = 0,
550         NDMP3_MOVER_PAUSE_EOM = 1,
551         NDMP3_MOVER_PAUSE_EOF = 2,
552         NDMP3_MOVER_PAUSE_SEEK = 3,
553         NDMP3_MOVER_PAUSE_MEDIA_ERROR = 4,
554         NDMP3_MOVER_PAUSE_EOW = 5,
555 };
556 typedef enum ndmp3_mover_pause_reason ndmp3_mover_pause_reason;
557
558 enum ndmp3_mover_halt_reason {
559         NDMP3_MOVER_HALT_NA = 0,
560         NDMP3_MOVER_HALT_CONNECT_CLOSED = 1,
561         NDMP3_MOVER_HALT_ABORTED = 2,
562         NDMP3_MOVER_HALT_INTERNAL_ERROR = 3,
563         NDMP3_MOVER_HALT_CONNECT_ERROR = 4,
564 };
565 typedef enum ndmp3_mover_halt_reason ndmp3_mover_halt_reason;
566
567 enum ndmp3_mover_mode {
568         NDMP3_MOVER_MODE_READ = 0,
569         NDMP3_MOVER_MODE_WRITE = 1,
570 };
571 typedef enum ndmp3_mover_mode ndmp3_mover_mode;
572
573 struct ndmp3_tcp_addr {
574         u_long ip_addr;
575         u_short port;
576 };
577 typedef struct ndmp3_tcp_addr ndmp3_tcp_addr;
578
579 struct ndmp3_fc_addr {
580         u_long loop_id;
581 };
582 typedef struct ndmp3_fc_addr ndmp3_fc_addr;
583
584 struct ndmp3_ipc_addr {
585         struct {
586                 u_int comm_data_len;
587                 char *comm_data_val;
588         } comm_data;
589 };
590 typedef struct ndmp3_ipc_addr ndmp3_ipc_addr;
591
592 struct ndmp3_addr {
593         ndmp3_addr_type addr_type;
594         union {
595                 ndmp3_tcp_addr tcp_addr;
596                 ndmp3_fc_addr fc_addr;
597                 ndmp3_ipc_addr ipc_addr;
598         } ndmp3_addr_u;
599 };
600 typedef struct ndmp3_addr ndmp3_addr;
601
602 struct ndmp3_mover_get_state_reply {
603         ndmp3_error error;
604         ndmp3_mover_state state;
605         ndmp3_mover_pause_reason pause_reason;
606         ndmp3_mover_halt_reason halt_reason;
607         u_long record_size;
608         u_long record_num;
609         ndmp3_u_quad data_written;
610         ndmp3_u_quad seek_position;
611         ndmp3_u_quad bytes_left_to_read;
612         ndmp3_u_quad window_offset;
613         ndmp3_u_quad window_length;
614         ndmp3_addr data_connection_addr;
615 };
616 typedef struct ndmp3_mover_get_state_reply ndmp3_mover_get_state_reply;
617
618 struct ndmp3_mover_listen_request {
619         ndmp3_mover_mode mode;
620         ndmp3_addr_type addr_type;
621 };
622 typedef struct ndmp3_mover_listen_request ndmp3_mover_listen_request;
623
624 struct ndmp3_mover_listen_reply {
625         ndmp3_error error;
626         ndmp3_addr data_connection_addr;
627 };
628 typedef struct ndmp3_mover_listen_reply ndmp3_mover_listen_reply;
629
630 struct ndmp3_mover_connect_request {
631         ndmp3_mover_mode mode;
632         ndmp3_addr addr;
633 };
634 typedef struct ndmp3_mover_connect_request ndmp3_mover_connect_request;
635
636 struct ndmp3_mover_connect_reply {
637         ndmp3_error error;
638 };
639 typedef struct ndmp3_mover_connect_reply ndmp3_mover_connect_reply;
640
641 struct ndmp3_mover_set_record_size_request {
642         u_long len;
643 };
644 typedef struct ndmp3_mover_set_record_size_request ndmp3_mover_set_record_size_request;
645
646 struct ndmp3_mover_set_record_size_reply {
647         ndmp3_error error;
648 };
649 typedef struct ndmp3_mover_set_record_size_reply ndmp3_mover_set_record_size_reply;
650
651 struct ndmp3_mover_set_window_request {
652         ndmp3_u_quad offset;
653         ndmp3_u_quad length;
654 };
655 typedef struct ndmp3_mover_set_window_request ndmp3_mover_set_window_request;
656
657 struct ndmp3_mover_set_window_reply {
658         ndmp3_error error;
659 };
660 typedef struct ndmp3_mover_set_window_reply ndmp3_mover_set_window_reply;
661
662 struct ndmp3_mover_continue_reply {
663         ndmp3_error error;
664 };
665 typedef struct ndmp3_mover_continue_reply ndmp3_mover_continue_reply;
666
667 struct ndmp3_mover_abort_reply {
668         ndmp3_error error;
669 };
670 typedef struct ndmp3_mover_abort_reply ndmp3_mover_abort_reply;
671
672 struct ndmp3_mover_stop_reply {
673         ndmp3_error error;
674 };
675 typedef struct ndmp3_mover_stop_reply ndmp3_mover_stop_reply;
676
677 struct ndmp3_mover_read_request {
678         ndmp3_u_quad offset;
679         ndmp3_u_quad length;
680 };
681 typedef struct ndmp3_mover_read_request ndmp3_mover_read_request;
682
683 struct ndmp3_mover_read_reply {
684         ndmp3_error error;
685 };
686 typedef struct ndmp3_mover_read_reply ndmp3_mover_read_reply;
687
688 struct ndmp3_mover_close_reply {
689         ndmp3_error error;
690 };
691 typedef struct ndmp3_mover_close_reply ndmp3_mover_close_reply;
692
693 enum ndmp3_data_operation {
694         NDMP3_DATA_OP_NOACTION = 0,
695         NDMP3_DATA_OP_BACKUP = 1,
696         NDMP3_DATA_OP_RESTORE = 2,
697         NDMP3_DATA_OP_RESTORE_FILEHIST = 3,
698 };
699 typedef enum ndmp3_data_operation ndmp3_data_operation;
700
701 enum ndmp3_data_state {
702         NDMP3_DATA_STATE_IDLE = 0,
703         NDMP3_DATA_STATE_ACTIVE = 1,
704         NDMP3_DATA_STATE_HALTED = 2,
705         NDMP3_DATA_STATE_LISTEN = 3,
706         NDMP3_DATA_STATE_CONNECTED = 4,
707 };
708 typedef enum ndmp3_data_state ndmp3_data_state;
709
710 enum ndmp3_data_halt_reason {
711         NDMP3_DATA_HALT_NA = 0,
712         NDMP3_DATA_HALT_SUCCESSFUL = 1,
713         NDMP3_DATA_HALT_ABORTED = 2,
714         NDMP3_DATA_HALT_INTERNAL_ERROR = 3,
715         NDMP3_DATA_HALT_CONNECT_ERROR = 4,
716 };
717 typedef enum ndmp3_data_halt_reason ndmp3_data_halt_reason;
718 #define NDMP3_DATA_STATE_EST_BYTES_REMAIN_INVALID 0x00000001
719 #define NDMP3_DATA_STATE_EST_TIME_REMAIN_INVALID 0x00000002
720
721 struct ndmp3_data_get_state_reply {
722         u_long invalid;
723         ndmp3_error error;
724         ndmp3_data_operation operation;
725         ndmp3_data_state state;
726         ndmp3_data_halt_reason halt_reason;
727         ndmp3_u_quad bytes_processed;
728         ndmp3_u_quad est_bytes_remain;
729         u_long est_time_remain;
730         ndmp3_addr data_connection_addr;
731         ndmp3_u_quad read_offset;
732         ndmp3_u_quad read_length;
733 };
734 typedef struct ndmp3_data_get_state_reply ndmp3_data_get_state_reply;
735
736 struct ndmp3_data_start_backup_request {
737         char *bu_type;
738         struct {
739                 u_int env_len;
740                 ndmp3_pval *env_val;
741         } env;
742 };
743 typedef struct ndmp3_data_start_backup_request ndmp3_data_start_backup_request;
744
745 struct ndmp3_data_start_backup_reply {
746         ndmp3_error error;
747 };
748 typedef struct ndmp3_data_start_backup_reply ndmp3_data_start_backup_reply;
749
750 struct ndmp3_name {
751         char *original_path;
752         char *destination_dir;
753         char *new_name;
754         char *other_name;
755         ndmp3_u_quad node;
756         ndmp3_u_quad fh_info;
757 };
758 typedef struct ndmp3_name ndmp3_name;
759
760 struct ndmp3_data_start_recover_request {
761         struct {
762                 u_int env_len;
763                 ndmp3_pval *env_val;
764         } env;
765         struct {
766                 u_int nlist_len;
767                 ndmp3_name *nlist_val;
768         } nlist;
769         char *bu_type;
770 };
771 typedef struct ndmp3_data_start_recover_request ndmp3_data_start_recover_request;
772
773 struct ndmp3_data_start_recover_reply {
774         ndmp3_error error;
775 };
776 typedef struct ndmp3_data_start_recover_reply ndmp3_data_start_recover_reply;
777
778 typedef ndmp3_data_start_recover_request ndmp3_data_start_recover_filehist_request;
779
780 typedef ndmp3_data_start_recover_reply ndmp3_data_start_recover_filehist_reply;
781
782 struct ndmp3_data_abort_reply {
783         ndmp3_error error;
784 };
785 typedef struct ndmp3_data_abort_reply ndmp3_data_abort_reply;
786
787 struct ndmp3_data_stop_reply {
788         ndmp3_error error;
789 };
790 typedef struct ndmp3_data_stop_reply ndmp3_data_stop_reply;
791
792 struct ndmp3_data_get_env_reply {
793         ndmp3_error error;
794         struct {
795                 u_int env_len;
796                 ndmp3_pval *env_val;
797         } env;
798 };
799 typedef struct ndmp3_data_get_env_reply ndmp3_data_get_env_reply;
800
801 struct ndmp3_data_listen_request {
802         ndmp3_addr_type addr_type;
803 };
804 typedef struct ndmp3_data_listen_request ndmp3_data_listen_request;
805
806 struct ndmp3_data_listen_reply {
807         ndmp3_error error;
808         ndmp3_addr data_connection_addr;
809 };
810 typedef struct ndmp3_data_listen_reply ndmp3_data_listen_reply;
811
812 struct ndmp3_data_connect_request {
813         ndmp3_addr addr;
814 };
815 typedef struct ndmp3_data_connect_request ndmp3_data_connect_request;
816
817 struct ndmp3_data_connect_reply {
818         ndmp3_error error;
819 };
820 typedef struct ndmp3_data_connect_reply ndmp3_data_connect_reply;
821
822 struct ndmp3_notify_data_halted_request {
823         ndmp3_data_halt_reason reason;
824         char *text_reason;
825 };
826 typedef struct ndmp3_notify_data_halted_request ndmp3_notify_data_halted_request;
827
828 enum ndmp3_connect_reason {
829         NDMP3_CONNECTED = 0,
830         NDMP3_SHUTDOWN = 1,
831         NDMP3_REFUSED = 2,
832 };
833 typedef enum ndmp3_connect_reason ndmp3_connect_reason;
834
835 struct ndmp3_notify_connected_request {
836         ndmp3_connect_reason reason;
837         u_short protocol_version;
838         char *text_reason;
839 };
840 typedef struct ndmp3_notify_connected_request ndmp3_notify_connected_request;
841
842 struct ndmp3_notify_mover_paused_request {
843         ndmp3_mover_pause_reason reason;
844         ndmp3_u_quad seek_position;
845 };
846 typedef struct ndmp3_notify_mover_paused_request ndmp3_notify_mover_paused_request;
847
848 struct ndmp3_notify_mover_halted_request {
849         ndmp3_mover_halt_reason reason;
850         char *text_reason;
851 };
852 typedef struct ndmp3_notify_mover_halted_request ndmp3_notify_mover_halted_request;
853
854 struct ndmp3_notify_data_read_request {
855         ndmp3_u_quad offset;
856         ndmp3_u_quad length;
857 };
858 typedef struct ndmp3_notify_data_read_request ndmp3_notify_data_read_request;
859
860 enum ndmp3_log_type {
861         NDMP3_LOG_NORMAL = 0,
862         NDMP3_LOG_DEBUG = 1,
863         NDMP3_LOG_ERROR = 2,
864         NDMP3_LOG_WARNING = 3,
865 };
866 typedef enum ndmp3_log_type ndmp3_log_type;
867
868 struct ndmp3_log_message_request {
869         ndmp3_log_type log_type;
870         u_long message_id;
871         char *entry;
872 };
873 typedef struct ndmp3_log_message_request ndmp3_log_message_request;
874
875 struct ndmp3_log_file_request {
876         char *name;
877         ndmp3_error error;
878 };
879 typedef struct ndmp3_log_file_request ndmp3_log_file_request;
880
881 enum ndmp3_fs_type {
882         NDMP3_FS_UNIX = 0,
883         NDMP3_FS_NT = 1,
884         NDMP3_FS_OTHER = 2,
885 };
886 typedef enum ndmp3_fs_type ndmp3_fs_type;
887
888 typedef char *ndmp3_path;
889
890 struct ndmp3_nt_path {
891         ndmp3_path nt_path;
892         ndmp3_path dos_path;
893 };
894 typedef struct ndmp3_nt_path ndmp3_nt_path;
895
896 struct ndmp3_file_name {
897         ndmp3_fs_type fs_type;
898         union {
899                 ndmp3_path unix_name;
900                 ndmp3_nt_path nt_name;
901                 ndmp3_path other_name;
902         } ndmp3_file_name_u;
903 };
904 typedef struct ndmp3_file_name ndmp3_file_name;
905
906 enum ndmp3_file_type {
907         NDMP3_FILE_DIR = 0,
908         NDMP3_FILE_FIFO = 1,
909         NDMP3_FILE_CSPEC = 2,
910         NDMP3_FILE_BSPEC = 3,
911         NDMP3_FILE_REG = 4,
912         NDMP3_FILE_SLINK = 5,
913         NDMP3_FILE_SOCK = 6,
914         NDMP3_FILE_REGISTRY = 7,
915         NDMP3_FILE_OTHER = 8,
916 };
917 typedef enum ndmp3_file_type ndmp3_file_type;
918 #define NDMP3_FILE_STAT_ATIME_INVALID 0x00000001
919 #define NDMP3_FILE_STAT_CTIME_INVALID 0x00000002
920 #define NDMP3_FILE_STAT_GROUP_INVALID 0x00000004
921
922 struct ndmp3_file_stat {
923         u_long invalid;
924         ndmp3_fs_type fs_type;
925         ndmp3_file_type ftype;
926         u_long mtime;
927         u_long atime;
928         u_long ctime;
929         u_long owner;
930         u_long group;
931         u_long fattr;
932         ndmp3_u_quad size;
933         u_long links;
934 };
935 typedef struct ndmp3_file_stat ndmp3_file_stat;
936
937 struct ndmp3_file {
938         struct {
939                 u_int names_len;
940                 ndmp3_file_name *names_val;
941         } names;
942         struct {
943                 u_int stats_len;
944                 ndmp3_file_stat *stats_val;
945         } stats;
946         ndmp3_u_quad node;
947         ndmp3_u_quad fh_info;
948 };
949 typedef struct ndmp3_file ndmp3_file;
950
951 struct ndmp3_fh_add_file_request {
952         struct {
953                 u_int files_len;
954                 ndmp3_file *files_val;
955         } files;
956 };
957 typedef struct ndmp3_fh_add_file_request ndmp3_fh_add_file_request;
958
959 struct ndmp3_dir {
960         struct {
961                 u_int names_len;
962                 ndmp3_file_name *names_val;
963         } names;
964         ndmp3_u_quad node;
965         ndmp3_u_quad parent;
966 };
967 typedef struct ndmp3_dir ndmp3_dir;
968
969 struct ndmp3_fh_add_dir_request {
970         struct {
971                 u_int dirs_len;
972                 ndmp3_dir *dirs_val;
973         } dirs;
974 };
975 typedef struct ndmp3_fh_add_dir_request ndmp3_fh_add_dir_request;
976
977 struct ndmp3_node {
978         struct {
979                 u_int stats_len;
980                 ndmp3_file_stat *stats_val;
981         } stats;
982         ndmp3_u_quad node;
983         ndmp3_u_quad fh_info;
984 };
985 typedef struct ndmp3_node ndmp3_node;
986
987 struct ndmp3_fh_add_node_request {
988         struct {
989                 u_int nodes_len;
990                 ndmp3_node *nodes_val;
991         } nodes;
992 };
993 typedef struct ndmp3_fh_add_node_request ndmp3_fh_add_node_request;
994 #endif /* !NDMOS_OPTION_NO_NDMP3 */
995
996 /* the xdr functions */
997
998 #if defined(__STDC__) || defined(__cplusplus)
999 extern  bool_t xdr__ndmp3_u_quad (XDR *, _ndmp3_u_quad*);
1000 extern  bool_t xdr_ndmp3_pval (XDR *, ndmp3_pval*);
1001 extern  bool_t xdr_ndmp3_error (XDR *, ndmp3_error*);
1002 extern  bool_t xdr_ndmp3_header_message_type (XDR *, ndmp3_header_message_type*);
1003 extern  bool_t xdr_ndmp3_message (XDR *, ndmp3_message*);
1004 extern  bool_t xdr_ndmp3_header (XDR *, ndmp3_header*);
1005 extern  bool_t xdr_ndmp3_connect_open_request (XDR *, ndmp3_connect_open_request*);
1006 extern  bool_t xdr_ndmp3_connect_open_reply (XDR *, ndmp3_connect_open_reply*);
1007 extern  bool_t xdr_ndmp3_auth_type (XDR *, ndmp3_auth_type*);
1008 extern  bool_t xdr_ndmp3_auth_text (XDR *, ndmp3_auth_text*);
1009 extern  bool_t xdr_ndmp3_auth_md5 (XDR *, ndmp3_auth_md5*);
1010 extern  bool_t xdr_ndmp3_auth_data (XDR *, ndmp3_auth_data*);
1011 extern  bool_t xdr_ndmp3_connect_client_auth_request (XDR *, ndmp3_connect_client_auth_request*);
1012 extern  bool_t xdr_ndmp3_connect_client_auth_reply (XDR *, ndmp3_connect_client_auth_reply*);
1013 extern  bool_t xdr_ndmp3_auth_attr (XDR *, ndmp3_auth_attr*);
1014 extern  bool_t xdr_ndmp3_connect_server_auth_request (XDR *, ndmp3_connect_server_auth_request*);
1015 extern  bool_t xdr_ndmp3_connect_server_auth_reply (XDR *, ndmp3_connect_server_auth_reply*);
1016 extern  bool_t xdr_ndmp3_config_get_host_info_reply (XDR *, ndmp3_config_get_host_info_reply*);
1017 extern  bool_t xdr_ndmp3_addr_type (XDR *, ndmp3_addr_type*);
1018 extern  bool_t xdr_ndmp3_config_get_connection_type_reply (XDR *, ndmp3_config_get_connection_type_reply*);
1019 extern  bool_t xdr_ndmp3_config_get_auth_attr_request (XDR *, ndmp3_config_get_auth_attr_request*);
1020 extern  bool_t xdr_ndmp3_config_get_auth_attr_reply (XDR *, ndmp3_config_get_auth_attr_reply*);
1021 extern  bool_t xdr_ndmp3_config_get_server_info_reply (XDR *, ndmp3_config_get_server_info_reply*);
1022 extern  bool_t xdr_ndmp3_butype_info (XDR *, ndmp3_butype_info*);
1023 extern  bool_t xdr_ndmp3_config_get_butype_info_reply (XDR *, ndmp3_config_get_butype_info_reply*);
1024 extern  bool_t xdr_ndmp3_fs_info (XDR *, ndmp3_fs_info*);
1025 extern  bool_t xdr_ndmp3_config_get_fs_info_reply (XDR *, ndmp3_config_get_fs_info_reply*);
1026 extern  bool_t xdr_ndmp3_device_capability (XDR *, ndmp3_device_capability*);
1027 extern  bool_t xdr_ndmp3_device_info (XDR *, ndmp3_device_info*);
1028 extern  bool_t xdr_ndmp3_config_get_tape_info_reply (XDR *, ndmp3_config_get_tape_info_reply*);
1029 extern  bool_t xdr_ndmp3_config_get_scsi_info_reply (XDR *, ndmp3_config_get_scsi_info_reply*);
1030 extern  bool_t xdr_ndmp3_scsi_open_request (XDR *, ndmp3_scsi_open_request*);
1031 extern  bool_t xdr_ndmp3_scsi_open_reply (XDR *, ndmp3_scsi_open_reply*);
1032 extern  bool_t xdr_ndmp3_scsi_close_reply (XDR *, ndmp3_scsi_close_reply*);
1033 extern  bool_t xdr_ndmp3_scsi_get_state_reply (XDR *, ndmp3_scsi_get_state_reply*);
1034 extern  bool_t xdr_ndmp3_scsi_set_target_request (XDR *, ndmp3_scsi_set_target_request*);
1035 extern  bool_t xdr_ndmp3_scsi_set_target_reply (XDR *, ndmp3_scsi_set_target_reply*);
1036 extern  bool_t xdr_ndmp3_scsi_reset_device_reply (XDR *, ndmp3_scsi_reset_device_reply*);
1037 extern  bool_t xdr_ndmp3_scsi_reset_bus_reply (XDR *, ndmp3_scsi_reset_bus_reply*);
1038 extern  bool_t xdr_ndmp3_execute_cdb_request (XDR *, ndmp3_execute_cdb_request*);
1039 extern  bool_t xdr_ndmp3_execute_cdb_reply (XDR *, ndmp3_execute_cdb_reply*);
1040 extern  bool_t xdr_ndmp3_scsi_execute_cdb_request (XDR *, ndmp3_scsi_execute_cdb_request*);
1041 extern  bool_t xdr_ndmp3_scsi_execute_cdb_reply (XDR *, ndmp3_scsi_execute_cdb_reply*);
1042 extern  bool_t xdr_ndmp3_tape_open_mode (XDR *, ndmp3_tape_open_mode*);
1043 extern  bool_t xdr_ndmp3_tape_open_request (XDR *, ndmp3_tape_open_request*);
1044 extern  bool_t xdr_ndmp3_tape_open_reply (XDR *, ndmp3_tape_open_reply*);
1045 extern  bool_t xdr_ndmp3_tape_close_reply (XDR *, ndmp3_tape_close_reply*);
1046 extern  bool_t xdr_ndmp3_tape_get_state_reply (XDR *, ndmp3_tape_get_state_reply*);
1047 extern  bool_t xdr_ndmp3_tape_mtio_op (XDR *, ndmp3_tape_mtio_op*);
1048 extern  bool_t xdr_ndmp3_tape_mtio_request (XDR *, ndmp3_tape_mtio_request*);
1049 extern  bool_t xdr_ndmp3_tape_mtio_reply (XDR *, ndmp3_tape_mtio_reply*);
1050 extern  bool_t xdr_ndmp3_tape_write_request (XDR *, ndmp3_tape_write_request*);
1051 extern  bool_t xdr_ndmp3_tape_write_reply (XDR *, ndmp3_tape_write_reply*);
1052 extern  bool_t xdr_ndmp3_tape_read_request (XDR *, ndmp3_tape_read_request*);
1053 extern  bool_t xdr_ndmp3_tape_read_reply (XDR *, ndmp3_tape_read_reply*);
1054 extern  bool_t xdr_ndmp3_tape_execute_cdb_request (XDR *, ndmp3_tape_execute_cdb_request*);
1055 extern  bool_t xdr_ndmp3_tape_execute_cdb_reply (XDR *, ndmp3_tape_execute_cdb_reply*);
1056 extern  bool_t xdr_ndmp3_mover_state (XDR *, ndmp3_mover_state*);
1057 extern  bool_t xdr_ndmp3_mover_pause_reason (XDR *, ndmp3_mover_pause_reason*);
1058 extern  bool_t xdr_ndmp3_mover_halt_reason (XDR *, ndmp3_mover_halt_reason*);
1059 extern  bool_t xdr_ndmp3_mover_mode (XDR *, ndmp3_mover_mode*);
1060 extern  bool_t xdr_ndmp3_tcp_addr (XDR *, ndmp3_tcp_addr*);
1061 extern  bool_t xdr_ndmp3_fc_addr (XDR *, ndmp3_fc_addr*);
1062 extern  bool_t xdr_ndmp3_ipc_addr (XDR *, ndmp3_ipc_addr*);
1063 extern  bool_t xdr_ndmp3_addr (XDR *, ndmp3_addr*);
1064 extern  bool_t xdr_ndmp3_mover_get_state_reply (XDR *, ndmp3_mover_get_state_reply*);
1065 extern  bool_t xdr_ndmp3_mover_listen_request (XDR *, ndmp3_mover_listen_request*);
1066 extern  bool_t xdr_ndmp3_mover_listen_reply (XDR *, ndmp3_mover_listen_reply*);
1067 extern  bool_t xdr_ndmp3_mover_connect_request (XDR *, ndmp3_mover_connect_request*);
1068 extern  bool_t xdr_ndmp3_mover_connect_reply (XDR *, ndmp3_mover_connect_reply*);
1069 extern  bool_t xdr_ndmp3_mover_set_record_size_request (XDR *, ndmp3_mover_set_record_size_request*);
1070 extern  bool_t xdr_ndmp3_mover_set_record_size_reply (XDR *, ndmp3_mover_set_record_size_reply*);
1071 extern  bool_t xdr_ndmp3_mover_set_window_request (XDR *, ndmp3_mover_set_window_request*);
1072 extern  bool_t xdr_ndmp3_mover_set_window_reply (XDR *, ndmp3_mover_set_window_reply*);
1073 extern  bool_t xdr_ndmp3_mover_continue_reply (XDR *, ndmp3_mover_continue_reply*);
1074 extern  bool_t xdr_ndmp3_mover_abort_reply (XDR *, ndmp3_mover_abort_reply*);
1075 extern  bool_t xdr_ndmp3_mover_stop_reply (XDR *, ndmp3_mover_stop_reply*);
1076 extern  bool_t xdr_ndmp3_mover_read_request (XDR *, ndmp3_mover_read_request*);
1077 extern  bool_t xdr_ndmp3_mover_read_reply (XDR *, ndmp3_mover_read_reply*);
1078 extern  bool_t xdr_ndmp3_mover_close_reply (XDR *, ndmp3_mover_close_reply*);
1079 extern  bool_t xdr_ndmp3_data_operation (XDR *, ndmp3_data_operation*);
1080 extern  bool_t xdr_ndmp3_data_state (XDR *, ndmp3_data_state*);
1081 extern  bool_t xdr_ndmp3_data_halt_reason (XDR *, ndmp3_data_halt_reason*);
1082 extern  bool_t xdr_ndmp3_data_get_state_reply (XDR *, ndmp3_data_get_state_reply*);
1083 extern  bool_t xdr_ndmp3_data_start_backup_request (XDR *, ndmp3_data_start_backup_request*);
1084 extern  bool_t xdr_ndmp3_data_start_backup_reply (XDR *, ndmp3_data_start_backup_reply*);
1085 extern  bool_t xdr_ndmp3_name (XDR *, ndmp3_name*);
1086 extern  bool_t xdr_ndmp3_data_start_recover_request (XDR *, ndmp3_data_start_recover_request*);
1087 extern  bool_t xdr_ndmp3_data_start_recover_reply (XDR *, ndmp3_data_start_recover_reply*);
1088 extern  bool_t xdr_ndmp3_data_start_recover_filehist_request (XDR *, ndmp3_data_start_recover_filehist_request*);
1089 extern  bool_t xdr_ndmp3_data_start_recover_filehist_reply (XDR *, ndmp3_data_start_recover_filehist_reply*);
1090 extern  bool_t xdr_ndmp3_data_abort_reply (XDR *, ndmp3_data_abort_reply*);
1091 extern  bool_t xdr_ndmp3_data_stop_reply (XDR *, ndmp3_data_stop_reply*);
1092 extern  bool_t xdr_ndmp3_data_get_env_reply (XDR *, ndmp3_data_get_env_reply*);
1093 extern  bool_t xdr_ndmp3_data_listen_request (XDR *, ndmp3_data_listen_request*);
1094 extern  bool_t xdr_ndmp3_data_listen_reply (XDR *, ndmp3_data_listen_reply*);
1095 extern  bool_t xdr_ndmp3_data_connect_request (XDR *, ndmp3_data_connect_request*);
1096 extern  bool_t xdr_ndmp3_data_connect_reply (XDR *, ndmp3_data_connect_reply*);
1097 extern  bool_t xdr_ndmp3_notify_data_halted_request (XDR *, ndmp3_notify_data_halted_request*);
1098 extern  bool_t xdr_ndmp3_connect_reason (XDR *, ndmp3_connect_reason*);
1099 extern  bool_t xdr_ndmp3_notify_connected_request (XDR *, ndmp3_notify_connected_request*);
1100 extern  bool_t xdr_ndmp3_notify_mover_paused_request (XDR *, ndmp3_notify_mover_paused_request*);
1101 extern  bool_t xdr_ndmp3_notify_mover_halted_request (XDR *, ndmp3_notify_mover_halted_request*);
1102 extern  bool_t xdr_ndmp3_notify_data_read_request (XDR *, ndmp3_notify_data_read_request*);
1103 extern  bool_t xdr_ndmp3_log_type (XDR *, ndmp3_log_type*);
1104 extern  bool_t xdr_ndmp3_log_message_request (XDR *, ndmp3_log_message_request*);
1105 extern  bool_t xdr_ndmp3_log_file_request (XDR *, ndmp3_log_file_request*);
1106 extern  bool_t xdr_ndmp3_fs_type (XDR *, ndmp3_fs_type*);
1107 extern  bool_t xdr_ndmp3_path (XDR *, ndmp3_path*);
1108 extern  bool_t xdr_ndmp3_nt_path (XDR *, ndmp3_nt_path*);
1109 extern  bool_t xdr_ndmp3_file_name (XDR *, ndmp3_file_name*);
1110 extern  bool_t xdr_ndmp3_file_type (XDR *, ndmp3_file_type*);
1111 extern  bool_t xdr_ndmp3_file_stat (XDR *, ndmp3_file_stat*);
1112 extern  bool_t xdr_ndmp3_file (XDR *, ndmp3_file*);
1113 extern  bool_t xdr_ndmp3_fh_add_file_request (XDR *, ndmp3_fh_add_file_request*);
1114 extern  bool_t xdr_ndmp3_dir (XDR *, ndmp3_dir*);
1115 extern  bool_t xdr_ndmp3_fh_add_dir_request (XDR *, ndmp3_fh_add_dir_request*);
1116 extern  bool_t xdr_ndmp3_node (XDR *, ndmp3_node*);
1117 extern  bool_t xdr_ndmp3_fh_add_node_request (XDR *, ndmp3_fh_add_node_request*);
1118
1119 #else /* K&R C */
1120 extern bool_t xdr__ndmp3_u_quad ();
1121 extern bool_t xdr_ndmp3_pval ();
1122 extern bool_t xdr_ndmp3_error ();
1123 extern bool_t xdr_ndmp3_header_message_type ();
1124 extern bool_t xdr_ndmp3_message ();
1125 extern bool_t xdr_ndmp3_header ();
1126 extern bool_t xdr_ndmp3_connect_open_request ();
1127 extern bool_t xdr_ndmp3_connect_open_reply ();
1128 extern bool_t xdr_ndmp3_auth_type ();
1129 extern bool_t xdr_ndmp3_auth_text ();
1130 extern bool_t xdr_ndmp3_auth_md5 ();
1131 extern bool_t xdr_ndmp3_auth_data ();
1132 extern bool_t xdr_ndmp3_connect_client_auth_request ();
1133 extern bool_t xdr_ndmp3_connect_client_auth_reply ();
1134 extern bool_t xdr_ndmp3_auth_attr ();
1135 extern bool_t xdr_ndmp3_connect_server_auth_request ();
1136 extern bool_t xdr_ndmp3_connect_server_auth_reply ();
1137 extern bool_t xdr_ndmp3_config_get_host_info_reply ();
1138 extern bool_t xdr_ndmp3_addr_type ();
1139 extern bool_t xdr_ndmp3_config_get_connection_type_reply ();
1140 extern bool_t xdr_ndmp3_config_get_auth_attr_request ();
1141 extern bool_t xdr_ndmp3_config_get_auth_attr_reply ();
1142 extern bool_t xdr_ndmp3_config_get_server_info_reply ();
1143 extern bool_t xdr_ndmp3_butype_info ();
1144 extern bool_t xdr_ndmp3_config_get_butype_info_reply ();
1145 extern bool_t xdr_ndmp3_fs_info ();
1146 extern bool_t xdr_ndmp3_config_get_fs_info_reply ();
1147 extern bool_t xdr_ndmp3_device_capability ();
1148 extern bool_t xdr_ndmp3_device_info ();
1149 extern bool_t xdr_ndmp3_config_get_tape_info_reply ();
1150 extern bool_t xdr_ndmp3_config_get_scsi_info_reply ();
1151 extern bool_t xdr_ndmp3_scsi_open_request ();
1152 extern bool_t xdr_ndmp3_scsi_open_reply ();
1153 extern bool_t xdr_ndmp3_scsi_close_reply ();
1154 extern bool_t xdr_ndmp3_scsi_get_state_reply ();
1155 extern bool_t xdr_ndmp3_scsi_set_target_request ();
1156 extern bool_t xdr_ndmp3_scsi_set_target_reply ();
1157 extern bool_t xdr_ndmp3_scsi_reset_device_reply ();
1158 extern bool_t xdr_ndmp3_scsi_reset_bus_reply ();
1159 extern bool_t xdr_ndmp3_execute_cdb_request ();
1160 extern bool_t xdr_ndmp3_execute_cdb_reply ();
1161 extern bool_t xdr_ndmp3_scsi_execute_cdb_request ();
1162 extern bool_t xdr_ndmp3_scsi_execute_cdb_reply ();
1163 extern bool_t xdr_ndmp3_tape_open_mode ();
1164 extern bool_t xdr_ndmp3_tape_open_request ();
1165 extern bool_t xdr_ndmp3_tape_open_reply ();
1166 extern bool_t xdr_ndmp3_tape_close_reply ();
1167 extern bool_t xdr_ndmp3_tape_get_state_reply ();
1168 extern bool_t xdr_ndmp3_tape_mtio_op ();
1169 extern bool_t xdr_ndmp3_tape_mtio_request ();
1170 extern bool_t xdr_ndmp3_tape_mtio_reply ();
1171 extern bool_t xdr_ndmp3_tape_write_request ();
1172 extern bool_t xdr_ndmp3_tape_write_reply ();
1173 extern bool_t xdr_ndmp3_tape_read_request ();
1174 extern bool_t xdr_ndmp3_tape_read_reply ();
1175 extern bool_t xdr_ndmp3_tape_execute_cdb_request ();
1176 extern bool_t xdr_ndmp3_tape_execute_cdb_reply ();
1177 extern bool_t xdr_ndmp3_mover_state ();
1178 extern bool_t xdr_ndmp3_mover_pause_reason ();
1179 extern bool_t xdr_ndmp3_mover_halt_reason ();
1180 extern bool_t xdr_ndmp3_mover_mode ();
1181 extern bool_t xdr_ndmp3_tcp_addr ();
1182 extern bool_t xdr_ndmp3_fc_addr ();
1183 extern bool_t xdr_ndmp3_ipc_addr ();
1184 extern bool_t xdr_ndmp3_addr ();
1185 extern bool_t xdr_ndmp3_mover_get_state_reply ();
1186 extern bool_t xdr_ndmp3_mover_listen_request ();
1187 extern bool_t xdr_ndmp3_mover_listen_reply ();
1188 extern bool_t xdr_ndmp3_mover_connect_request ();
1189 extern bool_t xdr_ndmp3_mover_connect_reply ();
1190 extern bool_t xdr_ndmp3_mover_set_record_size_request ();
1191 extern bool_t xdr_ndmp3_mover_set_record_size_reply ();
1192 extern bool_t xdr_ndmp3_mover_set_window_request ();
1193 extern bool_t xdr_ndmp3_mover_set_window_reply ();
1194 extern bool_t xdr_ndmp3_mover_continue_reply ();
1195 extern bool_t xdr_ndmp3_mover_abort_reply ();
1196 extern bool_t xdr_ndmp3_mover_stop_reply ();
1197 extern bool_t xdr_ndmp3_mover_read_request ();
1198 extern bool_t xdr_ndmp3_mover_read_reply ();
1199 extern bool_t xdr_ndmp3_mover_close_reply ();
1200 extern bool_t xdr_ndmp3_data_operation ();
1201 extern bool_t xdr_ndmp3_data_state ();
1202 extern bool_t xdr_ndmp3_data_halt_reason ();
1203 extern bool_t xdr_ndmp3_data_get_state_reply ();
1204 extern bool_t xdr_ndmp3_data_start_backup_request ();
1205 extern bool_t xdr_ndmp3_data_start_backup_reply ();
1206 extern bool_t xdr_ndmp3_name ();
1207 extern bool_t xdr_ndmp3_data_start_recover_request ();
1208 extern bool_t xdr_ndmp3_data_start_recover_reply ();
1209 extern bool_t xdr_ndmp3_data_start_recover_filehist_request ();
1210 extern bool_t xdr_ndmp3_data_start_recover_filehist_reply ();
1211 extern bool_t xdr_ndmp3_data_abort_reply ();
1212 extern bool_t xdr_ndmp3_data_stop_reply ();
1213 extern bool_t xdr_ndmp3_data_get_env_reply ();
1214 extern bool_t xdr_ndmp3_data_listen_request ();
1215 extern bool_t xdr_ndmp3_data_listen_reply ();
1216 extern bool_t xdr_ndmp3_data_connect_request ();
1217 extern bool_t xdr_ndmp3_data_connect_reply ();
1218 extern bool_t xdr_ndmp3_notify_data_halted_request ();
1219 extern bool_t xdr_ndmp3_connect_reason ();
1220 extern bool_t xdr_ndmp3_notify_connected_request ();
1221 extern bool_t xdr_ndmp3_notify_mover_paused_request ();
1222 extern bool_t xdr_ndmp3_notify_mover_halted_request ();
1223 extern bool_t xdr_ndmp3_notify_data_read_request ();
1224 extern bool_t xdr_ndmp3_log_type ();
1225 extern bool_t xdr_ndmp3_log_message_request ();
1226 extern bool_t xdr_ndmp3_log_file_request ();
1227 extern bool_t xdr_ndmp3_fs_type ();
1228 extern bool_t xdr_ndmp3_path ();
1229 extern bool_t xdr_ndmp3_nt_path ();
1230 extern bool_t xdr_ndmp3_file_name ();
1231 extern bool_t xdr_ndmp3_file_type ();
1232 extern bool_t xdr_ndmp3_file_stat ();
1233 extern bool_t xdr_ndmp3_file ();
1234 extern bool_t xdr_ndmp3_fh_add_file_request ();
1235 extern bool_t xdr_ndmp3_dir ();
1236 extern bool_t xdr_ndmp3_fh_add_dir_request ();
1237 extern bool_t xdr_ndmp3_node ();
1238 extern bool_t xdr_ndmp3_fh_add_node_request ();
1239
1240 #endif /* K&R C */
1241
1242 #ifdef __cplusplus
1243 }
1244 #endif
1245
1246 #endif /* !_NDMP3_H_RPCGEN */