summaryrefslogtreecommitdiff
path: root/perl
diff options
context:
space:
mode:
Diffstat (limited to 'perl')
-rw-r--r--perl/ASN/ASN.pm2
-rw-r--r--perl/AnyData_SNMP/Storage.pm2
-rw-r--r--perl/OID/OID.pm2
-rw-r--r--perl/SNMP/SNMP.pm2
-rw-r--r--perl/SNMP/t/snmptest.cmd3
-rw-r--r--perl/TrapReceiver/TrapReceiver.pm2
-rw-r--r--perl/TrapReceiver/const-c.inc146
-rw-r--r--perl/TrapReceiver/const-xs.inc90
-rw-r--r--perl/agent/Support/Support.pm2
-rw-r--r--perl/agent/agent.pm2
-rw-r--r--perl/agent/default_store/default_store.pm2
-rw-r--r--perl/default_store/default_store.pm2
12 files changed, 248 insertions, 9 deletions
diff --git a/perl/ASN/ASN.pm b/perl/ASN/ASN.pm
index 272048c..28768ab 100644
--- a/perl/ASN/ASN.pm
+++ b/perl/ASN/ASN.pm
@@ -66,7 +66,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
ASN_UNSIGNED
ASN_UNSIGNED64
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
diff --git a/perl/AnyData_SNMP/Storage.pm b/perl/AnyData_SNMP/Storage.pm
index 489aad9..196946f 100644
--- a/perl/AnyData_SNMP/Storage.pm
+++ b/perl/AnyData_SNMP/Storage.pm
@@ -6,7 +6,7 @@ package AnyData::Storage::SNMP;
## scalar sets?
## multi-hosts
-$AnyData::Storage::VERSION = '5.0702';
+$AnyData::Storage::VERSION = '5.07021';
use strict;
use warnings;
diff --git a/perl/OID/OID.pm b/perl/OID/OID.pm
index fa6b162..e3e942b 100644
--- a/perl/OID/OID.pm
+++ b/perl/OID/OID.pm
@@ -92,7 +92,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
snmp_oid_compare
compare
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub new {
my $type = shift;
diff --git a/perl/SNMP/SNMP.pm b/perl/SNMP/SNMP.pm
index ffc5a2f..6c80468 100644
--- a/perl/SNMP/SNMP.pm
+++ b/perl/SNMP/SNMP.pm
@@ -7,7 +7,7 @@
# modify it under the same terms as Perl itself.
package SNMP;
-$VERSION = '5.0702'; # current release version number
+$VERSION = '5.07021'; # current release version number
use strict;
use warnings;
diff --git a/perl/SNMP/t/snmptest.cmd b/perl/SNMP/t/snmptest.cmd
new file mode 100644
index 0000000..7225b7d
--- /dev/null
+++ b/perl/SNMP/t/snmptest.cmd
@@ -0,0 +1,3 @@
+SNMPD => ../../agent/snmpd
+SNMPTRAPD => ../../apps/snmptrapd
+MIBDIR => ../../mibs
diff --git a/perl/TrapReceiver/TrapReceiver.pm b/perl/TrapReceiver/TrapReceiver.pm
index e7e2921..474be48 100644
--- a/perl/TrapReceiver/TrapReceiver.pm
+++ b/perl/TrapReceiver/TrapReceiver.pm
@@ -47,7 +47,7 @@ require NetSNMP::OID;
NETSNMPTRAPD_PRE_HANDLER
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
# sub new {
# my $type = shift;
diff --git a/perl/TrapReceiver/const-c.inc b/perl/TrapReceiver/const-c.inc
new file mode 100644
index 0000000..4ebc407
--- /dev/null
+++ b/perl/TrapReceiver/const-c.inc
@@ -0,0 +1,146 @@
+#define PERL_constant_NOTFOUND 1
+#define PERL_constant_NOTDEF 2
+#define PERL_constant_ISIV 3
+#define PERL_constant_ISNO 4
+#define PERL_constant_ISNV 5
+#define PERL_constant_ISPV 6
+#define PERL_constant_ISPVN 7
+#define PERL_constant_ISSV 8
+#define PERL_constant_ISUNDEF 9
+#define PERL_constant_ISUV 10
+#define PERL_constant_ISYES 11
+
+#ifndef NVTYPE
+typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
+#endif
+#ifndef aTHX_
+#define aTHX_ /* 5.6 or later define this for threading support. */
+#endif
+#ifndef pTHX_
+#define pTHX_ /* 5.6 or later define this for threading support. */
+#endif
+
+static int
+constant_25 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ NETSNMPTRAPD_AUTH_HANDLER NETSNMPTRAPD_HANDLER_FAIL
+ NETSNMPTRAPD_POST_HANDLER */
+ /* Offset 15 gives the best switch position. */
+ switch (name[15]) {
+ case 'N':
+ if (memEQ(name, "NETSNMPTRAPD_HANDLER_FAIL", 25)) {
+ /* ^ */
+#ifdef NETSNMPTRAPD_HANDLER_FAIL
+ *iv_return = NETSNMPTRAPD_HANDLER_FAIL;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "NETSNMPTRAPD_POST_HANDLER", 25)) {
+ /* ^ */
+#ifdef NETSNMPTRAPD_POST_HANDLER
+ *iv_return = NETSNMPTRAPD_POST_HANDLER;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "NETSNMPTRAPD_AUTH_HANDLER", 25)) {
+ /* ^ */
+#ifdef NETSNMPTRAPD_AUTH_HANDLER
+ *iv_return = NETSNMPTRAPD_AUTH_HANDLER;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
+ /* Initially switch on the length of the name. */
+ /* When generated this function returned values for the list of names given
+ in this section of perl code. Rather than manually editing these functions
+ to add or remove constants, which would result in this comment and section
+ of code becoming inaccurate, we recommend that you edit this section of
+ code, and use it to regenerate a new set of constant functions which you
+ then use to replace the originals.
+
+ Regenerate these constant functions by feeding this entire source file to
+ perl -x
+
+#!/usr/bin/perl -w
+use ExtUtils::Constant qw (constant_types C_constant XS_constant);
+
+my $types = {map {($_, 1)} qw(IV)};
+my @names = (qw(NETSNMPTRAPD_AUTH_HANDLER NETSNMPTRAPD_HANDLER_BREAK
+ NETSNMPTRAPD_HANDLER_FAIL NETSNMPTRAPD_HANDLER_FINISH
+ NETSNMPTRAPD_HANDLER_OK NETSNMPTRAPD_POST_HANDLER
+ NETSNMPTRAPD_PRE_HANDLER));
+
+print constant_types(), "\n"; # macro defs
+foreach (C_constant ("NetSNMP::TrapReceiver", 'constant', 'IV', $types, undef, 3, @names) ) {
+ print $_, "\n"; # C constant subs
+}
+print "\n#### XS Section:\n";
+print XS_constant ("NetSNMP::TrapReceiver", $types);
+__END__
+ */
+
+ switch (len) {
+ case 23:
+ if (memEQ(name, "NETSNMPTRAPD_HANDLER_OK", 23)) {
+#ifdef NETSNMPTRAPD_HANDLER_OK
+ *iv_return = NETSNMPTRAPD_HANDLER_OK;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 24:
+ if (memEQ(name, "NETSNMPTRAPD_PRE_HANDLER", 24)) {
+#ifdef NETSNMPTRAPD_PRE_HANDLER
+ *iv_return = NETSNMPTRAPD_PRE_HANDLER;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 25:
+ return constant_25 (aTHX_ name, iv_return);
+ break;
+ case 26:
+ if (memEQ(name, "NETSNMPTRAPD_HANDLER_BREAK", 26)) {
+#ifdef NETSNMPTRAPD_HANDLER_BREAK
+ *iv_return = NETSNMPTRAPD_HANDLER_BREAK;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 27:
+ if (memEQ(name, "NETSNMPTRAPD_HANDLER_FINISH", 27)) {
+#ifdef NETSNMPTRAPD_HANDLER_FINISH
+ *iv_return = NETSNMPTRAPD_HANDLER_FINISH;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
diff --git a/perl/TrapReceiver/const-xs.inc b/perl/TrapReceiver/const-xs.inc
new file mode 100644
index 0000000..3b05e55
--- /dev/null
+++ b/perl/TrapReceiver/const-xs.inc
@@ -0,0 +1,90 @@
+void
+constant(sv)
+ PREINIT:
+#ifdef dXSTARG
+ dXSTARG; /* Faster if we have it. */
+#else
+ dTARGET;
+#endif
+ STRLEN len;
+ int type;
+ IV iv;
+ /* NV nv; Uncomment this if you need to return NVs */
+ /* const char *pv; Uncomment this if you need to return PVs */
+ INPUT:
+ SV * sv;
+ const char * s = SvPV(sv, len);
+ PPCODE:
+ /* Change this to constant(aTHX_ s, len, &iv, &nv);
+ if you need to return both NVs and IVs */
+ type = constant(aTHX_ s, len, &iv);
+ /* Return 1 or 2 items. First is error message, or undef if no error.
+ Second, if present, is found value */
+ switch (type) {
+ case PERL_constant_NOTFOUND:
+ sv =
+ sv_2mortal(newSVpvf("%s is not a valid NetSNMP::TrapReceiver macro", s));
+ PUSHs(sv);
+ break;
+ case PERL_constant_NOTDEF:
+ sv = sv_2mortal(newSVpvf(
+ "Your vendor has not defined NetSNMP::TrapReceiver macro %s, used",
+ s));
+ PUSHs(sv);
+ break;
+ case PERL_constant_ISIV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHi(iv);
+ break;
+ /* Uncomment this if you need to return NOs
+ case PERL_constant_ISNO:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(&PL_sv_no);
+ break; */
+ /* Uncomment this if you need to return NVs
+ case PERL_constant_ISNV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHn(nv);
+ break; */
+ /* Uncomment this if you need to return PVs
+ case PERL_constant_ISPV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHp(pv, strlen(pv));
+ break; */
+ /* Uncomment this if you need to return PVNs
+ case PERL_constant_ISPVN:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHp(pv, iv);
+ break; */
+ /* Uncomment this if you need to return SVs
+ case PERL_constant_ISSV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(sv);
+ break; */
+ /* Uncomment this if you need to return UNDEFs
+ case PERL_constant_ISUNDEF:
+ break; */
+ /* Uncomment this if you need to return UVs
+ case PERL_constant_ISUV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHu((UV)iv);
+ break; */
+ /* Uncomment this if you need to return YESs
+ case PERL_constant_ISYES:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(&PL_sv_yes);
+ break; */
+ default:
+ sv = sv_2mortal(newSVpvf(
+ "Unexpected return type %d while processing NetSNMP::TrapReceiver macro %s, used",
+ type, s));
+ PUSHs(sv);
+ }
diff --git a/perl/agent/Support/Support.pm b/perl/agent/Support/Support.pm
index 41cf694..79529db 100644
--- a/perl/agent/Support/Support.pm
+++ b/perl/agent/Support/Support.pm
@@ -26,7 +26,7 @@ use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
@ISA = qw(Exporter getLeaf);
@EXPORT = qw(registerAgent getOidElement setOidElement);
@EXPORT_OK = qw();
-$VERSION = '5.0702';
+$VERSION = '5.07021';
use strict;
use warnings;
diff --git a/perl/agent/agent.pm b/perl/agent/agent.pm
index 310e9e5..53c2756 100644
--- a/perl/agent/agent.pm
+++ b/perl/agent/agent.pm
@@ -87,7 +87,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
SNMP_ERR_AUTHORIZATIONERROR
SNMP_ERR_NOTWRITABLE
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
diff --git a/perl/agent/default_store/default_store.pm b/perl/agent/default_store/default_store.pm
index ebac1ec..afca604 100644
--- a/perl/agent/default_store/default_store.pm
+++ b/perl/agent/default_store/default_store.pm
@@ -96,7 +96,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
NETSNMP_DS_AGENT_MAX_GETBULKREPEATS
NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
diff --git a/perl/default_store/default_store.pm b/perl/default_store/default_store.pm
index 3d18ffc..d4499c1 100644
--- a/perl/default_store/default_store.pm
+++ b/perl/default_store/default_store.pm
@@ -200,7 +200,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
NETSNMP_DS_LIB_KSM_SERVICE_NAME
NETSNMP_DS_LIB_SBSM_LOCAL_PWD
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()