diff options
Diffstat (limited to 'perl/default_store/default_store.pm')
-rw-r--r-- | perl/default_store/default_store.pm | 366 |
1 files changed, 366 insertions, 0 deletions
diff --git a/perl/default_store/default_store.pm b/perl/default_store/default_store.pm new file mode 100644 index 0000000..3d18ffc --- /dev/null +++ b/perl/default_store/default_store.pm @@ -0,0 +1,366 @@ +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.0702'; + +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 |