X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=perl%2FAmanda%2FConfig.pm;h=beaf07ba6659639a39507f270e449ea4628bf846;hb=2627875b7d18858bc1f9f7652811e4d8c15a23eb;hp=b254c923cbab11e5306b141017dbeee779915f01;hpb=fb2bd066c2f8b34addafe48d62550e3033a59431;p=debian%2Famanda diff --git a/perl/Amanda/Config.pm b/perl/Amanda/Config.pm index b254c92..beaf07b 100644 --- a/perl/Amanda/Config.pm +++ b/perl/Amanda/Config.pm @@ -1,5 +1,5 @@ # This file was automatically generated by SWIG (http://www.swig.org). -# Version 1.3.33 +# Version 1.3.35 # # Don't modify this file, modify the SWIG interface instead. @@ -53,6 +53,7 @@ package Amanda::Config; *getconf_seen = *Amanda::Configc::getconf_seen; *getconf_byname = *Amanda::Configc::getconf_byname; *getconf_list = *Amanda::Configc::getconf_list; +*getconf_byname_strs = *Amanda::Configc::getconf_byname_strs; *lookup_tapetype = *Amanda::Configc::lookup_tapetype; *tapetype_getconf = *Amanda::Configc::tapetype_getconf; *tapetype_name = *Amanda::Configc::tapetype_name; @@ -71,18 +72,37 @@ package Amanda::Config; *holdingdisk_getconf = *Amanda::Configc::holdingdisk_getconf; *holdingdisk_name = *Amanda::Configc::holdingdisk_name; *holdingdisk_seen = *Amanda::Configc::holdingdisk_seen; +*lookup_application = *Amanda::Configc::lookup_application; +*application_getconf = *Amanda::Configc::application_getconf; +*application_name = *Amanda::Configc::application_name; +*application_seen = *Amanda::Configc::application_seen; +*lookup_pp_script = *Amanda::Configc::lookup_pp_script; +*pp_script_getconf = *Amanda::Configc::pp_script_getconf; +*pp_script_name = *Amanda::Configc::pp_script_name; +*pp_script_seen = *Amanda::Configc::pp_script_seen; +*lookup_device_config = *Amanda::Configc::lookup_device_config; +*device_config_getconf = *Amanda::Configc::device_config_getconf; +*device_config_name = *Amanda::Configc::device_config_name; +*device_config_seen = *Amanda::Configc::device_config_seen; +*lookup_changer_config = *Amanda::Configc::lookup_changer_config; +*changer_config_getconf = *Amanda::Configc::changer_config_getconf; +*changer_config_name = *Amanda::Configc::changer_config_name; +*changer_config_seen = *Amanda::Configc::changer_config_seen; *getconf_unit_divisor = *Amanda::Configc::getconf_unit_divisor; -*new_config_overwrites = *Amanda::Configc::new_config_overwrites; -*free_config_overwrites = *Amanda::Configc::free_config_overwrites; -*add_config_overwrite = *Amanda::Configc::add_config_overwrite; -*add_config_overwrite_opt = *Amanda::Configc::add_config_overwrite_opt; -*apply_config_overwrites = *Amanda::Configc::apply_config_overwrites; *config_init = *Amanda::Configc::config_init; *config_uninit = *Amanda::Configc::config_uninit; *get_config_options = *Amanda::Configc::get_config_options; *get_config_name = *Amanda::Configc::get_config_name; *get_config_dir = *Amanda::Configc::get_config_dir; *get_config_filename = *Amanda::Configc::get_config_filename; +*config_print_errors = *Amanda::Configc::config_print_errors; +*config_clear_errors = *Amanda::Configc::config_clear_errors; +*config_errors = *Amanda::Configc::config_errors; +*new_config_overwrites = *Amanda::Configc::new_config_overwrites; +*free_config_overwrites = *Amanda::Configc::free_config_overwrites; +*add_config_overwrite = *Amanda::Configc::add_config_overwrite; +*add_config_overwrite_opt = *Amanda::Configc::add_config_overwrite_opt; +*apply_config_overwrites = *Amanda::Configc::apply_config_overwrites; *dump_configuration = *Amanda::Configc::dump_configuration; *config_dir_relative = *Amanda::Configc::config_dir_relative; *taperalgo2str = *Amanda::Configc::taperalgo2str; @@ -102,10 +122,12 @@ package Amanda::Config; *CNF_CLIENT_USERNAME = *Amanda::Configc::CNF_CLIENT_USERNAME; *CNF_GNUTAR_LIST_DIR = *Amanda::Configc::CNF_GNUTAR_LIST_DIR; *CNF_AMANDATES = *Amanda::Configc::CNF_AMANDATES; +*CNF_MAILER = *Amanda::Configc::CNF_MAILER; *CNF_MAILTO = *Amanda::Configc::CNF_MAILTO; *CNF_DUMPUSER = *Amanda::Configc::CNF_DUMPUSER; *CNF_TAPEDEV = *Amanda::Configc::CNF_TAPEDEV; *CNF_DEVICE_PROPERTY = *Amanda::Configc::CNF_DEVICE_PROPERTY; +*CNF_PROPERTY = *Amanda::Configc::CNF_PROPERTY; *CNF_CHANGERDEV = *Amanda::Configc::CNF_CHANGERDEV; *CNF_CHANGERFILE = *Amanda::Configc::CNF_CHANGERFILE; *CNF_LABELSTR = *Amanda::Configc::CNF_LABELSTR; @@ -218,12 +240,31 @@ package Amanda::Config; *DUMPTYPE_KENCRYPT = *Amanda::Configc::DUMPTYPE_KENCRYPT; *DUMPTYPE_IGNORE = *Amanda::Configc::DUMPTYPE_IGNORE; *DUMPTYPE_INDEX = *Amanda::Configc::DUMPTYPE_INDEX; +*DUMPTYPE_APPLICATION = *Amanda::Configc::DUMPTYPE_APPLICATION; +*DUMPTYPE_PP_SCRIPTLIST = *Amanda::Configc::DUMPTYPE_PP_SCRIPTLIST; +*DUMPTYPE_PROPERTY = *Amanda::Configc::DUMPTYPE_PROPERTY; *INTER_COMMENT = *Amanda::Configc::INTER_COMMENT; *INTER_MAXUSAGE = *Amanda::Configc::INTER_MAXUSAGE; *HOLDING_COMMENT = *Amanda::Configc::HOLDING_COMMENT; *HOLDING_DISKDIR = *Amanda::Configc::HOLDING_DISKDIR; *HOLDING_DISKSIZE = *Amanda::Configc::HOLDING_DISKSIZE; *HOLDING_CHUNKSIZE = *Amanda::Configc::HOLDING_CHUNKSIZE; +*APPLICATION_COMMENT = *Amanda::Configc::APPLICATION_COMMENT; +*APPLICATION_PLUGIN = *Amanda::Configc::APPLICATION_PLUGIN; +*APPLICATION_PROPERTY = *Amanda::Configc::APPLICATION_PROPERTY; +*PP_SCRIPT_COMMENT = *Amanda::Configc::PP_SCRIPT_COMMENT; +*PP_SCRIPT_PLUGIN = *Amanda::Configc::PP_SCRIPT_PLUGIN; +*PP_SCRIPT_PROPERTY = *Amanda::Configc::PP_SCRIPT_PROPERTY; +*PP_SCRIPT_EXECUTE_ON = *Amanda::Configc::PP_SCRIPT_EXECUTE_ON; +*PP_SCRIPT_EXECUTE_WHERE = *Amanda::Configc::PP_SCRIPT_EXECUTE_WHERE; +*DEVICE_CONFIG_COMMENT = *Amanda::Configc::DEVICE_CONFIG_COMMENT; +*DEVICE_CONFIG_TAPEDEV = *Amanda::Configc::DEVICE_CONFIG_TAPEDEV; +*DEVICE_CONFIG_DEVICE_PROPERTY = *Amanda::Configc::DEVICE_CONFIG_DEVICE_PROPERTY; +*CHANGER_CONFIG_COMMENT = *Amanda::Configc::CHANGER_CONFIG_COMMENT; +*CHANGER_CONFIG_TAPEDEV = *Amanda::Configc::CHANGER_CONFIG_TAPEDEV; +*CHANGER_CONFIG_TPCHANGER = *Amanda::Configc::CHANGER_CONFIG_TPCHANGER; +*CHANGER_CONFIG_CHANGERDEV = *Amanda::Configc::CHANGER_CONFIG_CHANGERDEV; +*CHANGER_CONFIG_CHANGERFILE = *Amanda::Configc::CHANGER_CONFIG_CHANGERFILE; *HOLD_NEVER = *Amanda::Configc::HOLD_NEVER; *HOLD_AUTO = *Amanda::Configc::HOLD_AUTO; *HOLD_REQUIRED = *Amanda::Configc::HOLD_REQUIRED; @@ -254,6 +295,22 @@ package Amanda::Config; *ALGO_LARGESTFIT = *Amanda::Configc::ALGO_LARGESTFIT; *ALGO_SMALLEST = *Amanda::Configc::ALGO_SMALLEST; *ALGO_LAST = *Amanda::Configc::ALGO_LAST; +*EXECUTE_ON_PRE_DLE_AMCHECK = *Amanda::Configc::EXECUTE_ON_PRE_DLE_AMCHECK; +*EXECUTE_ON_PRE_HOST_AMCHECK = *Amanda::Configc::EXECUTE_ON_PRE_HOST_AMCHECK; +*EXECUTE_ON_POST_DLE_AMCHECK = *Amanda::Configc::EXECUTE_ON_POST_DLE_AMCHECK; +*EXECUTE_ON_POST_HOST_AMCHECK = *Amanda::Configc::EXECUTE_ON_POST_HOST_AMCHECK; +*EXECUTE_ON_PRE_DLE_ESTIMATE = *Amanda::Configc::EXECUTE_ON_PRE_DLE_ESTIMATE; +*EXECUTE_ON_PRE_HOST_ESTIMATE = *Amanda::Configc::EXECUTE_ON_PRE_HOST_ESTIMATE; +*EXECUTE_ON_POST_DLE_ESTIMATE = *Amanda::Configc::EXECUTE_ON_POST_DLE_ESTIMATE; +*EXECUTE_ON_POST_HOST_ESTIMATE = *Amanda::Configc::EXECUTE_ON_POST_HOST_ESTIMATE; +*EXECUTE_ON_PRE_DLE_BACKUP = *Amanda::Configc::EXECUTE_ON_PRE_DLE_BACKUP; +*EXECUTE_ON_PRE_HOST_BACKUP = *Amanda::Configc::EXECUTE_ON_PRE_HOST_BACKUP; +*EXECUTE_ON_POST_DLE_BACKUP = *Amanda::Configc::EXECUTE_ON_POST_DLE_BACKUP; +*EXECUTE_ON_POST_HOST_BACKUP = *Amanda::Configc::EXECUTE_ON_POST_HOST_BACKUP; +*SEND_AMREPORT_ALL = *Amanda::Configc::SEND_AMREPORT_ALL; +*SEND_AMREPORT_STRANGE = *Amanda::Configc::SEND_AMREPORT_STRANGE; +*SEND_AMREPORT_ERROR = *Amanda::Configc::SEND_AMREPORT_ERROR; +*SEND_AMREPORT_NEVER = *Amanda::Configc::SEND_AMREPORT_NEVER; *debug_amandad = *Amanda::Configc::debug_amandad; *debug_amidxtaped = *Amanda::Configc::debug_amidxtaped; *debug_amindexd = *Amanda::Configc::debug_amindexd; @@ -270,11 +327,13 @@ package Amanda::Config; *debug_selfcheck = *Amanda::Configc::debug_selfcheck; *debug_sendsize = *Amanda::Configc::debug_sendsize; *debug_sendbackup = *Amanda::Configc::debug_sendbackup; +*CFGERR_OK = *Amanda::Configc::CFGERR_OK; +*CFGERR_WARNINGS = *Amanda::Configc::CFGERR_WARNINGS; +*CFGERR_ERRORS = *Amanda::Configc::CFGERR_ERRORS; *CONFIG_INIT_EXPLICIT_NAME = *Amanda::Configc::CONFIG_INIT_EXPLICIT_NAME; *CONFIG_INIT_USE_CWD = *Amanda::Configc::CONFIG_INIT_USE_CWD; *CONFIG_INIT_CLIENT = *Amanda::Configc::CONFIG_INIT_CLIENT; *CONFIG_INIT_OVERLAY = *Amanda::Configc::CONFIG_INIT_OVERLAY; -*CONFIG_INIT_FATAL = *Amanda::Configc::CONFIG_INIT_FATAL; @EXPORT_OK = (); %EXPORT_TAGS = (); @@ -329,9 +388,6 @@ is loaded. =item If C is given, then any existing configuration is not reset. -=item If C is given, then any errors are considered -fatal, and C does not return. - =back See C for more detailed information on these flags and @@ -346,6 +402,19 @@ and filename (C) are available from C, C, and C, respectively. +=head3 CONFIG ERRORS + +This module collects configuration errors and warnings in a list, and also +tracks the overall error level with an enumeration: C<$CFGERR_OK>, +C<$CFGERR_WARNINGS>, and C<$CFGERR_ERRORS>. C and +C both return the current level. The level and the +list of error messages are available from C: + + my ($cfgerr_level, @errors) = Amanda::Configconfig_errors(); + +As a convenience, C will print all error messages to +stderr. The error state can be cleared with C. + =head2 CONFIG OVERWRITES Most Amanda applications accept the command-line option C<-o> @@ -434,6 +503,10 @@ with constants beginning with C<$TAPETYPE_> with constants beginning with C<$DUMPTYPE_> +=item C + +with constants beginning with C<$INTER_> + =item C with constants beginning with C<$HOLDING_> @@ -446,14 +519,28 @@ with constants beginning with C<$APPLICATION_> with constants beginning with C<$PP_SCRIPT_> +=item C + +with constants beginning with C<$DEVICE_CONFIG_>. + +=item C + +with constants beginning with C<$CHANGER_CONFIG_>. + =back See C for the names of the constants themselves. -Parameter values are available by name from C. -This function implements the C syntax advertised by -C to access values in subsections. C -returns a list of the names of all subsections of the given type. +Parameter values are available by name from C and +C. These functions implement +the C syntax advertised by C to access values in +subsections. The first function returns a perl value, while the second returns +a string suitable for use in C, including quotes around strings if +C<$str_needs_quotes> is true. + +C returns a list of the names of all subsections of the +given type. C<%subsection_names> is a hash whose keys are allowed subsection +names. The C<$CNF_DISPLAYUNIT> implies a certain divisor to convert from kilobytes to the desired unit. This divisor is available from @@ -557,6 +644,11 @@ push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_AMANDATES); $_confparm_key_VALUES{"CNF_AMANDATES"} = $CNF_AMANDATES; +push @EXPORT_OK, qw($CNF_MAILER); +push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_MAILER); + +$_confparm_key_VALUES{"CNF_MAILER"} = $CNF_MAILER; + push @EXPORT_OK, qw($CNF_MAILTO); push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_MAILTO); @@ -577,6 +669,11 @@ push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_DEVICE_PROPERTY); $_confparm_key_VALUES{"CNF_DEVICE_PROPERTY"} = $CNF_DEVICE_PROPERTY; +push @EXPORT_OK, qw($CNF_PROPERTY); +push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_PROPERTY); + +$_confparm_key_VALUES{"CNF_PROPERTY"} = $CNF_PROPERTY; + push @EXPORT_OK, qw($CNF_CHANGERDEV); push @{$EXPORT_TAGS{"confparm_key"}}, qw($CNF_CHANGERDEV); @@ -1185,6 +1282,21 @@ push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_INDEX); $_dumptype_key_VALUES{"DUMPTYPE_INDEX"} = $DUMPTYPE_INDEX; +push @EXPORT_OK, qw($DUMPTYPE_APPLICATION); +push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_APPLICATION); + +$_dumptype_key_VALUES{"DUMPTYPE_APPLICATION"} = $DUMPTYPE_APPLICATION; + +push @EXPORT_OK, qw($DUMPTYPE_PP_SCRIPTLIST); +push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_PP_SCRIPTLIST); + +$_dumptype_key_VALUES{"DUMPTYPE_PP_SCRIPTLIST"} = $DUMPTYPE_PP_SCRIPTLIST; + +push @EXPORT_OK, qw($DUMPTYPE_PROPERTY); +push @{$EXPORT_TAGS{"dumptype_key"}}, qw($DUMPTYPE_PROPERTY); + +$_dumptype_key_VALUES{"DUMPTYPE_PROPERTY"} = $DUMPTYPE_PROPERTY; + #copy symbols in dumptype_key to getconf push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"dumptype_key"}}; @@ -1266,6 +1378,182 @@ $_holdingdisk_key_VALUES{"HOLDING_CHUNKSIZE"} = $HOLDING_CHUNKSIZE; #copy symbols in holdingdisk_key to getconf push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"holdingdisk_key"}}; +push @EXPORT_OK, qw(application_key_to_string); +push @{$EXPORT_TAGS{"application_key"}}, qw(application_key_to_string); + +my %_application_key_VALUES; +#Convert an enum value to a single string +sub application_key_to_string { + my ($enumval) = @_; + + for my $k (keys %_application_key_VALUES) { + my $v = $_application_key_VALUES{$k}; + + #is this a matching flag? + if ($enumval == $v) { + return $k; + } + } + +#default, just return the number + return $enumval; +} + +push @EXPORT_OK, qw($APPLICATION_COMMENT); +push @{$EXPORT_TAGS{"application_key"}}, qw($APPLICATION_COMMENT); + +$_application_key_VALUES{"APPLICATION_COMMENT"} = $APPLICATION_COMMENT; + +push @EXPORT_OK, qw($APPLICATION_PLUGIN); +push @{$EXPORT_TAGS{"application_key"}}, qw($APPLICATION_PLUGIN); + +$_application_key_VALUES{"APPLICATION_PLUGIN"} = $APPLICATION_PLUGIN; + +push @EXPORT_OK, qw($APPLICATION_PROPERTY); +push @{$EXPORT_TAGS{"application_key"}}, qw($APPLICATION_PROPERTY); + +$_application_key_VALUES{"APPLICATION_PROPERTY"} = $APPLICATION_PROPERTY; + +#copy symbols in application_key to getconf +push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"application_key"}}; + +push @EXPORT_OK, qw(pp_script_key_to_string); +push @{$EXPORT_TAGS{"pp_script_key"}}, qw(pp_script_key_to_string); + +my %_pp_script_key_VALUES; +#Convert an enum value to a single string +sub pp_script_key_to_string { + my ($enumval) = @_; + + for my $k (keys %_pp_script_key_VALUES) { + my $v = $_pp_script_key_VALUES{$k}; + + #is this a matching flag? + if ($enumval == $v) { + return $k; + } + } + +#default, just return the number + return $enumval; +} + +push @EXPORT_OK, qw($PP_SCRIPT_COMMENT); +push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_COMMENT); + +$_pp_script_key_VALUES{"PP_SCRIPT_COMMENT"} = $PP_SCRIPT_COMMENT; + +push @EXPORT_OK, qw($PP_SCRIPT_PLUGIN); +push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_PLUGIN); + +$_pp_script_key_VALUES{"PP_SCRIPT_PLUGIN"} = $PP_SCRIPT_PLUGIN; + +push @EXPORT_OK, qw($PP_SCRIPT_PROPERTY); +push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_PROPERTY); + +$_pp_script_key_VALUES{"PP_SCRIPT_PROPERTY"} = $PP_SCRIPT_PROPERTY; + +push @EXPORT_OK, qw($PP_SCRIPT_EXECUTE_ON); +push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_EXECUTE_ON); + +$_pp_script_key_VALUES{"PP_SCRIPT_EXECUTE_ON"} = $PP_SCRIPT_EXECUTE_ON; + +push @EXPORT_OK, qw($PP_SCRIPT_EXECUTE_WHERE); +push @{$EXPORT_TAGS{"pp_script_key"}}, qw($PP_SCRIPT_EXECUTE_WHERE); + +$_pp_script_key_VALUES{"PP_SCRIPT_EXECUTE_WHERE"} = $PP_SCRIPT_EXECUTE_WHERE; + +#copy symbols in pp_script_key to getconf +push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"pp_script_key"}}; + +push @EXPORT_OK, qw(device_config_key_to_string); +push @{$EXPORT_TAGS{"device_config_key"}}, qw(device_config_key_to_string); + +my %_device_config_key_VALUES; +#Convert an enum value to a single string +sub device_config_key_to_string { + my ($enumval) = @_; + + for my $k (keys %_device_config_key_VALUES) { + my $v = $_device_config_key_VALUES{$k}; + + #is this a matching flag? + if ($enumval == $v) { + return $k; + } + } + +#default, just return the number + return $enumval; +} + +push @EXPORT_OK, qw($DEVICE_CONFIG_COMMENT); +push @{$EXPORT_TAGS{"device_config_key"}}, qw($DEVICE_CONFIG_COMMENT); + +$_device_config_key_VALUES{"DEVICE_CONFIG_COMMENT"} = $DEVICE_CONFIG_COMMENT; + +push @EXPORT_OK, qw($DEVICE_CONFIG_TAPEDEV); +push @{$EXPORT_TAGS{"device_config_key"}}, qw($DEVICE_CONFIG_TAPEDEV); + +$_device_config_key_VALUES{"DEVICE_CONFIG_TAPEDEV"} = $DEVICE_CONFIG_TAPEDEV; + +push @EXPORT_OK, qw($DEVICE_CONFIG_DEVICE_PROPERTY); +push @{$EXPORT_TAGS{"device_config_key"}}, qw($DEVICE_CONFIG_DEVICE_PROPERTY); + +$_device_config_key_VALUES{"DEVICE_CONFIG_DEVICE_PROPERTY"} = $DEVICE_CONFIG_DEVICE_PROPERTY; + +#copy symbols in device_config_key to getconf +push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"device_config_key"}}; + +push @EXPORT_OK, qw(changer_config_key_to_string); +push @{$EXPORT_TAGS{"changer_config_key"}}, qw(changer_config_key_to_string); + +my %_changer_config_key_VALUES; +#Convert an enum value to a single string +sub changer_config_key_to_string { + my ($enumval) = @_; + + for my $k (keys %_changer_config_key_VALUES) { + my $v = $_changer_config_key_VALUES{$k}; + + #is this a matching flag? + if ($enumval == $v) { + return $k; + } + } + +#default, just return the number + return $enumval; +} + +push @EXPORT_OK, qw($CHANGER_CONFIG_COMMENT); +push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_COMMENT); + +$_changer_config_key_VALUES{"CHANGER_CONFIG_COMMENT"} = $CHANGER_CONFIG_COMMENT; + +push @EXPORT_OK, qw($CHANGER_CONFIG_TAPEDEV); +push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_TAPEDEV); + +$_changer_config_key_VALUES{"CHANGER_CONFIG_TAPEDEV"} = $CHANGER_CONFIG_TAPEDEV; + +push @EXPORT_OK, qw($CHANGER_CONFIG_TPCHANGER); +push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_TPCHANGER); + +$_changer_config_key_VALUES{"CHANGER_CONFIG_TPCHANGER"} = $CHANGER_CONFIG_TPCHANGER; + +push @EXPORT_OK, qw($CHANGER_CONFIG_CHANGERDEV); +push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_CHANGERDEV); + +$_changer_config_key_VALUES{"CHANGER_CONFIG_CHANGERDEV"} = $CHANGER_CONFIG_CHANGERDEV; + +push @EXPORT_OK, qw($CHANGER_CONFIG_CHANGERFILE); +push @{$EXPORT_TAGS{"changer_config_key"}}, qw($CHANGER_CONFIG_CHANGERFILE); + +$_changer_config_key_VALUES{"CHANGER_CONFIG_CHANGERFILE"} = $CHANGER_CONFIG_CHANGERFILE; + +#copy symbols in changer_config_key to getconf +push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"changer_config_key"}}; + push @EXPORT_OK, qw(dump_holdingdisk_t_to_string); push @{$EXPORT_TAGS{"dump_holdingdisk_t"}}, qw(dump_holdingdisk_t_to_string); @@ -1560,10 +1848,140 @@ $_taperalgo_t_VALUES{"ALGO_LAST"} = $ALGO_LAST; #copy symbols in taperalgo_t to getconf push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"taperalgo_t"}}; +push @EXPORT_OK, qw(execute_on_t_to_string); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw(execute_on_t_to_string); + +my %_execute_on_t_VALUES; +#Convert an enum value to a single string +sub execute_on_t_to_string { + my ($enumval) = @_; + + for my $k (keys %_execute_on_t_VALUES) { + my $v = $_execute_on_t_VALUES{$k}; + + #is this a matching flag? + if ($enumval == $v) { + return $k; + } + } + +#default, just return the number + return $enumval; +} + +push @EXPORT_OK, qw($EXECUTE_ON_PRE_DLE_AMCHECK); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_DLE_AMCHECK); + +$_execute_on_t_VALUES{"EXECUTE_ON_PRE_DLE_AMCHECK"} = $EXECUTE_ON_PRE_DLE_AMCHECK; + +push @EXPORT_OK, qw($EXECUTE_ON_PRE_HOST_AMCHECK); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_HOST_AMCHECK); + +$_execute_on_t_VALUES{"EXECUTE_ON_PRE_HOST_AMCHECK"} = $EXECUTE_ON_PRE_HOST_AMCHECK; + +push @EXPORT_OK, qw($EXECUTE_ON_POST_DLE_AMCHECK); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_DLE_AMCHECK); + +$_execute_on_t_VALUES{"EXECUTE_ON_POST_DLE_AMCHECK"} = $EXECUTE_ON_POST_DLE_AMCHECK; + +push @EXPORT_OK, qw($EXECUTE_ON_POST_HOST_AMCHECK); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_HOST_AMCHECK); + +$_execute_on_t_VALUES{"EXECUTE_ON_POST_HOST_AMCHECK"} = $EXECUTE_ON_POST_HOST_AMCHECK; + +push @EXPORT_OK, qw($EXECUTE_ON_PRE_DLE_ESTIMATE); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_DLE_ESTIMATE); + +$_execute_on_t_VALUES{"EXECUTE_ON_PRE_DLE_ESTIMATE"} = $EXECUTE_ON_PRE_DLE_ESTIMATE; + +push @EXPORT_OK, qw($EXECUTE_ON_PRE_HOST_ESTIMATE); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_HOST_ESTIMATE); + +$_execute_on_t_VALUES{"EXECUTE_ON_PRE_HOST_ESTIMATE"} = $EXECUTE_ON_PRE_HOST_ESTIMATE; + +push @EXPORT_OK, qw($EXECUTE_ON_POST_DLE_ESTIMATE); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_DLE_ESTIMATE); + +$_execute_on_t_VALUES{"EXECUTE_ON_POST_DLE_ESTIMATE"} = $EXECUTE_ON_POST_DLE_ESTIMATE; + +push @EXPORT_OK, qw($EXECUTE_ON_POST_HOST_ESTIMATE); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_HOST_ESTIMATE); + +$_execute_on_t_VALUES{"EXECUTE_ON_POST_HOST_ESTIMATE"} = $EXECUTE_ON_POST_HOST_ESTIMATE; + +push @EXPORT_OK, qw($EXECUTE_ON_PRE_DLE_BACKUP); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_DLE_BACKUP); + +$_execute_on_t_VALUES{"EXECUTE_ON_PRE_DLE_BACKUP"} = $EXECUTE_ON_PRE_DLE_BACKUP; + +push @EXPORT_OK, qw($EXECUTE_ON_PRE_HOST_BACKUP); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_PRE_HOST_BACKUP); + +$_execute_on_t_VALUES{"EXECUTE_ON_PRE_HOST_BACKUP"} = $EXECUTE_ON_PRE_HOST_BACKUP; + +push @EXPORT_OK, qw($EXECUTE_ON_POST_DLE_BACKUP); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_DLE_BACKUP); + +$_execute_on_t_VALUES{"EXECUTE_ON_POST_DLE_BACKUP"} = $EXECUTE_ON_POST_DLE_BACKUP; + +push @EXPORT_OK, qw($EXECUTE_ON_POST_HOST_BACKUP); +push @{$EXPORT_TAGS{"execute_on_t"}}, qw($EXECUTE_ON_POST_HOST_BACKUP); + +$_execute_on_t_VALUES{"EXECUTE_ON_POST_HOST_BACKUP"} = $EXECUTE_ON_POST_HOST_BACKUP; + +#copy symbols in execute_on_t to getconf +push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"execute_on_t"}}; + +push @EXPORT_OK, qw(send_amreport_on_t_to_string); +push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw(send_amreport_on_t_to_string); + +my %_send_amreport_on_t_VALUES; +#Convert an enum value to a single string +sub send_amreport_on_t_to_string { + my ($enumval) = @_; + + for my $k (keys %_send_amreport_on_t_VALUES) { + my $v = $_send_amreport_on_t_VALUES{$k}; + + #is this a matching flag? + if ($enumval == $v) { + return $k; + } + } + +#default, just return the number + return $enumval; +} + +push @EXPORT_OK, qw($SEND_AMREPORT_ALL); +push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw($SEND_AMREPORT_ALL); + +$_send_amreport_on_t_VALUES{"SEND_AMREPORT_ALL"} = $SEND_AMREPORT_ALL; + +push @EXPORT_OK, qw($SEND_AMREPORT_STRANGE); +push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw($SEND_AMREPORT_STRANGE); + +$_send_amreport_on_t_VALUES{"SEND_AMREPORT_STRANGE"} = $SEND_AMREPORT_STRANGE; + +push @EXPORT_OK, qw($SEND_AMREPORT_ERROR); +push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw($SEND_AMREPORT_ERROR); + +$_send_amreport_on_t_VALUES{"SEND_AMREPORT_ERROR"} = $SEND_AMREPORT_ERROR; + +push @EXPORT_OK, qw($SEND_AMREPORT_NEVER); +push @{$EXPORT_TAGS{"send_amreport_on_t"}}, qw($SEND_AMREPORT_NEVER); + +$_send_amreport_on_t_VALUES{"SEND_AMREPORT_NEVER"} = $SEND_AMREPORT_NEVER; + +#copy symbols in send_amreport_on_t to getconf +push @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"send_amreport_on_t"}}; + push @EXPORT_OK, qw(getconf getconf_seen - getconf_byname getconf_list); + getconf_byname getconf_byname_strs + getconf_list); push @{$EXPORT_TAGS{"getconf"}}, qw(getconf getconf_seen - getconf_byname getconf_list); + getconf_byname getconf_byname_strs + getconf_list); push @EXPORT_OK, qw(lookup_tapetype tapetype_getconf tapetype_name tapetype_seen tapetype_seen); @@ -1587,6 +2005,40 @@ push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_holdingdisk holdingdisk_getconf holdi getconf_holdingdisks holdingdisk_next holdingdisk_seen holdingdisk_seen); +push @EXPORT_OK, qw(lookup_application application_getconf application_name + application_seen application_seen); +push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_application application_getconf application_name + application_seen application_seen); + +push @EXPORT_OK, qw(lookup_pp_script pp_script_getconf pp_script_name + pp_script_seen pp_script_seen); +push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_pp_script pp_script_getconf pp_script_name + pp_script_seen pp_script_seen); + +push @EXPORT_OK, qw(lookup_device_config device_config_getconf device_config_name + device_config_seen device_config_seen); +push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_device_config device_config_getconf device_config_name + device_config_seen device_config_seen); + +push @EXPORT_OK, qw(lookup_changer_config changer_config_getconf changer_config_name + changer_config_seen changer_config_seen); +push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_changer_config changer_config_getconf changer_config_name + changer_config_seen changer_config_seen); + +our %subsection_names = ( + "tapetype" => 1, + "dumptype" => 1, + "interface" => 1, + "holdingdisk" => 1, + "application-tool" => 1, + "script-tool" => 1, + "device" => 1, + "changer" => 1, +); + +push @EXPORT_OK, qw(%subsection_names); +push @{$EXPORT_TAGS{"getconf"}}, qw(%subsection_names); + push @EXPORT_OK, qw(getconf_unit_divisor $debug_amandad $debug_amidxtaped $debug_amindexd $debug_amrecover @@ -1600,10 +2052,44 @@ push @{$EXPORT_TAGS{"getconf"}}, qw(getconf_unit_divisor $debug_planner $debug_driver $debug_dumper $debug_chunker $debug_taper $debug_selfcheck $debug_sendsize $debug_sendbackup); -push @EXPORT_OK, qw(new_config_overwrites free_config_overwrites add_config_overwrite - add_config_overwrite_opt apply_config_overwrites); -push @{$EXPORT_TAGS{"init"}}, qw(new_config_overwrites free_config_overwrites add_config_overwrite - add_config_overwrite_opt apply_config_overwrites); +push @EXPORT_OK, qw(cfgerr_level_t_to_string); +push @{$EXPORT_TAGS{"cfgerr_level_t"}}, qw(cfgerr_level_t_to_string); + +my %_cfgerr_level_t_VALUES; +#Convert an enum value to a single string +sub cfgerr_level_t_to_string { + my ($enumval) = @_; + + for my $k (keys %_cfgerr_level_t_VALUES) { + my $v = $_cfgerr_level_t_VALUES{$k}; + + #is this a matching flag? + if ($enumval == $v) { + return $k; + } + } + +#default, just return the number + return $enumval; +} + +push @EXPORT_OK, qw($CFGERR_OK); +push @{$EXPORT_TAGS{"cfgerr_level_t"}}, qw($CFGERR_OK); + +$_cfgerr_level_t_VALUES{"CFGERR_OK"} = $CFGERR_OK; + +push @EXPORT_OK, qw($CFGERR_WARNINGS); +push @{$EXPORT_TAGS{"cfgerr_level_t"}}, qw($CFGERR_WARNINGS); + +$_cfgerr_level_t_VALUES{"CFGERR_WARNINGS"} = $CFGERR_WARNINGS; + +push @EXPORT_OK, qw($CFGERR_ERRORS); +push @{$EXPORT_TAGS{"cfgerr_level_t"}}, qw($CFGERR_ERRORS); + +$_cfgerr_level_t_VALUES{"CFGERR_ERRORS"} = $CFGERR_ERRORS; + +#copy symbols in cfgerr_level_t to init +push @{$EXPORT_TAGS{"init"}}, @{$EXPORT_TAGS{"cfgerr_level_t"}}; push @EXPORT_OK, qw(config_init_flags_to_strings); push @{$EXPORT_TAGS{"config_init_flags"}}, qw(config_init_flags_to_strings); @@ -1651,23 +2137,19 @@ push @{$EXPORT_TAGS{"config_init_flags"}}, qw($CONFIG_INIT_OVERLAY); $_config_init_flags_VALUES{"CONFIG_INIT_OVERLAY"} = $CONFIG_INIT_OVERLAY; -push @EXPORT_OK, qw($CONFIG_INIT_FATAL); -push @{$EXPORT_TAGS{"config_init_flags"}}, qw($CONFIG_INIT_FATAL); - -$_config_init_flags_VALUES{"CONFIG_INIT_FATAL"} = $CONFIG_INIT_FATAL; - #copy symbols in config_init_flags to init push @{$EXPORT_TAGS{"init"}}, @{$EXPORT_TAGS{"config_init_flags"}}; -push @EXPORT_OK, qw(config_init config_uninit get_config_options); -push @{$EXPORT_TAGS{"init"}}, qw(config_init config_uninit get_config_options); - -push @EXPORT_OK, qw(get_config_name - get_config_dir - get_config_filename); -push @{$EXPORT_TAGS{"init"}}, qw(get_config_name - get_config_dir - get_config_filename); +push @EXPORT_OK, qw(config_init config_uninit get_config_options + get_config_name get_config_dir get_config_filename + config_print_errors config_clear_errors config_errors + new_config_overwrites free_config_overwrites add_config_overwrite + add_config_overwrite_opt apply_config_overwrites); +push @{$EXPORT_TAGS{"init"}}, qw(config_init config_uninit get_config_options + get_config_name get_config_dir get_config_filename + config_print_errors config_clear_errors config_errors + new_config_overwrites free_config_overwrites add_config_overwrite + add_config_overwrite_opt apply_config_overwrites); push @EXPORT_OK, qw(dump_configuration config_dir_relative taperalgo2str find_multiplier); 1;