mibhr.c

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

C
89
字号

#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"

#define	_BUILD_IN_COM	1

int HRGetVar(VARLIST *pVar)
{
	int nValue;
	
	switch(pVar->oid[6])
	{
		case 3://HRDEVICE:		//{0x2b.6.1.2.1.25.3}
			switch(pVar->oid[7])
			{	//{0x2b.6.1.2.1.25.3.x}
				case 2://HRDEVICETABLE
					if(pVar->oid[8] == 1)
					{
						switch(pVar->oid[9])
						{//外置式PS
#ifndef	_BUILD_IN_COM
							case 5://HRDEVICESTATUS								
								nValue = GetPSStatusOutside();
								break;
								
							case 6://HRDEVICEERRORS:
								nValue = GetPSErrorNumOutside();				
								break;
#endif								
							case 1://HRDEVICEINDEX
							case 2://HRDEVICETYPE:
							case 3://HRDEVICEDESCR
							case 4://HRDEVICEID
							default:
								return ERROR;
						}
					}
					else
						return ERROR;
					break;
				case 5://HRPRINTERTABLE
					if(pVar->oid[8] == 1)
					{
						switch(pVar->oid[9])
						{//内置式PS
#ifndef	_BUILD_IN_COM
							case 1://HRPRINTERSTATUS:
								nValue = GetPSStatusInside();
								break;
								
							case 2://HRPRINTERDETECTEDERRORSTATE
								nValue = GetPSErrorNumInside();
								break;
#endif								
							default:
								return ERROR;
						}
					}
					else
						return ERROR;
					break;
				case 1://HRDEVICETYPES
				case 3://HRPROCESSORTABLE
				case 4://HRNETWORKTABLE
				default:
					return ERROR;
			}
			break;
		case 1://HRSYSTEM
		case 2://HRSTORAGE
		case 4://HRSWRUN
		case 5://HRSWRUNPERF
		case 6://HRSWINSTALLED
		default:
			return ERROR;
	}

	return ConvLongtoStr(pVar, nValue);
	
}

⌨️ 快捷键说明

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