Imported Upstream version 3.1.0
[debian/amanda] / ndmp-src / ndmp2_enum_strs.c
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 #include "ndmos.h"              /* rpc/rpc.h */
39 #include "ndmprotocol.h"
40
41
42 #ifndef NDMOS_OPTION_NO_NDMP2
43
44
45 extern struct ndmp_enum_str_table ndmp2_error_table[];
46 extern char * ndmp2_error_to_str (ndmp2_error val);
47 extern int    ndmp2_error_from_str (ndmp2_error *valp, char * str);
48
49 char * ndmp2_error_to_str (ndmp2_error val) {
50         return ndmp_enum_to_str ((int)val, ndmp2_error_table);
51 }
52
53 int ndmp2_error_from_str (ndmp2_error *valp, char * str) {
54         return ndmp_enum_from_str ((int*)valp, str, ndmp2_error_table);
55 }
56
57 struct ndmp_enum_str_table ndmp2_error_table[] = {
58         { "NDMP2_NO_ERR",               NDMP2_NO_ERR },
59         { "NDMP2_NOT_SUPPORTED_ERR",    NDMP2_NOT_SUPPORTED_ERR },
60         { "NDMP2_DEVICE_BUSY_ERR",      NDMP2_DEVICE_BUSY_ERR },
61         { "NDMP2_DEVICE_OPENED_ERR",    NDMP2_DEVICE_OPENED_ERR },
62         { "NDMP2_NOT_AUTHORIZED_ERR",   NDMP2_NOT_AUTHORIZED_ERR },
63         { "NDMP2_PERMISSION_ERR",       NDMP2_PERMISSION_ERR },
64         { "NDMP2_DEV_NOT_OPEN_ERR",     NDMP2_DEV_NOT_OPEN_ERR },
65         { "NDMP2_IO_ERR",               NDMP2_IO_ERR },
66         { "NDMP2_TIMEOUT_ERR",          NDMP2_TIMEOUT_ERR },
67         { "NDMP2_ILLEGAL_ARGS_ERR",     NDMP2_ILLEGAL_ARGS_ERR },
68         { "NDMP2_NO_TAPE_LOADED_ERR",   NDMP2_NO_TAPE_LOADED_ERR },
69         { "NDMP2_WRITE_PROTECT_ERR",    NDMP2_WRITE_PROTECT_ERR },
70         { "NDMP2_EOF_ERR",              NDMP2_EOF_ERR },
71         { "NDMP2_EOM_ERR",              NDMP2_EOM_ERR },
72         { "NDMP2_FILE_NOT_FOUND_ERR",   NDMP2_FILE_NOT_FOUND_ERR },
73         { "NDMP2_BAD_FILE_ERR",         NDMP2_BAD_FILE_ERR },
74         { "NDMP2_NO_DEVICE_ERR",        NDMP2_NO_DEVICE_ERR },
75         { "NDMP2_NO_BUS_ERR",           NDMP2_NO_BUS_ERR },
76         { "NDMP2_XDR_DECODE_ERR",       NDMP2_XDR_DECODE_ERR },
77         { "NDMP2_ILLEGAL_STATE_ERR",    NDMP2_ILLEGAL_STATE_ERR },
78         { "NDMP2_UNDEFINED_ERR",        NDMP2_UNDEFINED_ERR },
79         { "NDMP2_XDR_ENCODE_ERR",       NDMP2_XDR_ENCODE_ERR },
80         { "NDMP2_NO_MEM_ERR",           NDMP2_NO_MEM_ERR },
81         { 0 }
82 };
83
84 extern struct ndmp_enum_str_table ndmp2_header_message_type_table[];
85 extern char * ndmp2_header_message_type_to_str (ndmp2_header_message_type val);
86 extern int    ndmp2_header_message_type_from_str (ndmp2_header_message_type *valp, char * str);
87
88 char * ndmp2_header_message_type_to_str (ndmp2_header_message_type val) {
89         return ndmp_enum_to_str ((int)val, ndmp2_header_message_type_table);
90 }
91
92 int ndmp2_header_message_type_from_str (ndmp2_header_message_type *valp, char * str) {
93         return ndmp_enum_from_str ((int*)valp, str, ndmp2_header_message_type_table);
94 }
95
96 struct ndmp_enum_str_table ndmp2_header_message_type_table[] = {
97         { "NDMP2_MESSAGE_REQUEST",      NDMP2_MESSAGE_REQUEST },
98         { "NDMP2_MESSAGE_REPLY",        NDMP2_MESSAGE_REPLY },
99         { 0 }
100 };
101
102 extern struct ndmp_enum_str_table ndmp2_message_table[];
103 extern char * ndmp2_message_to_str (ndmp2_message val);
104 extern int    ndmp2_message_from_str (ndmp2_message *valp, char * str);
105
106 char * ndmp2_message_to_str (ndmp2_message val) {
107         return ndmp_enum_to_str ((int)val, ndmp2_message_table);
108 }
109
110 int ndmp2_message_from_str (ndmp2_message *valp, char * str) {
111         return ndmp_enum_from_str ((int*)valp, str, ndmp2_message_table);
112 }
113
114 struct ndmp_enum_str_table ndmp2_message_table[] = {
115         { "NDMP2_CONNECT_OPEN",         NDMP2_CONNECT_OPEN },
116         { "NDMP2_CONNECT_CLIENT_AUTH",  NDMP2_CONNECT_CLIENT_AUTH },
117         { "NDMP2_CONNECT_CLOSE",        NDMP2_CONNECT_CLOSE },
118         { "NDMP2_CONNECT_SERVER_AUTH",  NDMP2_CONNECT_SERVER_AUTH },
119         { "NDMP2_CONFIG_GET_HOST_INFO", NDMP2_CONFIG_GET_HOST_INFO },
120         { "NDMP2_CONFIG_GET_BUTYPE_ATTR", NDMP2_CONFIG_GET_BUTYPE_ATTR },
121         { "NDMP2_CONFIG_GET_MOVER_TYPE", NDMP2_CONFIG_GET_MOVER_TYPE },
122         { "NDMP2_CONFIG_GET_AUTH_ATTR", NDMP2_CONFIG_GET_AUTH_ATTR },
123         { "NDMP2_SCSI_OPEN",            NDMP2_SCSI_OPEN },
124         { "NDMP2_SCSI_CLOSE",           NDMP2_SCSI_CLOSE },
125         { "NDMP2_SCSI_GET_STATE",       NDMP2_SCSI_GET_STATE },
126         { "NDMP2_SCSI_SET_TARGET",      NDMP2_SCSI_SET_TARGET },
127         { "NDMP2_SCSI_RESET_DEVICE",    NDMP2_SCSI_RESET_DEVICE },
128         { "NDMP2_SCSI_RESET_BUS",       NDMP2_SCSI_RESET_BUS },
129         { "NDMP2_SCSI_EXECUTE_CDB",     NDMP2_SCSI_EXECUTE_CDB },
130         { "NDMP2_TAPE_OPEN",            NDMP2_TAPE_OPEN },
131         { "NDMP2_TAPE_CLOSE",           NDMP2_TAPE_CLOSE },
132         { "NDMP2_TAPE_GET_STATE",       NDMP2_TAPE_GET_STATE },
133         { "NDMP2_TAPE_MTIO",            NDMP2_TAPE_MTIO },
134         { "NDMP2_TAPE_WRITE",           NDMP2_TAPE_WRITE },
135         { "NDMP2_TAPE_READ",            NDMP2_TAPE_READ },
136         { "NDMP2_TAPE_RESVD1",          NDMP2_TAPE_RESVD1 },
137         { "NDMP2_TAPE_EXECUTE_CDB",     NDMP2_TAPE_EXECUTE_CDB },
138         { "NDMP2_DATA_GET_STATE",       NDMP2_DATA_GET_STATE },
139         { "NDMP2_DATA_START_BACKUP",    NDMP2_DATA_START_BACKUP },
140         { "NDMP2_DATA_START_RECOVER",   NDMP2_DATA_START_RECOVER },
141         { "NDMP2_DATA_ABORT",           NDMP2_DATA_ABORT },
142         { "NDMP2_DATA_GET_ENV",         NDMP2_DATA_GET_ENV },
143         { "NDMP2_DATA_RESVD1",          NDMP2_DATA_RESVD1 },
144         { "NDMP2_DATA_RESVD2",          NDMP2_DATA_RESVD2 },
145         { "NDMP2_DATA_STOP",            NDMP2_DATA_STOP },
146         { "NDMP2_DATA_START_RECOVER_FILEHIST",
147                                         NDMP2_DATA_START_RECOVER_FILEHIST },
148         { "NDMP2_NOTIFY_RESVD1",        NDMP2_NOTIFY_RESVD1 },
149         { "NDMP2_NOTIFY_DATA_HALTED",   NDMP2_NOTIFY_DATA_HALTED },
150         { "NDMP2_NOTIFY_CONNECTED",     NDMP2_NOTIFY_CONNECTED },
151         { "NDMP2_NOTIFY_MOVER_HALTED",  NDMP2_NOTIFY_MOVER_HALTED },
152         { "NDMP2_NOTIFY_MOVER_PAUSED",  NDMP2_NOTIFY_MOVER_PAUSED },
153         { "NDMP2_NOTIFY_DATA_READ",     NDMP2_NOTIFY_DATA_READ },
154         { "NDMP2_LOG_LOG",              NDMP2_LOG_LOG },
155         { "NDMP2_LOG_DEBUG",            NDMP2_LOG_DEBUG },
156         { "NDMP2_LOG_FILE",             NDMP2_LOG_FILE },
157         { "NDMP2_FH_ADD_UNIX_PATH",     NDMP2_FH_ADD_UNIX_PATH },
158         { "NDMP2_FH_ADD_UNIX_DIR",      NDMP2_FH_ADD_UNIX_DIR },
159         { "NDMP2_FH_ADD_UNIX_NODE",     NDMP2_FH_ADD_UNIX_NODE },
160         { "NDMP2_MOVER_GET_STATE",      NDMP2_MOVER_GET_STATE },
161         { "NDMP2_MOVER_LISTEN",         NDMP2_MOVER_LISTEN },
162         { "NDMP2_MOVER_CONTINUE",       NDMP2_MOVER_CONTINUE },
163         { "NDMP2_MOVER_ABORT",          NDMP2_MOVER_ABORT },
164         { "NDMP2_MOVER_STOP",           NDMP2_MOVER_STOP },
165         { "NDMP2_MOVER_SET_WINDOW",     NDMP2_MOVER_SET_WINDOW },
166         { "NDMP2_MOVER_READ",           NDMP2_MOVER_READ },
167         { "NDMP2_MOVER_CLOSE",          NDMP2_MOVER_CLOSE },
168         { "NDMP2_MOVER_SET_RECORD_SIZE", NDMP2_MOVER_SET_RECORD_SIZE },
169         { "NDMP2_RESERVED",             NDMP2_RESERVED },
170         { 0 }
171 };
172
173 extern struct ndmp_enum_str_table ndmp2_auth_type_table[];
174 extern char * ndmp2_auth_type_to_str (ndmp2_auth_type val);
175 extern int    ndmp2_auth_type_from_str (ndmp2_auth_type *valp, char * str);
176
177 char * ndmp2_auth_type_to_str (ndmp2_auth_type val) {
178         return ndmp_enum_to_str ((int)val, ndmp2_auth_type_table);
179 }
180
181 int ndmp2_auth_type_from_str (ndmp2_auth_type *valp, char * str) {
182         return ndmp_enum_from_str ((int*)valp, str, ndmp2_auth_type_table);
183 }
184
185 struct ndmp_enum_str_table ndmp2_auth_type_table[] = {
186         { "NDMP2_AUTH_NONE",    NDMP2_AUTH_NONE },
187         { "NDMP2_AUTH_TEXT",    NDMP2_AUTH_TEXT },
188         { "NDMP2_AUTH_MD5",     NDMP2_AUTH_MD5 },
189         { 0 }
190 };
191
192 extern struct ndmp_enum_str_table ndmp2_mover_addr_type_table[];
193 extern char * ndmp2_mover_addr_type_to_str (ndmp2_mover_addr_type val);
194 extern int    ndmp2_mover_addr_type_from_str (ndmp2_mover_addr_type *valp, char * str);
195
196 char * ndmp2_mover_addr_type_to_str (ndmp2_mover_addr_type val) {
197         return ndmp_enum_to_str ((int)val, ndmp2_mover_addr_type_table);
198 }
199
200 int ndmp2_mover_addr_type_from_str (ndmp2_mover_addr_type *valp, char * str) {
201         return ndmp_enum_from_str ((int*)valp, str, ndmp2_mover_addr_type_table);
202 }
203
204 struct ndmp_enum_str_table ndmp2_mover_addr_type_table[] = {
205         { "NDMP2_ADDR_LOCAL",   NDMP2_ADDR_LOCAL },
206         { "NDMP2_ADDR_TCP",     NDMP2_ADDR_TCP },
207         { 0 }
208 };
209
210 extern struct ndmp_enum_str_table ndmp2_tape_open_mode_table[];
211 extern char * ndmp2_tape_open_mode_to_str (ndmp2_tape_open_mode val);
212 extern int    ndmp2_tape_open_mode_from_str (ndmp2_tape_open_mode *valp, char * str);
213
214 char * ndmp2_tape_open_mode_to_str (ndmp2_tape_open_mode val) {
215         return ndmp_enum_to_str ((int)val, ndmp2_tape_open_mode_table);
216 }
217
218 int ndmp2_tape_open_mode_from_str (ndmp2_tape_open_mode *valp, char * str) {
219         return ndmp_enum_from_str ((int*)valp, str, ndmp2_tape_open_mode_table);
220 }
221
222 struct ndmp_enum_str_table ndmp2_tape_open_mode_table[] = {
223         { "NDMP2_TAPE_READ_MODE",       NDMP2_TAPE_READ_MODE },
224         { "NDMP2_TAPE_WRITE_MODE",      NDMP2_TAPE_WRITE_MODE },
225         { 0 }
226 };
227
228 extern struct ndmp_enum_str_table ndmp2_tape_mtio_op_table[];
229 extern char * ndmp2_tape_mtio_op_to_str (ndmp2_tape_mtio_op val);
230 extern int    ndmp2_tape_mtio_op_from_str (ndmp2_tape_mtio_op *valp, char * str);
231
232 char * ndmp2_tape_mtio_op_to_str (ndmp2_tape_mtio_op val) {
233         return ndmp_enum_to_str ((int)val, ndmp2_tape_mtio_op_table);
234 }
235
236 int ndmp2_tape_mtio_op_from_str (ndmp2_tape_mtio_op *valp, char * str) {
237         return ndmp_enum_from_str ((int*)valp, str, ndmp2_tape_mtio_op_table);
238 }
239
240 struct ndmp_enum_str_table ndmp2_tape_mtio_op_table[] = {
241         { "NDMP2_MTIO_FSF",     NDMP2_MTIO_FSF },
242         { "NDMP2_MTIO_BSF",     NDMP2_MTIO_BSF },
243         { "NDMP2_MTIO_FSR",     NDMP2_MTIO_FSR },
244         { "NDMP2_MTIO_BSR",     NDMP2_MTIO_BSR },
245         { "NDMP2_MTIO_REW",     NDMP2_MTIO_REW },
246         { "NDMP2_MTIO_EOF",     NDMP2_MTIO_EOF },
247         { "NDMP2_MTIO_OFF",     NDMP2_MTIO_OFF },
248         { 0 }
249 };
250
251 extern struct ndmp_enum_str_table ndmp2_mover_state_table[];
252 extern char * ndmp2_mover_state_to_str (ndmp2_mover_state val);
253 extern int    ndmp2_mover_state_from_str (ndmp2_mover_state *valp, char * str);
254
255 char * ndmp2_mover_state_to_str (ndmp2_mover_state val) {
256         return ndmp_enum_to_str ((int)val, ndmp2_mover_state_table);
257 }
258
259 int ndmp2_mover_state_from_str (ndmp2_mover_state *valp, char * str) {
260         return ndmp_enum_from_str ((int*)valp, str, ndmp2_mover_state_table);
261 }
262
263 struct ndmp_enum_str_table ndmp2_mover_state_table[] = {
264         { "NDMP2_MOVER_STATE_IDLE",     NDMP2_MOVER_STATE_IDLE },
265         { "NDMP2_MOVER_STATE_LISTEN",   NDMP2_MOVER_STATE_LISTEN },
266         { "NDMP2_MOVER_STATE_ACTIVE",   NDMP2_MOVER_STATE_ACTIVE },
267         { "NDMP2_MOVER_STATE_PAUSED",   NDMP2_MOVER_STATE_PAUSED },
268         { "NDMP2_MOVER_STATE_HALTED",   NDMP2_MOVER_STATE_HALTED },
269         { 0 }
270 };
271
272 extern struct ndmp_enum_str_table ndmp2_mover_pause_reason_table[];
273 extern char * ndmp2_mover_pause_reason_to_str (ndmp2_mover_pause_reason val);
274 extern int    ndmp2_mover_pause_reason_from_str (ndmp2_mover_pause_reason *valp, char * str);
275
276 char * ndmp2_mover_pause_reason_to_str (ndmp2_mover_pause_reason val) {
277         return ndmp_enum_to_str ((int)val, ndmp2_mover_pause_reason_table);
278 }
279
280 int ndmp2_mover_pause_reason_from_str (ndmp2_mover_pause_reason *valp, char * str) {
281         return ndmp_enum_from_str ((int*)valp, str, ndmp2_mover_pause_reason_table);
282 }
283
284 struct ndmp_enum_str_table ndmp2_mover_pause_reason_table[] = {
285         { "NDMP2_MOVER_PAUSE_NA",       NDMP2_MOVER_PAUSE_NA },
286         { "NDMP2_MOVER_PAUSE_EOM",      NDMP2_MOVER_PAUSE_EOM },
287         { "NDMP2_MOVER_PAUSE_EOF",      NDMP2_MOVER_PAUSE_EOF },
288         { "NDMP2_MOVER_PAUSE_SEEK",     NDMP2_MOVER_PAUSE_SEEK },
289         { "NDMP2_MOVER_PAUSE_MEDIA_ERROR", NDMP2_MOVER_PAUSE_MEDIA_ERROR },
290         { 0 }
291 };
292
293 extern struct ndmp_enum_str_table ndmp2_mover_halt_reason_table[];
294 extern char * ndmp2_mover_halt_reason_to_str (ndmp2_mover_halt_reason val);
295 extern int    ndmp2_mover_halt_reason_from_str (ndmp2_mover_halt_reason *valp, char * str);
296
297 char * ndmp2_mover_halt_reason_to_str (ndmp2_mover_halt_reason val) {
298         return ndmp_enum_to_str ((int)val, ndmp2_mover_halt_reason_table);
299 }
300
301 int ndmp2_mover_halt_reason_from_str (ndmp2_mover_halt_reason *valp, char * str) {
302         return ndmp_enum_from_str ((int*)valp, str, ndmp2_mover_halt_reason_table);
303 }
304
305 struct ndmp_enum_str_table ndmp2_mover_halt_reason_table[] = {
306         { "NDMP2_MOVER_HALT_NA",        NDMP2_MOVER_HALT_NA },
307         { "NDMP2_MOVER_HALT_CONNECT_CLOSED", NDMP2_MOVER_HALT_CONNECT_CLOSED },
308         { "NDMP2_MOVER_HALT_ABORTED",   NDMP2_MOVER_HALT_ABORTED },
309         { "NDMP2_MOVER_HALT_INTERNAL_ERROR", NDMP2_MOVER_HALT_INTERNAL_ERROR },
310         { "NDMP2_MOVER_HALT_CONNECT_ERROR", NDMP2_MOVER_HALT_CONNECT_ERROR },
311         { 0 }
312 };
313
314 extern struct ndmp_enum_str_table ndmp2_mover_mode_table[];
315 extern char * ndmp2_mover_mode_to_str (ndmp2_mover_mode val);
316 extern int    ndmp2_mover_mode_from_str (ndmp2_mover_mode *valp, char * str);
317
318 char * ndmp2_mover_mode_to_str (ndmp2_mover_mode val) {
319         return ndmp_enum_to_str ((int)val, ndmp2_mover_mode_table);
320 }
321
322 int ndmp2_mover_mode_from_str (ndmp2_mover_mode *valp, char * str) {
323         return ndmp_enum_from_str ((int*)valp, str, ndmp2_mover_mode_table);
324 }
325
326 struct ndmp_enum_str_table ndmp2_mover_mode_table[] = {
327         { "NDMP2_MOVER_MODE_READ",      NDMP2_MOVER_MODE_READ },
328         { "NDMP2_MOVER_MODE_WRITE",     NDMP2_MOVER_MODE_WRITE },
329         { "NDMP2_MOVER_MODE_DATA",      NDMP2_MOVER_MODE_DATA },
330         { 0 }
331 };
332
333 extern struct ndmp_enum_str_table ndmp2_data_operation_table[];
334 extern char * ndmp2_data_operation_to_str (ndmp2_data_operation val);
335 extern int    ndmp2_data_operation_from_str (ndmp2_data_operation *valp, char * str);
336
337 char * ndmp2_data_operation_to_str (ndmp2_data_operation val) {
338         return ndmp_enum_to_str ((int)val, ndmp2_data_operation_table);
339 }
340
341 int ndmp2_data_operation_from_str (ndmp2_data_operation *valp, char * str) {
342         return ndmp_enum_from_str ((int*)valp, str, ndmp2_data_operation_table);
343 }
344
345 struct ndmp_enum_str_table ndmp2_data_operation_table[] = {
346         { "NDMP2_DATA_OP_NOACTION",     NDMP2_DATA_OP_NOACTION },
347         { "NDMP2_DATA_OP_BACKUP",       NDMP2_DATA_OP_BACKUP },
348         { "NDMP2_DATA_OP_RESTORE",      NDMP2_DATA_OP_RESTORE },
349         { "NDMP2_DATA_OP_RESTORE_FILEHIST", NDMP2_DATA_OP_RESTORE_FILEHIST },
350         { 0 }
351 };
352
353 extern struct ndmp_enum_str_table ndmp2_data_state_table[];
354 extern char * ndmp2_data_state_to_str (ndmp2_data_state val);
355 extern int    ndmp2_data_state_from_str (ndmp2_data_state *valp, char * str);
356
357 char * ndmp2_data_state_to_str (ndmp2_data_state val) {
358         return ndmp_enum_to_str ((int)val, ndmp2_data_state_table);
359 }
360
361 int ndmp2_data_state_from_str (ndmp2_data_state *valp, char * str) {
362         return ndmp_enum_from_str ((int*)valp, str, ndmp2_data_state_table);
363 }
364
365 struct ndmp_enum_str_table ndmp2_data_state_table[] = {
366         { "NDMP2_DATA_STATE_IDLE",      NDMP2_DATA_STATE_IDLE },
367         { "NDMP2_DATA_STATE_ACTIVE",    NDMP2_DATA_STATE_ACTIVE },
368         { "NDMP2_DATA_STATE_HALTED",    NDMP2_DATA_STATE_HALTED },
369         { 0 }
370 };
371
372 extern struct ndmp_enum_str_table ndmp2_data_halt_reason_table[];
373 extern char * ndmp2_data_halt_reason_to_str (ndmp2_data_halt_reason val);
374 extern int    ndmp2_data_halt_reason_from_str (ndmp2_data_halt_reason *valp, char * str);
375
376 char * ndmp2_data_halt_reason_to_str (ndmp2_data_halt_reason val) {
377         return ndmp_enum_to_str ((int)val, ndmp2_data_halt_reason_table);
378 }
379
380 int ndmp2_data_halt_reason_from_str (ndmp2_data_halt_reason *valp, char * str) {
381         return ndmp_enum_from_str ((int*)valp, str, ndmp2_data_halt_reason_table);
382 }
383
384 struct ndmp_enum_str_table ndmp2_data_halt_reason_table[] = {
385         { "NDMP2_DATA_HALT_NA", NDMP2_DATA_HALT_NA },
386         { "NDMP2_DATA_HALT_SUCCESSFUL", NDMP2_DATA_HALT_SUCCESSFUL },
387         { "NDMP2_DATA_HALT_ABORTED",    NDMP2_DATA_HALT_ABORTED },
388         { "NDMP2_DATA_HALT_INTERNAL_ERROR", NDMP2_DATA_HALT_INTERNAL_ERROR },
389         { "NDMP2_DATA_HALT_CONNECT_ERROR", NDMP2_DATA_HALT_CONNECT_ERROR },
390         { 0 }
391 };
392
393 extern struct ndmp_enum_str_table ndmp2_connect_reason_table[];
394 extern char * ndmp2_connect_reason_to_str (ndmp2_connect_reason val);
395 extern int    ndmp2_connect_reason_from_str (ndmp2_connect_reason *valp, char * str);
396
397 char * ndmp2_connect_reason_to_str (ndmp2_connect_reason val) {
398         return ndmp_enum_to_str ((int)val, ndmp2_connect_reason_table);
399 }
400
401 int ndmp2_connect_reason_from_str (ndmp2_connect_reason *valp, char * str) {
402         return ndmp_enum_from_str ((int*)valp, str, ndmp2_connect_reason_table);
403 }
404
405 struct ndmp_enum_str_table ndmp2_connect_reason_table[] = {
406         { "NDMP2_CONNECTED",    NDMP2_CONNECTED },
407         { "NDMP2_SHUTDOWN",     NDMP2_SHUTDOWN },
408         { "NDMP2_REFUSED",      NDMP2_REFUSED },
409         { 0 }
410 };
411
412 extern struct ndmp_enum_str_table ndmp2_debug_level_table[];
413 extern char * ndmp2_debug_level_to_str (ndmp2_debug_level val);
414 extern int    ndmp2_debug_level_from_str (ndmp2_debug_level *valp, char * str);
415
416 char * ndmp2_debug_level_to_str (ndmp2_debug_level val) {
417         return ndmp_enum_to_str ((int)val, ndmp2_debug_level_table);
418 }
419
420 int ndmp2_debug_level_from_str (ndmp2_debug_level *valp, char * str) {
421         return ndmp_enum_from_str ((int*)valp, str, ndmp2_debug_level_table);
422 }
423
424 struct ndmp_enum_str_table ndmp2_debug_level_table[] = {
425         { "NDMP2_DBG_USER_INFO",        NDMP2_DBG_USER_INFO },
426         { "NDMP2_DBG_USER_SUMMARY",     NDMP2_DBG_USER_SUMMARY },
427         { "NDMP2_DBG_USER_DETAIL",      NDMP2_DBG_USER_DETAIL },
428         { "NDMP2_DBG_DIAG_INFO",        NDMP2_DBG_DIAG_INFO },
429         { "NDMP2_DBG_DIAG_SUMMARY",     NDMP2_DBG_DIAG_SUMMARY },
430         { "NDMP2_DBG_DIAG_DETAIL",      NDMP2_DBG_DIAG_DETAIL },
431         { "NDMP2_DBG_PROG_INFO",        NDMP2_DBG_PROG_INFO },
432         { "NDMP2_DBG_PROG_SUMMARY",     NDMP2_DBG_PROG_SUMMARY },
433         { "NDMP2_DBG_PROG_DETAIL",      NDMP2_DBG_PROG_DETAIL },
434         { 0 }
435 };
436
437 extern struct ndmp_enum_str_table ndmp2_unix_file_type_table[];
438 extern char * ndmp2_unix_file_type_to_str (ndmp2_unix_file_type val);
439 extern int    ndmp2_unix_file_type_from_str (ndmp2_unix_file_type *valp, char * str);
440
441 char * ndmp2_unix_file_type_to_str (ndmp2_unix_file_type val) {
442         return ndmp_enum_to_str ((int)val, ndmp2_unix_file_type_table);
443 }
444
445 int ndmp2_unix_file_type_from_str (ndmp2_unix_file_type *valp, char * str) {
446         return ndmp_enum_from_str ((int*)valp, str, ndmp2_unix_file_type_table);
447 }
448
449 struct ndmp_enum_str_table ndmp2_unix_file_type_table[] = {
450         { "NDMP2_FILE_DIR",     NDMP2_FILE_DIR },
451         { "NDMP2_FILE_FIFO",    NDMP2_FILE_FIFO },
452         { "NDMP2_FILE_CSPEC",   NDMP2_FILE_CSPEC },
453         { "NDMP2_FILE_BSPEC",   NDMP2_FILE_BSPEC },
454         { "NDMP2_FILE_REG",     NDMP2_FILE_REG },
455         { "NDMP2_FILE_SLINK",   NDMP2_FILE_SLINK },
456         { "NDMP2_FILE_SOCK",    NDMP2_FILE_SOCK },
457         { 0 }
458 };
459
460
461 #endif /* !NDMOS_OPTION_NO_NDMP2 */