Imported Upstream version 3.1.0
[debian/amanda] / ndmp-src / ndmp3_enum_strs.c
1 /*
2  * Copyright (c) 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_NDMP3
43
44
45 extern struct ndmp_enum_str_table ndmp3_error_table[];
46 extern char * ndmp3_error_to_str (ndmp3_error val);
47 extern int    ndmp3_error_from_str (ndmp3_error *valp, char *str);
48
49 char * ndmp3_error_to_str (ndmp3_error val) {
50         return ndmp_enum_to_str ((int)val, ndmp3_error_table);
51 }
52
53 int ndmp3_error_from_str (ndmp3_error *valp, char *str) {
54         return ndmp_enum_from_str ((int*)valp, str, ndmp3_error_table);
55 }
56
57 struct ndmp_enum_str_table ndmp3_error_table[] = {
58         { "NDMP3_NO_ERR",               NDMP3_NO_ERR, },
59         { "NDMP3_NOT_SUPPORTED_ERR",    NDMP3_NOT_SUPPORTED_ERR, },
60         { "NDMP3_DEVICE_BUSY_ERR",      NDMP3_DEVICE_BUSY_ERR, },
61         { "NDMP3_DEVICE_OPENED_ERR",    NDMP3_DEVICE_OPENED_ERR, },
62         { "NDMP3_NOT_AUTHORIZED_ERR",   NDMP3_NOT_AUTHORIZED_ERR, },
63         { "NDMP3_PERMISSION_ERR",       NDMP3_PERMISSION_ERR, },
64         { "NDMP3_DEV_NOT_OPEN_ERR",     NDMP3_DEV_NOT_OPEN_ERR, },
65         { "NDMP3_IO_ERR",               NDMP3_IO_ERR, },
66         { "NDMP3_TIMEOUT_ERR",          NDMP3_TIMEOUT_ERR, },
67         { "NDMP3_ILLEGAL_ARGS_ERR",     NDMP3_ILLEGAL_ARGS_ERR, },
68         { "NDMP3_NO_TAPE_LOADED_ERR",   NDMP3_NO_TAPE_LOADED_ERR, },
69         { "NDMP3_WRITE_PROTECT_ERR",    NDMP3_WRITE_PROTECT_ERR, },
70         { "NDMP3_EOF_ERR",              NDMP3_EOF_ERR, },
71         { "NDMP3_EOM_ERR",              NDMP3_EOM_ERR, },
72         { "NDMP3_FILE_NOT_FOUND_ERR",   NDMP3_FILE_NOT_FOUND_ERR, },
73         { "NDMP3_BAD_FILE_ERR",         NDMP3_BAD_FILE_ERR, },
74         { "NDMP3_NO_DEVICE_ERR",        NDMP3_NO_DEVICE_ERR, },
75         { "NDMP3_NO_BUS_ERR",           NDMP3_NO_BUS_ERR, },
76         { "NDMP3_XDR_DECODE_ERR",       NDMP3_XDR_DECODE_ERR, },
77         { "NDMP3_ILLEGAL_STATE_ERR",    NDMP3_ILLEGAL_STATE_ERR, },
78         { "NDMP3_UNDEFINED_ERR",        NDMP3_UNDEFINED_ERR, },
79         { "NDMP3_XDR_ENCODE_ERR",       NDMP3_XDR_ENCODE_ERR, },
80         { "NDMP3_NO_MEM_ERR",           NDMP3_NO_MEM_ERR, },
81         { "NDMP3_CONNECT_ERR",          NDMP3_CONNECT_ERR, },
82         { 0 }
83 };
84
85
86 extern struct ndmp_enum_str_table ndmp3_header_message_type_table[];
87 extern char * ndmp3_header_message_type_to_str (ndmp3_header_message_type val);
88 extern int    ndmp3_header_message_type_from_str (ndmp3_header_message_type *valp, char *str);
89
90 char * ndmp3_header_message_type_to_str (ndmp3_header_message_type val) {
91         return ndmp_enum_to_str ((int)val, ndmp3_header_message_type_table);
92 }
93
94 int ndmp3_header_message_type_from_str (ndmp3_header_message_type *valp, char *str) {
95         return ndmp_enum_from_str ((int*)valp, str, ndmp3_header_message_type_table);
96 }
97
98 struct ndmp_enum_str_table ndmp3_header_message_type_table[] = {
99         { "NDMP3_MESSAGE_REQUEST",      NDMP3_MESSAGE_REQUEST, },
100         { "NDMP3_MESSAGE_REPLY",        NDMP3_MESSAGE_REPLY, },
101         { 0 }
102 };
103
104
105 extern struct ndmp_enum_str_table ndmp3_message_table[];
106 extern char * ndmp3_message_to_str (ndmp3_message val);
107 extern int    ndmp3_message_from_str (ndmp3_message *valp, char *str);
108
109 char * ndmp3_message_to_str (ndmp3_message val) {
110         return ndmp_enum_to_str ((int)val, ndmp3_message_table);
111 }
112
113 int ndmp3_message_from_str (ndmp3_message *valp, char *str) {
114         return ndmp_enum_from_str ((int*)valp, str, ndmp3_message_table);
115 }
116
117 struct ndmp_enum_str_table ndmp3_message_table[] = {
118         { "NDMP3_CONNECT_OPEN",         NDMP3_CONNECT_OPEN, },
119         { "NDMP3_CONNECT_CLIENT_AUTH",  NDMP3_CONNECT_CLIENT_AUTH, },
120         { "NDMP3_CONNECT_CLOSE",        NDMP3_CONNECT_CLOSE, },
121         { "NDMP3_CONNECT_SERVER_AUTH",  NDMP3_CONNECT_SERVER_AUTH, },
122         { "NDMP3_CONFIG_GET_HOST_INFO", NDMP3_CONFIG_GET_HOST_INFO, },
123         { "NDMP3_CONFIG_GET_CONNECTION_TYPE",
124                                         NDMP3_CONFIG_GET_CONNECTION_TYPE, },
125         { "NDMP3_CONFIG_GET_AUTH_ATTR", NDMP3_CONFIG_GET_AUTH_ATTR, },
126         { "NDMP3_CONFIG_GET_BUTYPE_INFO", NDMP3_CONFIG_GET_BUTYPE_INFO, },
127         { "NDMP3_CONFIG_GET_FS_INFO",   NDMP3_CONFIG_GET_FS_INFO, },
128         { "NDMP3_CONFIG_GET_TAPE_INFO", NDMP3_CONFIG_GET_TAPE_INFO, },
129         { "NDMP3_CONFIG_GET_SCSI_INFO", NDMP3_CONFIG_GET_SCSI_INFO, },
130         { "NDMP3_CONFIG_GET_SERVER_INFO",NDMP3_CONFIG_GET_SERVER_INFO, },
131         { "NDMP3_SCSI_OPEN",            NDMP3_SCSI_OPEN, },
132         { "NDMP3_SCSI_CLOSE",           NDMP3_SCSI_CLOSE, },
133         { "NDMP3_SCSI_GET_STATE",       NDMP3_SCSI_GET_STATE, },
134         { "NDMP3_SCSI_SET_TARGET",      NDMP3_SCSI_SET_TARGET, },
135         { "NDMP3_SCSI_RESET_DEVICE",    NDMP3_SCSI_RESET_DEVICE, },
136         { "NDMP3_SCSI_RESET_BUS",       NDMP3_SCSI_RESET_BUS, },
137         { "NDMP3_SCSI_EXECUTE_CDB",     NDMP3_SCSI_EXECUTE_CDB, },
138         { "NDMP3_TAPE_OPEN",            NDMP3_TAPE_OPEN, },
139         { "NDMP3_TAPE_CLOSE",           NDMP3_TAPE_CLOSE, },
140         { "NDMP3_TAPE_GET_STATE",       NDMP3_TAPE_GET_STATE, },
141         { "NDMP3_TAPE_MTIO",            NDMP3_TAPE_MTIO, },
142         { "NDMP3_TAPE_WRITE",           NDMP3_TAPE_WRITE, },
143         { "NDMP3_TAPE_READ",            NDMP3_TAPE_READ, },
144         { "NDMP3_TAPE_EXECUTE_CDB",     NDMP3_TAPE_EXECUTE_CDB, },
145         { "NDMP3_DATA_GET_STATE",       NDMP3_DATA_GET_STATE, },
146         { "NDMP3_DATA_START_BACKUP",    NDMP3_DATA_START_BACKUP, },
147         { "NDMP3_DATA_START_RECOVER",   NDMP3_DATA_START_RECOVER, },
148         { "NDMP3_DATA_START_RECOVER_FILEHIST",
149                                         NDMP3_DATA_START_RECOVER_FILEHIST, },
150         { "NDMP3_DATA_ABORT",           NDMP3_DATA_ABORT, },
151         { "NDMP3_DATA_GET_ENV",         NDMP3_DATA_GET_ENV, },
152         { "NDMP3_DATA_STOP",            NDMP3_DATA_STOP, },
153         { "NDMP3_DATA_LISTEN",          NDMP3_DATA_LISTEN, },
154         { "NDMP3_DATA_CONNECT",         NDMP3_DATA_CONNECT, },
155         { "NDMP3_NOTIFY_DATA_HALTED",   NDMP3_NOTIFY_DATA_HALTED, },
156         { "NDMP3_NOTIFY_CONNECTED",     NDMP3_NOTIFY_CONNECTED, },
157         { "NDMP3_NOTIFY_MOVER_HALTED",  NDMP3_NOTIFY_MOVER_HALTED, },
158         { "NDMP3_NOTIFY_MOVER_PAUSED",  NDMP3_NOTIFY_MOVER_PAUSED, },
159         { "NDMP3_NOTIFY_DATA_READ",     NDMP3_NOTIFY_DATA_READ, },
160         { "NDMP3_LOG_FILE",             NDMP3_LOG_FILE, },
161         { "NDMP3_LOG_MESSAGE",          NDMP3_LOG_MESSAGE, },
162         { "NDMP3_FH_ADD_FILE",          NDMP3_FH_ADD_FILE, },
163         { "NDMP3_FH_ADD_DIR",           NDMP3_FH_ADD_DIR, },
164         { "NDMP3_FH_ADD_NODE",          NDMP3_FH_ADD_NODE, },
165         { "NDMP3_MOVER_GET_STATE",      NDMP3_MOVER_GET_STATE, },
166         { "NDMP3_MOVER_LISTEN",         NDMP3_MOVER_LISTEN, },
167         { "NDMP3_MOVER_CONTINUE",       NDMP3_MOVER_CONTINUE, },
168         { "NDMP3_MOVER_ABORT",          NDMP3_MOVER_ABORT, },
169         { "NDMP3_MOVER_STOP",           NDMP3_MOVER_STOP, },
170         { "NDMP3_MOVER_SET_WINDOW",     NDMP3_MOVER_SET_WINDOW, },
171         { "NDMP3_MOVER_READ",           NDMP3_MOVER_READ, },
172         { "NDMP3_MOVER_CLOSE",          NDMP3_MOVER_CLOSE, },
173         { "NDMP3_MOVER_SET_RECORD_SIZE", NDMP3_MOVER_SET_RECORD_SIZE, },
174         { "NDMP3_MOVER_CONNECT",        NDMP3_MOVER_CONNECT, },
175         { "NDMP3_VENDORS_BASE",         NDMP3_VENDORS_BASE, },
176         { "NDMP3_RESERVED_BASE",        NDMP3_RESERVED_BASE, },
177         { 0 }
178 };
179
180
181 extern struct ndmp_enum_str_table ndmp3_auth_type_table[];
182 extern char * ndmp3_auth_type_to_str (ndmp3_auth_type val);
183 extern int    ndmp3_auth_type_from_str (ndmp3_auth_type *valp, char *str);
184
185 char * ndmp3_auth_type_to_str (ndmp3_auth_type val) {
186         return ndmp_enum_to_str ((int)val, ndmp3_auth_type_table);
187 }
188
189 int ndmp3_auth_type_from_str (ndmp3_auth_type *valp, char *str) {
190         return ndmp_enum_from_str ((int*)valp, str, ndmp3_auth_type_table);
191 }
192
193 struct ndmp_enum_str_table ndmp3_auth_type_table[] = {
194         { "NDMP3_AUTH_NONE",            NDMP3_AUTH_NONE, },
195         { "NDMP3_AUTH_TEXT",            NDMP3_AUTH_TEXT, },
196         { "NDMP3_AUTH_MD5",             NDMP3_AUTH_MD5, },
197         { 0 }
198 };
199
200
201 extern struct ndmp_enum_str_table ndmp3_addr_type_table[];
202 extern char * ndmp3_addr_type_to_str (ndmp3_addr_type val);
203 extern int    ndmp3_addr_type_from_str (ndmp3_addr_type *valp, char *str);
204
205 char * ndmp3_addr_type_to_str (ndmp3_addr_type val) {
206         return ndmp_enum_to_str ((int)val, ndmp3_addr_type_table);
207 }
208
209 int ndmp3_addr_type_from_str (ndmp3_addr_type *valp, char *str) {
210         return ndmp_enum_from_str ((int*)valp, str, ndmp3_addr_type_table);
211 }
212
213 struct ndmp_enum_str_table ndmp3_addr_type_table[] = {
214         { "NDMP3_ADDR_LOCAL",           NDMP3_ADDR_LOCAL, },
215         { "NDMP3_ADDR_TCP",             NDMP3_ADDR_TCP, },
216         { "NDMP3_ADDR_FC",              NDMP3_ADDR_FC, },
217         { "NDMP3_ADDR_IPC",             NDMP3_ADDR_IPC, },
218         { 0 }
219 };
220
221
222 extern struct ndmp_enum_str_table ndmp3_tape_open_mode_table[];
223 extern char * ndmp3_tape_open_mode_to_str (ndmp3_tape_open_mode val);
224 extern int    ndmp3_tape_open_mode_from_str (ndmp3_tape_open_mode *valp, char *str);
225
226 char * ndmp3_tape_open_mode_to_str (ndmp3_tape_open_mode val) {
227         return ndmp_enum_to_str ((int)val, ndmp3_tape_open_mode_table);
228 }
229
230 int ndmp3_tape_open_mode_from_str (ndmp3_tape_open_mode *valp, char *str) {
231         return ndmp_enum_from_str ((int*)valp, str, ndmp3_tape_open_mode_table);
232 }
233
234 struct ndmp_enum_str_table ndmp3_tape_open_mode_table[] = {
235         { "NDMP3_TAPE_READ_MODE",       NDMP3_TAPE_READ_MODE, },
236         { "NDMP3_TAPE_RDWR_MODE",       NDMP3_TAPE_RDWR_MODE, },
237         { 0 }
238 };
239
240
241 extern struct ndmp_enum_str_table ndmp3_tape_mtio_op_table[];
242 extern char * ndmp3_tape_mtio_op_to_str (ndmp3_tape_mtio_op val);
243 extern int    ndmp3_tape_mtio_op_from_str (ndmp3_tape_mtio_op *valp, char *str);
244
245 char * ndmp3_tape_mtio_op_to_str (ndmp3_tape_mtio_op val) {
246         return ndmp_enum_to_str ((int)val, ndmp3_tape_mtio_op_table);
247 }
248
249 int ndmp3_tape_mtio_op_from_str (ndmp3_tape_mtio_op *valp, char *str) {
250         return ndmp_enum_from_str ((int*)valp, str, ndmp3_tape_mtio_op_table);
251 }
252
253 struct ndmp_enum_str_table ndmp3_tape_mtio_op_table[] = {
254         { "NDMP3_MTIO_FSF",             NDMP3_MTIO_FSF, },
255         { "NDMP3_MTIO_BSF",             NDMP3_MTIO_BSF, },
256         { "NDMP3_MTIO_FSR",             NDMP3_MTIO_FSR, },
257         { "NDMP3_MTIO_BSR",             NDMP3_MTIO_BSR, },
258         { "NDMP3_MTIO_REW",             NDMP3_MTIO_REW, },
259         { "NDMP3_MTIO_EOF",             NDMP3_MTIO_EOF, },
260         { "NDMP3_MTIO_OFF",             NDMP3_MTIO_OFF, },
261         { 0 }
262 };
263
264
265 extern struct ndmp_enum_str_table ndmp3_mover_state_table[];
266 extern char * ndmp3_mover_state_to_str (ndmp3_mover_state val);
267 extern int    ndmp3_mover_state_from_str (ndmp3_mover_state *valp, char *str);
268
269 char * ndmp3_mover_state_to_str (ndmp3_mover_state val) {
270         return ndmp_enum_to_str ((int)val, ndmp3_mover_state_table);
271 }
272
273 int ndmp3_mover_state_from_str (ndmp3_mover_state *valp, char *str) {
274         return ndmp_enum_from_str ((int*)valp, str, ndmp3_mover_state_table);
275 }
276
277 struct ndmp_enum_str_table ndmp3_mover_state_table[] = {
278         { "NDMP3_MOVER_STATE_IDLE",     NDMP3_MOVER_STATE_IDLE, },
279         { "NDMP3_MOVER_STATE_LISTEN",   NDMP3_MOVER_STATE_LISTEN, },
280         { "NDMP3_MOVER_STATE_ACTIVE",   NDMP3_MOVER_STATE_ACTIVE, },
281         { "NDMP3_MOVER_STATE_PAUSED",   NDMP3_MOVER_STATE_PAUSED, },
282         { "NDMP3_MOVER_STATE_HALTED",   NDMP3_MOVER_STATE_HALTED, },
283         { 0 }
284 };
285
286
287 extern struct ndmp_enum_str_table ndmp3_mover_pause_reason_table[];
288 extern char * ndmp3_mover_pause_reason_to_str (ndmp3_mover_pause_reason val);
289 extern int    ndmp3_mover_pause_reason_from_str (ndmp3_mover_pause_reason *valp, char *str);
290
291 char * ndmp3_mover_pause_reason_to_str (ndmp3_mover_pause_reason val) {
292         return ndmp_enum_to_str ((int)val, ndmp3_mover_pause_reason_table);
293 }
294
295 int ndmp3_mover_pause_reason_from_str (ndmp3_mover_pause_reason *valp, char *str) {
296         return ndmp_enum_from_str ((int*)valp, str, ndmp3_mover_pause_reason_table);
297 }
298
299 struct ndmp_enum_str_table ndmp3_mover_pause_reason_table[] = {
300         { "NDMP3_MOVER_PAUSE_NA",       NDMP3_MOVER_PAUSE_NA, },
301         { "NDMP3_MOVER_PAUSE_EOM",      NDMP3_MOVER_PAUSE_EOM, },
302         { "NDMP3_MOVER_PAUSE_EOF",      NDMP3_MOVER_PAUSE_EOF, },
303         { "NDMP3_MOVER_PAUSE_SEEK",     NDMP3_MOVER_PAUSE_SEEK, },
304         { "NDMP3_MOVER_PAUSE_MEDIA_ERROR", NDMP3_MOVER_PAUSE_MEDIA_ERROR, },
305         { "NDMP3_MOVER_PAUSE_EOW",      NDMP3_MOVER_PAUSE_EOW, },
306         { 0 }
307 };
308
309
310 extern struct ndmp_enum_str_table ndmp3_mover_halt_reason_table[];
311 extern char * ndmp3_mover_halt_reason_to_str (ndmp3_mover_halt_reason val);
312 extern int    ndmp3_mover_halt_reason_from_str (ndmp3_mover_halt_reason *valp, char *str);
313
314 char * ndmp3_mover_halt_reason_to_str (ndmp3_mover_halt_reason val) {
315         return ndmp_enum_to_str ((int)val, ndmp3_mover_halt_reason_table);
316 }
317
318 int ndmp3_mover_halt_reason_from_str (ndmp3_mover_halt_reason *valp, char *str) {
319         return ndmp_enum_from_str ((int*)valp, str, ndmp3_mover_halt_reason_table);
320 }
321
322 struct ndmp_enum_str_table ndmp3_mover_halt_reason_table[] = {
323         { "NDMP3_MOVER_HALT_NA",        NDMP3_MOVER_HALT_NA, },
324         { "NDMP3_MOVER_HALT_CONNECT_CLOSED",
325                                         NDMP3_MOVER_HALT_CONNECT_CLOSED, },
326         { "NDMP3_MOVER_HALT_ABORTED",   NDMP3_MOVER_HALT_ABORTED, },
327         { "NDMP3_MOVER_HALT_INTERNAL_ERROR",
328                                         NDMP3_MOVER_HALT_INTERNAL_ERROR, },
329         { "NDMP3_MOVER_HALT_CONNECT_ERROR",
330                                         NDMP3_MOVER_HALT_CONNECT_ERROR, },
331         { 0 }
332 };
333
334
335 extern struct ndmp_enum_str_table ndmp3_mover_mode_table[];
336 extern char * ndmp3_mover_mode_to_str (ndmp3_mover_mode val);
337 extern int    ndmp3_mover_mode_from_str (ndmp3_mover_mode *valp, char *str);
338
339 char * ndmp3_mover_mode_to_str (ndmp3_mover_mode val) {
340         return ndmp_enum_to_str ((int)val, ndmp3_mover_mode_table);
341 }
342
343 int ndmp3_mover_mode_from_str (ndmp3_mover_mode *valp, char *str) {
344         return ndmp_enum_from_str ((int*)valp, str, ndmp3_mover_mode_table);
345 }
346
347 struct ndmp_enum_str_table ndmp3_mover_mode_table[] = {
348         { "NDMP3_MOVER_MODE_READ",      NDMP3_MOVER_MODE_READ, },
349         { "NDMP3_MOVER_MODE_WRITE",     NDMP3_MOVER_MODE_WRITE, },
350         { 0 }
351 };
352
353
354 extern struct ndmp_enum_str_table ndmp3_data_operation_table[];
355 extern char * ndmp3_data_operation_to_str (ndmp3_data_operation val);
356 extern int    ndmp3_data_operation_from_str (ndmp3_data_operation *valp, char *str);
357
358 char * ndmp3_data_operation_to_str (ndmp3_data_operation val) {
359         return ndmp_enum_to_str ((int)val, ndmp3_data_operation_table);
360 }
361
362 int ndmp3_data_operation_from_str (ndmp3_data_operation *valp, char *str) {
363         return ndmp_enum_from_str ((int*)valp, str, ndmp3_data_operation_table);
364 }
365
366 struct ndmp_enum_str_table ndmp3_data_operation_table[] = {
367         { "NDMP3_DATA_OP_NOACTION",     NDMP3_DATA_OP_NOACTION, },
368         { "NDMP3_DATA_OP_BACKUP",       NDMP3_DATA_OP_BACKUP, },
369         { "NDMP3_DATA_OP_RESTORE",      NDMP3_DATA_OP_RESTORE, },
370         { "NDMP3_DATA_OP_RESTORE_FILEHIST",
371                                         NDMP3_DATA_OP_RESTORE_FILEHIST, },
372         { 0 }
373 };
374
375
376 extern struct ndmp_enum_str_table ndmp3_data_state_table[];
377 extern char * ndmp3_data_state_to_str (ndmp3_data_state val);
378 extern int    ndmp3_data_state_from_str (ndmp3_data_state *valp, char *str);
379
380 char * ndmp3_data_state_to_str (ndmp3_data_state val) {
381         return ndmp_enum_to_str ((int)val, ndmp3_data_state_table);
382 }
383
384 int ndmp3_data_state_from_str (ndmp3_data_state *valp, char *str) {
385         return ndmp_enum_from_str ((int*)valp, str, ndmp3_data_state_table);
386 }
387
388 struct ndmp_enum_str_table ndmp3_data_state_table[] = {
389         { "NDMP3_DATA_STATE_IDLE",      NDMP3_DATA_STATE_IDLE, },
390         { "NDMP3_DATA_STATE_ACTIVE",    NDMP3_DATA_STATE_ACTIVE, },
391         { "NDMP3_DATA_STATE_HALTED",    NDMP3_DATA_STATE_HALTED, },
392         { "NDMP3_DATA_STATE_LISTEN",    NDMP3_DATA_STATE_LISTEN, },
393         { "NDMP3_DATA_STATE_CONNECTED", NDMP3_DATA_STATE_CONNECTED, },
394         { 0 }
395 };
396
397
398 extern struct ndmp_enum_str_table ndmp3_data_halt_reason_table[];
399 extern char * ndmp3_data_halt_reason_to_str (ndmp3_data_halt_reason val);
400 extern int    ndmp3_data_halt_reason_from_str (ndmp3_data_halt_reason *valp, char *str);
401
402 char * ndmp3_data_halt_reason_to_str (ndmp3_data_halt_reason val) {
403         return ndmp_enum_to_str ((int)val, ndmp3_data_halt_reason_table);
404 }
405
406 int ndmp3_data_halt_reason_from_str (ndmp3_data_halt_reason *valp, char *str) {
407         return ndmp_enum_from_str ((int*)valp, str, ndmp3_data_halt_reason_table);
408 }
409
410 struct ndmp_enum_str_table ndmp3_data_halt_reason_table[] = {
411         { "NDMP3_DATA_HALT_NA",         NDMP3_DATA_HALT_NA, },
412         { "NDMP3_DATA_HALT_SUCCESSFUL", NDMP3_DATA_HALT_SUCCESSFUL, },
413         { "NDMP3_DATA_HALT_ABORTED",    NDMP3_DATA_HALT_ABORTED, },
414         { "NDMP3_DATA_HALT_INTERNAL_ERROR", NDMP3_DATA_HALT_INTERNAL_ERROR, },
415         { "NDMP3_DATA_HALT_CONNECT_ERROR", NDMP3_DATA_HALT_CONNECT_ERROR, },
416         { 0 }
417 };
418
419
420 extern struct ndmp_enum_str_table ndmp3_connect_reason_table[];
421 extern char * ndmp3_connect_reason_to_str (ndmp3_connect_reason val);
422 extern int    ndmp3_connect_reason_from_str (ndmp3_connect_reason *valp, char *str);
423
424 char * ndmp3_connect_reason_to_str (ndmp3_connect_reason val) {
425         return ndmp_enum_to_str ((int)val, ndmp3_connect_reason_table);
426 }
427
428 int ndmp3_connect_reason_from_str (ndmp3_connect_reason *valp, char *str) {
429         return ndmp_enum_from_str ((int*)valp, str, ndmp3_connect_reason_table);
430 }
431
432 struct ndmp_enum_str_table ndmp3_connect_reason_table[] = {
433         { "NDMP3_CONNECTED",            NDMP3_CONNECTED, },
434         { "NDMP3_SHUTDOWN",             NDMP3_SHUTDOWN, },
435         { "NDMP3_REFUSED",              NDMP3_REFUSED, },
436         { 0 }
437 };
438
439
440 extern struct ndmp_enum_str_table ndmp3_log_type_table[];
441 extern char * ndmp3_log_type_to_str (ndmp3_log_type val);
442 extern int    ndmp3_log_type_from_str (ndmp3_log_type *valp, char *str);
443
444 char * ndmp3_log_type_to_str (ndmp3_log_type val) {
445         return ndmp_enum_to_str ((int)val, ndmp3_log_type_table);
446 }
447
448 int ndmp3_log_type_from_str (ndmp3_log_type *valp, char *str) {
449         return ndmp_enum_from_str ((int*)valp, str, ndmp3_log_type_table);
450 }
451
452 struct ndmp_enum_str_table ndmp3_log_type_table[] = {
453         { "NDMP3_LOG_NORMAL",           NDMP3_LOG_NORMAL, },
454         { "NDMP3_LOG_DEBUG",            NDMP3_LOG_DEBUG, },
455         { "NDMP3_LOG_ERROR",            NDMP3_LOG_ERROR, },
456         { "NDMP3_LOG_WARNING",          NDMP3_LOG_WARNING, },
457         { 0 }
458 };
459
460
461 extern struct ndmp_enum_str_table ndmp3_fs_type_table[];
462 extern char * ndmp3_fs_type_to_str (ndmp3_fs_type val);
463 extern int    ndmp3_fs_type_from_str (ndmp3_fs_type *valp, char *str);
464
465 char * ndmp3_fs_type_to_str (ndmp3_fs_type val) {
466         return ndmp_enum_to_str ((int)val, ndmp3_fs_type_table);
467 }
468
469 int ndmp3_fs_type_from_str (ndmp3_fs_type *valp, char *str) {
470         return ndmp_enum_from_str ((int*)valp, str, ndmp3_fs_type_table);
471 }
472
473 struct ndmp_enum_str_table ndmp3_fs_type_table[] = {
474         { "NDMP3_FS_UNIX",              NDMP3_FS_UNIX, },
475         { "NDMP3_FS_NT",                NDMP3_FS_NT, },
476         { "NDMP3_FS_OTHER",             NDMP3_FS_OTHER, },
477         { 0 }
478 };
479
480
481 extern struct ndmp_enum_str_table ndmp3_file_type_table[];
482 extern char * ndmp3_file_type_to_str (ndmp3_file_type val);
483 extern int    ndmp3_file_type_from_str (ndmp3_file_type *valp, char *str);
484
485 char * ndmp3_file_type_to_str (ndmp3_file_type val) {
486         return ndmp_enum_to_str ((int)val, ndmp3_file_type_table);
487 }
488
489 int ndmp3_file_type_from_str (ndmp3_file_type *valp, char *str) {
490         return ndmp_enum_from_str ((int*)valp, str, ndmp3_file_type_table);
491 }
492
493 struct ndmp_enum_str_table ndmp3_file_type_table[] = {
494         { "NDMP3_FILE_DIR",             NDMP3_FILE_DIR, },
495         { "NDMP3_FILE_FIFO",            NDMP3_FILE_FIFO, },
496         { "NDMP3_FILE_CSPEC",           NDMP3_FILE_CSPEC, },
497         { "NDMP3_FILE_BSPEC",           NDMP3_FILE_BSPEC, },
498         { "NDMP3_FILE_REG",             NDMP3_FILE_REG, },
499         { "NDMP3_FILE_SLINK",           NDMP3_FILE_SLINK, },
500         { "NDMP3_FILE_SOCK",            NDMP3_FILE_SOCK, },
501         { "NDMP3_FILE_REGISTRY",        NDMP3_FILE_REGISTRY, },
502         { "NDMP3_FILE_OTHER",           NDMP3_FILE_OTHER, },
503         { 0 }
504 };
505
506 #endif /* !NDMOS_OPTION_NO_NDMP3 */
507