1 # This file was automatically generated by SWIG (http://www.swig.org).
4 # Do not make changes to this file unless you know what you are doing--modify
5 # the SWIG interface file instead.
7 package Amanda::Config;
9 use base qw(DynaLoader);
10 package Amanda::Configc;
11 bootstrap Amanda::Config;
12 package Amanda::Config;
15 # ---------- BASE METHODS -------------
17 package Amanda::Config;
20 my ($classname,$obj) = @_;
21 return bless $obj, $classname;
31 my ($self,$field) = @_;
32 my $member_func = "swig_${field}_get";
33 $self->$member_func();
37 my ($self,$field,$newval) = @_;
38 my $member_func = "swig_${field}_set";
39 $self->$member_func($newval);
48 # ------- FUNCTION WRAPPERS --------
50 package Amanda::Config;
52 *data_path_from_string = *Amanda::Configc::data_path_from_string;
53 *getconf = *Amanda::Configc::getconf;
54 *getconf_seen = *Amanda::Configc::getconf_seen;
55 *getconf_linenum = *Amanda::Configc::getconf_linenum;
56 *getconf_byname = *Amanda::Configc::getconf_byname;
57 *getconf_list = *Amanda::Configc::getconf_list;
58 *getconf_byname_strs = *Amanda::Configc::getconf_byname_strs;
59 *lookup_tapetype = *Amanda::Configc::lookup_tapetype;
60 *tapetype_getconf = *Amanda::Configc::tapetype_getconf;
61 *tapetype_name = *Amanda::Configc::tapetype_name;
62 *tapetype_seen = *Amanda::Configc::tapetype_seen;
63 *lookup_dumptype = *Amanda::Configc::lookup_dumptype;
64 *dumptype_getconf = *Amanda::Configc::dumptype_getconf;
65 *dumptype_name = *Amanda::Configc::dumptype_name;
66 *dumptype_seen = *Amanda::Configc::dumptype_seen;
67 *lookup_interface = *Amanda::Configc::lookup_interface;
68 *interface_getconf = *Amanda::Configc::interface_getconf;
69 *interface_name = *Amanda::Configc::interface_name;
70 *interface_seen = *Amanda::Configc::interface_seen;
71 *lookup_holdingdisk = *Amanda::Configc::lookup_holdingdisk;
72 *getconf_holdingdisks = *Amanda::Configc::getconf_holdingdisks;
73 *holdingdisk_getconf = *Amanda::Configc::holdingdisk_getconf;
74 *holdingdisk_name = *Amanda::Configc::holdingdisk_name;
75 *holdingdisk_seen = *Amanda::Configc::holdingdisk_seen;
76 *lookup_application = *Amanda::Configc::lookup_application;
77 *application_getconf = *Amanda::Configc::application_getconf;
78 *application_name = *Amanda::Configc::application_name;
79 *application_seen = *Amanda::Configc::application_seen;
80 *lookup_pp_script = *Amanda::Configc::lookup_pp_script;
81 *pp_script_getconf = *Amanda::Configc::pp_script_getconf;
82 *pp_script_name = *Amanda::Configc::pp_script_name;
83 *pp_script_seen = *Amanda::Configc::pp_script_seen;
84 *lookup_device_config = *Amanda::Configc::lookup_device_config;
85 *device_config_getconf = *Amanda::Configc::device_config_getconf;
86 *device_config_name = *Amanda::Configc::device_config_name;
87 *device_config_seen = *Amanda::Configc::device_config_seen;
88 *lookup_changer_config = *Amanda::Configc::lookup_changer_config;
89 *changer_config_getconf = *Amanda::Configc::changer_config_getconf;
90 *changer_config_name = *Amanda::Configc::changer_config_name;
91 *changer_config_seen = *Amanda::Configc::changer_config_seen;
92 *getconf_unit_divisor = *Amanda::Configc::getconf_unit_divisor;
93 *config_init = *Amanda::Configc::config_init;
94 *config_uninit = *Amanda::Configc::config_uninit;
95 *get_config_options = *Amanda::Configc::get_config_options;
96 *get_config_name = *Amanda::Configc::get_config_name;
97 *get_config_dir = *Amanda::Configc::get_config_dir;
98 *get_config_filename = *Amanda::Configc::get_config_filename;
99 *config_print_errors = *Amanda::Configc::config_print_errors;
100 *config_clear_errors = *Amanda::Configc::config_clear_errors;
101 *config_errors = *Amanda::Configc::config_errors;
102 *new_config_overrides = *Amanda::Configc::new_config_overrides;
103 *free_config_overrides = *Amanda::Configc::free_config_overrides;
104 *add_config_override = *Amanda::Configc::add_config_override;
105 *add_config_override_opt = *Amanda::Configc::add_config_override_opt;
106 *set_config_overrides = *Amanda::Configc::set_config_overrides;
107 *dump_configuration = *Amanda::Configc::dump_configuration;
108 *config_dir_relative = *Amanda::Configc::config_dir_relative;
109 *taperalgo2str = *Amanda::Configc::taperalgo2str;
110 *find_multiplier = *Amanda::Configc::find_multiplier;
111 *C_string_to_boolean = *Amanda::Configc::C_string_to_boolean;
113 # ------- VARIABLE STUBS --------
115 package Amanda::Config;
117 *CNF_ORG = *Amanda::Configc::CNF_ORG;
118 *CNF_CONF = *Amanda::Configc::CNF_CONF;
119 *CNF_INDEX_SERVER = *Amanda::Configc::CNF_INDEX_SERVER;
120 *CNF_TAPE_SERVER = *Amanda::Configc::CNF_TAPE_SERVER;
121 *CNF_AUTH = *Amanda::Configc::CNF_AUTH;
122 *CNF_SSH_KEYS = *Amanda::Configc::CNF_SSH_KEYS;
123 *CNF_AMANDAD_PATH = *Amanda::Configc::CNF_AMANDAD_PATH;
124 *CNF_CLIENT_USERNAME = *Amanda::Configc::CNF_CLIENT_USERNAME;
125 *CNF_CLIENT_PORT = *Amanda::Configc::CNF_CLIENT_PORT;
126 *CNF_GNUTAR_LIST_DIR = *Amanda::Configc::CNF_GNUTAR_LIST_DIR;
127 *CNF_AMANDATES = *Amanda::Configc::CNF_AMANDATES;
128 *CNF_MAILER = *Amanda::Configc::CNF_MAILER;
129 *CNF_MAILTO = *Amanda::Configc::CNF_MAILTO;
130 *CNF_DUMPUSER = *Amanda::Configc::CNF_DUMPUSER;
131 *CNF_TAPEDEV = *Amanda::Configc::CNF_TAPEDEV;
132 *CNF_DEVICE_PROPERTY = *Amanda::Configc::CNF_DEVICE_PROPERTY;
133 *CNF_PROPERTY = *Amanda::Configc::CNF_PROPERTY;
134 *CNF_CHANGERDEV = *Amanda::Configc::CNF_CHANGERDEV;
135 *CNF_CHANGERFILE = *Amanda::Configc::CNF_CHANGERFILE;
136 *CNF_LABELSTR = *Amanda::Configc::CNF_LABELSTR;
137 *CNF_AUTOLABEL = *Amanda::Configc::CNF_AUTOLABEL;
138 *CNF_TAPELIST = *Amanda::Configc::CNF_TAPELIST;
139 *CNF_DISKFILE = *Amanda::Configc::CNF_DISKFILE;
140 *CNF_INFOFILE = *Amanda::Configc::CNF_INFOFILE;
141 *CNF_LOGDIR = *Amanda::Configc::CNF_LOGDIR;
142 *CNF_INDEXDIR = *Amanda::Configc::CNF_INDEXDIR;
143 *CNF_TAPETYPE = *Amanda::Configc::CNF_TAPETYPE;
144 *CNF_DUMPCYCLE = *Amanda::Configc::CNF_DUMPCYCLE;
145 *CNF_RUNSPERCYCLE = *Amanda::Configc::CNF_RUNSPERCYCLE;
146 *CNF_TAPECYCLE = *Amanda::Configc::CNF_TAPECYCLE;
147 *CNF_NETUSAGE = *Amanda::Configc::CNF_NETUSAGE;
148 *CNF_INPARALLEL = *Amanda::Configc::CNF_INPARALLEL;
149 *CNF_DUMPORDER = *Amanda::Configc::CNF_DUMPORDER;
150 *CNF_BUMPPERCENT = *Amanda::Configc::CNF_BUMPPERCENT;
151 *CNF_BUMPSIZE = *Amanda::Configc::CNF_BUMPSIZE;
152 *CNF_BUMPMULT = *Amanda::Configc::CNF_BUMPMULT;
153 *CNF_BUMPDAYS = *Amanda::Configc::CNF_BUMPDAYS;
154 *CNF_TPCHANGER = *Amanda::Configc::CNF_TPCHANGER;
155 *CNF_RUNTAPES = *Amanda::Configc::CNF_RUNTAPES;
156 *CNF_MAXDUMPS = *Amanda::Configc::CNF_MAXDUMPS;
157 *CNF_ETIMEOUT = *Amanda::Configc::CNF_ETIMEOUT;
158 *CNF_DTIMEOUT = *Amanda::Configc::CNF_DTIMEOUT;
159 *CNF_CTIMEOUT = *Amanda::Configc::CNF_CTIMEOUT;
160 *CNF_TAPEBUFS = *Amanda::Configc::CNF_TAPEBUFS;
161 *CNF_DEVICE_OUTPUT_BUFFER_SIZE = *Amanda::Configc::CNF_DEVICE_OUTPUT_BUFFER_SIZE;
162 *CNF_PRINTER = *Amanda::Configc::CNF_PRINTER;
163 *CNF_AUTOFLUSH = *Amanda::Configc::CNF_AUTOFLUSH;
164 *CNF_RESERVE = *Amanda::Configc::CNF_RESERVE;
165 *CNF_MAXDUMPSIZE = *Amanda::Configc::CNF_MAXDUMPSIZE;
166 *CNF_COLUMNSPEC = *Amanda::Configc::CNF_COLUMNSPEC;
167 *CNF_AMRECOVER_DO_FSF = *Amanda::Configc::CNF_AMRECOVER_DO_FSF;
168 *CNF_AMRECOVER_CHECK_LABEL = *Amanda::Configc::CNF_AMRECOVER_CHECK_LABEL;
169 *CNF_AMRECOVER_CHANGER = *Amanda::Configc::CNF_AMRECOVER_CHANGER;
170 *CNF_TAPERALGO = *Amanda::Configc::CNF_TAPERALGO;
171 *CNF_FLUSH_THRESHOLD_DUMPED = *Amanda::Configc::CNF_FLUSH_THRESHOLD_DUMPED;
172 *CNF_FLUSH_THRESHOLD_SCHEDULED = *Amanda::Configc::CNF_FLUSH_THRESHOLD_SCHEDULED;
173 *CNF_TAPERFLUSH = *Amanda::Configc::CNF_TAPERFLUSH;
174 *CNF_DISPLAYUNIT = *Amanda::Configc::CNF_DISPLAYUNIT;
175 *CNF_KRB5KEYTAB = *Amanda::Configc::CNF_KRB5KEYTAB;
176 *CNF_KRB5PRINCIPAL = *Amanda::Configc::CNF_KRB5PRINCIPAL;
177 *CNF_LABEL_NEW_TAPES = *Amanda::Configc::CNF_LABEL_NEW_TAPES;
178 *CNF_USETIMESTAMPS = *Amanda::Configc::CNF_USETIMESTAMPS;
179 *CNF_REP_TRIES = *Amanda::Configc::CNF_REP_TRIES;
180 *CNF_CONNECT_TRIES = *Amanda::Configc::CNF_CONNECT_TRIES;
181 *CNF_REQ_TRIES = *Amanda::Configc::CNF_REQ_TRIES;
182 *CNF_DEBUG_AMANDAD = *Amanda::Configc::CNF_DEBUG_AMANDAD;
183 *CNF_DEBUG_RECOVERY = *Amanda::Configc::CNF_DEBUG_RECOVERY;
184 *CNF_DEBUG_AMIDXTAPED = *Amanda::Configc::CNF_DEBUG_AMIDXTAPED;
185 *CNF_DEBUG_AMINDEXD = *Amanda::Configc::CNF_DEBUG_AMINDEXD;
186 *CNF_DEBUG_AMRECOVER = *Amanda::Configc::CNF_DEBUG_AMRECOVER;
187 *CNF_DEBUG_AUTH = *Amanda::Configc::CNF_DEBUG_AUTH;
188 *CNF_DEBUG_EVENT = *Amanda::Configc::CNF_DEBUG_EVENT;
189 *CNF_DEBUG_HOLDING = *Amanda::Configc::CNF_DEBUG_HOLDING;
190 *CNF_DEBUG_PROTOCOL = *Amanda::Configc::CNF_DEBUG_PROTOCOL;
191 *CNF_DEBUG_PLANNER = *Amanda::Configc::CNF_DEBUG_PLANNER;
192 *CNF_DEBUG_DRIVER = *Amanda::Configc::CNF_DEBUG_DRIVER;
193 *CNF_DEBUG_DUMPER = *Amanda::Configc::CNF_DEBUG_DUMPER;
194 *CNF_DEBUG_CHUNKER = *Amanda::Configc::CNF_DEBUG_CHUNKER;
195 *CNF_DEBUG_TAPER = *Amanda::Configc::CNF_DEBUG_TAPER;
196 *CNF_DEBUG_SELFCHECK = *Amanda::Configc::CNF_DEBUG_SELFCHECK;
197 *CNF_DEBUG_SENDSIZE = *Amanda::Configc::CNF_DEBUG_SENDSIZE;
198 *CNF_DEBUG_SENDBACKUP = *Amanda::Configc::CNF_DEBUG_SENDBACKUP;
199 *CNF_RESERVED_UDP_PORT = *Amanda::Configc::CNF_RESERVED_UDP_PORT;
200 *CNF_RESERVED_TCP_PORT = *Amanda::Configc::CNF_RESERVED_TCP_PORT;
201 *CNF_UNRESERVED_TCP_PORT = *Amanda::Configc::CNF_UNRESERVED_TCP_PORT;
202 *CNF_HOLDINGDISK = *Amanda::Configc::CNF_HOLDINGDISK;
203 *CNF_SEND_AMREPORT_ON = *Amanda::Configc::CNF_SEND_AMREPORT_ON;
204 *TAPETYPE_COMMENT = *Amanda::Configc::TAPETYPE_COMMENT;
205 *TAPETYPE_LBL_TEMPL = *Amanda::Configc::TAPETYPE_LBL_TEMPL;
206 *TAPETYPE_BLOCKSIZE = *Amanda::Configc::TAPETYPE_BLOCKSIZE;
207 *TAPETYPE_READBLOCKSIZE = *Amanda::Configc::TAPETYPE_READBLOCKSIZE;
208 *TAPETYPE_LENGTH = *Amanda::Configc::TAPETYPE_LENGTH;
209 *TAPETYPE_FILEMARK = *Amanda::Configc::TAPETYPE_FILEMARK;
210 *TAPETYPE_SPEED = *Amanda::Configc::TAPETYPE_SPEED;
211 *TAPETYPE_FILE_PAD = *Amanda::Configc::TAPETYPE_FILE_PAD;
212 *DUMPTYPE_COMMENT = *Amanda::Configc::DUMPTYPE_COMMENT;
213 *DUMPTYPE_PROGRAM = *Amanda::Configc::DUMPTYPE_PROGRAM;
214 *DUMPTYPE_SRVCOMPPROG = *Amanda::Configc::DUMPTYPE_SRVCOMPPROG;
215 *DUMPTYPE_CLNTCOMPPROG = *Amanda::Configc::DUMPTYPE_CLNTCOMPPROG;
216 *DUMPTYPE_SRV_ENCRYPT = *Amanda::Configc::DUMPTYPE_SRV_ENCRYPT;
217 *DUMPTYPE_CLNT_ENCRYPT = *Amanda::Configc::DUMPTYPE_CLNT_ENCRYPT;
218 *DUMPTYPE_AMANDAD_PATH = *Amanda::Configc::DUMPTYPE_AMANDAD_PATH;
219 *DUMPTYPE_CLIENT_USERNAME = *Amanda::Configc::DUMPTYPE_CLIENT_USERNAME;
220 *DUMPTYPE_CLIENT_PORT = *Amanda::Configc::DUMPTYPE_CLIENT_PORT;
221 *DUMPTYPE_SSH_KEYS = *Amanda::Configc::DUMPTYPE_SSH_KEYS;
222 *DUMPTYPE_AUTH = *Amanda::Configc::DUMPTYPE_AUTH;
223 *DUMPTYPE_EXCLUDE = *Amanda::Configc::DUMPTYPE_EXCLUDE;
224 *DUMPTYPE_INCLUDE = *Amanda::Configc::DUMPTYPE_INCLUDE;
225 *DUMPTYPE_PRIORITY = *Amanda::Configc::DUMPTYPE_PRIORITY;
226 *DUMPTYPE_DUMPCYCLE = *Amanda::Configc::DUMPTYPE_DUMPCYCLE;
227 *DUMPTYPE_MAXDUMPS = *Amanda::Configc::DUMPTYPE_MAXDUMPS;
228 *DUMPTYPE_MAXPROMOTEDAY = *Amanda::Configc::DUMPTYPE_MAXPROMOTEDAY;
229 *DUMPTYPE_BUMPPERCENT = *Amanda::Configc::DUMPTYPE_BUMPPERCENT;
230 *DUMPTYPE_BUMPSIZE = *Amanda::Configc::DUMPTYPE_BUMPSIZE;
231 *DUMPTYPE_BUMPDAYS = *Amanda::Configc::DUMPTYPE_BUMPDAYS;
232 *DUMPTYPE_BUMPMULT = *Amanda::Configc::DUMPTYPE_BUMPMULT;
233 *DUMPTYPE_STARTTIME = *Amanda::Configc::DUMPTYPE_STARTTIME;
234 *DUMPTYPE_STRATEGY = *Amanda::Configc::DUMPTYPE_STRATEGY;
235 *DUMPTYPE_ESTIMATELIST = *Amanda::Configc::DUMPTYPE_ESTIMATELIST;
236 *DUMPTYPE_COMPRESS = *Amanda::Configc::DUMPTYPE_COMPRESS;
237 *DUMPTYPE_ENCRYPT = *Amanda::Configc::DUMPTYPE_ENCRYPT;
238 *DUMPTYPE_SRV_DECRYPT_OPT = *Amanda::Configc::DUMPTYPE_SRV_DECRYPT_OPT;
239 *DUMPTYPE_CLNT_DECRYPT_OPT = *Amanda::Configc::DUMPTYPE_CLNT_DECRYPT_OPT;
240 *DUMPTYPE_COMPRATE = *Amanda::Configc::DUMPTYPE_COMPRATE;
241 *DUMPTYPE_TAPE_SPLITSIZE = *Amanda::Configc::DUMPTYPE_TAPE_SPLITSIZE;
242 *DUMPTYPE_FALLBACK_SPLITSIZE = *Amanda::Configc::DUMPTYPE_FALLBACK_SPLITSIZE;
243 *DUMPTYPE_SPLIT_DISKBUFFER = *Amanda::Configc::DUMPTYPE_SPLIT_DISKBUFFER;
244 *DUMPTYPE_RECORD = *Amanda::Configc::DUMPTYPE_RECORD;
245 *DUMPTYPE_SKIP_INCR = *Amanda::Configc::DUMPTYPE_SKIP_INCR;
246 *DUMPTYPE_SKIP_FULL = *Amanda::Configc::DUMPTYPE_SKIP_FULL;
247 *DUMPTYPE_HOLDINGDISK = *Amanda::Configc::DUMPTYPE_HOLDINGDISK;
248 *DUMPTYPE_KENCRYPT = *Amanda::Configc::DUMPTYPE_KENCRYPT;
249 *DUMPTYPE_IGNORE = *Amanda::Configc::DUMPTYPE_IGNORE;
250 *DUMPTYPE_INDEX = *Amanda::Configc::DUMPTYPE_INDEX;
251 *DUMPTYPE_APPLICATION = *Amanda::Configc::DUMPTYPE_APPLICATION;
252 *DUMPTYPE_SCRIPTLIST = *Amanda::Configc::DUMPTYPE_SCRIPTLIST;
253 *DUMPTYPE_PROPERTY = *Amanda::Configc::DUMPTYPE_PROPERTY;
254 *DUMPTYPE_DATA_PATH = *Amanda::Configc::DUMPTYPE_DATA_PATH;
255 *INTER_COMMENT = *Amanda::Configc::INTER_COMMENT;
256 *INTER_MAXUSAGE = *Amanda::Configc::INTER_MAXUSAGE;
257 *HOLDING_COMMENT = *Amanda::Configc::HOLDING_COMMENT;
258 *HOLDING_DISKDIR = *Amanda::Configc::HOLDING_DISKDIR;
259 *HOLDING_DISKSIZE = *Amanda::Configc::HOLDING_DISKSIZE;
260 *HOLDING_CHUNKSIZE = *Amanda::Configc::HOLDING_CHUNKSIZE;
261 *APPLICATION_COMMENT = *Amanda::Configc::APPLICATION_COMMENT;
262 *APPLICATION_PLUGIN = *Amanda::Configc::APPLICATION_PLUGIN;
263 *APPLICATION_PROPERTY = *Amanda::Configc::APPLICATION_PROPERTY;
264 *PP_SCRIPT_COMMENT = *Amanda::Configc::PP_SCRIPT_COMMENT;
265 *PP_SCRIPT_PLUGIN = *Amanda::Configc::PP_SCRIPT_PLUGIN;
266 *PP_SCRIPT_PROPERTY = *Amanda::Configc::PP_SCRIPT_PROPERTY;
267 *PP_SCRIPT_EXECUTE_ON = *Amanda::Configc::PP_SCRIPT_EXECUTE_ON;
268 *PP_SCRIPT_EXECUTE_WHERE = *Amanda::Configc::PP_SCRIPT_EXECUTE_WHERE;
269 *PP_SCRIPT_ORDER = *Amanda::Configc::PP_SCRIPT_ORDER;
270 *DEVICE_CONFIG_COMMENT = *Amanda::Configc::DEVICE_CONFIG_COMMENT;
271 *DEVICE_CONFIG_TAPEDEV = *Amanda::Configc::DEVICE_CONFIG_TAPEDEV;
272 *DEVICE_CONFIG_DEVICE_PROPERTY = *Amanda::Configc::DEVICE_CONFIG_DEVICE_PROPERTY;
273 *CHANGER_CONFIG_COMMENT = *Amanda::Configc::CHANGER_CONFIG_COMMENT;
274 *CHANGER_CONFIG_TAPEDEV = *Amanda::Configc::CHANGER_CONFIG_TAPEDEV;
275 *CHANGER_CONFIG_TPCHANGER = *Amanda::Configc::CHANGER_CONFIG_TPCHANGER;
276 *CHANGER_CONFIG_CHANGERDEV = *Amanda::Configc::CHANGER_CONFIG_CHANGERDEV;
277 *CHANGER_CONFIG_CHANGERFILE = *Amanda::Configc::CHANGER_CONFIG_CHANGERFILE;
278 *CHANGER_CONFIG_PROPERTY = *Amanda::Configc::CHANGER_CONFIG_PROPERTY;
279 *CHANGER_CONFIG_DEVICE_PROPERTY = *Amanda::Configc::CHANGER_CONFIG_DEVICE_PROPERTY;
280 *HOLD_NEVER = *Amanda::Configc::HOLD_NEVER;
281 *HOLD_AUTO = *Amanda::Configc::HOLD_AUTO;
282 *HOLD_REQUIRED = *Amanda::Configc::HOLD_REQUIRED;
283 *COMP_NONE = *Amanda::Configc::COMP_NONE;
284 *COMP_FAST = *Amanda::Configc::COMP_FAST;
285 *COMP_BEST = *Amanda::Configc::COMP_BEST;
286 *COMP_CUST = *Amanda::Configc::COMP_CUST;
287 *COMP_SERVER_FAST = *Amanda::Configc::COMP_SERVER_FAST;
288 *COMP_SERVER_BEST = *Amanda::Configc::COMP_SERVER_BEST;
289 *COMP_SERVER_CUST = *Amanda::Configc::COMP_SERVER_CUST;
290 *ENCRYPT_NONE = *Amanda::Configc::ENCRYPT_NONE;
291 *ENCRYPT_CUST = *Amanda::Configc::ENCRYPT_CUST;
292 *ENCRYPT_SERV_CUST = *Amanda::Configc::ENCRYPT_SERV_CUST;
293 *DS_SKIP = *Amanda::Configc::DS_SKIP;
294 *DS_STANDARD = *Amanda::Configc::DS_STANDARD;
295 *DS_NOFULL = *Amanda::Configc::DS_NOFULL;
296 *DS_NOINC = *Amanda::Configc::DS_NOINC;
297 *DS_4 = *Amanda::Configc::DS_4;
298 *DS_5 = *Amanda::Configc::DS_5;
299 *DS_HANOI = *Amanda::Configc::DS_HANOI;
300 *DS_INCRONLY = *Amanda::Configc::DS_INCRONLY;
301 *ES_CLIENT = *Amanda::Configc::ES_CLIENT;
302 *ES_SERVER = *Amanda::Configc::ES_SERVER;
303 *ES_CALCSIZE = *Amanda::Configc::ES_CALCSIZE;
304 *AL_OTHER_CONFIG = *Amanda::Configc::AL_OTHER_CONFIG;
305 *AL_NON_AMANDA = *Amanda::Configc::AL_NON_AMANDA;
306 *AL_VOLUME_ERROR = *Amanda::Configc::AL_VOLUME_ERROR;
307 *AL_EMPTY = *Amanda::Configc::AL_EMPTY;
308 *ALGO_FIRST = *Amanda::Configc::ALGO_FIRST;
309 *ALGO_FIRSTFIT = *Amanda::Configc::ALGO_FIRSTFIT;
310 *ALGO_LARGEST = *Amanda::Configc::ALGO_LARGEST;
311 *ALGO_LARGESTFIT = *Amanda::Configc::ALGO_LARGESTFIT;
312 *ALGO_SMALLEST = *Amanda::Configc::ALGO_SMALLEST;
313 *ALGO_LAST = *Amanda::Configc::ALGO_LAST;
314 *EXECUTE_ON_PRE_DLE_AMCHECK = *Amanda::Configc::EXECUTE_ON_PRE_DLE_AMCHECK;
315 *EXECUTE_ON_PRE_HOST_AMCHECK = *Amanda::Configc::EXECUTE_ON_PRE_HOST_AMCHECK;
316 *EXECUTE_ON_POST_DLE_AMCHECK = *Amanda::Configc::EXECUTE_ON_POST_DLE_AMCHECK;
317 *EXECUTE_ON_POST_HOST_AMCHECK = *Amanda::Configc::EXECUTE_ON_POST_HOST_AMCHECK;
318 *EXECUTE_ON_PRE_DLE_ESTIMATE = *Amanda::Configc::EXECUTE_ON_PRE_DLE_ESTIMATE;
319 *EXECUTE_ON_PRE_HOST_ESTIMATE = *Amanda::Configc::EXECUTE_ON_PRE_HOST_ESTIMATE;
320 *EXECUTE_ON_POST_DLE_ESTIMATE = *Amanda::Configc::EXECUTE_ON_POST_DLE_ESTIMATE;
321 *EXECUTE_ON_POST_HOST_ESTIMATE = *Amanda::Configc::EXECUTE_ON_POST_HOST_ESTIMATE;
322 *EXECUTE_ON_PRE_DLE_BACKUP = *Amanda::Configc::EXECUTE_ON_PRE_DLE_BACKUP;
323 *EXECUTE_ON_PRE_HOST_BACKUP = *Amanda::Configc::EXECUTE_ON_PRE_HOST_BACKUP;
324 *EXECUTE_ON_POST_DLE_BACKUP = *Amanda::Configc::EXECUTE_ON_POST_DLE_BACKUP;
325 *EXECUTE_ON_POST_HOST_BACKUP = *Amanda::Configc::EXECUTE_ON_POST_HOST_BACKUP;
326 *SEND_AMREPORT_ALL = *Amanda::Configc::SEND_AMREPORT_ALL;
327 *SEND_AMREPORT_STRANGE = *Amanda::Configc::SEND_AMREPORT_STRANGE;
328 *SEND_AMREPORT_ERROR = *Amanda::Configc::SEND_AMREPORT_ERROR;
329 *SEND_AMREPORT_NEVER = *Amanda::Configc::SEND_AMREPORT_NEVER;
330 *DATA_PATH_AMANDA = *Amanda::Configc::DATA_PATH_AMANDA;
331 *DATA_PATH_DIRECTTCP = *Amanda::Configc::DATA_PATH_DIRECTTCP;
332 *debug_amandad = *Amanda::Configc::debug_amandad;
333 *debug_recovery = *Amanda::Configc::debug_recovery;
334 *debug_amidxtaped = *Amanda::Configc::debug_amidxtaped;
335 *debug_amindexd = *Amanda::Configc::debug_amindexd;
336 *debug_amrecover = *Amanda::Configc::debug_amrecover;
337 *debug_auth = *Amanda::Configc::debug_auth;
338 *debug_event = *Amanda::Configc::debug_event;
339 *debug_holding = *Amanda::Configc::debug_holding;
340 *debug_protocol = *Amanda::Configc::debug_protocol;
341 *debug_planner = *Amanda::Configc::debug_planner;
342 *debug_driver = *Amanda::Configc::debug_driver;
343 *debug_dumper = *Amanda::Configc::debug_dumper;
344 *debug_chunker = *Amanda::Configc::debug_chunker;
345 *debug_taper = *Amanda::Configc::debug_taper;
346 *debug_selfcheck = *Amanda::Configc::debug_selfcheck;
347 *debug_sendsize = *Amanda::Configc::debug_sendsize;
348 *debug_sendbackup = *Amanda::Configc::debug_sendbackup;
349 *CFGERR_OK = *Amanda::Configc::CFGERR_OK;
350 *CFGERR_WARNINGS = *Amanda::Configc::CFGERR_WARNINGS;
351 *CFGERR_ERRORS = *Amanda::Configc::CFGERR_ERRORS;
352 *CONFIG_INIT_EXPLICIT_NAME = *Amanda::Configc::CONFIG_INIT_EXPLICIT_NAME;
353 *CONFIG_INIT_USE_CWD = *Amanda::Configc::CONFIG_INIT_USE_CWD;
354 *CONFIG_INIT_CLIENT = *Amanda::Configc::CONFIG_INIT_CLIENT;
355 *CONFIG_INIT_OVERLAY = *Amanda::Configc::CONFIG_INIT_OVERLAY;
363 Amanda::Config - access to Amanda configuration parameters
367 use Amanda::Config qw( :init :getconf );
369 my $config_name = shift @ARGV;
370 config_init($CONFIG_INIT_EXPLICIT_NAME, $config_name);
371 apply_config_overrides($config_overrides);
372 my ($cfgerr_level, @cfgerr_errors) = config_errors();
373 if ($cfgerr_level >= $CFGERR_WARNINGS) {
374 config_print_errors();
375 if ($cfgerr_level >= $CFGERR_ERRORS) {
376 die("errors processing config file");
380 print "tape device is ", getconf($CNF_TAPEDEV), "\n";
382 This API closely parallels the C API. See F<conffile.h> for details on the
383 configuration parameter constants.
385 =head1 INITIALIZATION
387 The Amanda configuration is treated as a global state for the
388 application. It is not possible to load two configurations
391 All initialization-related symbols can be imported with the tag
394 =head2 LOADING CONFIGURATION
396 The Amanda configuration is loaded with the aptly named
397 C<config_init($flags, $name)>. Because of the great variety in
398 invocation method among Amanda applications, this function has a number
399 of flags that affect its behavior. These flags can be OR'd together.
403 =item If C<CONFIG_INIT_EXPLICIT_NAME> is given, then the C<$name> parameter can
404 contain the name of a configuration to load. Note that if the parameter is
405 C<".">, this is equivalent to C<CONFIG_INIT_USE_CWD>.
407 =item If C<CONFIG_INIT_USE_CWD> is given, and if the current directory
408 contains C<amanda.conf>, then that file is loaded.
410 =item If C<CONFIG_INIT_CLIENT> is given, then a client configuration
413 =item If C<CONFIG_INIT_OVERLAY> is given, then any existing
414 configuration is not reset.
418 See C<conffile.h> for more detailed information on these flags and
421 C<config_uninit()> reverses the effects of C<config_init>. It is
424 Once the configuration is loaded, the configuration name
425 (e.g., "DailySet1"), directory (C</etc/amanda/DailySet1>),
426 and filename (C</etc/amanda/DailySet1/amanda.conf>) are
427 available from C<get_config_name()>, C<get_config_dir()>, and
428 C<get_config_filename()>, respectively.
432 This module collects configuration errors and warnings in a list, and also
433 tracks the overall error level with an enumeration: C<$CFGERR_OK>,
434 C<$CFGERR_WARNINGS>, and C<$CFGERR_ERRORS>. C<config_init> and
435 C<apply_config_overrides> both return the current level. The level and the
436 list of error messages are available from C<config_errors>:
438 my ($cfgerr_level, @errors) = Amanda::Config::config_errors();
440 As a convenience, C<config_print_errors> will print all error messages to
441 stderr. The error state can be cleared with C<config_clear_errors>.
443 =head2 CONFIG OVERWRITES
445 Most Amanda applications accept the command-line option C<-o>
446 to "overwrite" configuration values in C<amanda.conf>. In Perl
447 applications, these options should be parsed with L<Getopt::Long|Getopt::Long>, with
448 the action being a call to C<add_config_override_opt>. For example:
450 my $config_overrides = new_config_overrides($#ARGV+1);
453 'o=s' => sub { add_config_override_opt($config_overrides, $_[1]); },
455 my $cfg_ok = config_init($CONFIG_INIT_EXPLICIT_NAME | $CONFIG_INIT_USE_CWD, $config_name);
456 apply_config_overrides($config_overrides);
458 C<new_config_overrides($size_estimate)> creates a new
459 overwrites object, using the given size as an estimate of
460 the number of items it will contain (C<$#ARGC/2> is a good
461 estimate). Individual configuration options are then added via
462 C<add_config_override($co, $key, $value)> (which takes a key/value
463 pair) or C<add_config_override_opt($co, $optarg)>, which parses a
464 string following C<-o> on the command line.
466 Once the overwrites are gathered, they are applied with
467 C<apply_config_overrides($co)>, which applies the overwrites to the
468 active configuration. No further operations can be performed on the
469 overwrites object after C<apply_config_overrides> has been called.
471 The utility function C<get_config_options()> returns a list of
472 command-line arguments to represent any overwrites that were used
473 to generate the current configuration. (TODO: this function isn't
476 =head1 PARAMETER ACCESS
478 Amanda configurations consist of "global" parameters and several
479 sets of "subsections" -- one set for dumptypes, one for tapetypes,
482 All of the global parameters are represented by a constant beginning with
483 C<$CNF_>, e.g., C<$CNF_LABELSTR>. The function C<getconf($cnf)> returns the
484 value of parameter C<$cnf>, in whatever format is appropriate for the parameter
485 (see DATA FORMATS, below). C<getconf_seen($cnf)> returns a true value if
486 C<$cnf> was seen in the configuration file. If it was not seen, then it will
487 have its default value. C<getconf_linenum($cnf)> returns the line number in
488 the configuration file where it is set, 0 if it is not in a configuration file,
489 or -2 if it is set in a command line argument.
491 Some parameters have enumerated types. The values for those
492 enumerations are available from this module with the same name as
493 in C<conffile.h>. For example, C<$CNF_TAPERALGO> will yield a value
494 from the enumeration C<taperalgo_t>, the constants for which all
495 begin with C<$ALGO_>. See C<conffile.h> for the details.
497 Each subsection type C<TYP> has the following functions:
501 =item C<lookup_TYP($subsec_name)>
503 which returns an opaque object
504 (C<$ss>) representing the subsection, or C<undef> if no subsection
505 with that name exists;
507 =item C<TYP_name($ss)>
509 returning the name of the subsection;
511 =item C<TYP_getconf($ss, $cnf)>
513 which fetches a parameter value from C<$ss>; and
515 =item C<TYP_seen($ss, $cnf)>
517 which returns a true value if <$cnf> was seen in the subsection.
527 with constants beginning with C<$TAPETYPE_>
531 with constants beginning with C<$DUMPTYPE_>
535 with constants beginning with C<$INTER_>
539 with constants beginning with C<$HOLDING_>
543 with constants beginning with C<$APPLICATION_>
547 with constants beginning with C<$PP_SCRIPT_>
551 with constants beginning with C<$DEVICE_CONFIG_>.
555 with constants beginning with C<$CHANGER_CONFIG_>.
559 See C<conffile.h> for the names of the constants themselves.
563 Each configuration parameter has a "conftype", as assigned in
564 C<common-src/conffile.c>. The translation of most of these types into Perl
565 values is straightforward:
567 CONFTYPE_INT Math::BigInt
568 CONFTYPE_INT64 Math::BigInt
569 CONFTYPE_REAL floating-point value
571 CONFTYPE_IDENT string
572 CONFTYPE_TIME Math::BigInt (epoch value)
573 CONFTYPE_SIZE Math::BigInt
574 CONFTYPE_BOOLEAN Math::BigInt
575 CONFTYPE_COMPRESS Math::BigInt
576 CONFTYPE_ENCRYPT Math::BigInt
577 CONFTYPE_HOLDING Math::BigInt
578 CONFTYPE_ESTIMATELIST [ Math::BigInt, .. ]
579 CONFTYPE_STRATEGY Math::BigInt
580 CONFTYPE_TAPERALGO Math::BigInt
581 CONFTYPE_PRIORITY Math::BigInt
582 CONFTYPE_RATE float, float
583 CONFTYPE_INTRANGE Math::BigInt, Math::BigInt
584 CONFTYPE_APPLICATION string
585 CONFTYPE_EXECUTE_ON string
586 CONFTYPE_EXECUTE_WHERE Math::BigInt
587 CONFTYPE_SEND_AMREPORT_ON Math::BigInt
588 CONFTYPE_IDENTLIST [ string, .. ]
590 Note that C<CONFTYPE_INTRANGE> and C<CONFTYPE_RATE> each return two values, not
593 Include and exclude lists with type C<CONFTYPE_EXINCLUDE> return a hash giving
594 all listed filenames (in the C<list> key), include/exclude files (C<files>),
595 and a boolean indicating that the list is optional (C<optional>):
597 { list => [ str, .. ], file => [ str, .. ], optional => Math::BigInt }
599 Properties are represented as a hash of hashes. The keys are the property
600 names, converted to ASCII lowercase. Each property has a C<values> array
601 giving all values specified for this property, as well as booleans C<priority>
602 and C<append> that are true if the corresponding keyword was supplied.
604 { prop1 => { values => [ str, .. ] priority => int, append => int },
607 Note that integer types of all sizes become C<Math::BigInt> objects rather than
608 Perl integers, as is the habit throughout Amanda.
610 The C<CNF_AUTOLABEL> value is a hash with the following keys
612 template label template, or undef
620 Parameter values are available by name from C<getconf_byname($name)> and
621 C<getconf_byname_strs($name, $str_needs_quotes)>. These functions implement
622 the C<TYP:NAME:PARAM> syntax advertised by C<amgetconf> to access values in
623 subsections. The first function returns a Perl value (see DATA FORMATS,
624 above), while the second returns a list of strings suitable for use in
625 C<amanda.conf>, including quotes around strings if C<$str_needs_quotes> is
628 C<getconf_list($typ)> returns a list of the names of all subsections of the
629 given type. C<%subsection_names> is a hash whose keys are allowed subsection
632 =head2 DERIVED VALUES
634 The C<$CNF_DISPLAYUNIT> implies a certain divisor to convert from
635 kilobytes to the desired unit. This divisor is available from
636 C<getconf_unit_divisor()>. Note carefully that it is a I<divisor>
637 for a value in I<kilobytes>!
639 Finally, various subsections of Amanda enable verbose debugging via
640 configuration parameters. The status of each parameter is available
641 a similarly-named variable, e.g., C<$debug_auth>.
643 All parameter access functions and constants can be imported with
648 These functions defy categorization.
650 The function C<config_dir_relative> will interpret a path relative to
651 the current configuration directory. Absolute paths are passed through
652 unchanged, while relative paths are converted to absolute paths.
654 C<dump_configuration()> dumps the current configuration, in a format
655 suitable for re-evaluation for this module, to standard output.
656 This function may be revised to return a string.
658 Several parts of Amanda need to convert unit modifier value like
659 "gbytes" to a multiplier. The function C<find_multiplier($str)>
660 returns the unit multiplier for such a string. For example, "mbytes"
661 is converted to 1048576 (1024*1024).
663 C<string_to_boolean()> takes a string and returns 0 if it matches any of
664 Amanda's names for false, or 1 if matches a name for true. If it can't be
665 interpreted, C<undef> is returned.
671 push @EXPORT_OK, qw(confparm_key_to_string);
672 push @{$EXPORT_TAGS{"confparm_key"}}, qw(confparm_key_to_string);
674 my %_confparm_key_VALUES;
675 #Convert an enum value to a single string
676 sub confparm_key_to_string {
679 for my $k (keys %_confparm_key_VALUES) {
680 my $v = $_confparm_key_VALUES{$k};
682 #is this a matching flag?
683 if ($enumval == $v) {
688 #default, just return the number
692 push @EXPORT_OK, qw($CNF_ORG);
693 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_ORG);
695 $_confparm_key_VALUES{"CNF_ORG"} = $CNF_ORG;
697 push @EXPORT_OK, qw($CNF_CONF);
698 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_CONF);
700 $_confparm_key_VALUES{"CNF_CONF"} = $CNF_CONF;
702 push @EXPORT_OK, qw($CNF_INDEX_SERVER);
703 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_INDEX_SERVER);
705 $_confparm_key_VALUES{"CNF_INDEX_SERVER"} = $CNF_INDEX_SERVER;
707 push @EXPORT_OK, qw($CNF_TAPE_SERVER);
708 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_TAPE_SERVER);
710 $_confparm_key_VALUES{"CNF_TAPE_SERVER"} = $CNF_TAPE_SERVER;
712 push @EXPORT_OK, qw($CNF_AUTH);
713 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_AUTH);
715 $_confparm_key_VALUES{"CNF_AUTH"} = $CNF_AUTH;
717 push @EXPORT_OK, qw($CNF_SSH_KEYS);
718 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_SSH_KEYS);
720 $_confparm_key_VALUES{"CNF_SSH_KEYS"} = $CNF_SSH_KEYS;
722 push @EXPORT_OK, qw($CNF_AMANDAD_PATH);
723 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_AMANDAD_PATH);
725 $_confparm_key_VALUES{"CNF_AMANDAD_PATH"} = $CNF_AMANDAD_PATH;
727 push @EXPORT_OK, qw($CNF_CLIENT_USERNAME);
728 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_CLIENT_USERNAME);
730 $_confparm_key_VALUES{"CNF_CLIENT_USERNAME"} = $CNF_CLIENT_USERNAME;
732 push @EXPORT_OK, qw($CNF_CLIENT_PORT);
733 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_CLIENT_PORT);
735 $_confparm_key_VALUES{"CNF_CLIENT_PORT"} = $CNF_CLIENT_PORT;
737 push @EXPORT_OK, qw($CNF_GNUTAR_LIST_DIR);
738 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_GNUTAR_LIST_DIR);
740 $_confparm_key_VALUES{"CNF_GNUTAR_LIST_DIR"} = $CNF_GNUTAR_LIST_DIR;
742 push @EXPORT_OK, qw($CNF_AMANDATES);
743 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_AMANDATES);
745 $_confparm_key_VALUES{"CNF_AMANDATES"} = $CNF_AMANDATES;
747 push @EXPORT_OK, qw($CNF_MAILER);
748 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_MAILER);
750 $_confparm_key_VALUES{"CNF_MAILER"} = $CNF_MAILER;
752 push @EXPORT_OK, qw($CNF_MAILTO);
753 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_MAILTO);
755 $_confparm_key_VALUES{"CNF_MAILTO"} = $CNF_MAILTO;
757 push @EXPORT_OK, qw($CNF_DUMPUSER);
758 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DUMPUSER);
760 $_confparm_key_VALUES{"CNF_DUMPUSER"} = $CNF_DUMPUSER;
762 push @EXPORT_OK, qw($CNF_TAPEDEV);
763 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_TAPEDEV);
765 $_confparm_key_VALUES{"CNF_TAPEDEV"} = $CNF_TAPEDEV;
767 push @EXPORT_OK, qw($CNF_DEVICE_PROPERTY);
768 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEVICE_PROPERTY);
770 $_confparm_key_VALUES{"CNF_DEVICE_PROPERTY"} = $CNF_DEVICE_PROPERTY;
772 push @EXPORT_OK, qw($CNF_PROPERTY);
773 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_PROPERTY);
775 $_confparm_key_VALUES{"CNF_PROPERTY"} = $CNF_PROPERTY;
777 push @EXPORT_OK, qw($CNF_CHANGERDEV);
778 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_CHANGERDEV);
780 $_confparm_key_VALUES{"CNF_CHANGERDEV"} = $CNF_CHANGERDEV;
782 push @EXPORT_OK, qw($CNF_CHANGERFILE);
783 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_CHANGERFILE);
785 $_confparm_key_VALUES{"CNF_CHANGERFILE"} = $CNF_CHANGERFILE;
787 push @EXPORT_OK, qw($CNF_LABELSTR);
788 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_LABELSTR);
790 $_confparm_key_VALUES{"CNF_LABELSTR"} = $CNF_LABELSTR;
792 push @EXPORT_OK, qw($CNF_AUTOLABEL);
793 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_AUTOLABEL);
795 $_confparm_key_VALUES{"CNF_AUTOLABEL"} = $CNF_AUTOLABEL;
797 push @EXPORT_OK, qw($CNF_TAPELIST);
798 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_TAPELIST);
800 $_confparm_key_VALUES{"CNF_TAPELIST"} = $CNF_TAPELIST;
802 push @EXPORT_OK, qw($CNF_DISKFILE);
803 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DISKFILE);
805 $_confparm_key_VALUES{"CNF_DISKFILE"} = $CNF_DISKFILE;
807 push @EXPORT_OK, qw($CNF_INFOFILE);
808 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_INFOFILE);
810 $_confparm_key_VALUES{"CNF_INFOFILE"} = $CNF_INFOFILE;
812 push @EXPORT_OK, qw($CNF_LOGDIR);
813 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_LOGDIR);
815 $_confparm_key_VALUES{"CNF_LOGDIR"} = $CNF_LOGDIR;
817 push @EXPORT_OK, qw($CNF_INDEXDIR);
818 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_INDEXDIR);
820 $_confparm_key_VALUES{"CNF_INDEXDIR"} = $CNF_INDEXDIR;
822 push @EXPORT_OK, qw($CNF_TAPETYPE);
823 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_TAPETYPE);
825 $_confparm_key_VALUES{"CNF_TAPETYPE"} = $CNF_TAPETYPE;
827 push @EXPORT_OK, qw($CNF_DUMPCYCLE);
828 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DUMPCYCLE);
830 $_confparm_key_VALUES{"CNF_DUMPCYCLE"} = $CNF_DUMPCYCLE;
832 push @EXPORT_OK, qw($CNF_RUNSPERCYCLE);
833 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_RUNSPERCYCLE);
835 $_confparm_key_VALUES{"CNF_RUNSPERCYCLE"} = $CNF_RUNSPERCYCLE;
837 push @EXPORT_OK, qw($CNF_TAPECYCLE);
838 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_TAPECYCLE);
840 $_confparm_key_VALUES{"CNF_TAPECYCLE"} = $CNF_TAPECYCLE;
842 push @EXPORT_OK, qw($CNF_NETUSAGE);
843 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_NETUSAGE);
845 $_confparm_key_VALUES{"CNF_NETUSAGE"} = $CNF_NETUSAGE;
847 push @EXPORT_OK, qw($CNF_INPARALLEL);
848 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_INPARALLEL);
850 $_confparm_key_VALUES{"CNF_INPARALLEL"} = $CNF_INPARALLEL;
852 push @EXPORT_OK, qw($CNF_DUMPORDER);
853 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DUMPORDER);
855 $_confparm_key_VALUES{"CNF_DUMPORDER"} = $CNF_DUMPORDER;
857 push @EXPORT_OK, qw($CNF_BUMPPERCENT);
858 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_BUMPPERCENT);
860 $_confparm_key_VALUES{"CNF_BUMPPERCENT"} = $CNF_BUMPPERCENT;
862 push @EXPORT_OK, qw($CNF_BUMPSIZE);
863 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_BUMPSIZE);
865 $_confparm_key_VALUES{"CNF_BUMPSIZE"} = $CNF_BUMPSIZE;
867 push @EXPORT_OK, qw($CNF_BUMPMULT);
868 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_BUMPMULT);
870 $_confparm_key_VALUES{"CNF_BUMPMULT"} = $CNF_BUMPMULT;
872 push @EXPORT_OK, qw($CNF_BUMPDAYS);
873 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_BUMPDAYS);
875 $_confparm_key_VALUES{"CNF_BUMPDAYS"} = $CNF_BUMPDAYS;
877 push @EXPORT_OK, qw($CNF_TPCHANGER);
878 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_TPCHANGER);
880 $_confparm_key_VALUES{"CNF_TPCHANGER"} = $CNF_TPCHANGER;
882 push @EXPORT_OK, qw($CNF_RUNTAPES);
883 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_RUNTAPES);
885 $_confparm_key_VALUES{"CNF_RUNTAPES"} = $CNF_RUNTAPES;
887 push @EXPORT_OK, qw($CNF_MAXDUMPS);
888 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_MAXDUMPS);
890 $_confparm_key_VALUES{"CNF_MAXDUMPS"} = $CNF_MAXDUMPS;
892 push @EXPORT_OK, qw($CNF_ETIMEOUT);
893 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_ETIMEOUT);
895 $_confparm_key_VALUES{"CNF_ETIMEOUT"} = $CNF_ETIMEOUT;
897 push @EXPORT_OK, qw($CNF_DTIMEOUT);
898 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DTIMEOUT);
900 $_confparm_key_VALUES{"CNF_DTIMEOUT"} = $CNF_DTIMEOUT;
902 push @EXPORT_OK, qw($CNF_CTIMEOUT);
903 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_CTIMEOUT);
905 $_confparm_key_VALUES{"CNF_CTIMEOUT"} = $CNF_CTIMEOUT;
907 push @EXPORT_OK, qw($CNF_TAPEBUFS);
908 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_TAPEBUFS);
910 $_confparm_key_VALUES{"CNF_TAPEBUFS"} = $CNF_TAPEBUFS;
912 push @EXPORT_OK, qw($CNF_DEVICE_OUTPUT_BUFFER_SIZE);
913 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEVICE_OUTPUT_BUFFER_SIZE);
915 $_confparm_key_VALUES{"CNF_DEVICE_OUTPUT_BUFFER_SIZE"} = $CNF_DEVICE_OUTPUT_BUFFER_SIZE;
917 push @EXPORT_OK, qw($CNF_PRINTER);
918 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_PRINTER);
920 $_confparm_key_VALUES{"CNF_PRINTER"} = $CNF_PRINTER;
922 push @EXPORT_OK, qw($CNF_AUTOFLUSH);
923 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_AUTOFLUSH);
925 $_confparm_key_VALUES{"CNF_AUTOFLUSH"} = $CNF_AUTOFLUSH;
927 push @EXPORT_OK, qw($CNF_RESERVE);
928 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_RESERVE);
930 $_confparm_key_VALUES{"CNF_RESERVE"} = $CNF_RESERVE;
932 push @EXPORT_OK, qw($CNF_MAXDUMPSIZE);
933 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_MAXDUMPSIZE);
935 $_confparm_key_VALUES{"CNF_MAXDUMPSIZE"} = $CNF_MAXDUMPSIZE;
937 push @EXPORT_OK, qw($CNF_COLUMNSPEC);
938 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_COLUMNSPEC);
940 $_confparm_key_VALUES{"CNF_COLUMNSPEC"} = $CNF_COLUMNSPEC;
942 push @EXPORT_OK, qw($CNF_AMRECOVER_DO_FSF);
943 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_AMRECOVER_DO_FSF);
945 $_confparm_key_VALUES{"CNF_AMRECOVER_DO_FSF"} = $CNF_AMRECOVER_DO_FSF;
947 push @EXPORT_OK, qw($CNF_AMRECOVER_CHECK_LABEL);
948 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_AMRECOVER_CHECK_LABEL);
950 $_confparm_key_VALUES{"CNF_AMRECOVER_CHECK_LABEL"} = $CNF_AMRECOVER_CHECK_LABEL;
952 push @EXPORT_OK, qw($CNF_AMRECOVER_CHANGER);
953 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_AMRECOVER_CHANGER);
955 $_confparm_key_VALUES{"CNF_AMRECOVER_CHANGER"} = $CNF_AMRECOVER_CHANGER;
957 push @EXPORT_OK, qw($CNF_TAPERALGO);
958 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_TAPERALGO);
960 $_confparm_key_VALUES{"CNF_TAPERALGO"} = $CNF_TAPERALGO;
962 push @EXPORT_OK, qw($CNF_FLUSH_THRESHOLD_DUMPED);
963 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_FLUSH_THRESHOLD_DUMPED);
965 $_confparm_key_VALUES{"CNF_FLUSH_THRESHOLD_DUMPED"} = $CNF_FLUSH_THRESHOLD_DUMPED;
967 push @EXPORT_OK, qw($CNF_FLUSH_THRESHOLD_SCHEDULED);
968 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_FLUSH_THRESHOLD_SCHEDULED);
970 $_confparm_key_VALUES{"CNF_FLUSH_THRESHOLD_SCHEDULED"} = $CNF_FLUSH_THRESHOLD_SCHEDULED;
972 push @EXPORT_OK, qw($CNF_TAPERFLUSH);
973 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_TAPERFLUSH);
975 $_confparm_key_VALUES{"CNF_TAPERFLUSH"} = $CNF_TAPERFLUSH;
977 push @EXPORT_OK, qw($CNF_DISPLAYUNIT);
978 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DISPLAYUNIT);
980 $_confparm_key_VALUES{"CNF_DISPLAYUNIT"} = $CNF_DISPLAYUNIT;
982 push @EXPORT_OK, qw($CNF_KRB5KEYTAB);
983 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_KRB5KEYTAB);
985 $_confparm_key_VALUES{"CNF_KRB5KEYTAB"} = $CNF_KRB5KEYTAB;
987 push @EXPORT_OK, qw($CNF_KRB5PRINCIPAL);
988 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_KRB5PRINCIPAL);
990 $_confparm_key_VALUES{"CNF_KRB5PRINCIPAL"} = $CNF_KRB5PRINCIPAL;
992 push @EXPORT_OK, qw($CNF_LABEL_NEW_TAPES);
993 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_LABEL_NEW_TAPES);
995 $_confparm_key_VALUES{"CNF_LABEL_NEW_TAPES"} = $CNF_LABEL_NEW_TAPES;
997 push @EXPORT_OK, qw($CNF_USETIMESTAMPS);
998 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_USETIMESTAMPS);
1000 $_confparm_key_VALUES{"CNF_USETIMESTAMPS"} = $CNF_USETIMESTAMPS;
1002 push @EXPORT_OK, qw($CNF_REP_TRIES);
1003 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_REP_TRIES);
1005 $_confparm_key_VALUES{"CNF_REP_TRIES"} = $CNF_REP_TRIES;
1007 push @EXPORT_OK, qw($CNF_CONNECT_TRIES);
1008 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_CONNECT_TRIES);
1010 $_confparm_key_VALUES{"CNF_CONNECT_TRIES"} = $CNF_CONNECT_TRIES;
1012 push @EXPORT_OK, qw($CNF_REQ_TRIES);
1013 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_REQ_TRIES);
1015 $_confparm_key_VALUES{"CNF_REQ_TRIES"} = $CNF_REQ_TRIES;
1017 push @EXPORT_OK, qw($CNF_DEBUG_AMANDAD);
1018 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_AMANDAD);
1020 $_confparm_key_VALUES{"CNF_DEBUG_AMANDAD"} = $CNF_DEBUG_AMANDAD;
1022 push @EXPORT_OK, qw($CNF_DEBUG_RECOVERY);
1023 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_RECOVERY);
1025 $_confparm_key_VALUES{"CNF_DEBUG_RECOVERY"} = $CNF_DEBUG_RECOVERY;
1027 push @EXPORT_OK, qw($CNF_DEBUG_AMIDXTAPED);
1028 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_AMIDXTAPED);
1030 $_confparm_key_VALUES{"CNF_DEBUG_AMIDXTAPED"} = $CNF_DEBUG_AMIDXTAPED;
1032 push @EXPORT_OK, qw($CNF_DEBUG_AMINDEXD);
1033 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_AMINDEXD);
1035 $_confparm_key_VALUES{"CNF_DEBUG_AMINDEXD"} = $CNF_DEBUG_AMINDEXD;
1037 push @EXPORT_OK, qw($CNF_DEBUG_AMRECOVER);
1038 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_AMRECOVER);
1040 $_confparm_key_VALUES{"CNF_DEBUG_AMRECOVER"} = $CNF_DEBUG_AMRECOVER;
1042 push @EXPORT_OK, qw($CNF_DEBUG_AUTH);
1043 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_AUTH);
1045 $_confparm_key_VALUES{"CNF_DEBUG_AUTH"} = $CNF_DEBUG_AUTH;
1047 push @EXPORT_OK, qw($CNF_DEBUG_EVENT);
1048 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_EVENT);
1050 $_confparm_key_VALUES{"CNF_DEBUG_EVENT"} = $CNF_DEBUG_EVENT;
1052 push @EXPORT_OK, qw($CNF_DEBUG_HOLDING);
1053 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_HOLDING);
1055 $_confparm_key_VALUES{"CNF_DEBUG_HOLDING"} = $CNF_DEBUG_HOLDING;
1057 push @EXPORT_OK, qw($CNF_DEBUG_PROTOCOL);
1058 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_PROTOCOL);
1060 $_confparm_key_VALUES{"CNF_DEBUG_PROTOCOL"} = $CNF_DEBUG_PROTOCOL;
1062 push @EXPORT_OK, qw($CNF_DEBUG_PLANNER);
1063 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_PLANNER);
1065 $_confparm_key_VALUES{"CNF_DEBUG_PLANNER"} = $CNF_DEBUG_PLANNER;
1067 push @EXPORT_OK, qw($CNF_DEBUG_DRIVER);
1068 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_DRIVER);
1070 $_confparm_key_VALUES{"CNF_DEBUG_DRIVER"} = $CNF_DEBUG_DRIVER;
1072 push @EXPORT_OK, qw($CNF_DEBUG_DUMPER);
1073 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_DUMPER);
1075 $_confparm_key_VALUES{"CNF_DEBUG_DUMPER"} = $CNF_DEBUG_DUMPER;
1077 push @EXPORT_OK, qw($CNF_DEBUG_CHUNKER);
1078 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_CHUNKER);
1080 $_confparm_key_VALUES{"CNF_DEBUG_CHUNKER"} = $CNF_DEBUG_CHUNKER;
1082 push @EXPORT_OK, qw($CNF_DEBUG_TAPER);
1083 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_TAPER);
1085 $_confparm_key_VALUES{"CNF_DEBUG_TAPER"} = $CNF_DEBUG_TAPER;
1087 push @EXPORT_OK, qw($CNF_DEBUG_SELFCHECK);
1088 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_SELFCHECK);
1090 $_confparm_key_VALUES{"CNF_DEBUG_SELFCHECK"} = $CNF_DEBUG_SELFCHECK;
1092 push @EXPORT_OK, qw($CNF_DEBUG_SENDSIZE);
1093 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_SENDSIZE);
1095 $_confparm_key_VALUES{"CNF_DEBUG_SENDSIZE"} = $CNF_DEBUG_SENDSIZE;
1097 push @EXPORT_OK, qw($CNF_DEBUG_SENDBACKUP);
1098 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEBUG_SENDBACKUP);
1100 $_confparm_key_VALUES{"CNF_DEBUG_SENDBACKUP"} = $CNF_DEBUG_SENDBACKUP;
1102 push @EXPORT_OK, qw($CNF_RESERVED_UDP_PORT);
1103 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_RESERVED_UDP_PORT);
1105 $_confparm_key_VALUES{"CNF_RESERVED_UDP_PORT"} = $CNF_RESERVED_UDP_PORT;
1107 push @EXPORT_OK, qw($CNF_RESERVED_TCP_PORT);
1108 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_RESERVED_TCP_PORT);
1110 $_confparm_key_VALUES{"CNF_RESERVED_TCP_PORT"} = $CNF_RESERVED_TCP_PORT;
1112 push @EXPORT_OK, qw($CNF_UNRESERVED_TCP_PORT);
1113 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_UNRESERVED_TCP_PORT);
1115 $_confparm_key_VALUES{"CNF_UNRESERVED_TCP_PORT"} = $CNF_UNRESERVED_TCP_PORT;
1117 push @EXPORT_OK, qw($CNF_HOLDINGDISK);
1118 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_HOLDINGDISK);
1120 $_confparm_key_VALUES{"CNF_HOLDINGDISK"} = $CNF_HOLDINGDISK;
1122 push @EXPORT_OK, qw($CNF_SEND_AMREPORT_ON);
1123 push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_SEND_AMREPORT_ON);
1125 $_confparm_key_VALUES{"CNF_SEND_AMREPORT_ON"} = $CNF_SEND_AMREPORT_ON;
1127 #copy symbols in confparm_key to getconf
1128 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"confparm_key"}};
1130 push @EXPORT_OK, qw(tapetype_key_to_string);
1131 push @{$EXPORT_TAGS{"tapetype_key"}}, qw(tapetype_key_to_string);
1133 my %_tapetype_key_VALUES;
1134 #Convert an enum value to a single string
1135 sub tapetype_key_to_string {
1138 for my $k (keys %_tapetype_key_VALUES) {
1139 my $v = $_tapetype_key_VALUES{$k};
1141 #is this a matching flag?
1142 if ($enumval == $v) {
1147 #default, just return the number
1151 push @EXPORT_OK, qw($TAPETYPE_COMMENT);
1152 push @{$EXPORT_TAGS{"tapetype_key"}}, qw($TAPETYPE_COMMENT);
1154 $_tapetype_key_VALUES{"TAPETYPE_COMMENT"} = $TAPETYPE_COMMENT;
1156 push @EXPORT_OK, qw($TAPETYPE_LBL_TEMPL);
1157 push @{$EXPORT_TAGS{"tapetype_key"}}, qw($TAPETYPE_LBL_TEMPL);
1159 $_tapetype_key_VALUES{"TAPETYPE_LBL_TEMPL"} = $TAPETYPE_LBL_TEMPL;
1161 push @EXPORT_OK, qw($TAPETYPE_BLOCKSIZE);
1162 push @{$EXPORT_TAGS{"tapetype_key"}}, qw($TAPETYPE_BLOCKSIZE);
1164 $_tapetype_key_VALUES{"TAPETYPE_BLOCKSIZE"} = $TAPETYPE_BLOCKSIZE;
1166 push @EXPORT_OK, qw($TAPETYPE_READBLOCKSIZE);
1167 push @{$EXPORT_TAGS{"tapetype_key"}}, qw($TAPETYPE_READBLOCKSIZE);
1169 $_tapetype_key_VALUES{"TAPETYPE_READBLOCKSIZE"} = $TAPETYPE_READBLOCKSIZE;
1171 push @EXPORT_OK, qw($TAPETYPE_LENGTH);
1172 push @{$EXPORT_TAGS{"tapetype_key"}}, qw($TAPETYPE_LENGTH);
1174 $_tapetype_key_VALUES{"TAPETYPE_LENGTH"} = $TAPETYPE_LENGTH;
1176 push @EXPORT_OK, qw($TAPETYPE_FILEMARK);
1177 push @{$EXPORT_TAGS{"tapetype_key"}}, qw($TAPETYPE_FILEMARK);
1179 $_tapetype_key_VALUES{"TAPETYPE_FILEMARK"} = $TAPETYPE_FILEMARK;
1181 push @EXPORT_OK, qw($TAPETYPE_SPEED);
1182 push @{$EXPORT_TAGS{"tapetype_key"}}, qw($TAPETYPE_SPEED);
1184 $_tapetype_key_VALUES{"TAPETYPE_SPEED"} = $TAPETYPE_SPEED;
1186 push @EXPORT_OK, qw($TAPETYPE_FILE_PAD);
1187 push @{$EXPORT_TAGS{"tapetype_key"}}, qw($TAPETYPE_FILE_PAD);
1189 $_tapetype_key_VALUES{"TAPETYPE_FILE_PAD"} = $TAPETYPE_FILE_PAD;
1191 #copy symbols in tapetype_key to getconf
1192 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"tapetype_key"}};
1194 push @EXPORT_OK, qw(dumptype_key_to_string);
1195 push @{$EXPORT_TAGS{"dumptype_key"}}, qw(dumptype_key_to_string);
1197 my %_dumptype_key_VALUES;
1198 #Convert an enum value to a single string
1199 sub dumptype_key_to_string {
1202 for my $k (keys %_dumptype_key_VALUES) {
1203 my $v = $_dumptype_key_VALUES{$k};
1205 #is this a matching flag?
1206 if ($enumval == $v) {
1211 #default, just return the number
1215 push @EXPORT_OK, qw($DUMPTYPE_COMMENT);
1216 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_COMMENT);
1218 $_dumptype_key_VALUES{"DUMPTYPE_COMMENT"} = $DUMPTYPE_COMMENT;
1220 push @EXPORT_OK, qw($DUMPTYPE_PROGRAM);
1221 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_PROGRAM);
1223 $_dumptype_key_VALUES{"DUMPTYPE_PROGRAM"} = $DUMPTYPE_PROGRAM;
1225 push @EXPORT_OK, qw($DUMPTYPE_SRVCOMPPROG);
1226 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_SRVCOMPPROG);
1228 $_dumptype_key_VALUES{"DUMPTYPE_SRVCOMPPROG"} = $DUMPTYPE_SRVCOMPPROG;
1230 push @EXPORT_OK, qw($DUMPTYPE_CLNTCOMPPROG);
1231 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_CLNTCOMPPROG);
1233 $_dumptype_key_VALUES{"DUMPTYPE_CLNTCOMPPROG"} = $DUMPTYPE_CLNTCOMPPROG;
1235 push @EXPORT_OK, qw($DUMPTYPE_SRV_ENCRYPT);
1236 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_SRV_ENCRYPT);
1238 $_dumptype_key_VALUES{"DUMPTYPE_SRV_ENCRYPT"} = $DUMPTYPE_SRV_ENCRYPT;
1240 push @EXPORT_OK, qw($DUMPTYPE_CLNT_ENCRYPT);
1241 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_CLNT_ENCRYPT);
1243 $_dumptype_key_VALUES{"DUMPTYPE_CLNT_ENCRYPT"} = $DUMPTYPE_CLNT_ENCRYPT;
1245 push @EXPORT_OK, qw($DUMPTYPE_AMANDAD_PATH);
1246 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_AMANDAD_PATH);
1248 $_dumptype_key_VALUES{"DUMPTYPE_AMANDAD_PATH"} = $DUMPTYPE_AMANDAD_PATH;
1250 push @EXPORT_OK, qw($DUMPTYPE_CLIENT_USERNAME);
1251 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_CLIENT_USERNAME);
1253 $_dumptype_key_VALUES{"DUMPTYPE_CLIENT_USERNAME"} = $DUMPTYPE_CLIENT_USERNAME;
1255 push @EXPORT_OK, qw($DUMPTYPE_CLIENT_PORT);
1256 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_CLIENT_PORT);
1258 $_dumptype_key_VALUES{"DUMPTYPE_CLIENT_PORT"} = $DUMPTYPE_CLIENT_PORT;
1260 push @EXPORT_OK, qw($DUMPTYPE_SSH_KEYS);
1261 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_SSH_KEYS);
1263 $_dumptype_key_VALUES{"DUMPTYPE_SSH_KEYS"} = $DUMPTYPE_SSH_KEYS;
1265 push @EXPORT_OK, qw($DUMPTYPE_AUTH);
1266 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_AUTH);
1268 $_dumptype_key_VALUES{"DUMPTYPE_AUTH"} = $DUMPTYPE_AUTH;
1270 push @EXPORT_OK, qw($DUMPTYPE_EXCLUDE);
1271 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_EXCLUDE);
1273 $_dumptype_key_VALUES{"DUMPTYPE_EXCLUDE"} = $DUMPTYPE_EXCLUDE;
1275 push @EXPORT_OK, qw($DUMPTYPE_INCLUDE);
1276 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_INCLUDE);
1278 $_dumptype_key_VALUES{"DUMPTYPE_INCLUDE"} = $DUMPTYPE_INCLUDE;
1280 push @EXPORT_OK, qw($DUMPTYPE_PRIORITY);
1281 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_PRIORITY);
1283 $_dumptype_key_VALUES{"DUMPTYPE_PRIORITY"} = $DUMPTYPE_PRIORITY;
1285 push @EXPORT_OK, qw($DUMPTYPE_DUMPCYCLE);
1286 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_DUMPCYCLE);
1288 $_dumptype_key_VALUES{"DUMPTYPE_DUMPCYCLE"} = $DUMPTYPE_DUMPCYCLE;
1290 push @EXPORT_OK, qw($DUMPTYPE_MAXDUMPS);
1291 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_MAXDUMPS);
1293 $_dumptype_key_VALUES{"DUMPTYPE_MAXDUMPS"} = $DUMPTYPE_MAXDUMPS;
1295 push @EXPORT_OK, qw($DUMPTYPE_MAXPROMOTEDAY);
1296 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_MAXPROMOTEDAY);
1298 $_dumptype_key_VALUES{"DUMPTYPE_MAXPROMOTEDAY"} = $DUMPTYPE_MAXPROMOTEDAY;
1300 push @EXPORT_OK, qw($DUMPTYPE_BUMPPERCENT);
1301 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_BUMPPERCENT);
1303 $_dumptype_key_VALUES{"DUMPTYPE_BUMPPERCENT"} = $DUMPTYPE_BUMPPERCENT;
1305 push @EXPORT_OK, qw($DUMPTYPE_BUMPSIZE);
1306 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_BUMPSIZE);
1308 $_dumptype_key_VALUES{"DUMPTYPE_BUMPSIZE"} = $DUMPTYPE_BUMPSIZE;
1310 push @EXPORT_OK, qw($DUMPTYPE_BUMPDAYS);
1311 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_BUMPDAYS);
1313 $_dumptype_key_VALUES{"DUMPTYPE_BUMPDAYS"} = $DUMPTYPE_BUMPDAYS;
1315 push @EXPORT_OK, qw($DUMPTYPE_BUMPMULT);
1316 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_BUMPMULT);
1318 $_dumptype_key_VALUES{"DUMPTYPE_BUMPMULT"} = $DUMPTYPE_BUMPMULT;
1320 push @EXPORT_OK, qw($DUMPTYPE_STARTTIME);
1321 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_STARTTIME);
1323 $_dumptype_key_VALUES{"DUMPTYPE_STARTTIME"} = $DUMPTYPE_STARTTIME;
1325 push @EXPORT_OK, qw($DUMPTYPE_STRATEGY);
1326 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_STRATEGY);
1328 $_dumptype_key_VALUES{"DUMPTYPE_STRATEGY"} = $DUMPTYPE_STRATEGY;
1330 push @EXPORT_OK, qw($DUMPTYPE_ESTIMATELIST);
1331 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_ESTIMATELIST);
1333 $_dumptype_key_VALUES{"DUMPTYPE_ESTIMATELIST"} = $DUMPTYPE_ESTIMATELIST;
1335 push @EXPORT_OK, qw($DUMPTYPE_COMPRESS);
1336 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_COMPRESS);
1338 $_dumptype_key_VALUES{"DUMPTYPE_COMPRESS"} = $DUMPTYPE_COMPRESS;
1340 push @EXPORT_OK, qw($DUMPTYPE_ENCRYPT);
1341 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_ENCRYPT);
1343 $_dumptype_key_VALUES{"DUMPTYPE_ENCRYPT"} = $DUMPTYPE_ENCRYPT;
1345 push @EXPORT_OK, qw($DUMPTYPE_SRV_DECRYPT_OPT);
1346 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_SRV_DECRYPT_OPT);
1348 $_dumptype_key_VALUES{"DUMPTYPE_SRV_DECRYPT_OPT"} = $DUMPTYPE_SRV_DECRYPT_OPT;
1350 push @EXPORT_OK, qw($DUMPTYPE_CLNT_DECRYPT_OPT);
1351 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_CLNT_DECRYPT_OPT);
1353 $_dumptype_key_VALUES{"DUMPTYPE_CLNT_DECRYPT_OPT"} = $DUMPTYPE_CLNT_DECRYPT_OPT;
1355 push @EXPORT_OK, qw($DUMPTYPE_COMPRATE);
1356 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_COMPRATE);
1358 $_dumptype_key_VALUES{"DUMPTYPE_COMPRATE"} = $DUMPTYPE_COMPRATE;
1360 push @EXPORT_OK, qw($DUMPTYPE_TAPE_SPLITSIZE);
1361 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_TAPE_SPLITSIZE);
1363 $_dumptype_key_VALUES{"DUMPTYPE_TAPE_SPLITSIZE"} = $DUMPTYPE_TAPE_SPLITSIZE;
1365 push @EXPORT_OK, qw($DUMPTYPE_FALLBACK_SPLITSIZE);
1366 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_FALLBACK_SPLITSIZE);
1368 $_dumptype_key_VALUES{"DUMPTYPE_FALLBACK_SPLITSIZE"} = $DUMPTYPE_FALLBACK_SPLITSIZE;
1370 push @EXPORT_OK, qw($DUMPTYPE_SPLIT_DISKBUFFER);
1371 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_SPLIT_DISKBUFFER);
1373 $_dumptype_key_VALUES{"DUMPTYPE_SPLIT_DISKBUFFER"} = $DUMPTYPE_SPLIT_DISKBUFFER;
1375 push @EXPORT_OK, qw($DUMPTYPE_RECORD);
1376 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_RECORD);
1378 $_dumptype_key_VALUES{"DUMPTYPE_RECORD"} = $DUMPTYPE_RECORD;
1380 push @EXPORT_OK, qw($DUMPTYPE_SKIP_INCR);
1381 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_SKIP_INCR);
1383 $_dumptype_key_VALUES{"DUMPTYPE_SKIP_INCR"} = $DUMPTYPE_SKIP_INCR;
1385 push @EXPORT_OK, qw($DUMPTYPE_SKIP_FULL);
1386 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_SKIP_FULL);
1388 $_dumptype_key_VALUES{"DUMPTYPE_SKIP_FULL"} = $DUMPTYPE_SKIP_FULL;
1390 push @EXPORT_OK, qw($DUMPTYPE_HOLDINGDISK);
1391 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_HOLDINGDISK);
1393 $_dumptype_key_VALUES{"DUMPTYPE_HOLDINGDISK"} = $DUMPTYPE_HOLDINGDISK;
1395 push @EXPORT_OK, qw($DUMPTYPE_KENCRYPT);
1396 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_KENCRYPT);
1398 $_dumptype_key_VALUES{"DUMPTYPE_KENCRYPT"} = $DUMPTYPE_KENCRYPT;
1400 push @EXPORT_OK, qw($DUMPTYPE_IGNORE);
1401 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_IGNORE);
1403 $_dumptype_key_VALUES{"DUMPTYPE_IGNORE"} = $DUMPTYPE_IGNORE;
1405 push @EXPORT_OK, qw($DUMPTYPE_INDEX);
1406 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_INDEX);
1408 $_dumptype_key_VALUES{"DUMPTYPE_INDEX"} = $DUMPTYPE_INDEX;
1410 push @EXPORT_OK, qw($DUMPTYPE_APPLICATION);
1411 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_APPLICATION);
1413 $_dumptype_key_VALUES{"DUMPTYPE_APPLICATION"} = $DUMPTYPE_APPLICATION;
1415 push @EXPORT_OK, qw($DUMPTYPE_SCRIPTLIST);
1416 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_SCRIPTLIST);
1418 $_dumptype_key_VALUES{"DUMPTYPE_SCRIPTLIST"} = $DUMPTYPE_SCRIPTLIST;
1420 push @EXPORT_OK, qw($DUMPTYPE_PROPERTY);
1421 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_PROPERTY);
1423 $_dumptype_key_VALUES{"DUMPTYPE_PROPERTY"} = $DUMPTYPE_PROPERTY;
1425 push @EXPORT_OK, qw($DUMPTYPE_DATA_PATH);
1426 push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_DATA_PATH);
1428 $_dumptype_key_VALUES{"DUMPTYPE_DATA_PATH"} = $DUMPTYPE_DATA_PATH;
1430 #copy symbols in dumptype_key to getconf
1431 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"dumptype_key"}};
1433 push @EXPORT_OK, qw(interface_key_to_string);
1434 push @{$EXPORT_TAGS{"interface_key"}}, qw(interface_key_to_string);
1436 my %_interface_key_VALUES;
1437 #Convert an enum value to a single string
1438 sub interface_key_to_string {
1441 for my $k (keys %_interface_key_VALUES) {
1442 my $v = $_interface_key_VALUES{$k};
1444 #is this a matching flag?
1445 if ($enumval == $v) {
1450 #default, just return the number
1454 push @EXPORT_OK, qw($INTER_COMMENT);
1455 push @{$EXPORT_TAGS{"interface_key"}}, qw($INTER_COMMENT);
1457 $_interface_key_VALUES{"INTER_COMMENT"} = $INTER_COMMENT;
1459 push @EXPORT_OK, qw($INTER_MAXUSAGE);
1460 push @{$EXPORT_TAGS{"interface_key"}}, qw($INTER_MAXUSAGE);
1462 $_interface_key_VALUES{"INTER_MAXUSAGE"} = $INTER_MAXUSAGE;
1464 #copy symbols in interface_key to getconf
1465 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"interface_key"}};
1467 push @EXPORT_OK, qw(holdingdisk_key_to_string);
1468 push @{$EXPORT_TAGS{"holdingdisk_key"}}, qw(holdingdisk_key_to_string);
1470 my %_holdingdisk_key_VALUES;
1471 #Convert an enum value to a single string
1472 sub holdingdisk_key_to_string {
1475 for my $k (keys %_holdingdisk_key_VALUES) {
1476 my $v = $_holdingdisk_key_VALUES{$k};
1478 #is this a matching flag?
1479 if ($enumval == $v) {
1484 #default, just return the number
1488 push @EXPORT_OK, qw($HOLDING_COMMENT);
1489 push @{$EXPORT_TAGS{"holdingdisk_key"}}, qw($HOLDING_COMMENT);
1491 $_holdingdisk_key_VALUES{"HOLDING_COMMENT"} = $HOLDING_COMMENT;
1493 push @EXPORT_OK, qw($HOLDING_DISKDIR);
1494 push @{$EXPORT_TAGS{"holdingdisk_key"}}, qw($HOLDING_DISKDIR);
1496 $_holdingdisk_key_VALUES{"HOLDING_DISKDIR"} = $HOLDING_DISKDIR;
1498 push @EXPORT_OK, qw($HOLDING_DISKSIZE);
1499 push @{$EXPORT_TAGS{"holdingdisk_key"}}, qw($HOLDING_DISKSIZE);
1501 $_holdingdisk_key_VALUES{"HOLDING_DISKSIZE"} = $HOLDING_DISKSIZE;
1503 push @EXPORT_OK, qw($HOLDING_CHUNKSIZE);
1504 push @{$EXPORT_TAGS{"holdingdisk_key"}}, qw($HOLDING_CHUNKSIZE);
1506 $_holdingdisk_key_VALUES{"HOLDING_CHUNKSIZE"} = $HOLDING_CHUNKSIZE;
1508 #copy symbols in holdingdisk_key to getconf
1509 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"holdingdisk_key"}};
1511 push @EXPORT_OK, qw(application_key_to_string);
1512 push @{$EXPORT_TAGS{"application_key"}}, qw(application_key_to_string);
1514 my %_application_key_VALUES;
1515 #Convert an enum value to a single string
1516 sub application_key_to_string {
1519 for my $k (keys %_application_key_VALUES) {
1520 my $v = $_application_key_VALUES{$k};
1522 #is this a matching flag?
1523 if ($enumval == $v) {
1528 #default, just return the number
1532 push @EXPORT_OK, qw($APPLICATION_COMMENT);
1533 push @{$EXPORT_TAGS{"application_key"}}, qw($APPLICATION_COMMENT);
1535 $_application_key_VALUES{"APPLICATION_COMMENT"} = $APPLICATION_COMMENT;
1537 push @EXPORT_OK, qw($APPLICATION_PLUGIN);
1538 push @{$EXPORT_TAGS{"application_key"}}, qw($APPLICATION_PLUGIN);
1540 $_application_key_VALUES{"APPLICATION_PLUGIN"} = $APPLICATION_PLUGIN;
1542 push @EXPORT_OK, qw($APPLICATION_PROPERTY);
1543 push @{$EXPORT_TAGS{"application_key"}}, qw($APPLICATION_PROPERTY);
1545 $_application_key_VALUES{"APPLICATION_PROPERTY"} = $APPLICATION_PROPERTY;
1547 #copy symbols in application_key to getconf
1548 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"application_key"}};
1550 push @EXPORT_OK, qw(pp_script_key_to_string);
1551 push @{$EXPORT_TAGS{"pp_script_key"}}, qw(pp_script_key_to_string);
1553 my %_pp_script_key_VALUES;
1554 #Convert an enum value to a single string
1555 sub pp_script_key_to_string {
1558 for my $k (keys %_pp_script_key_VALUES) {
1559 my $v = $_pp_script_key_VALUES{$k};
1561 #is this a matching flag?
1562 if ($enumval == $v) {
1567 #default, just return the number
1571 push @EXPORT_OK, qw($PP_SCRIPT_COMMENT);
1572 push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_COMMENT);
1574 $_pp_script_key_VALUES{"PP_SCRIPT_COMMENT"} = $PP_SCRIPT_COMMENT;
1576 push @EXPORT_OK, qw($PP_SCRIPT_PLUGIN);
1577 push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_PLUGIN);
1579 $_pp_script_key_VALUES{"PP_SCRIPT_PLUGIN"} = $PP_SCRIPT_PLUGIN;
1581 push @EXPORT_OK, qw($PP_SCRIPT_PROPERTY);
1582 push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_PROPERTY);
1584 $_pp_script_key_VALUES{"PP_SCRIPT_PROPERTY"} = $PP_SCRIPT_PROPERTY;
1586 push @EXPORT_OK, qw($PP_SCRIPT_EXECUTE_ON);
1587 push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_EXECUTE_ON);
1589 $_pp_script_key_VALUES{"PP_SCRIPT_EXECUTE_ON"} = $PP_SCRIPT_EXECUTE_ON;
1591 push @EXPORT_OK, qw($PP_SCRIPT_EXECUTE_WHERE);
1592 push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_EXECUTE_WHERE);
1594 $_pp_script_key_VALUES{"PP_SCRIPT_EXECUTE_WHERE"} = $PP_SCRIPT_EXECUTE_WHERE;
1596 push @EXPORT_OK, qw($PP_SCRIPT_ORDER);
1597 push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_ORDER);
1599 $_pp_script_key_VALUES{"PP_SCRIPT_ORDER"} = $PP_SCRIPT_ORDER;
1601 #copy symbols in pp_script_key to getconf
1602 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"pp_script_key"}};
1604 push @EXPORT_OK, qw(device_config_key_to_string);
1605 push @{$EXPORT_TAGS{"device_config_key"}}, qw(device_config_key_to_string);
1607 my %_device_config_key_VALUES;
1608 #Convert an enum value to a single string
1609 sub device_config_key_to_string {
1612 for my $k (keys %_device_config_key_VALUES) {
1613 my $v = $_device_config_key_VALUES{$k};
1615 #is this a matching flag?
1616 if ($enumval == $v) {
1621 #default, just return the number
1625 push @EXPORT_OK, qw($DEVICE_CONFIG_COMMENT);
1626 push @{$EXPORT_TAGS{"device_config_key"}}, qw($DEVICE_CONFIG_COMMENT);
1628 $_device_config_key_VALUES{"DEVICE_CONFIG_COMMENT"} = $DEVICE_CONFIG_COMMENT;
1630 push @EXPORT_OK, qw($DEVICE_CONFIG_TAPEDEV);
1631 push @{$EXPORT_TAGS{"device_config_key"}}, qw($DEVICE_CONFIG_TAPEDEV);
1633 $_device_config_key_VALUES{"DEVICE_CONFIG_TAPEDEV"} = $DEVICE_CONFIG_TAPEDEV;
1635 push @EXPORT_OK, qw($DEVICE_CONFIG_DEVICE_PROPERTY);
1636 push @{$EXPORT_TAGS{"device_config_key"}}, qw($DEVICE_CONFIG_DEVICE_PROPERTY);
1638 $_device_config_key_VALUES{"DEVICE_CONFIG_DEVICE_PROPERTY"} = $DEVICE_CONFIG_DEVICE_PROPERTY;
1640 #copy symbols in device_config_key to getconf
1641 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"device_config_key"}};
1643 push @EXPORT_OK, qw(changer_config_key_to_string);
1644 push @{$EXPORT_TAGS{"changer_config_key"}}, qw(changer_config_key_to_string);
1646 my %_changer_config_key_VALUES;
1647 #Convert an enum value to a single string
1648 sub changer_config_key_to_string {
1651 for my $k (keys %_changer_config_key_VALUES) {
1652 my $v = $_changer_config_key_VALUES{$k};
1654 #is this a matching flag?
1655 if ($enumval == $v) {
1660 #default, just return the number
1664 push @EXPORT_OK, qw($CHANGER_CONFIG_COMMENT);
1665 push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_COMMENT);
1667 $_changer_config_key_VALUES{"CHANGER_CONFIG_COMMENT"} = $CHANGER_CONFIG_COMMENT;
1669 push @EXPORT_OK, qw($CHANGER_CONFIG_TAPEDEV);
1670 push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_TAPEDEV);
1672 $_changer_config_key_VALUES{"CHANGER_CONFIG_TAPEDEV"} = $CHANGER_CONFIG_TAPEDEV;
1674 push @EXPORT_OK, qw($CHANGER_CONFIG_TPCHANGER);
1675 push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_TPCHANGER);
1677 $_changer_config_key_VALUES{"CHANGER_CONFIG_TPCHANGER"} = $CHANGER_CONFIG_TPCHANGER;
1679 push @EXPORT_OK, qw($CHANGER_CONFIG_CHANGERDEV);
1680 push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_CHANGERDEV);
1682 $_changer_config_key_VALUES{"CHANGER_CONFIG_CHANGERDEV"} = $CHANGER_CONFIG_CHANGERDEV;
1684 push @EXPORT_OK, qw($CHANGER_CONFIG_CHANGERFILE);
1685 push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_CHANGERFILE);
1687 $_changer_config_key_VALUES{"CHANGER_CONFIG_CHANGERFILE"} = $CHANGER_CONFIG_CHANGERFILE;
1689 push @EXPORT_OK, qw($CHANGER_CONFIG_PROPERTY);
1690 push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_PROPERTY);
1692 $_changer_config_key_VALUES{"CHANGER_CONFIG_PROPERTY"} = $CHANGER_CONFIG_PROPERTY;
1694 push @EXPORT_OK, qw($CHANGER_CONFIG_DEVICE_PROPERTY);
1695 push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_DEVICE_PROPERTY);
1697 $_changer_config_key_VALUES{"CHANGER_CONFIG_DEVICE_PROPERTY"} = $CHANGER_CONFIG_DEVICE_PROPERTY;
1699 #copy symbols in changer_config_key to getconf
1700 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"changer_config_key"}};
1702 push @EXPORT_OK, qw(dump_holdingdisk_t_to_string);
1703 push @{$EXPORT_TAGS{"dump_holdingdisk_t"}}, qw(dump_holdingdisk_t_to_string);
1705 my %_dump_holdingdisk_t_VALUES;
1706 #Convert an enum value to a single string
1707 sub dump_holdingdisk_t_to_string {
1710 for my $k (keys %_dump_holdingdisk_t_VALUES) {
1711 my $v = $_dump_holdingdisk_t_VALUES{$k};
1713 #is this a matching flag?
1714 if ($enumval == $v) {
1719 #default, just return the number
1723 push @EXPORT_OK, qw($HOLD_NEVER);
1724 push @{$EXPORT_TAGS{"dump_holdingdisk_t"}}, qw($HOLD_NEVER);
1726 $_dump_holdingdisk_t_VALUES{"HOLD_NEVER"} = $HOLD_NEVER;
1728 push @EXPORT_OK, qw($HOLD_AUTO);
1729 push @{$EXPORT_TAGS{"dump_holdingdisk_t"}}, qw($HOLD_AUTO);
1731 $_dump_holdingdisk_t_VALUES{"HOLD_AUTO"} = $HOLD_AUTO;
1733 push @EXPORT_OK, qw($HOLD_REQUIRED);
1734 push @{$EXPORT_TAGS{"dump_holdingdisk_t"}}, qw($HOLD_REQUIRED);
1736 $_dump_holdingdisk_t_VALUES{"HOLD_REQUIRED"} = $HOLD_REQUIRED;
1738 #copy symbols in dump_holdingdisk_t to getconf
1739 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"dump_holdingdisk_t"}};
1741 push @EXPORT_OK, qw(comp_t_to_string);
1742 push @{$EXPORT_TAGS{"comp_t"}}, qw(comp_t_to_string);
1745 #Convert an enum value to a single string
1746 sub comp_t_to_string {
1749 for my $k (keys %_comp_t_VALUES) {
1750 my $v = $_comp_t_VALUES{$k};
1752 #is this a matching flag?
1753 if ($enumval == $v) {
1758 #default, just return the number
1762 push @EXPORT_OK, qw($COMP_NONE);
1763 push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_NONE);
1765 $_comp_t_VALUES{"COMP_NONE"} = $COMP_NONE;
1767 push @EXPORT_OK, qw($COMP_FAST);
1768 push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_FAST);
1770 $_comp_t_VALUES{"COMP_FAST"} = $COMP_FAST;
1772 push @EXPORT_OK, qw($COMP_BEST);
1773 push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_BEST);
1775 $_comp_t_VALUES{"COMP_BEST"} = $COMP_BEST;
1777 push @EXPORT_OK, qw($COMP_CUST);
1778 push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_CUST);
1780 $_comp_t_VALUES{"COMP_CUST"} = $COMP_CUST;
1782 push @EXPORT_OK, qw($COMP_SERVER_FAST);
1783 push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_SERVER_FAST);
1785 $_comp_t_VALUES{"COMP_SERVER_FAST"} = $COMP_SERVER_FAST;
1787 push @EXPORT_OK, qw($COMP_SERVER_BEST);
1788 push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_SERVER_BEST);
1790 $_comp_t_VALUES{"COMP_SERVER_BEST"} = $COMP_SERVER_BEST;
1792 push @EXPORT_OK, qw($COMP_SERVER_CUST);
1793 push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_SERVER_CUST);
1795 $_comp_t_VALUES{"COMP_SERVER_CUST"} = $COMP_SERVER_CUST;
1797 #copy symbols in comp_t to getconf
1798 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"comp_t"}};
1800 push @EXPORT_OK, qw(encrypt_t_to_string);
1801 push @{$EXPORT_TAGS{"encrypt_t"}}, qw(encrypt_t_to_string);
1803 my %_encrypt_t_VALUES;
1804 #Convert an enum value to a single string
1805 sub encrypt_t_to_string {
1808 for my $k (keys %_encrypt_t_VALUES) {
1809 my $v = $_encrypt_t_VALUES{$k};
1811 #is this a matching flag?
1812 if ($enumval == $v) {
1817 #default, just return the number
1821 push @EXPORT_OK, qw($ENCRYPT_NONE);
1822 push @{$EXPORT_TAGS{"encrypt_t"}}, qw($ENCRYPT_NONE);
1824 $_encrypt_t_VALUES{"ENCRYPT_NONE"} = $ENCRYPT_NONE;
1826 push @EXPORT_OK, qw($ENCRYPT_CUST);
1827 push @{$EXPORT_TAGS{"encrypt_t"}}, qw($ENCRYPT_CUST);
1829 $_encrypt_t_VALUES{"ENCRYPT_CUST"} = $ENCRYPT_CUST;
1831 push @EXPORT_OK, qw($ENCRYPT_SERV_CUST);
1832 push @{$EXPORT_TAGS{"encrypt_t"}}, qw($ENCRYPT_SERV_CUST);
1834 $_encrypt_t_VALUES{"ENCRYPT_SERV_CUST"} = $ENCRYPT_SERV_CUST;
1836 #copy symbols in encrypt_t to getconf
1837 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"encrypt_t"}};
1839 push @EXPORT_OK, qw(strategy_t_to_string);
1840 push @{$EXPORT_TAGS{"strategy_t"}}, qw(strategy_t_to_string);
1842 my %_strategy_t_VALUES;
1843 #Convert an enum value to a single string
1844 sub strategy_t_to_string {
1847 for my $k (keys %_strategy_t_VALUES) {
1848 my $v = $_strategy_t_VALUES{$k};
1850 #is this a matching flag?
1851 if ($enumval == $v) {
1856 #default, just return the number
1860 push @EXPORT_OK, qw($DS_SKIP);
1861 push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_SKIP);
1863 $_strategy_t_VALUES{"DS_SKIP"} = $DS_SKIP;
1865 push @EXPORT_OK, qw($DS_STANDARD);
1866 push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_STANDARD);
1868 $_strategy_t_VALUES{"DS_STANDARD"} = $DS_STANDARD;
1870 push @EXPORT_OK, qw($DS_NOFULL);
1871 push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_NOFULL);
1873 $_strategy_t_VALUES{"DS_NOFULL"} = $DS_NOFULL;
1875 push @EXPORT_OK, qw($DS_NOINC);
1876 push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_NOINC);
1878 $_strategy_t_VALUES{"DS_NOINC"} = $DS_NOINC;
1880 push @EXPORT_OK, qw($DS_4);
1881 push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_4);
1883 $_strategy_t_VALUES{"DS_4"} = $DS_4;
1885 push @EXPORT_OK, qw($DS_5);
1886 push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_5);
1888 $_strategy_t_VALUES{"DS_5"} = $DS_5;
1890 push @EXPORT_OK, qw($DS_HANOI);
1891 push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_HANOI);
1893 $_strategy_t_VALUES{"DS_HANOI"} = $DS_HANOI;
1895 push @EXPORT_OK, qw($DS_INCRONLY);
1896 push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_INCRONLY);
1898 $_strategy_t_VALUES{"DS_INCRONLY"} = $DS_INCRONLY;
1900 #copy symbols in strategy_t to getconf
1901 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"strategy_t"}};
1903 push @EXPORT_OK, qw(estimate_t_to_string);
1904 push @{$EXPORT_TAGS{"estimate_t"}}, qw(estimate_t_to_string);
1906 my %_estimate_t_VALUES;
1907 #Convert an enum value to a single string
1908 sub estimate_t_to_string {
1911 for my $k (keys %_estimate_t_VALUES) {
1912 my $v = $_estimate_t_VALUES{$k};
1914 #is this a matching flag?
1915 if ($enumval == $v) {
1920 #default, just return the number
1924 push @EXPORT_OK, qw($ES_CLIENT);
1925 push @{$EXPORT_TAGS{"estimate_t"}}, qw($ES_CLIENT);
1927 $_estimate_t_VALUES{"ES_CLIENT"} = $ES_CLIENT;
1929 push @EXPORT_OK, qw($ES_SERVER);
1930 push @{$EXPORT_TAGS{"estimate_t"}}, qw($ES_SERVER);
1932 $_estimate_t_VALUES{"ES_SERVER"} = $ES_SERVER;
1934 push @EXPORT_OK, qw($ES_CALCSIZE);
1935 push @{$EXPORT_TAGS{"estimate_t"}}, qw($ES_CALCSIZE);
1937 $_estimate_t_VALUES{"ES_CALCSIZE"} = $ES_CALCSIZE;
1939 #copy symbols in estimate_t to getconf
1940 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"estimate_t"}};
1942 push @EXPORT_OK, qw(autolabel_enum_t_to_string);
1943 push @{$EXPORT_TAGS{"autolabel_enum_t"}}, qw(autolabel_enum_t_to_string);
1945 my %_autolabel_enum_t_VALUES;
1946 #Convert an enum value to a single string
1947 sub autolabel_enum_t_to_string {
1950 for my $k (keys %_autolabel_enum_t_VALUES) {
1951 my $v = $_autolabel_enum_t_VALUES{$k};
1953 #is this a matching flag?
1954 if ($enumval == $v) {
1959 #default, just return the number
1963 push @EXPORT_OK, qw($AL_OTHER_CONFIG);
1964 push @{$EXPORT_TAGS{"autolabel_enum_t"}}, qw($AL_OTHER_CONFIG);
1966 $_autolabel_enum_t_VALUES{"AL_OTHER_CONFIG"} = $AL_OTHER_CONFIG;
1968 push @EXPORT_OK, qw($AL_NON_AMANDA);
1969 push @{$EXPORT_TAGS{"autolabel_enum_t"}}, qw($AL_NON_AMANDA);
1971 $_autolabel_enum_t_VALUES{"AL_NON_AMANDA"} = $AL_NON_AMANDA;
1973 push @EXPORT_OK, qw($AL_VOLUME_ERROR);
1974 push @{$EXPORT_TAGS{"autolabel_enum_t"}}, qw($AL_VOLUME_ERROR);
1976 $_autolabel_enum_t_VALUES{"AL_VOLUME_ERROR"} = $AL_VOLUME_ERROR;
1978 push @EXPORT_OK, qw($AL_EMPTY);
1979 push @{$EXPORT_TAGS{"autolabel_enum_t"}}, qw($AL_EMPTY);
1981 $_autolabel_enum_t_VALUES{"AL_EMPTY"} = $AL_EMPTY;
1983 #copy symbols in autolabel_enum_t to getconf
1984 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"autolabel_enum_t"}};
1986 push @EXPORT_OK, qw(taperalgo_t_to_string);
1987 push @{$EXPORT_TAGS{"taperalgo_t"}}, qw(taperalgo_t_to_string);
1989 my %_taperalgo_t_VALUES;
1990 #Convert an enum value to a single string
1991 sub taperalgo_t_to_string {
1994 for my $k (keys %_taperalgo_t_VALUES) {
1995 my $v = $_taperalgo_t_VALUES{$k};
1997 #is this a matching flag?
1998 if ($enumval == $v) {
2003 #default, just return the number
2007 push @EXPORT_OK, qw($ALGO_FIRST);
2008 push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_FIRST);
2010 $_taperalgo_t_VALUES{"ALGO_FIRST"} = $ALGO_FIRST;
2012 push @EXPORT_OK, qw($ALGO_FIRSTFIT);
2013 push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_FIRSTFIT);
2015 $_taperalgo_t_VALUES{"ALGO_FIRSTFIT"} = $ALGO_FIRSTFIT;
2017 push @EXPORT_OK, qw($ALGO_LARGEST);
2018 push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_LARGEST);
2020 $_taperalgo_t_VALUES{"ALGO_LARGEST"} = $ALGO_LARGEST;
2022 push @EXPORT_OK, qw($ALGO_LARGESTFIT);
2023 push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_LARGESTFIT);
2025 $_taperalgo_t_VALUES{"ALGO_LARGESTFIT"} = $ALGO_LARGESTFIT;
2027 push @EXPORT_OK, qw($ALGO_SMALLEST);
2028 push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_SMALLEST);
2030 $_taperalgo_t_VALUES{"ALGO_SMALLEST"} = $ALGO_SMALLEST;
2032 push @EXPORT_OK, qw($ALGO_LAST);
2033 push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_LAST);
2035 $_taperalgo_t_VALUES{"ALGO_LAST"} = $ALGO_LAST;
2037 #copy symbols in taperalgo_t to getconf
2038 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"taperalgo_t"}};
2040 push @EXPORT_OK, qw(execute_on_t_to_string);
2041 push @{$EXPORT_TAGS{"execute_on_t"}}, qw(execute_on_t_to_string);
2043 my %_execute_on_t_VALUES;
2044 #Convert an enum value to a single string
2045 sub execute_on_t_to_string {
2048 for my $k (keys %_execute_on_t_VALUES) {
2049 my $v = $_execute_on_t_VALUES{$k};
2051 #is this a matching flag?
2052 if ($enumval == $v) {
2057 #default, just return the number
2061 push @EXPORT_OK, qw($EXECUTE_ON_PRE_DLE_AMCHECK);
2062 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_DLE_AMCHECK);
2064 $_execute_on_t_VALUES{"EXECUTE_ON_PRE_DLE_AMCHECK"} = $EXECUTE_ON_PRE_DLE_AMCHECK;
2066 push @EXPORT_OK, qw($EXECUTE_ON_PRE_HOST_AMCHECK);
2067 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_HOST_AMCHECK);
2069 $_execute_on_t_VALUES{"EXECUTE_ON_PRE_HOST_AMCHECK"} = $EXECUTE_ON_PRE_HOST_AMCHECK;
2071 push @EXPORT_OK, qw($EXECUTE_ON_POST_DLE_AMCHECK);
2072 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_DLE_AMCHECK);
2074 $_execute_on_t_VALUES{"EXECUTE_ON_POST_DLE_AMCHECK"} = $EXECUTE_ON_POST_DLE_AMCHECK;
2076 push @EXPORT_OK, qw($EXECUTE_ON_POST_HOST_AMCHECK);
2077 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_HOST_AMCHECK);
2079 $_execute_on_t_VALUES{"EXECUTE_ON_POST_HOST_AMCHECK"} = $EXECUTE_ON_POST_HOST_AMCHECK;
2081 push @EXPORT_OK, qw($EXECUTE_ON_PRE_DLE_ESTIMATE);
2082 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_DLE_ESTIMATE);
2084 $_execute_on_t_VALUES{"EXECUTE_ON_PRE_DLE_ESTIMATE"} = $EXECUTE_ON_PRE_DLE_ESTIMATE;
2086 push @EXPORT_OK, qw($EXECUTE_ON_PRE_HOST_ESTIMATE);
2087 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_HOST_ESTIMATE);
2089 $_execute_on_t_VALUES{"EXECUTE_ON_PRE_HOST_ESTIMATE"} = $EXECUTE_ON_PRE_HOST_ESTIMATE;
2091 push @EXPORT_OK, qw($EXECUTE_ON_POST_DLE_ESTIMATE);
2092 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_DLE_ESTIMATE);
2094 $_execute_on_t_VALUES{"EXECUTE_ON_POST_DLE_ESTIMATE"} = $EXECUTE_ON_POST_DLE_ESTIMATE;
2096 push @EXPORT_OK, qw($EXECUTE_ON_POST_HOST_ESTIMATE);
2097 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_HOST_ESTIMATE);
2099 $_execute_on_t_VALUES{"EXECUTE_ON_POST_HOST_ESTIMATE"} = $EXECUTE_ON_POST_HOST_ESTIMATE;
2101 push @EXPORT_OK, qw($EXECUTE_ON_PRE_DLE_BACKUP);
2102 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_DLE_BACKUP);
2104 $_execute_on_t_VALUES{"EXECUTE_ON_PRE_DLE_BACKUP"} = $EXECUTE_ON_PRE_DLE_BACKUP;
2106 push @EXPORT_OK, qw($EXECUTE_ON_PRE_HOST_BACKUP);
2107 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_HOST_BACKUP);
2109 $_execute_on_t_VALUES{"EXECUTE_ON_PRE_HOST_BACKUP"} = $EXECUTE_ON_PRE_HOST_BACKUP;
2111 push @EXPORT_OK, qw($EXECUTE_ON_POST_DLE_BACKUP);
2112 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_DLE_BACKUP);
2114 $_execute_on_t_VALUES{"EXECUTE_ON_POST_DLE_BACKUP"} = $EXECUTE_ON_POST_DLE_BACKUP;
2116 push @EXPORT_OK, qw($EXECUTE_ON_POST_HOST_BACKUP);
2117 push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_HOST_BACKUP);
2119 $_execute_on_t_VALUES{"EXECUTE_ON_POST_HOST_BACKUP"} = $EXECUTE_ON_POST_HOST_BACKUP;
2121 #copy symbols in execute_on_t to getconf
2122 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"execute_on_t"}};
2124 push @EXPORT_OK, qw(send_amreport_on_t_to_string);
2125 push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw(send_amreport_on_t_to_string);
2127 my %_send_amreport_on_t_VALUES;
2128 #Convert an enum value to a single string
2129 sub send_amreport_on_t_to_string {
2132 for my $k (keys %_send_amreport_on_t_VALUES) {
2133 my $v = $_send_amreport_on_t_VALUES{$k};
2135 #is this a matching flag?
2136 if ($enumval == $v) {
2141 #default, just return the number
2145 push @EXPORT_OK, qw($SEND_AMREPORT_ALL);
2146 push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw($SEND_AMREPORT_ALL);
2148 $_send_amreport_on_t_VALUES{"SEND_AMREPORT_ALL"} = $SEND_AMREPORT_ALL;
2150 push @EXPORT_OK, qw($SEND_AMREPORT_STRANGE);
2151 push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw($SEND_AMREPORT_STRANGE);
2153 $_send_amreport_on_t_VALUES{"SEND_AMREPORT_STRANGE"} = $SEND_AMREPORT_STRANGE;
2155 push @EXPORT_OK, qw($SEND_AMREPORT_ERROR);
2156 push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw($SEND_AMREPORT_ERROR);
2158 $_send_amreport_on_t_VALUES{"SEND_AMREPORT_ERROR"} = $SEND_AMREPORT_ERROR;
2160 push @EXPORT_OK, qw($SEND_AMREPORT_NEVER);
2161 push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw($SEND_AMREPORT_NEVER);
2163 $_send_amreport_on_t_VALUES{"SEND_AMREPORT_NEVER"} = $SEND_AMREPORT_NEVER;
2165 #copy symbols in send_amreport_on_t to getconf
2166 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"send_amreport_on_t"}};
2168 push @EXPORT_OK, qw(data_path_t_to_string);
2169 push @{$EXPORT_TAGS{"data_path_t"}}, qw(data_path_t_to_string);
2171 my %_data_path_t_VALUES;
2172 #Convert an enum value to a single string
2173 sub data_path_t_to_string {
2176 for my $k (keys %_data_path_t_VALUES) {
2177 my $v = $_data_path_t_VALUES{$k};
2179 #is this a matching flag?
2180 if ($enumval == $v) {
2185 #default, just return the number
2189 push @EXPORT_OK, qw($DATA_PATH_AMANDA);
2190 push @{$EXPORT_TAGS{"data_path_t"}}, qw($DATA_PATH_AMANDA);
2192 $_data_path_t_VALUES{"DATA_PATH_AMANDA"} = $DATA_PATH_AMANDA;
2194 push @EXPORT_OK, qw($DATA_PATH_DIRECTTCP);
2195 push @{$EXPORT_TAGS{"data_path_t"}}, qw($DATA_PATH_DIRECTTCP);
2197 $_data_path_t_VALUES{"DATA_PATH_DIRECTTCP"} = $DATA_PATH_DIRECTTCP;
2199 #copy symbols in data_path_t to getconf
2200 push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"data_path_t"}};
2202 push @EXPORT_OK, qw(getconf getconf_seen getconf_linenum
2203 getconf_byname getconf_byname_strs
2205 push @{$EXPORT_TAGS{"getconf"}}, qw(getconf getconf_seen getconf_linenum
2206 getconf_byname getconf_byname_strs
2209 push @EXPORT_OK, qw(lookup_tapetype tapetype_getconf tapetype_name
2210 tapetype_seen tapetype_seen);
2211 push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_tapetype tapetype_getconf tapetype_name
2212 tapetype_seen tapetype_seen);
2214 push @EXPORT_OK, qw(lookup_dumptype dumptype_getconf dumptype_name
2215 dumptype_seen dumptype_seen);
2216 push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_dumptype dumptype_getconf dumptype_name
2217 dumptype_seen dumptype_seen);
2219 push @EXPORT_OK, qw(lookup_interface interface_getconf interface_name
2220 interface_seen interface_seen);
2221 push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_interface interface_getconf interface_name
2222 interface_seen interface_seen);
2224 push @EXPORT_OK, qw(lookup_holdingdisk holdingdisk_getconf holdingdisk_name
2225 getconf_holdingdisks
2226 holdingdisk_seen holdingdisk_seen);
2227 push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_holdingdisk holdingdisk_getconf holdingdisk_name
2228 getconf_holdingdisks
2229 holdingdisk_seen holdingdisk_seen);
2231 push @EXPORT_OK, qw(lookup_application application_getconf application_name
2232 application_seen application_seen);
2233 push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_application application_getconf application_name
2234 application_seen application_seen);
2236 push @EXPORT_OK, qw(lookup_pp_script pp_script_getconf pp_script_name
2237 pp_script_seen pp_script_seen);
2238 push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_pp_script pp_script_getconf pp_script_name
2239 pp_script_seen pp_script_seen);
2241 push @EXPORT_OK, qw(lookup_device_config device_config_getconf device_config_name
2242 device_config_seen device_config_seen);
2243 push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_device_config device_config_getconf device_config_name
2244 device_config_seen device_config_seen);
2246 push @EXPORT_OK, qw(lookup_changer_config changer_config_getconf changer_config_name
2247 changer_config_seen changer_config_seen);
2248 push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_changer_config changer_config_getconf changer_config_name
2249 changer_config_seen changer_config_seen);
2251 # only those keys with a value of '1' should be shown; the
2252 # others are deprecated
2253 our %subsection_names = (
2260 "application-tool" => 0,
2266 push @EXPORT_OK, qw(%subsection_names);
2267 push @{$EXPORT_TAGS{"getconf"}}, qw(%subsection_names);
2269 push @EXPORT_OK, qw(getconf_unit_divisor
2271 $debug_amandad $debug_recovery $debug_amidxtaped $debug_amindexd $debug_amrecover
2272 $debug_auth $debug_event $debug_holding $debug_protocol
2273 $debug_planner $debug_driver $debug_dumper $debug_chunker
2274 $debug_taper $debug_selfcheck $debug_sendsize $debug_sendbackup);
2275 push @{$EXPORT_TAGS{"getconf"}}, qw(getconf_unit_divisor
2277 $debug_amandad $debug_recovery $debug_amidxtaped $debug_amindexd $debug_amrecover
2278 $debug_auth $debug_event $debug_holding $debug_protocol
2279 $debug_planner $debug_driver $debug_dumper $debug_chunker
2280 $debug_taper $debug_selfcheck $debug_sendsize $debug_sendbackup);
2282 push @EXPORT_OK, qw(cfgerr_level_t_to_string);
2283 push @{$EXPORT_TAGS{"cfgerr_level_t"}}, qw(cfgerr_level_t_to_string);
2285 my %_cfgerr_level_t_VALUES;
2286 #Convert an enum value to a single string
2287 sub cfgerr_level_t_to_string {
2290 for my $k (keys %_cfgerr_level_t_VALUES) {
2291 my $v = $_cfgerr_level_t_VALUES{$k};
2293 #is this a matching flag?
2294 if ($enumval == $v) {
2299 #default, just return the number
2303 push @EXPORT_OK, qw($CFGERR_OK);
2304 push @{$EXPORT_TAGS{"cfgerr_level_t"}}, qw($CFGERR_OK);
2306 $_cfgerr_level_t_VALUES{"CFGERR_OK"} = $CFGERR_OK;
2308 push @EXPORT_OK, qw($CFGERR_WARNINGS);
2309 push @{$EXPORT_TAGS{"cfgerr_level_t"}}, qw($CFGERR_WARNINGS);
2311 $_cfgerr_level_t_VALUES{"CFGERR_WARNINGS"} = $CFGERR_WARNINGS;
2313 push @EXPORT_OK, qw($CFGERR_ERRORS);
2314 push @{$EXPORT_TAGS{"cfgerr_level_t"}}, qw($CFGERR_ERRORS);
2316 $_cfgerr_level_t_VALUES{"CFGERR_ERRORS"} = $CFGERR_ERRORS;
2318 #copy symbols in cfgerr_level_t to init
2319 push @{$EXPORT_TAGS{"init"}}, @{$EXPORT_TAGS{"cfgerr_level_t"}};
2321 push @EXPORT_OK, qw(config_init_flags_to_strings);
2322 push @{$EXPORT_TAGS{"config_init_flags"}}, qw(config_init_flags_to_strings);
2324 my %_config_init_flags_VALUES;
2325 #Convert a flag value to a list of names for flags that are set.
2326 sub config_init_flags_to_strings {
2330 for my $k (keys %_config_init_flags_VALUES) {
2331 my $v = $_config_init_flags_VALUES{$k};
2333 #is this a matching flag?
2334 if (($v == 0 && $flags == 0) || ($v != 0 && ($flags & $v) == $v)) {
2339 #by default, just return the number as a 1-element list
2347 push @EXPORT_OK, qw($CONFIG_INIT_EXPLICIT_NAME);
2348 push @{$EXPORT_TAGS{"config_init_flags"}}, qw($CONFIG_INIT_EXPLICIT_NAME);
2350 $_config_init_flags_VALUES{"CONFIG_INIT_EXPLICIT_NAME"} = $CONFIG_INIT_EXPLICIT_NAME;
2352 push @EXPORT_OK, qw($CONFIG_INIT_USE_CWD);
2353 push @{$EXPORT_TAGS{"config_init_flags"}}, qw($CONFIG_INIT_USE_CWD);
2355 $_config_init_flags_VALUES{"CONFIG_INIT_USE_CWD"} = $CONFIG_INIT_USE_CWD;
2357 push @EXPORT_OK, qw($CONFIG_INIT_CLIENT);
2358 push @{$EXPORT_TAGS{"config_init_flags"}}, qw($CONFIG_INIT_CLIENT);
2360 $_config_init_flags_VALUES{"CONFIG_INIT_CLIENT"} = $CONFIG_INIT_CLIENT;
2362 push @EXPORT_OK, qw($CONFIG_INIT_OVERLAY);
2363 push @{$EXPORT_TAGS{"config_init_flags"}}, qw($CONFIG_INIT_OVERLAY);
2365 $_config_init_flags_VALUES{"CONFIG_INIT_OVERLAY"} = $CONFIG_INIT_OVERLAY;
2367 #copy symbols in config_init_flags to init
2368 push @{$EXPORT_TAGS{"init"}}, @{$EXPORT_TAGS{"config_init_flags"}};
2370 push @EXPORT_OK, qw(config_init config_uninit get_config_options
2371 get_config_name get_config_dir get_config_filename
2372 config_print_errors config_clear_errors config_errors
2373 new_config_overrides free_config_overrides add_config_override
2374 add_config_override_opt set_config_overrides);
2375 push @{$EXPORT_TAGS{"init"}}, qw(config_init config_uninit get_config_options
2376 get_config_name get_config_dir get_config_filename
2377 config_print_errors config_clear_errors config_errors
2378 new_config_overrides free_config_overrides add_config_override
2379 add_config_override_opt set_config_overrides);
2381 push @EXPORT_OK, qw(dump_configuration config_dir_relative taperalgo2str find_multiplier);
2384 sub string_to_boolean {
2386 my $ret = C_string_to_boolean($str);
2387 return undef unless $ret >= 0;
2392 push @EXPORT_OK, qw(string_to_boolean);