blob: b8985016ceddff5c3f6a3f280a9186fcfa53f01c [file] [log] [blame]
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