mibsnmp.c

来自「VxWorks操作系统下的SNMP协议以及MIB协议的实现源码,并且实现了HP标」· C语言 代码 · 共 63 行

C
63
字号

#include "VxWorks.h"
#include "sockLib.h"
#include "inetLib.h"
#include "taskLib.h"
#include "stdioLib.h"
#include "strLib.h"
#include "ioLib.h"
#include "fioLib.h"

#include "snmp.h"
	
int  SnmpGetVar(VARLIST *vartemp)
{
	long 	temp;
	char 	*buf;
	int		cbNeeded,cbUsed;
	//0x2b,6,1,2,1,11,x
	switch(vartemp->oid[6])
	{
		case 1://SnmpInPkts:
		case 2://snmpOutPkts:
		case 3://snmpInBadVersions:
		case 4://snmpInBadCommunityNames:			
		case 5://snmpInBadCommunityUses:
		case 6://snmpInASNParseErrs
		case 8://snmpInTooBigs
		case 9://snmpInNoSuchNames
		case 10://snmpInBadValues
		case 11://snmpInReadOnlys
		case 12://snmpInGenErrs
		case 13://snmpInTotalReqVars
		case 14://snmpInTotalSetVars
		case 15://snmpInGetRequests
		case 16://snmpInGetNexts
		case 17://snmpInSetRequests
		case 18://snmpInGetResponses
		case 19://snmpInTraps
		case 20://snmpOutTooBigs
		case 21://snmpOutNoSuchNames
		case 22://snmpOutBadValues
		case 24://snmpOutGenErrs
		case 25://snmpOutGenRequests
		case 26://snmpOutGetNexts
		case 27://snmpOutSetRequests
		case 28://snmpOutGetResponses
		case 29://snmpOutTraps
		case 30://SnmpEnableAuthenTraps

			if(ERROR == get_tempint(&temp))
				return ERROR;
			vartemp->type = TAG_INTERGER;
			break;
		default:
			return ERROR;
	}
	vartemp->value_len = getLongSize(temp);
	temp = (temp << ((4 - vartemp->value_len)<<3));
	vartemp->value = snmpMalloc(vartemp->value_len);
	memcpy(vartemp->value,&temp,vartemp->value_len);
	return OK;
}

⌨️ 快捷键说明

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