snmpMPDStats.c
资源名称:snmp.src.rar [点击查看]
上传用户:cxs890
上传日期:2021-05-22
资源大小:347k
文件大小:2k
源码类别:
SNMP编程
开发平台:
C/C++
- /* snmpMPDStats.c: tallies errors for SNMPv3 message processing. */
- #include <config.h>
- #ifdef OS_VXWORKS
- #include <sys/times.h>
- #endif
- #if HAVE_WINSOCK_H
- #include <ip/socket.h>
- #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,
- int *length,
- int exact,
- int *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;
- }