blob: ade78b6b87d9747a224ec82d8769b6ca64325464 [file] [log] [blame]
/* snmpMPDStats.c: tallies errors for SNMPv3 message processing. */
#include <config.h>
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# if HAVE_SYS_TIME_H
# include <sys/time.h>
# else
# include <time.h>
# endif
#endif
#include "mibincl.h"
#include "../mibII/sysORTable.h"
#include "snmpMPDStats.h"
#include "util_funcs.h"
struct variable2 snmpMPDStats_variables[] = {
{ SNMPUNKNOWNSECURITYMODELS, ASN_COUNTER, RONLY, var_snmpMPDStats, 1, { 1 } },
{ SNMPINVALIDMSGS, ASN_COUNTER, RONLY, var_snmpMPDStats, 1, { 2 } },
{ SNMPUNKNOWNPDUHANDLERS, ASN_COUNTER, 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) {
#ifdef USING_MIBII_SYSORTABLE_MODULE
static oid reg[] = {1,3,6,1,6,3,11,3,1,1};
register_sysORTable(reg,10,"The MIB for Message Processing and Dispatching.");
#endif
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;
}