+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"}};
+