| package NetSNMP::default_store; |
| |
| use strict; |
| use warnings; |
| use Carp; |
| |
| require Exporter; |
| require DynaLoader; |
| use AutoLoader; |
| |
| use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD); |
| |
| @ISA = qw(Exporter DynaLoader); |
| |
| # Items to export into callers namespace by default. Note: do not export |
| # names by default without a very good reason. Use EXPORT_OK instead. |
| # Do not simply export all your public functions/methods/constants. |
| |
| # This allows declaration use NetSNMP::default_store ':all'; |
| # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK |
| # will save memory. |
| %EXPORT_TAGS = ( 'all' => [ qw( |
| NETSNMP_DS_MAX_IDS |
| NETSNMP_DS_MAX_SUBIDS |
| NETSNMP_DS_LIBRARY_ID |
| NETSNMP_DS_APPLICATION_ID |
| NETSNMP_DS_TOKEN_ID |
| NETSNMP_DS_LIB_MIB_ERRORS |
| NETSNMP_DS_LIB_SAVE_MIB_DESCRS |
| NETSNMP_DS_LIB_MIB_COMMENT_TERM |
| NETSNMP_DS_LIB_MIB_PARSE_LABEL |
| NETSNMP_DS_LIB_DUMP_PACKET |
| NETSNMP_DS_LIB_LOG_TIMESTAMP |
| NETSNMP_DS_LIB_DONT_READ_CONFIGS |
| NETSNMP_DS_LIB_MIB_REPLACE |
| NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM |
| NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS |
| NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS |
| NETSNMP_DS_LIB_ALARM_DONT_USE_SIG |
| NETSNMP_DS_LIB_PRINT_FULL_OID |
| NETSNMP_DS_LIB_QUICK_PRINT |
| NETSNMP_DS_LIB_RANDOM_ACCESS |
| NETSNMP_DS_LIB_REGEX_ACCESS |
| NETSNMP_DS_LIB_DONT_CHECK_RANGE |
| NETSNMP_DS_LIB_NO_TOKEN_WARNINGS |
| NETSNMP_DS_LIB_NUMERIC_TIMETICKS |
| NETSNMP_DS_LIB_ESCAPE_QUOTES |
| NETSNMP_DS_LIB_REVERSE_ENCODE |
| NETSNMP_DS_LIB_PRINT_BARE_VALUE |
| NETSNMP_DS_LIB_EXTENDED_INDEX |
| NETSNMP_DS_LIB_PRINT_HEX_TEXT |
| NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID |
| NETSNMP_DS_LIB_READ_UCD_STYLE_OID |
| NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG |
| NETSNMP_DS_LIB_HAVE_READ_CONFIG |
| NETSNMP_DS_LIB_QUICKE_PRINT |
| NETSNMP_DS_LIB_DONT_PRINT_UNITS |
| NETSNMP_DS_LIB_NO_DISPLAY_HINT |
| NETSNMP_DS_LIB_16BIT_IDS |
| NETSNMP_DS_LIB_DONT_PERSIST_STATE |
| NETSNMP_DS_LIB_2DIGIT_HEX_OUTPUT |
| NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY |
| NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD |
| NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE |
| NETSNMP_DS_LIB_APPEND_LOGFILES |
| NETSNMP_DS_LIB_MIB_WARNINGS |
| NETSNMP_DS_LIB_SECLEVEL |
| NETSNMP_DS_LIB_SNMPVERSION |
| NETSNMP_DS_LIB_DEFAULT_PORT |
| NETSNMP_DS_LIB_OID_OUTPUT_FORMAT |
| NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT |
| NETSNMP_DS_LIB_HEX_OUTPUT_LENGTH |
| NETSNMP_DS_LIB_SERVERSENDBUF |
| NETSNMP_DS_LIB_SERVERRECVBUF |
| NETSNMP_DS_LIB_CLIENTSENDBUF |
| NETSNMP_DS_LIB_CLIENTRECVBUF |
| NETSNMP_DS_SNMP_VERSION_1 |
| NETSNMP_DS_SNMP_VERSION_2c |
| NETSNMP_DS_SNMP_VERSION_3 |
| NETSNMP_DS_LIB_SECNAME |
| NETSNMP_DS_LIB_CONTEXT |
| NETSNMP_DS_LIB_PASSPHRASE |
| NETSNMP_DS_LIB_AUTHPASSPHRASE |
| NETSNMP_DS_LIB_PRIVPASSPHRASE |
| NETSNMP_DS_LIB_OPTIONALCONFIG |
| NETSNMP_DS_LIB_APPTYPE |
| NETSNMP_DS_LIB_COMMUNITY |
| NETSNMP_DS_LIB_PERSISTENT_DIR |
| NETSNMP_DS_LIB_CONFIGURATION_DIR |
| NETSNMP_DS_LIB_SECMODEL |
| NETSNMP_DS_LIB_MIBDIRS |
| NETSNMP_DS_LIB_OIDSUFFIX |
| NETSNMP_DS_LIB_OIDPREFIX |
| NETSNMP_DS_LIB_CLIENT_ADDR |
| NETSNMP_DS_LIB_TEMP_FILE_PATTERN |
| NETSNMP_DS_LIB_AUTHMASTERKEY |
| NETSNMP_DS_LIB_PRIVMASTERKEY |
| NETSNMP_DS_LIB_AUTHLOCALIZEDKEY |
| NETSNMP_DS_LIB_PRIVLOCALIZEDKEY |
| NETSNMP_DS_LIB_APPTYPES |
| NETSNMP_DS_LIB_KSM_KEYTAB |
| NETSNMP_DS_LIB_KSM_SERVICE_NAME |
| NETSNMP_DS_LIB_SBSM_LOCAL_PWD |
| netsnmp_ds_get_boolean |
| netsnmp_ds_get_int |
| netsnmp_ds_get_string |
| netsnmp_ds_get_void |
| netsnmp_ds_register_config |
| netsnmp_ds_register_premib |
| netsnmp_ds_set_boolean |
| netsnmp_ds_set_int |
| netsnmp_ds_set_string |
| netsnmp_ds_set_void |
| netsnmp_ds_shutdown |
| netsnmp_ds_toggle_boolean |
| ) ] ); |
| |
| @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); |
| |
| @EXPORT = qw( |
| NETSNMP_DS_MAX_IDS |
| NETSNMP_DS_MAX_SUBIDS |
| NETSNMP_DS_LIBRARY_ID |
| NETSNMP_DS_APPLICATION_ID |
| NETSNMP_DS_TOKEN_ID |
| NETSNMP_DS_LIB_MIB_ERRORS |
| NETSNMP_DS_LIB_SAVE_MIB_DESCRS |
| NETSNMP_DS_LIB_MIB_COMMENT_TERM |
| NETSNMP_DS_LIB_MIB_PARSE_LABEL |
| NETSNMP_DS_LIB_DUMP_PACKET |
| NETSNMP_DS_LIB_LOG_TIMESTAMP |
| NETSNMP_DS_LIB_DONT_READ_CONFIGS |
| NETSNMP_DS_LIB_MIB_REPLACE |
| NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM |
| NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS |
| NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS |
| NETSNMP_DS_LIB_ALARM_DONT_USE_SIG |
| NETSNMP_DS_LIB_PRINT_FULL_OID |
| NETSNMP_DS_LIB_QUICK_PRINT |
| NETSNMP_DS_LIB_RANDOM_ACCESS |
| NETSNMP_DS_LIB_REGEX_ACCESS |
| NETSNMP_DS_LIB_DONT_CHECK_RANGE |
| NETSNMP_DS_LIB_NO_TOKEN_WARNINGS |
| NETSNMP_DS_LIB_NUMERIC_TIMETICKS |
| NETSNMP_DS_LIB_ESCAPE_QUOTES |
| NETSNMP_DS_LIB_REVERSE_ENCODE |
| NETSNMP_DS_LIB_PRINT_BARE_VALUE |
| NETSNMP_DS_LIB_EXTENDED_INDEX |
| NETSNMP_DS_LIB_PRINT_HEX_TEXT |
| NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID |
| NETSNMP_DS_LIB_READ_UCD_STYLE_OID |
| NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG |
| NETSNMP_DS_LIB_HAVE_READ_CONFIG |
| NETSNMP_DS_LIB_QUICKE_PRINT |
| NETSNMP_DS_LIB_DONT_PRINT_UNITS |
| NETSNMP_DS_LIB_NO_DISPLAY_HINT |
| NETSNMP_DS_LIB_16BIT_IDS |
| NETSNMP_DS_LIB_DONT_PERSIST_STATE |
| NETSNMP_DS_LIB_2DIGIT_HEX_OUTPUT |
| NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY |
| NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD |
| NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE |
| NETSNMP_DS_LIB_APPEND_LOGFILES |
| NETSNMP_DS_LIB_MIB_WARNINGS |
| NETSNMP_DS_LIB_SECLEVEL |
| NETSNMP_DS_LIB_SNMPVERSION |
| NETSNMP_DS_LIB_DEFAULT_PORT |
| NETSNMP_DS_LIB_OID_OUTPUT_FORMAT |
| NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT |
| NETSNMP_DS_LIB_HEX_OUTPUT_LENGTH |
| NETSNMP_DS_LIB_SERVERSENDBUF |
| NETSNMP_DS_LIB_SERVERRECVBUF |
| NETSNMP_DS_LIB_CLIENTSENDBUF |
| NETSNMP_DS_LIB_CLIENTRECVBUF |
| NETSNMP_DS_SNMP_VERSION_1 |
| NETSNMP_DS_SNMP_VERSION_2c |
| NETSNMP_DS_SNMP_VERSION_3 |
| NETSNMP_DS_LIB_SECNAME |
| NETSNMP_DS_LIB_CONTEXT |
| NETSNMP_DS_LIB_PASSPHRASE |
| NETSNMP_DS_LIB_AUTHPASSPHRASE |
| NETSNMP_DS_LIB_PRIVPASSPHRASE |
| NETSNMP_DS_LIB_OPTIONALCONFIG |
| NETSNMP_DS_LIB_APPTYPE |
| NETSNMP_DS_LIB_COMMUNITY |
| NETSNMP_DS_LIB_PERSISTENT_DIR |
| NETSNMP_DS_LIB_CONFIGURATION_DIR |
| NETSNMP_DS_LIB_SECMODEL |
| NETSNMP_DS_LIB_MIBDIRS |
| NETSNMP_DS_LIB_OIDSUFFIX |
| NETSNMP_DS_LIB_OIDPREFIX |
| NETSNMP_DS_LIB_CLIENT_ADDR |
| NETSNMP_DS_LIB_TEMP_FILE_PATTERN |
| NETSNMP_DS_LIB_AUTHMASTERKEY |
| NETSNMP_DS_LIB_PRIVMASTERKEY |
| NETSNMP_DS_LIB_AUTHLOCALIZEDKEY |
| NETSNMP_DS_LIB_PRIVLOCALIZEDKEY |
| NETSNMP_DS_LIB_APPTYPES |
| NETSNMP_DS_LIB_KSM_KEYTAB |
| NETSNMP_DS_LIB_KSM_SERVICE_NAME |
| NETSNMP_DS_LIB_SBSM_LOCAL_PWD |
| ); |
| $VERSION = '5.0703'; |
| |
| sub AUTOLOAD { |
| # This AUTOLOAD is used to 'autoload' constants from the constant() |
| # XS function. |
| |
| my $constname; |
| ($constname = $AUTOLOAD) =~ s/.*:://; |
| croak "&NetSNMP::default_store::constant not defined" if $constname eq 'cons |
| tant'; |
| my ($error, $val) = constant($constname); |
| if ($error) { croak $error; } |
| { |
| no strict 'refs'; |
| # Fixed between 5.005_53 and 5.005_61 |
| #XXX if ($] >= 5.00561) { |
| #XXX *$AUTOLOAD = sub () { $val }; |
| #XXX } |
| #XXX else { |
| *$AUTOLOAD = sub { $val }; |
| #XXX } |
| } |
| goto &$AUTOLOAD; |
| } |
| |
| bootstrap NetSNMP::default_store $VERSION; |
| |
| # Preloaded methods go here. |
| |
| # Autoload methods go after =cut, and are processed by the autosplit program. |
| |
| 1; |
| __END__ |
| |
| =head1 NAME |
| |
| NetSNMP::default_store - Perl extension for Net-SNMP generic storage of global data |
| |
| =head1 SYNOPSIS |
| |
| use NetSNMP::default_store qw(:all); |
| $port = netsnmp_ds_get_int(NETSNMP_DS_LIBRARY_ID, DS_LIB_DEFAULT_PORT); |
| netsnmp_ds_set_int(NETSNMP_DS_LIBRARY_ID, DS_LIB_DEFAULT_PORT, 161); |
| |
| =head1 DESCRIPTION |
| |
| This module is a wrapper around the net-snmp default store routines. |
| See the net-snmp default_store manual page for details on what the |
| various functions do and the values that can be set/retrieved. |
| |
| =head2 EXPORT |
| |
| None by default. |
| |
| =head2 Exportable constants |
| |
| NETSNMP_DS_MAX_IDS |
| NETSNMP_DS_MAX_SUBIDS |
| NETSNMP_DS_LIBRARY_ID |
| NETSNMP_DS_APPLICATION_ID |
| NETSNMP_DS_TOKEN_ID |
| NETSNMP_DS_LIB_MIB_ERRORS |
| NETSNMP_DS_LIB_SAVE_MIB_DESCRS |
| NETSNMP_DS_LIB_MIB_COMMENT_TERM |
| NETSNMP_DS_LIB_MIB_PARSE_LABEL |
| NETSNMP_DS_LIB_DUMP_PACKET |
| NETSNMP_DS_LIB_LOG_TIMESTAMP |
| NETSNMP_DS_LIB_DONT_READ_CONFIGS |
| NETSNMP_DS_LIB_MIB_REPLACE |
| NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM |
| NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS |
| NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS |
| NETSNMP_DS_LIB_ALARM_DONT_USE_SIG |
| NETSNMP_DS_LIB_PRINT_FULL_OID |
| NETSNMP_DS_LIB_QUICK_PRINT |
| NETSNMP_DS_LIB_RANDOM_ACCESS |
| NETSNMP_DS_LIB_REGEX_ACCESS |
| NETSNMP_DS_LIB_DONT_CHECK_RANGE |
| NETSNMP_DS_LIB_NO_TOKEN_WARNINGS |
| NETSNMP_DS_LIB_NUMERIC_TIMETICKS |
| NETSNMP_DS_LIB_ESCAPE_QUOTES |
| NETSNMP_DS_LIB_REVERSE_ENCODE |
| NETSNMP_DS_LIB_PRINT_BARE_VALUE |
| NETSNMP_DS_LIB_EXTENDED_INDEX |
| NETSNMP_DS_LIB_PRINT_HEX_TEXT |
| NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID |
| NETSNMP_DS_LIB_READ_UCD_STYLE_OID |
| NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG |
| NETSNMP_DS_LIB_HAVE_READ_CONFIG |
| NETSNMP_DS_LIB_QUICKE_PRINT |
| NETSNMP_DS_LIB_DONT_PRINT_UNITS |
| NETSNMP_DS_LIB_NO_DISPLAY_HINT |
| NETSNMP_DS_LIB_16BIT_IDS |
| NETSNMP_DS_LIB_DONT_PERSIST_STATE |
| NETSNMP_DS_LIB_2DIGIT_HEX_OUTPUT |
| NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY |
| NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD |
| NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE |
| NETSNMP_DS_LIB_APPEND_LOGFILES |
| NETSNMP_DS_LIB_MIB_WARNINGS |
| NETSNMP_DS_LIB_SECLEVEL |
| NETSNMP_DS_LIB_SNMPVERSION |
| NETSNMP_DS_LIB_DEFAULT_PORT |
| NETSNMP_DS_LIB_OID_OUTPUT_FORMAT |
| NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT |
| NETSNMP_DS_LIB_HEX_OUTPUT_LENGTH |
| NETSNMP_DS_LIB_SERVERSENDBUF |
| NETSNMP_DS_LIB_SERVERRECVBUF |
| NETSNMP_DS_LIB_CLIENTSENDBUF |
| NETSNMP_DS_LIB_CLIENTRECVBUF |
| NETSNMP_DS_SNMP_VERSION_1 |
| NETSNMP_DS_SNMP_VERSION_2c |
| NETSNMP_DS_SNMP_VERSION_3 |
| NETSNMP_DS_LIB_SECNAME |
| NETSNMP_DS_LIB_CONTEXT |
| NETSNMP_DS_LIB_PASSPHRASE |
| NETSNMP_DS_LIB_AUTHPASSPHRASE |
| NETSNMP_DS_LIB_PRIVPASSPHRASE |
| NETSNMP_DS_LIB_OPTIONALCONFIG |
| NETSNMP_DS_LIB_APPTYPE |
| NETSNMP_DS_LIB_COMMUNITY |
| NETSNMP_DS_LIB_PERSISTENT_DIR |
| NETSNMP_DS_LIB_CONFIGURATION_DIR |
| NETSNMP_DS_LIB_SECMODEL |
| NETSNMP_DS_LIB_MIBDIRS |
| NETSNMP_DS_LIB_OIDSUFFIX |
| NETSNMP_DS_LIB_OIDPREFIX |
| NETSNMP_DS_LIB_CLIENT_ADDR |
| NETSNMP_DS_LIB_TEMP_FILE_PATTERN |
| NETSNMP_DS_LIB_AUTHMASTERKEY |
| NETSNMP_DS_LIB_PRIVMASTERKEY |
| NETSNMP_DS_LIB_AUTHLOCALIZEDKEY |
| NETSNMP_DS_LIB_PRIVLOCALIZEDKEY |
| NETSNMP_DS_LIB_APPTYPES |
| NETSNMP_DS_LIB_KSM_KEYTAB |
| NETSNMP_DS_LIB_KSM_SERVICE_NAME |
| NETSNMP_DS_LIB_SBSM_LOCAL_PWD |
| |
| =head2 Exportable functions |
| |
| int netsnmp_ds_get_boolean(int storeid, int which) |
| int netsnmp_ds_get_int(int storeid, int which) |
| char *netsnmp_ds_get_string(int storeid, int which) |
| void *netsnmp_ds_get_void(int storeid, int which) |
| int netsnmp_ds_register_config(unsigned char type, const char *ftype, const char *token, |
| int storeid, int which) |
| int netsnmp_ds_register_premib(unsigned char type, const char *ftype, const char *token, |
| int storeid, int which) |
| int netsnmp_ds_set_boolean(int storeid, int which, int value) |
| int netsnmp_ds_set_int(int storeid, int which, int value) |
| int netsnmp_ds_set_string(int storeid, int which, const char *value) |
| int netsnmp_ds_set_void(int storeid, int which, void *value) |
| void netsnmp_ds_shutdown(void) |
| int netsnmp_ds_toggle_boolean(int storeid, int which) |
| |
| =head1 AUTHOR |
| |
| Wes Hardaker, hardaker@users.sourceforge.net |
| |
| =head1 SEE ALSO |
| |
| perl(1), default_store(3). |
| |
| =cut |