summaryrefslogtreecommitdiff
path: root/perl/default_store/default_store.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl/default_store/default_store.pm')
-rw-r--r--perl/default_store/default_store.pm366
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