Imported Upstream version 3.1.0
[debian/amanda] / ndmp-src / ndmp_msg_buf.h
1 /*
2  * Copyright (c) 1998,1999,2000
3  *      Traakan, Inc., Los Altos, CA
4  *      All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice unmodified, this list of conditions, and the following
11  *    disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  */
28
29 /*
30  * Project:  NDMJOB
31  * Ident:    $Id: $
32  *
33  * Description:
34  *
35  */
36
37
38 #define NDMNMB_FLAG_NO_FREE     1
39 #define NDMNMB_FLAG_NO_SEND     2
40
41 /*
42  * Most replies are regular in that 'error' is the
43  * first field. This affords certain efficiencies
44  * and conveniences in the implementation.
45  * NDMPv3 introduced replies that broke this regularity.
46  * This is used to work around such replies
47  * in areas that otherwise take advantage
48  * of the convenient regularity.
49  */
50
51 struct ndmp3_unfortunate_error {
52         u_long                  invalid_probably;
53         ndmp9_error             error;
54 };
55
56 /*
57  * NDMNMB_IS_UNFORTUNATE_REPLY_TYPE(vers,msg)
58  */
59 #ifdef NDMOS_EFFECT_NO_NDMP3_NOR_NDMP4
60 #define NDMNMB_IS_UNFORTUNATE_REPLY_TYPE(vers,msg) 0
61 #else /* NDMOS_EFFECT_NO_NDMP3_NOR_NDMP4 */
62 #ifndef NDMOS_OPTION_NO_NDMP3
63 #define NDMNMB_IS_UNFORTUNATE_REPLY_TYPE_V3(vers,msg) \
64         ((vers) == NDMP3VER                     \
65          && ((msg) == NDMP3_TAPE_GET_STATE      \
66           || (msg) == NDMP3_DATA_GET_STATE))
67 #else /* !NDMOS_OPTION_NO_NDMP3 */
68 #define NDMNMB_IS_UNFORTUNATE_REPLY_TYPE_V3(vers,msg) 0
69 #endif /* !NDMOS_OPTION_NO_NDMP3 */
70
71 #ifndef NDMOS_OPTION_NO_NDMP4
72 #define NDMNMB_IS_UNFORTUNATE_REPLY_TYPE_V4(vers,msg) \
73         ((vers) == NDMP4VER                     \
74          && ((msg) == NDMP4_TAPE_GET_STATE      \
75           || (msg) == NDMP4_DATA_GET_STATE))
76 #else /* !NDMOS_OPTION_NO_NDMP4 */
77 #define NDMNMB_IS_UNFORTUNATE_REPLY_TYPE_V4(vers,msg) 0
78 #endif /* !NDMOS_OPTION_NO_NDMP4 */
79 #define NDMNMB_IS_UNFORTUNATE_REPLY_TYPE(vers,msg) \
80         (NDMNMB_IS_UNFORTUNATE_REPLY_TYPE_V3(vers,msg) \
81          || NDMNMB_IS_UNFORTUNATE_REPLY_TYPE_V4(vers,msg))
82 #endif /* NDMOS_EFFECT_NO_NDMP3_NOR_NDMP4 */
83
84 /* 92 bytes, checked 970930 */
85 struct ndmp_msg_buf {
86         ndmp0_header            header;
87         unsigned char           protocol_version;
88         unsigned char           flags;
89         unsigned char           _pad[2];
90         union {
91           ndmp0_connect_open_request ndmp0_connect_open_request_body;
92           ndmp0_connect_open_reply ndmp0_connect_open_reply_body;
93           ndmp0_notify_connected_request ndmp0_notify_connected_request_body;
94
95 #ifndef NDMOS_OPTION_NO_NDMP2
96           ndmp2_error ndmp2_error_reply;
97           ndmp2_connect_open_request ndmp2_connect_open_request_body;
98           ndmp2_connect_open_reply ndmp2_connect_open_reply_body;
99           ndmp2_connect_client_auth_request ndmp2_connect_client_auth_request_body;
100           ndmp2_connect_client_auth_reply ndmp2_connect_client_auth_reply_body;
101           ndmp2_connect_server_auth_request ndmp2_connect_server_auth_request_body;
102           ndmp2_connect_server_auth_reply ndmp2_connect_server_auth_reply_body;
103           ndmp2_config_get_host_info_reply ndmp2_config_get_host_info_reply_body;
104           ndmp2_config_get_butype_attr_request ndmp2_config_get_butype_attr_request_body;
105           ndmp2_config_get_butype_attr_reply ndmp2_config_get_butype_attr_reply_body;
106           ndmp2_config_get_mover_type_reply ndmp2_config_get_mover_type_reply_body;
107           ndmp2_config_get_auth_attr_request ndmp2_config_get_auth_attr_request_body;
108           ndmp2_config_get_auth_attr_reply ndmp2_config_get_auth_attr_reply_body;
109           ndmp2_scsi_open_request ndmp2_scsi_open_request_body;
110           ndmp2_scsi_open_reply ndmp2_scsi_open_reply_body;
111           ndmp2_scsi_close_reply ndmp2_scsi_close_reply_body;
112           ndmp2_scsi_get_state_reply ndmp2_scsi_get_state_reply_body;
113           ndmp2_scsi_set_target_request ndmp2_scsi_set_target_request_body;
114           ndmp2_scsi_set_target_reply ndmp2_scsi_set_target_reply_body;
115           ndmp2_scsi_reset_device_reply ndmp2_scsi_reset_device_reply_body;
116           ndmp2_scsi_reset_bus_reply ndmp2_scsi_reset_bus_reply_body;
117           ndmp2_scsi_execute_cdb_request ndmp2_scsi_execute_cdb_request_body;
118           ndmp2_scsi_execute_cdb_reply ndmp2_scsi_execute_cdb_reply_body;
119           ndmp2_tape_open_request ndmp2_tape_open_request_body;
120           ndmp2_tape_open_reply ndmp2_tape_open_reply_body;
121           ndmp2_tape_close_reply ndmp2_tape_close_reply_body;
122           ndmp2_tape_get_state_reply ndmp2_tape_get_state_reply_body;
123           ndmp2_tape_mtio_request ndmp2_tape_mtio_request_body;
124           ndmp2_tape_mtio_reply ndmp2_tape_mtio_reply_body;
125           ndmp2_tape_write_request ndmp2_tape_write_request_body;
126           ndmp2_tape_write_reply ndmp2_tape_write_reply_body;
127           ndmp2_tape_read_request ndmp2_tape_read_request_body;
128           ndmp2_tape_read_reply ndmp2_tape_read_reply_body;
129           ndmp2_tape_execute_cdb_request ndmp2_tape_execute_cdb_request_body;
130           ndmp2_tape_execute_cdb_reply ndmp2_tape_execute_cdb_reply_body;
131           ndmp2_data_get_state_reply ndmp2_data_get_state_reply_body;
132           ndmp2_data_start_backup_request ndmp2_data_start_backup_request_body;
133           ndmp2_data_start_backup_reply ndmp2_data_start_backup_reply_body;
134           ndmp2_data_start_recover_request ndmp2_data_start_recover_request_body;
135           ndmp2_data_start_recover_reply ndmp2_data_start_recover_reply_body;
136           ndmp2_data_abort_reply ndmp2_data_abort_reply_body;
137           ndmp2_data_get_env_reply ndmp2_data_get_env_reply_body;
138           ndmp2_data_stop_reply ndmp2_data_stop_reply_body;
139           ndmp2_data_start_recover_filehist_request ndmp2_data_start_recover_filehist_request_body;
140           ndmp2_data_start_recover_filehist_reply ndmp2_data_start_recover_filehist_reply_body;
141           ndmp2_notify_data_halted_request ndmp2_notify_data_halted_request_body;
142           ndmp2_notify_connected_request ndmp2_notify_connected_request_body;
143           ndmp2_notify_mover_halted_request ndmp2_notify_mover_halted_request_body;
144           ndmp2_notify_mover_paused_request ndmp2_notify_mover_paused_request_body;
145           ndmp2_notify_data_read_request ndmp2_notify_data_read_request_body;
146           ndmp2_log_log_request ndmp2_log_log_request_body;
147           ndmp2_log_debug_request ndmp2_log_debug_request_body;
148           ndmp2_log_file_request ndmp2_log_file_request_body;
149           ndmp2_fh_add_unix_path_request ndmp2_fh_add_unix_path_request_body;
150           ndmp2_fh_add_unix_dir_request ndmp2_fh_add_unix_dir_request_body;
151           ndmp2_fh_add_unix_node_request ndmp2_fh_add_unix_node_request_body;
152           ndmp2_mover_get_state_reply ndmp2_mover_get_state_reply_body;
153           ndmp2_mover_listen_request ndmp2_mover_listen_request_body;
154           ndmp2_mover_listen_reply ndmp2_mover_listen_reply_body;
155           ndmp2_mover_continue_reply ndmp2_mover_continue_reply_body;
156           ndmp2_mover_abort_reply ndmp2_mover_abort_reply_body;
157           ndmp2_mover_stop_reply ndmp2_mover_stop_reply_body;
158           ndmp2_mover_set_window_request ndmp2_mover_set_window_request_body;
159           ndmp2_mover_set_window_reply ndmp2_mover_set_window_reply_body;
160           ndmp2_mover_read_request ndmp2_mover_read_request_body;
161           ndmp2_mover_read_reply ndmp2_mover_read_reply_body;
162           ndmp2_mover_close_reply ndmp2_mover_close_reply_body;
163           ndmp2_mover_set_record_size_request ndmp2_mover_set_record_size_request_body;
164           ndmp2_mover_set_record_size_reply ndmp2_mover_set_record_size_reply_body;
165
166 #endif /* !NDMOS_OPTION_NO_NDMP2 */
167
168 #ifndef NDMOS_OPTION_NO_NDMP3
169           ndmp3_error ndmp3_error_reply;
170           ndmp3_connect_open_request ndmp3_connect_open_request_body;
171           ndmp3_connect_open_reply ndmp3_connect_open_reply_body;
172           ndmp3_connect_client_auth_request ndmp3_connect_client_auth_request_body;
173           ndmp3_connect_client_auth_reply ndmp3_connect_client_auth_reply_body;
174           ndmp3_connect_server_auth_request ndmp3_connect_server_auth_request_body;
175           ndmp3_connect_server_auth_reply ndmp3_connect_server_auth_reply_body;
176           ndmp3_config_get_host_info_reply ndmp3_config_get_host_info_reply_body;
177           ndmp3_config_get_connection_type_reply ndmp3_config_get_connection_type_reply_body;
178           ndmp3_config_get_auth_attr_request ndmp3_config_get_auth_attr_request_body;
179           ndmp3_config_get_auth_attr_reply ndmp3_config_get_auth_attr_reply_body;
180           ndmp3_config_get_butype_info_reply ndmp3_config_get_butype_info_reply_body;
181           ndmp3_config_get_fs_info_reply ndmp3_config_get_fs_info_reply_body;
182           ndmp3_config_get_tape_info_reply ndmp3_config_get_tape_info_reply_body;
183           ndmp3_config_get_scsi_info_reply ndmp3_config_get_scsi_info_reply_body;
184           ndmp3_config_get_server_info_reply ndmp3_config_get_server_info_reply_body;
185           ndmp3_scsi_open_request ndmp3_scsi_open_request_body;
186           ndmp3_scsi_open_reply ndmp3_scsi_open_reply_body;
187           ndmp3_scsi_close_reply ndmp3_scsi_close_reply_body;
188           ndmp3_scsi_get_state_reply ndmp3_scsi_get_state_reply_body;
189           ndmp3_scsi_set_target_request ndmp3_scsi_set_target_request_body;
190           ndmp3_scsi_set_target_reply ndmp3_scsi_set_target_reply_body;
191           ndmp3_scsi_reset_device_reply ndmp3_scsi_reset_device_reply_body;
192           ndmp3_scsi_reset_bus_reply ndmp3_scsi_reset_bus_reply_body;
193           ndmp3_scsi_execute_cdb_request ndmp3_scsi_execute_cdb_request_body;
194           ndmp3_scsi_execute_cdb_reply ndmp3_scsi_execute_cdb_reply_body;
195           ndmp3_tape_open_request ndmp3_tape_open_request_body;
196           ndmp3_tape_open_reply ndmp3_tape_open_reply_body;
197           ndmp3_tape_close_reply ndmp3_tape_close_reply_body;
198           ndmp3_tape_get_state_reply ndmp3_tape_get_state_reply_body;
199           ndmp3_tape_mtio_request ndmp3_tape_mtio_request_body;
200           ndmp3_tape_mtio_reply ndmp3_tape_mtio_reply_body;
201           ndmp3_tape_write_request ndmp3_tape_write_request_body;
202           ndmp3_tape_write_reply ndmp3_tape_write_reply_body;
203           ndmp3_tape_read_request ndmp3_tape_read_request_body;
204           ndmp3_tape_read_reply ndmp3_tape_read_reply_body;
205           ndmp3_tape_execute_cdb_request ndmp3_tape_execute_cdb_request_body;
206           ndmp3_tape_execute_cdb_reply ndmp3_tape_execute_cdb_reply_body;
207           ndmp3_data_get_state_reply ndmp3_data_get_state_reply_body;
208           ndmp3_data_start_backup_request ndmp3_data_start_backup_request_body;
209           ndmp3_data_start_backup_reply ndmp3_data_start_backup_reply_body;
210           ndmp3_data_start_recover_request ndmp3_data_start_recover_request_body;
211           ndmp3_data_start_recover_reply ndmp3_data_start_recover_reply_body;
212           ndmp3_data_abort_reply ndmp3_data_abort_reply_body;
213           ndmp3_data_get_env_reply ndmp3_data_get_env_reply_body;
214           ndmp3_data_stop_reply ndmp3_data_stop_reply_body;
215           ndmp3_data_start_recover_filehist_request ndmp3_data_start_recover_filehist_request_body;
216           ndmp3_data_start_recover_filehist_reply ndmp3_data_start_recover_filehist_reply_body;
217           ndmp3_data_listen_request ndmp3_data_listen_request_body;
218           ndmp3_data_listen_reply ndmp3_data_listen_reply_body;
219           ndmp3_data_connect_request ndmp3_data_connect_request_body;
220           ndmp3_data_connect_reply ndmp3_data_connect_reply_body;
221           ndmp3_notify_data_halted_request ndmp3_notify_data_halted_request_body;
222           ndmp3_notify_connected_request ndmp3_notify_connected_request_body;
223           ndmp3_notify_mover_halted_request ndmp3_notify_mover_halted_request_body;
224           ndmp3_notify_mover_paused_request ndmp3_notify_mover_paused_request_body;
225           ndmp3_notify_data_read_request ndmp3_notify_data_read_request_body;
226           ndmp3_log_file_request ndmp3_log_file_request_body;
227           ndmp3_log_message_request ndmp3_log_message_request_body;
228           ndmp3_fh_add_file_request ndmp3_fh_add_file_request_body;
229           ndmp3_fh_add_dir_request ndmp3_fh_add_dir_request_body;
230           ndmp3_fh_add_node_request ndmp3_fh_add_node_request_body;
231           ndmp3_mover_get_state_reply ndmp3_mover_get_state_reply_body;
232           ndmp3_mover_listen_request ndmp3_mover_listen_request_body;
233           ndmp3_mover_listen_reply ndmp3_mover_listen_reply_body;
234           ndmp3_mover_continue_reply ndmp3_mover_continue_reply_body;
235           ndmp3_mover_abort_reply ndmp3_mover_abort_reply_body;
236           ndmp3_mover_stop_reply ndmp3_mover_stop_reply_body;
237           ndmp3_mover_set_window_request ndmp3_mover_set_window_request_body;
238           ndmp3_mover_set_window_reply ndmp3_mover_set_window_reply_body;
239           ndmp3_mover_read_request ndmp3_mover_read_request_body;
240           ndmp3_mover_read_reply ndmp3_mover_read_reply_body;
241           ndmp3_mover_close_reply ndmp3_mover_close_reply_body;
242           ndmp3_mover_set_record_size_request ndmp3_mover_set_record_size_request_body;
243           ndmp3_mover_set_record_size_reply ndmp3_mover_set_record_size_reply_body;
244           ndmp3_mover_connect_request ndmp3_mover_connect_request_body;
245           ndmp3_mover_connect_reply ndmp3_mover_connect_reply_body;
246
247 #endif /* !NDMOS_OPTION_NO_NDMP3 */
248
249 #ifndef NDMOS_OPTION_NO_NDMP4
250           ndmp4_error ndmp4_error_reply;
251           ndmp4_connect_open_request ndmp4_connect_open_request_body;
252           ndmp4_connect_open_reply ndmp4_connect_open_reply_body;
253           ndmp4_connect_client_auth_request ndmp4_connect_client_auth_request_body;
254           ndmp4_connect_client_auth_reply ndmp4_connect_client_auth_reply_body;
255           ndmp4_connect_server_auth_request ndmp4_connect_server_auth_request_body;
256           ndmp4_connect_server_auth_reply ndmp4_connect_server_auth_reply_body;
257           ndmp4_config_get_host_info_reply ndmp4_config_get_host_info_reply_body;
258           ndmp4_config_get_connection_type_reply ndmp4_config_get_connection_type_reply_body;
259           ndmp4_config_get_auth_attr_request ndmp4_config_get_auth_attr_request_body;
260           ndmp4_config_get_auth_attr_reply ndmp4_config_get_auth_attr_reply_body;
261           ndmp4_config_get_butype_info_reply ndmp4_config_get_butype_info_reply_body;
262           ndmp4_config_get_fs_info_reply ndmp4_config_get_fs_info_reply_body;
263           ndmp4_config_get_tape_info_reply ndmp4_config_get_tape_info_reply_body;
264           ndmp4_config_get_scsi_info_reply ndmp4_config_get_scsi_info_reply_body;
265           ndmp4_config_get_server_info_reply ndmp4_config_get_server_info_reply_body;
266           ndmp4_scsi_open_request ndmp4_scsi_open_request_body;
267           ndmp4_scsi_open_reply ndmp4_scsi_open_reply_body;
268           ndmp4_scsi_close_reply ndmp4_scsi_close_reply_body;
269           ndmp4_scsi_get_state_reply ndmp4_scsi_get_state_reply_body;
270           ndmp4_scsi_reset_device_reply ndmp4_scsi_reset_device_reply_body;
271           ndmp4_scsi_execute_cdb_request ndmp4_scsi_execute_cdb_request_body;
272           ndmp4_scsi_execute_cdb_reply ndmp4_scsi_execute_cdb_reply_body;
273           ndmp4_tape_open_request ndmp4_tape_open_request_body;
274           ndmp4_tape_open_reply ndmp4_tape_open_reply_body;
275           ndmp4_tape_close_reply ndmp4_tape_close_reply_body;
276           ndmp4_tape_get_state_reply ndmp4_tape_get_state_reply_body;
277           ndmp4_tape_mtio_request ndmp4_tape_mtio_request_body;
278           ndmp4_tape_mtio_reply ndmp4_tape_mtio_reply_body;
279           ndmp4_tape_write_request ndmp4_tape_write_request_body;
280           ndmp4_tape_write_reply ndmp4_tape_write_reply_body;
281           ndmp4_tape_read_request ndmp4_tape_read_request_body;
282           ndmp4_tape_read_reply ndmp4_tape_read_reply_body;
283           ndmp4_tape_execute_cdb_request ndmp4_tape_execute_cdb_request_body;
284           ndmp4_tape_execute_cdb_reply ndmp4_tape_execute_cdb_reply_body;
285           ndmp4_data_get_state_reply ndmp4_data_get_state_reply_body;
286           ndmp4_data_start_backup_request ndmp4_data_start_backup_request_body;
287           ndmp4_data_start_backup_reply ndmp4_data_start_backup_reply_body;
288           ndmp4_data_start_recover_request ndmp4_data_start_recover_request_body;
289           ndmp4_data_start_recover_reply ndmp4_data_start_recover_reply_body;
290           ndmp4_data_abort_reply ndmp4_data_abort_reply_body;
291           ndmp4_data_get_env_reply ndmp4_data_get_env_reply_body;
292           ndmp4_data_stop_reply ndmp4_data_stop_reply_body;
293           ndmp4_data_start_recover_filehist_request ndmp4_data_start_recover_filehist_request_body;
294           ndmp4_data_start_recover_filehist_reply ndmp4_data_start_recover_filehist_reply_body;
295           ndmp4_data_listen_request ndmp4_data_listen_request_body;
296           ndmp4_data_listen_reply ndmp4_data_listen_reply_body;
297           ndmp4_data_connect_request ndmp4_data_connect_request_body;
298           ndmp4_data_connect_reply ndmp4_data_connect_reply_body;
299           ndmp4_notify_data_halted_post ndmp4_notify_data_halted_post_body;
300           ndmp4_notify_connection_status_post ndmp4_notify_connection_status_post_body;
301           ndmp4_notify_mover_halted_post ndmp4_notify_mover_halted_post_body;
302           ndmp4_notify_mover_paused_post ndmp4_notify_mover_paused_post_body;
303           ndmp4_notify_data_read_post ndmp4_notify_data_read_post_body;
304           ndmp4_log_file_post ndmp4_log_file_post_body;
305           ndmp4_log_message_post ndmp4_log_message_post_body;
306           ndmp4_fh_add_file_post ndmp4_fh_add_file_post_body;
307           ndmp4_fh_add_dir_post ndmp4_fh_add_dir_post_body;
308           ndmp4_fh_add_node_post ndmp4_fh_add_node_post_body;
309           ndmp4_mover_get_state_reply ndmp4_mover_get_state_reply_body;
310           ndmp4_mover_listen_request ndmp4_mover_listen_request_body;
311           ndmp4_mover_listen_reply ndmp4_mover_listen_reply_body;
312           ndmp4_mover_continue_reply ndmp4_mover_continue_reply_body;
313           ndmp4_mover_abort_reply ndmp4_mover_abort_reply_body;
314           ndmp4_mover_stop_reply ndmp4_mover_stop_reply_body;
315           ndmp4_mover_set_window_request ndmp4_mover_set_window_request_body;
316           ndmp4_mover_set_window_reply ndmp4_mover_set_window_reply_body;
317           ndmp4_mover_read_request ndmp4_mover_read_request_body;
318           ndmp4_mover_read_reply ndmp4_mover_read_reply_body;
319           ndmp4_mover_close_reply ndmp4_mover_close_reply_body;
320           ndmp4_mover_set_record_size_request ndmp4_mover_set_record_size_request_body;
321           ndmp4_mover_set_record_size_reply ndmp4_mover_set_record_size_reply_body;
322           ndmp4_mover_connect_request ndmp4_mover_connect_request_body;
323           ndmp4_mover_connect_reply ndmp4_mover_connect_reply_body;
324
325 #endif /* !NDMOS_OPTION_NO_NDMP4 */
326
327           ndmp0_error error;
328           struct ndmp3_unfortunate_error unf3_error;
329
330           ndmp9_error ndmp9_error_reply;
331           ndmp9_connect_open_request ndmp9_connect_open_request_body;
332           ndmp9_connect_open_reply ndmp9_connect_open_reply_body;
333           ndmp9_connect_client_auth_request ndmp9_connect_client_auth_request_body;
334           ndmp9_connect_client_auth_reply ndmp9_connect_client_auth_reply_body;
335           ndmp9_connect_server_auth_request ndmp9_connect_server_auth_request_body;
336           ndmp9_connect_server_auth_reply ndmp9_connect_server_auth_reply_body;
337           ndmp9_config_get_host_info_reply ndmp9_config_get_host_info_reply_body;
338           ndmp9_config_get_server_info_reply ndmp9_config_get_server_info_reply_body;
339
340           ndmp9_config_get_butype_info_reply ndmp9_config_get_butype_info_reply_body;
341           ndmp9_config_get_fs_info_reply ndmp9_config_get_fs_info_reply_body;
342           ndmp9_config_get_tape_info_reply ndmp9_config_get_tape_info_reply_body;
343           ndmp9_config_get_scsi_info_reply ndmp9_config_get_scsi_info_reply_body;
344           ndmp9_config_get_info_reply ndmp9_config_get_info_reply_body;
345           ndmp9_config_get_auth_attr_request ndmp9_config_get_auth_attr_request_body;
346           ndmp9_config_get_auth_attr_reply ndmp9_config_get_auth_attr_reply_body;
347           ndmp9_scsi_open_request ndmp9_scsi_open_request_body;
348           ndmp9_scsi_open_reply ndmp9_scsi_open_reply_body;
349           ndmp9_scsi_close_reply ndmp9_scsi_close_reply_body;
350           ndmp9_scsi_get_state_reply ndmp9_scsi_get_state_reply_body;
351           ndmp9_scsi_set_target_request ndmp9_scsi_set_target_request_body;
352           ndmp9_scsi_set_target_reply ndmp9_scsi_set_target_reply_body;
353           ndmp9_scsi_reset_device_reply ndmp9_scsi_reset_device_reply_body;
354           ndmp9_scsi_reset_bus_reply ndmp9_scsi_reset_bus_reply_body;
355           ndmp9_scsi_execute_cdb_request ndmp9_scsi_execute_cdb_request_body;
356           ndmp9_scsi_execute_cdb_reply ndmp9_scsi_execute_cdb_reply_body;
357           ndmp9_tape_open_request ndmp9_tape_open_request_body;
358           ndmp9_tape_open_reply ndmp9_tape_open_reply_body;
359           ndmp9_tape_close_reply ndmp9_tape_close_reply_body;
360           ndmp9_tape_get_state_reply ndmp9_tape_get_state_reply_body;
361           ndmp9_tape_mtio_request ndmp9_tape_mtio_request_body;
362           ndmp9_tape_mtio_reply ndmp9_tape_mtio_reply_body;
363           ndmp9_tape_write_request ndmp9_tape_write_request_body;
364           ndmp9_tape_write_reply ndmp9_tape_write_reply_body;
365           ndmp9_tape_read_request ndmp9_tape_read_request_body;
366           ndmp9_tape_read_reply ndmp9_tape_read_reply_body;
367           ndmp9_tape_execute_cdb_request ndmp9_tape_execute_cdb_request_body;
368           ndmp9_tape_execute_cdb_reply ndmp9_tape_execute_cdb_reply_body;
369           ndmp9_data_get_state_reply ndmp9_data_get_state_reply_body;
370           ndmp9_data_start_backup_request ndmp9_data_start_backup_request_body;
371           ndmp9_data_start_backup_reply ndmp9_data_start_backup_reply_body;
372           ndmp9_data_start_recover_request ndmp9_data_start_recover_request_body;
373           ndmp9_data_start_recover_reply ndmp9_data_start_recover_reply_body;
374           ndmp9_data_abort_reply ndmp9_data_abort_reply_body;
375           ndmp9_data_get_env_reply ndmp9_data_get_env_reply_body;
376           ndmp9_data_stop_reply ndmp9_data_stop_reply_body;
377           ndmp9_data_start_recover_filehist_request ndmp9_data_start_recover_filehist_request_body;
378           ndmp9_data_start_recover_filehist_reply ndmp9_data_start_recover_filehist_reply_body;
379           ndmp9_data_listen_request ndmp9_data_listen_request_body;
380           ndmp9_data_listen_reply ndmp9_data_listen_reply_body;
381           ndmp9_data_connect_request ndmp9_data_connect_request_body;
382           ndmp9_data_connect_reply ndmp9_data_connect_reply_body;
383           ndmp9_notify_data_halted_request ndmp9_notify_data_halted_request_body;
384           ndmp9_notify_connected_request ndmp9_notify_connected_request_body;
385           ndmp9_notify_mover_halted_request ndmp9_notify_mover_halted_request_body;
386           ndmp9_notify_mover_paused_request ndmp9_notify_mover_paused_request_body;
387           ndmp9_notify_data_read_request ndmp9_notify_data_read_request_body;
388           ndmp9_log_file_request ndmp9_log_file_request_body;
389           ndmp9_log_message_request ndmp9_log_message_request_body;
390           ndmp9_fh_add_file_request ndmp9_fh_add_file_request_body;
391           ndmp9_fh_add_dir_request ndmp9_fh_add_dir_request_body;
392           ndmp9_fh_add_node_request ndmp9_fh_add_node_request_body;
393           ndmp9_mover_get_state_reply ndmp9_mover_get_state_reply_body;
394           ndmp9_mover_listen_request ndmp9_mover_listen_request_body;
395           ndmp9_mover_listen_reply ndmp9_mover_listen_reply_body;
396           ndmp9_mover_continue_reply ndmp9_mover_continue_reply_body;
397           ndmp9_mover_abort_reply ndmp9_mover_abort_reply_body;
398           ndmp9_mover_stop_reply ndmp9_mover_stop_reply_body;
399           ndmp9_mover_set_window_request ndmp9_mover_set_window_request_body;
400           ndmp9_mover_set_window_reply ndmp9_mover_set_window_reply_body;
401           ndmp9_mover_read_request ndmp9_mover_read_request_body;
402           ndmp9_mover_read_reply ndmp9_mover_read_reply_body;
403           ndmp9_mover_close_reply ndmp9_mover_close_reply_body;
404           ndmp9_mover_set_record_size_request ndmp9_mover_set_record_size_request_body;
405           ndmp9_mover_set_record_size_reply ndmp9_mover_set_record_size_reply_body;
406           ndmp9_mover_connect_request ndmp9_mover_connect_request_body;
407           ndmp9_mover_connect_reply ndmp9_mover_connect_reply_body;
408         } body;
409 };
410
411 struct ndmp_xa_buf {
412         struct ndmp_msg_buf     request;
413         struct ndmp_msg_buf     reply;
414 };
415
416
417
418 #define MT_ndmp0_connect_open           NDMP0_CONNECT_OPEN
419 #define MT_ndmp0_connect_close          NDMP0_CONNECT_CLOSE
420 #define MT_ndmp0_notify_connected       NDMP0_NOTIFY_CONNECTED
421
422
423 #ifndef NDMOS_OPTION_NO_NDMP2
424
425 #define MT_ndmp2_connect_open           NDMP2_CONNECT_OPEN
426 #define MT_ndmp2_connect_client_auth    NDMP2_CONNECT_CLIENT_AUTH
427 #define MT_ndmp2_connect_close          NDMP2_CONNECT_CLOSE
428 #define MT_ndmp2_connect_server_auth    NDMP2_CONNECT_SERVER_AUTH
429 #define MT_ndmp2_config_get_host_info   NDMP2_CONFIG_GET_HOST_INFO
430 #define MT_ndmp2_config_get_butype_attr NDMP2_CONFIG_GET_BUTYPE_ATTR
431 #define MT_ndmp2_config_get_mover_type  NDMP2_CONFIG_GET_MOVER_TYPE
432 #define MT_ndmp2_config_get_auth_attr   NDMP2_CONFIG_GET_AUTH_ATTR
433 #define MT_ndmp2_scsi_open              NDMP2_SCSI_OPEN
434 #define MT_ndmp2_scsi_close             NDMP2_SCSI_CLOSE
435 #define MT_ndmp2_scsi_get_state         NDMP2_SCSI_GET_STATE
436 #define MT_ndmp2_scsi_set_target        NDMP2_SCSI_SET_TARGET
437 #define MT_ndmp2_scsi_reset_device      NDMP2_SCSI_RESET_DEVICE
438 #define MT_ndmp2_scsi_reset_bus         NDMP2_SCSI_RESET_BUS
439 #define MT_ndmp2_scsi_execute_cdb       NDMP2_SCSI_EXECUTE_CDB
440 #define MT_ndmp2_tape_open              NDMP2_TAPE_OPEN
441 #define MT_ndmp2_tape_close             NDMP2_TAPE_CLOSE
442 #define MT_ndmp2_tape_get_state         NDMP2_TAPE_GET_STATE
443 #define MT_ndmp2_tape_mtio              NDMP2_TAPE_MTIO
444 #define MT_ndmp2_tape_write             NDMP2_TAPE_WRITE
445 #define MT_ndmp2_tape_read              NDMP2_TAPE_READ
446 #define MT_ndmp2_tape_execute_cdb       NDMP2_TAPE_EXECUTE_CDB
447 #define MT_ndmp2_data_get_state         NDMP2_DATA_GET_STATE
448 #define MT_ndmp2_data_start_backup      NDMP2_DATA_START_BACKUP
449 #define MT_ndmp2_data_start_recover     NDMP2_DATA_START_RECOVER
450 #define MT_ndmp2_data_abort             NDMP2_DATA_ABORT
451 #define MT_ndmp2_data_get_env           NDMP2_DATA_GET_ENV
452 #define MT_ndmp2_data_stop              NDMP2_DATA_STOP
453 #define MT_ndmp2_data_start_recover_filehist NDMP2_DATA_START_RECOVER_FILEHIST
454 #define MT_ndmp2_notify_data_halted     NDMP2_NOTIFY_DATA_HALTED
455 #define MT_ndmp2_notify_connected       NDMP2_NOTIFY_CONNECTED
456 #define MT_ndmp2_notify_mover_halted    NDMP2_NOTIFY_MOVER_HALTED
457 #define MT_ndmp2_notify_mover_paused    NDMP2_NOTIFY_MOVER_PAUSED
458 #define MT_ndmp2_notify_data_read       NDMP2_NOTIFY_DATA_READ
459 #define MT_ndmp2_log_log                NDMP2_LOG_LOG
460 #define MT_ndmp2_log_debug              NDMP2_LOG_DEBUG
461 #define MT_ndmp2_log_file               NDMP2_LOG_FILE
462 #define MT_ndmp2_fh_add_unix_path       NDMP2_FH_ADD_UNIX_PATH
463 #define MT_ndmp2_fh_add_unix_dir        NDMP2_FH_ADD_UNIX_DIR
464 #define MT_ndmp2_fh_add_unix_node       NDMP2_FH_ADD_UNIX_NODE
465 #define MT_ndmp2_mover_get_state        NDMP2_MOVER_GET_STATE
466 #define MT_ndmp2_mover_listen           NDMP2_MOVER_LISTEN
467 #define MT_ndmp2_mover_continue         NDMP2_MOVER_CONTINUE
468 #define MT_ndmp2_mover_abort            NDMP2_MOVER_ABORT
469 #define MT_ndmp2_mover_stop             NDMP2_MOVER_STOP
470 #define MT_ndmp2_mover_set_window       NDMP2_MOVER_SET_WINDOW
471 #define MT_ndmp2_mover_read             NDMP2_MOVER_READ
472 #define MT_ndmp2_mover_close            NDMP2_MOVER_CLOSE
473 #define MT_ndmp2_mover_set_record_size  NDMP2_MOVER_SET_RECORD_SIZE
474
475 #endif /* !NDMOS_OPTION_NO_NDMP2 */
476
477
478
479 #ifndef NDMOS_OPTION_NO_NDMP3
480
481 #define MT_ndmp3_connect_open           NDMP3_CONNECT_OPEN
482 #define MT_ndmp3_connect_client_auth    NDMP3_CONNECT_CLIENT_AUTH
483 #define MT_ndmp3_connect_close          NDMP3_CONNECT_CLOSE
484 #define MT_ndmp3_connect_server_auth    NDMP3_CONNECT_SERVER_AUTH
485 #define MT_ndmp3_config_get_host_info   NDMP3_CONFIG_GET_HOST_INFO
486 #define MT_ndmp3_config_get_connection_type NDMP3_CONFIG_GET_CONNECTION_TYPE
487 #define MT_ndmp3_config_get_auth_attr   NDMP3_CONFIG_GET_AUTH_ATTR
488 #define MT_ndmp3_config_get_butype_info NDMP3_CONFIG_GET_BUTYPE_INFO
489 #define MT_ndmp3_config_get_fs_info     NDMP3_CONFIG_GET_FS_INFO
490 #define MT_ndmp3_config_get_tape_info   NDMP3_CONFIG_GET_TAPE_INFO
491 #define MT_ndmp3_config_get_scsi_info   NDMP3_CONFIG_GET_SCSI_INFO
492 #define MT_ndmp3_config_get_server_info NDMP3_CONFIG_GET_SERVER_INFO
493 #define MT_ndmp3_scsi_open              NDMP3_SCSI_OPEN
494 #define MT_ndmp3_scsi_close             NDMP3_SCSI_CLOSE
495 #define MT_ndmp3_scsi_get_state         NDMP3_SCSI_GET_STATE
496 #define MT_ndmp3_scsi_set_target        NDMP3_SCSI_SET_TARGET
497 #define MT_ndmp3_scsi_reset_device      NDMP3_SCSI_RESET_DEVICE
498 #define MT_ndmp3_scsi_reset_bus         NDMP3_SCSI_RESET_BUS
499 #define MT_ndmp3_scsi_execute_cdb       NDMP3_SCSI_EXECUTE_CDB
500 #define MT_ndmp3_tape_open              NDMP3_TAPE_OPEN
501 #define MT_ndmp3_tape_close             NDMP3_TAPE_CLOSE
502 #define MT_ndmp3_tape_get_state         NDMP3_TAPE_GET_STATE
503 #define MT_ndmp3_tape_mtio              NDMP3_TAPE_MTIO
504 #define MT_ndmp3_tape_write             NDMP3_TAPE_WRITE
505 #define MT_ndmp3_tape_read              NDMP3_TAPE_READ
506 #define MT_ndmp3_tape_execute_cdb       NDMP3_TAPE_EXECUTE_CDB
507 #define MT_ndmp3_data_get_state         NDMP3_DATA_GET_STATE
508 #define MT_ndmp3_data_start_backup      NDMP3_DATA_START_BACKUP
509 #define MT_ndmp3_data_start_recover     NDMP3_DATA_START_RECOVER
510 #define MT_ndmp3_data_start_recover_filehist NDMP3_DATA_START_RECOVER_FILEHIST
511 #define MT_ndmp3_data_abort             NDMP3_DATA_ABORT
512 #define MT_ndmp3_data_get_env           NDMP3_DATA_GET_ENV
513 #define MT_ndmp3_data_stop              NDMP3_DATA_STOP
514 #define MT_ndmp3_data_listen            NDMP3_DATA_LISTEN
515 #define MT_ndmp3_data_connect           NDMP3_DATA_CONNECT
516 #define MT_ndmp3_notify_data_halted     NDMP3_NOTIFY_DATA_HALTED
517 #define MT_ndmp3_notify_connected       NDMP3_NOTIFY_CONNECTED
518 #define MT_ndmp3_notify_mover_halted    NDMP3_NOTIFY_MOVER_HALTED
519 #define MT_ndmp3_notify_mover_paused    NDMP3_NOTIFY_MOVER_PAUSED
520 #define MT_ndmp3_notify_data_read       NDMP3_NOTIFY_DATA_READ
521 #define MT_ndmp3_log_file               NDMP3_LOG_FILE
522 #define MT_ndmp3_log_message            NDMP3_LOG_MESSAGE
523 #define MT_ndmp3_fh_add_file            NDMP3_FH_ADD_FILE
524 #define MT_ndmp3_fh_add_dir             NDMP3_FH_ADD_DIR
525 #define MT_ndmp3_fh_add_node            NDMP3_FH_ADD_NODE
526 #define MT_ndmp3_mover_get_state        NDMP3_MOVER_GET_STATE
527 #define MT_ndmp3_mover_listen           NDMP3_MOVER_LISTEN
528 #define MT_ndmp3_mover_continue         NDMP3_MOVER_CONTINUE
529 #define MT_ndmp3_mover_abort            NDMP3_MOVER_ABORT
530 #define MT_ndmp3_mover_stop             NDMP3_MOVER_STOP
531 #define MT_ndmp3_mover_set_window       NDMP3_MOVER_SET_WINDOW
532 #define MT_ndmp3_mover_read             NDMP3_MOVER_READ
533 #define MT_ndmp3_mover_close            NDMP3_MOVER_CLOSE
534 #define MT_ndmp3_mover_set_record_size  NDMP3_MOVER_SET_RECORD_SIZE
535 #define MT_ndmp3_mover_connect          NDMP3_MOVER_CONNECT
536
537 #endif /* !NDMOS_OPTION_NO_NDMP3 */
538
539
540
541 #ifndef NDMOS_OPTION_NO_NDMP4
542
543 #define MT_ndmp4_connect_open           NDMP4_CONNECT_OPEN
544 #define MT_ndmp4_connect_client_auth    NDMP4_CONNECT_CLIENT_AUTH
545 #define MT_ndmp4_connect_close          NDMP4_CONNECT_CLOSE
546 #define MT_ndmp4_connect_server_auth    NDMP4_CONNECT_SERVER_AUTH
547 #define MT_ndmp4_config_get_host_info   NDMP4_CONFIG_GET_HOST_INFO
548 #define MT_ndmp4_config_get_connection_type NDMP4_CONFIG_GET_CONNECTION_TYPE
549 #define MT_ndmp4_config_get_auth_attr   NDMP4_CONFIG_GET_AUTH_ATTR
550 #define MT_ndmp4_config_get_butype_info NDMP4_CONFIG_GET_BUTYPE_INFO
551 #define MT_ndmp4_config_get_fs_info     NDMP4_CONFIG_GET_FS_INFO
552 #define MT_ndmp4_config_get_tape_info   NDMP4_CONFIG_GET_TAPE_INFO
553 #define MT_ndmp4_config_get_scsi_info   NDMP4_CONFIG_GET_SCSI_INFO
554 #define MT_ndmp4_config_get_server_info NDMP4_CONFIG_GET_SERVER_INFO
555 #define MT_ndmp4_scsi_open              NDMP4_SCSI_OPEN
556 #define MT_ndmp4_scsi_close             NDMP4_SCSI_CLOSE
557 #define MT_ndmp4_scsi_get_state         NDMP4_SCSI_GET_STATE
558 #define MT_ndmp4_scsi_reset_device      NDMP4_SCSI_RESET_DEVICE
559 #define MT_ndmp4_scsi_execute_cdb       NDMP4_SCSI_EXECUTE_CDB
560 #define MT_ndmp4_tape_open              NDMP4_TAPE_OPEN
561 #define MT_ndmp4_tape_close             NDMP4_TAPE_CLOSE
562 #define MT_ndmp4_tape_get_state         NDMP4_TAPE_GET_STATE
563 #define MT_ndmp4_tape_mtio              NDMP4_TAPE_MTIO
564 #define MT_ndmp4_tape_write             NDMP4_TAPE_WRITE
565 #define MT_ndmp4_tape_read              NDMP4_TAPE_READ
566 #define MT_ndmp4_tape_execute_cdb       NDMP4_TAPE_EXECUTE_CDB
567 #define MT_ndmp4_data_get_state         NDMP4_DATA_GET_STATE
568 #define MT_ndmp4_data_start_backup      NDMP4_DATA_START_BACKUP
569 #define MT_ndmp4_data_start_recover     NDMP4_DATA_START_RECOVER
570 #define MT_ndmp4_data_start_recover_filehist NDMP4_DATA_START_RECOVER_FILEHIST
571 #define MT_ndmp4_data_abort             NDMP4_DATA_ABORT
572 #define MT_ndmp4_data_get_env           NDMP4_DATA_GET_ENV
573 #define MT_ndmp4_data_stop              NDMP4_DATA_STOP
574 #define MT_ndmp4_data_listen            NDMP4_DATA_LISTEN
575 #define MT_ndmp4_data_connect           NDMP4_DATA_CONNECT
576 #define MT_ndmp4_notify_data_halted     NDMP4_NOTIFY_DATA_HALTED
577 #define MT_ndmp4_notify_connection_status NDMP4_NOTIFY_CONNECTION_STATUS
578 #define MT_ndmp4_notify_mover_halted    NDMP4_NOTIFY_MOVER_HALTED
579 #define MT_ndmp4_notify_mover_paused    NDMP4_NOTIFY_MOVER_PAUSED
580 #define MT_ndmp4_notify_data_read       NDMP4_NOTIFY_DATA_READ
581 #define MT_ndmp4_log_file               NDMP4_LOG_FILE
582 #define MT_ndmp4_log_message            NDMP4_LOG_MESSAGE
583 #define MT_ndmp4_fh_add_file            NDMP4_FH_ADD_FILE
584 #define MT_ndmp4_fh_add_dir             NDMP4_FH_ADD_DIR
585 #define MT_ndmp4_fh_add_node            NDMP4_FH_ADD_NODE
586 #define MT_ndmp4_mover_get_state        NDMP4_MOVER_GET_STATE
587 #define MT_ndmp4_mover_listen           NDMP4_MOVER_LISTEN
588 #define MT_ndmp4_mover_continue         NDMP4_MOVER_CONTINUE
589 #define MT_ndmp4_mover_abort            NDMP4_MOVER_ABORT
590 #define MT_ndmp4_mover_stop             NDMP4_MOVER_STOP
591 #define MT_ndmp4_mover_set_window       NDMP4_MOVER_SET_WINDOW
592 #define MT_ndmp4_mover_read             NDMP4_MOVER_READ
593 #define MT_ndmp4_mover_close            NDMP4_MOVER_CLOSE
594 #define MT_ndmp4_mover_set_record_size  NDMP4_MOVER_SET_RECORD_SIZE
595 #define MT_ndmp4_mover_connect          NDMP4_MOVER_CONNECT
596
597 #endif /* !NDMOS_OPTION_NO_NDMP4 */
598
599
600
601
602 #define MT_ndmp9_connect_open           NDMP9_CONNECT_OPEN
603 #define MT_ndmp9_connect_client_auth    NDMP9_CONNECT_CLIENT_AUTH
604 #define MT_ndmp9_connect_close          NDMP9_CONNECT_CLOSE
605 #define MT_ndmp9_connect_server_auth    NDMP9_CONNECT_SERVER_AUTH
606 #define MT_ndmp9_config_get_host_info   NDMP9_CONFIG_GET_HOST_INFO
607 #define MT_ndmp9_config_get_connection_type NDMP9_CONFIG_GET_CONNECTION_TYPE
608 #define MT_ndmp9_config_get_auth_attr   NDMP9_CONFIG_GET_AUTH_ATTR
609 #define MT_ndmp9_config_get_butype_info NDMP9_CONFIG_GET_BUTYPE_INFO
610 #define MT_ndmp9_config_get_fs_info     NDMP9_CONFIG_GET_FS_INFO
611 #define MT_ndmp9_config_get_tape_info   NDMP9_CONFIG_GET_TAPE_INFO
612 #define MT_ndmp9_config_get_scsi_info   NDMP9_CONFIG_GET_SCSI_INFO
613 #define MT_ndmp9_config_get_server_info NDMP9_CONFIG_GET_SERVER_INFO
614 #define MT_ndmp9_scsi_open              NDMP9_SCSI_OPEN
615 #define MT_ndmp9_scsi_close             NDMP9_SCSI_CLOSE
616 #define MT_ndmp9_scsi_get_state         NDMP9_SCSI_GET_STATE
617 #define MT_ndmp9_scsi_set_target        NDMP9_SCSI_SET_TARGET
618 #define MT_ndmp9_scsi_reset_device      NDMP9_SCSI_RESET_DEVICE
619 #define MT_ndmp9_scsi_reset_bus         NDMP9_SCSI_RESET_BUS
620 #define MT_ndmp9_scsi_execute_cdb       NDMP9_SCSI_EXECUTE_CDB
621 #define MT_ndmp9_tape_open              NDMP9_TAPE_OPEN
622 #define MT_ndmp9_tape_close             NDMP9_TAPE_CLOSE
623 #define MT_ndmp9_tape_get_state         NDMP9_TAPE_GET_STATE
624 #define MT_ndmp9_tape_mtio              NDMP9_TAPE_MTIO
625 #define MT_ndmp9_tape_write             NDMP9_TAPE_WRITE
626 #define MT_ndmp9_tape_read              NDMP9_TAPE_READ
627 #define MT_ndmp9_tape_execute_cdb       NDMP9_TAPE_EXECUTE_CDB
628 #define MT_ndmp9_data_get_state         NDMP9_DATA_GET_STATE
629 #define MT_ndmp9_data_start_backup      NDMP9_DATA_START_BACKUP
630 #define MT_ndmp9_data_start_recover     NDMP9_DATA_START_RECOVER
631 #define MT_ndmp9_data_start_recover_filehist NDMP9_DATA_START_RECOVER_FILEHIST
632 #define MT_ndmp9_data_abort             NDMP9_DATA_ABORT
633 #define MT_ndmp9_data_get_env           NDMP9_DATA_GET_ENV
634 #define MT_ndmp9_data_stop              NDMP9_DATA_STOP
635 #define MT_ndmp9_data_listen            NDMP9_DATA_LISTEN
636 #define MT_ndmp9_data_connect           NDMP9_DATA_CONNECT
637 #define MT_ndmp9_notify_data_halted     NDMP9_NOTIFY_DATA_HALTED
638 #define MT_ndmp9_notify_connected       NDMP9_NOTIFY_CONNECTED
639 #define MT_ndmp9_notify_mover_halted    NDMP9_NOTIFY_MOVER_HALTED
640 #define MT_ndmp9_notify_mover_paused    NDMP9_NOTIFY_MOVER_PAUSED
641 #define MT_ndmp9_notify_data_read       NDMP9_NOTIFY_DATA_READ
642 #define MT_ndmp9_log_file               NDMP9_LOG_FILE
643 #define MT_ndmp9_log_message            NDMP9_LOG_MESSAGE
644 #define MT_ndmp9_fh_add_file            NDMP9_FH_ADD_FILE
645 #define MT_ndmp9_fh_add_dir             NDMP9_FH_ADD_DIR
646 #define MT_ndmp9_fh_add_node            NDMP9_FH_ADD_NODE
647 #define MT_ndmp9_mover_get_state        NDMP9_MOVER_GET_STATE
648 #define MT_ndmp9_mover_listen           NDMP9_MOVER_LISTEN
649 #define MT_ndmp9_mover_continue         NDMP9_MOVER_CONTINUE
650 #define MT_ndmp9_mover_abort            NDMP9_MOVER_ABORT
651 #define MT_ndmp9_mover_stop             NDMP9_MOVER_STOP
652 #define MT_ndmp9_mover_set_window       NDMP9_MOVER_SET_WINDOW
653 #define MT_ndmp9_mover_read             NDMP9_MOVER_READ
654 #define MT_ndmp9_mover_close            NDMP9_MOVER_CLOSE
655 #define MT_ndmp9_mover_set_record_size  NDMP9_MOVER_SET_RECORD_SIZE
656 #define MT_ndmp9_mover_connect          NDMP9_MOVER_CONNECT