📄 config.pm
字号:
push @EXPORT_OK, qw($HOLDING_CHUNKSIZE);push @{$EXPORT_TAGS{"holdingdisk_key"}}, qw($HOLDING_CHUNKSIZE);$_holdingdisk_key_VALUES{"HOLDING_CHUNKSIZE"} = $HOLDING_CHUNKSIZE;#copy symbols in holdingdisk_key to getconfpush @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"holdingdisk_key"}};push @EXPORT_OK, qw(dump_holdingdisk_t_to_string);push @{$EXPORT_TAGS{"dump_holdingdisk_t"}}, qw(dump_holdingdisk_t_to_string);my %_dump_holdingdisk_t_VALUES;#Convert an enum value to a single stringsub dump_holdingdisk_t_to_string { my ($enumval) = @_; for my $k (keys %_dump_holdingdisk_t_VALUES) { my $v = $_dump_holdingdisk_t_VALUES{$k}; #is this a matching flag? if ($enumval == $v) { return $k; } }#default, just return the number return $enumval;}push @EXPORT_OK, qw($HOLD_NEVER);push @{$EXPORT_TAGS{"dump_holdingdisk_t"}}, qw($HOLD_NEVER);$_dump_holdingdisk_t_VALUES{"HOLD_NEVER"} = $HOLD_NEVER;push @EXPORT_OK, qw($HOLD_AUTO);push @{$EXPORT_TAGS{"dump_holdingdisk_t"}}, qw($HOLD_AUTO);$_dump_holdingdisk_t_VALUES{"HOLD_AUTO"} = $HOLD_AUTO;push @EXPORT_OK, qw($HOLD_REQUIRED);push @{$EXPORT_TAGS{"dump_holdingdisk_t"}}, qw($HOLD_REQUIRED);$_dump_holdingdisk_t_VALUES{"HOLD_REQUIRED"} = $HOLD_REQUIRED;#copy symbols in dump_holdingdisk_t to getconfpush @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"dump_holdingdisk_t"}};push @EXPORT_OK, qw(comp_t_to_string);push @{$EXPORT_TAGS{"comp_t"}}, qw(comp_t_to_string);my %_comp_t_VALUES;#Convert an enum value to a single stringsub comp_t_to_string { my ($enumval) = @_; for my $k (keys %_comp_t_VALUES) { my $v = $_comp_t_VALUES{$k}; #is this a matching flag? if ($enumval == $v) { return $k; } }#default, just return the number return $enumval;}push @EXPORT_OK, qw($COMP_NONE);push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_NONE);$_comp_t_VALUES{"COMP_NONE"} = $COMP_NONE;push @EXPORT_OK, qw($COMP_FAST);push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_FAST);$_comp_t_VALUES{"COMP_FAST"} = $COMP_FAST;push @EXPORT_OK, qw($COMP_BEST);push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_BEST);$_comp_t_VALUES{"COMP_BEST"} = $COMP_BEST;push @EXPORT_OK, qw($COMP_CUST);push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_CUST);$_comp_t_VALUES{"COMP_CUST"} = $COMP_CUST;push @EXPORT_OK, qw($COMP_SERVER_FAST);push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_SERVER_FAST);$_comp_t_VALUES{"COMP_SERVER_FAST"} = $COMP_SERVER_FAST;push @EXPORT_OK, qw($COMP_SERVER_BEST);push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_SERVER_BEST);$_comp_t_VALUES{"COMP_SERVER_BEST"} = $COMP_SERVER_BEST;push @EXPORT_OK, qw($COMP_SERVER_CUST);push @{$EXPORT_TAGS{"comp_t"}}, qw($COMP_SERVER_CUST);$_comp_t_VALUES{"COMP_SERVER_CUST"} = $COMP_SERVER_CUST;#copy symbols in comp_t to getconfpush @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"comp_t"}};push @EXPORT_OK, qw(encrypt_t_to_string);push @{$EXPORT_TAGS{"encrypt_t"}}, qw(encrypt_t_to_string);my %_encrypt_t_VALUES;#Convert an enum value to a single stringsub encrypt_t_to_string { my ($enumval) = @_; for my $k (keys %_encrypt_t_VALUES) { my $v = $_encrypt_t_VALUES{$k}; #is this a matching flag? if ($enumval == $v) { return $k; } }#default, just return the number return $enumval;}push @EXPORT_OK, qw($ENCRYPT_NONE);push @{$EXPORT_TAGS{"encrypt_t"}}, qw($ENCRYPT_NONE);$_encrypt_t_VALUES{"ENCRYPT_NONE"} = $ENCRYPT_NONE;push @EXPORT_OK, qw($ENCRYPT_CUST);push @{$EXPORT_TAGS{"encrypt_t"}}, qw($ENCRYPT_CUST);$_encrypt_t_VALUES{"ENCRYPT_CUST"} = $ENCRYPT_CUST;push @EXPORT_OK, qw($ENCRYPT_SERV_CUST);push @{$EXPORT_TAGS{"encrypt_t"}}, qw($ENCRYPT_SERV_CUST);$_encrypt_t_VALUES{"ENCRYPT_SERV_CUST"} = $ENCRYPT_SERV_CUST;#copy symbols in encrypt_t to getconfpush @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"encrypt_t"}};push @EXPORT_OK, qw(strategy_t_to_string);push @{$EXPORT_TAGS{"strategy_t"}}, qw(strategy_t_to_string);my %_strategy_t_VALUES;#Convert an enum value to a single stringsub strategy_t_to_string { my ($enumval) = @_; for my $k (keys %_strategy_t_VALUES) { my $v = $_strategy_t_VALUES{$k}; #is this a matching flag? if ($enumval == $v) { return $k; } }#default, just return the number return $enumval;}push @EXPORT_OK, qw($DS_SKIP);push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_SKIP);$_strategy_t_VALUES{"DS_SKIP"} = $DS_SKIP;push @EXPORT_OK, qw($DS_STANDARD);push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_STANDARD);$_strategy_t_VALUES{"DS_STANDARD"} = $DS_STANDARD;push @EXPORT_OK, qw($DS_NOFULL);push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_NOFULL);$_strategy_t_VALUES{"DS_NOFULL"} = $DS_NOFULL;push @EXPORT_OK, qw($DS_NOINC);push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_NOINC);$_strategy_t_VALUES{"DS_NOINC"} = $DS_NOINC;push @EXPORT_OK, qw($DS_4);push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_4);$_strategy_t_VALUES{"DS_4"} = $DS_4;push @EXPORT_OK, qw($DS_5);push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_5);$_strategy_t_VALUES{"DS_5"} = $DS_5;push @EXPORT_OK, qw($DS_HANOI);push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_HANOI);$_strategy_t_VALUES{"DS_HANOI"} = $DS_HANOI;push @EXPORT_OK, qw($DS_INCRONLY);push @{$EXPORT_TAGS{"strategy_t"}}, qw($DS_INCRONLY);$_strategy_t_VALUES{"DS_INCRONLY"} = $DS_INCRONLY;#copy symbols in strategy_t to getconfpush @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"strategy_t"}};push @EXPORT_OK, qw(estimate_t_to_string);push @{$EXPORT_TAGS{"estimate_t"}}, qw(estimate_t_to_string);my %_estimate_t_VALUES;#Convert an enum value to a single stringsub estimate_t_to_string { my ($enumval) = @_; for my $k (keys %_estimate_t_VALUES) { my $v = $_estimate_t_VALUES{$k}; #is this a matching flag? if ($enumval == $v) { return $k; } }#default, just return the number return $enumval;}push @EXPORT_OK, qw($ES_CLIENT);push @{$EXPORT_TAGS{"estimate_t"}}, qw($ES_CLIENT);$_estimate_t_VALUES{"ES_CLIENT"} = $ES_CLIENT;push @EXPORT_OK, qw($ES_SERVER);push @{$EXPORT_TAGS{"estimate_t"}}, qw($ES_SERVER);$_estimate_t_VALUES{"ES_SERVER"} = $ES_SERVER;push @EXPORT_OK, qw($ES_CALCSIZE);push @{$EXPORT_TAGS{"estimate_t"}}, qw($ES_CALCSIZE);$_estimate_t_VALUES{"ES_CALCSIZE"} = $ES_CALCSIZE;#copy symbols in estimate_t to getconfpush @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"estimate_t"}};push @EXPORT_OK, qw(taperalgo_t_to_string);push @{$EXPORT_TAGS{"taperalgo_t"}}, qw(taperalgo_t_to_string);my %_taperalgo_t_VALUES;#Convert an enum value to a single stringsub taperalgo_t_to_string { my ($enumval) = @_; for my $k (keys %_taperalgo_t_VALUES) { my $v = $_taperalgo_t_VALUES{$k}; #is this a matching flag? if ($enumval == $v) { return $k; } }#default, just return the number return $enumval;}push @EXPORT_OK, qw($ALGO_FIRST);push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_FIRST);$_taperalgo_t_VALUES{"ALGO_FIRST"} = $ALGO_FIRST;push @EXPORT_OK, qw($ALGO_FIRSTFIT);push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_FIRSTFIT);$_taperalgo_t_VALUES{"ALGO_FIRSTFIT"} = $ALGO_FIRSTFIT;push @EXPORT_OK, qw($ALGO_LARGEST);push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_LARGEST);$_taperalgo_t_VALUES{"ALGO_LARGEST"} = $ALGO_LARGEST;push @EXPORT_OK, qw($ALGO_LARGESTFIT);push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_LARGESTFIT);$_taperalgo_t_VALUES{"ALGO_LARGESTFIT"} = $ALGO_LARGESTFIT;push @EXPORT_OK, qw($ALGO_SMALLEST);push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_SMALLEST);$_taperalgo_t_VALUES{"ALGO_SMALLEST"} = $ALGO_SMALLEST;push @EXPORT_OK, qw($ALGO_LAST);push @{$EXPORT_TAGS{"taperalgo_t"}}, qw($ALGO_LAST);$_taperalgo_t_VALUES{"ALGO_LAST"} = $ALGO_LAST;#copy symbols in taperalgo_t to getconfpush @{$EXPORT_TAGS{"getconf"}}, @{$EXPORT_TAGS{"taperalgo_t"}};push @EXPORT_OK, qw(getconf getconf_seen getconf_byname getconf_list);push @{$EXPORT_TAGS{"getconf"}}, qw(getconf getconf_seen getconf_byname getconf_list);push @EXPORT_OK, qw(lookup_tapetype tapetype_getconf tapetype_name tapetype_seen tapetype_seen);push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_tapetype tapetype_getconf tapetype_name tapetype_seen tapetype_seen);push @EXPORT_OK, qw(lookup_dumptype dumptype_getconf dumptype_name dumptype_seen dumptype_seen);push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_dumptype dumptype_getconf dumptype_name dumptype_seen dumptype_seen);push @EXPORT_OK, qw(lookup_interface interface_getconf interface_name interface_seen interface_seen);push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_interface interface_getconf interface_name interface_seen interface_seen);push @EXPORT_OK, qw(lookup_holdingdisk holdingdisk_getconf holdingdisk_name getconf_holdingdisks holdingdisk_next holdingdisk_seen holdingdisk_seen);push @{$EXPORT_TAGS{"getconf"}}, qw(lookup_holdingdisk holdingdisk_getconf holdingdisk_name getconf_holdingdisks holdingdisk_next holdingdisk_seen holdingdisk_seen);push @EXPORT_OK, qw(getconf_unit_divisor $debug_amandad $debug_amidxtaped $debug_amindexd $debug_amrecover $debug_auth $debug_event $debug_holding $debug_protocol $debug_planner $debug_driver $debug_dumper $debug_chunker $debug_taper $debug_selfcheck $debug_sendsize $debug_sendbackup);push @{$EXPORT_TAGS{"getconf"}}, qw(getconf_unit_divisor $debug_amandad $debug_amidxtaped $debug_amindexd $debug_amrecover $debug_auth $debug_event $debug_holding $debug_protocol $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(config_init_flags_to_strings);push @{$EXPORT_TAGS{"config_init_flags"}}, qw(config_init_flags_to_strings);my %_config_init_flags_VALUES;#Convert a flag value to a list of names for flags that are set.sub config_init_flags_to_strings { my ($flags) = @_; my @result = (); for my $k (keys %_config_init_flags_VALUES) { my $v = $_config_init_flags_VALUES{$k}; #is this a matching flag? if (($v == 0 && $flags == 0) || ($v != 0 && ($flags & $v) == $v)) { push @result, $k; } }#by default, just return the number as a 1-element list if (!@result) { return ($flags); } return @result;}push @EXPORT_OK, qw($CONFIG_INIT_EXPLICIT_NAME);push @{$EXPORT_TAGS{"config_init_flags"}}, qw($CONFIG_INIT_EXPLICIT_NAME);$_config_init_flags_VALUES{"CONFIG_INIT_EXPLICIT_NAME"} = $CONFIG_INIT_EXPLICIT_NAME;push @EXPORT_OK, qw($CONFIG_INIT_USE_CWD);push @{$EXPORT_TAGS{"config_init_flags"}}, qw($CONFIG_INIT_USE_CWD);$_config_init_flags_VALUES{"CONFIG_INIT_USE_CWD"} = $CONFIG_INIT_USE_CWD;push @EXPORT_OK, qw($CONFIG_INIT_CLIENT);push @{$EXPORT_TAGS{"config_init_flags"}}, qw($CONFIG_INIT_CLIENT);$_config_init_flags_VALUES{"CONFIG_INIT_CLIENT"} = $CONFIG_INIT_CLIENT;push @EXPORT_OK, qw($CONFIG_INIT_OVERLAY);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 initpush @{$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(dump_configuration config_dir_relative taperalgo2str find_multiplier);1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -