/* * snmpMPDStats.c: tallies errors for SNMPv3 message processing. */ #include #include #include #include #include "snmpMPDStats.h" #include "util_funcs/header_generic.h" struct variable2 snmpMPDStats_variables[] = { {SNMPUNKNOWNSECURITYMODELS, ASN_COUNTER, NETSNMP_OLDAPI_RONLY, var_snmpMPDStats, 1, {1}}, {SNMPINVALIDMSGS, ASN_COUNTER, NETSNMP_OLDAPI_RONLY, var_snmpMPDStats, 1, {2}}, {SNMPUNKNOWNPDUHANDLERS, ASN_COUNTER, NETSNMP_OLDAPI_RONLY, var_snmpMPDStats, 1, {3}}, }; /* * now load this mib into the agents mib table */ oid snmpMPDStats_variables_oid[] = { 1, 3, 6, 1, 6, 3, 11, 2, 1 }; void init_snmpMPDStats(void) { static oid reg[] = { 1, 3, 6, 1, 6, 3, 11, 3, 1, 1 }; REGISTER_SYSOR_ENTRY(reg, "The MIB for Message Processing and Dispatching."); REGISTER_MIB("snmpv3/snmpMPDStats", snmpMPDStats_variables, variable2, snmpMPDStats_variables_oid); } u_char * var_snmpMPDStats(struct variable *vp, oid * name, size_t * length, int exact, size_t * var_len, WriteMethod ** write_method) { /* * variables we may use later */ static long long_ret; int tmagic; *write_method = 0; /* assume it isnt writable for the time being */ *var_len = sizeof(long_ret); /* assume an integer and change later if not */ if (header_generic(vp, name, length, exact, var_len, write_method)) return 0; /* * this is where we do the value assignments for the mib results. */ tmagic = vp->magic; if ((tmagic >= 0) && (tmagic <= (STAT_MPD_STATS_END - STAT_MPD_STATS_START))) { long_ret = snmp_get_statistic(tmagic + STAT_MPD_STATS_START); return (unsigned char *) &long_ret; } return 0; }