⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snmpmib.c

📁 嵌入式RMON,RMON为Remote monitor的缩写,基于SNMP为网络提供主动监控及错误告警,智能交换路由必备协议
💻 C
字号:
/* Beholder RMON ethernet network monitor,Copyright (C) 1993 DNPAP group *//* See file COPYING 'GNU General Public Licence' for copyright details   */#include <stdlib.h>#include <stdio.h>#include <string.h>#include <dnpap.h>#include <config.h>#include <mibsup.h>#include <mibrqs.h>#include <snmp.h>#include <agent.h>#include "snmpmib.h"extern SNMP_STAT SnmpStat;WORD snmpInPkts(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InPkts;    return SNMP_NOERROR;}WORD snmpOutPkts(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutPkts;    return SNMP_NOERROR;}WORD snmpInBadVersions(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InBadVersions;    return SNMP_NOERROR;}WORD snmpInBadCommunityNames(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = (AgentStatistics())->InBadCommunityNames;    return SNMP_NOERROR;}WORD snmpInBadCommunityUses(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = (AgentStatistics())->InBadCommunityUses;    return SNMP_NOERROR;}WORD snmpInASNParseErrs(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InASNParseErrs;    return SNMP_NOERROR;}WORD snmpInTooBigs(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InTooBigs;    return SNMP_NOERROR;}WORD snmpInNoSuchNames(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InNoSuchNames;    return SNMP_NOERROR;}WORD snmpInBadValues(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InBadValues;    return SNMP_NOERROR;}WORD snmpInReadOnlys(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InReadOnlys;    return SNMP_NOERROR;}WORD snmpInGenErrs(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InGenErrs;    return SNMP_NOERROR;}WORD snmpInTotalReqVars(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = (AgentStatistics())->InTotalReqVars;    return SNMP_NOERROR;}WORD snmpInTotalSetVars(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = (AgentStatistics())->InTotalSetVars;    return SNMP_NOERROR;}WORD snmpInGetRequests(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InGetRequests;    return SNMP_NOERROR;}WORD snmpInGetNexts(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InGetNexts;    return SNMP_NOERROR;}WORD snmpInSetRequests(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InSetRequests;    return SNMP_NOERROR;}WORD snmpInGetResponses(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InGetResponses;    return SNMP_NOERROR;}WORD snmpInTraps(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.InTraps;    return SNMP_NOERROR;}WORD snmpOutTooBigs(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutTooBigs;    return SNMP_NOERROR;}WORD snmpOutNoSuchNames(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutNoSuchNames;    return SNMP_NOERROR;}WORD snmpOutBadValues(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutBadValues;    return SNMP_NOERROR;}WORD snmpOutGenErrs(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutGenErrs;    return SNMP_NOERROR;}WORD snmpOutGetRequests(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutGetRequests;    return SNMP_NOERROR;}WORD snmpOutGetNexts(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutGetNexts;    return SNMP_NOERROR;}WORD snmpOutSetRequests(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutSetRequests;    return SNMP_NOERROR;}WORD snmpOutGetResponses(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutGetResponses;    return SNMP_NOERROR;}WORD snmpOutTraps(SNMP_OBJECT *obj, WORD idlen){    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;    obj->Syntax.LngUns = SnmpStat.OutTraps;    return SNMP_NOERROR;}WORD snmpEnableAuthenTraps(SNMP_OBJECT *obj, WORD idlen){									 BOOLEAN enabled;    if (MibSimple(obj, idlen) == FALSE)        return SNMP_NOSUCHNAME;			switch (obj->Request)	{					 	case SNMP_PDU_NEXT:	case SNMP_PDU_GET:		 		enabled = *AgentAuthenTraps();	    obj->Syntax.LngUns = (enabled == TRUE ? 1 : 2);    	return SNMP_NOERROR;	case SNMP_PDU_SET:	   		if (obj->Syntax.LngUns != 1 && obj->Syntax.LngUns != 2)			return SNMP_BADVALUE;		*AgentAuthenTraps() = (obj->Syntax.LngUns == 1 ? TRUE : FALSE);    	return SNMP_NOERROR;	}	return SNMP_GENERROR;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -