亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? snmp.h

?? VxWorks操作系統(tǒng)下的SNMP協(xié)議以及MIB協(xié)議的實(shí)現(xiàn)源碼,并且實(shí)現(xiàn)了HP標(biāo)準(zhǔn)打印類的MIB框架.
?? H
字號(hào):
#ifndef _H_SNMP
#define _H_SNMP


#define DHCP_NOCHANGE	
//ASN.1定義的數(shù)據(jù)格式
#define TAG_INTERGER	0x2		//-2,147,483,648 ~ 2,147,483,647之間整數(shù)
//TruthValue|true(1)false(2)|
//TestAndIncr(0~2147483647)
//RowStatus|active(1)notInService(2)notReady(3)createAndGo(4)createAndWait(5)destroy(6)|
//TimeInterval(0~2147483647)
//StorageType|other(1)volatile(2)nonVolatile(3)permanent(4)readOnly(5)
#define TAG_OCTET		0x4		//任意長度字符串,推薦不超過255字節(jié)
//DisplayString(size(0~255))
//IPAddress(size(4))
//PhysAddress
//MacAddress(size(6))
//DateAndTime(size(8|11))
//TAddress(size(1~255))
#define TAG_NULL		0x5		//占位符
#define TAG_OBJIDT		0x6		//U32 oid[128],最大128×4字節(jié)數(shù)
//TDomain
//RowPoint
//VariablePointer
//InstancePointer
//AutonomousType
#define TAG_SEQUENCE	0x30
#define TAG_IP			0x40
#define TAG_COUNTER		0x41
#define TAG_GAUGE32		0x42	//0 ~ 4,294,967,295 非負(fù)整數(shù),最大值后鎖定
#define TAG_TIMETICK	0x43	//0 ~ 4,294,967,295 非負(fù)整數(shù),最大歸零,0.01sec
//TimeStamp
#define TAG_OPAQUE		0x44
#define TAG_GETPDU		0xa0
#define TAG_GETNEXT		0xa1
#define TAG_GETRESPONSE	0xa2
#define TAG_SETPDU		0xa3
#define TAG_TRAPPDU		0xa4

//PDU指定的錯(cuò)誤信息,屬于SNMPV1
#define PDU_NOERROR		0
#define PDU_TOOBIG		1
#define PDU_NOSUCHNAME	2
#define PDU_BADVALUE	3
#define PDU_READONLY	4
#define PDU_GENERR		5

//打印機(jī)組MIB中hrDeviceStatus的指定信息
#define PRN1_UNKNOWN	1
#define PRN1_RUNNING	2
#define PRN1_WARNING	3
#define PRN1_TESTING	4
#define PRN1_DOWN		5

//打印機(jī)組MIB中hrPrinterStatus的指定信息
#define PRN2_OTHER		1
#define PRN2_UNKNOWN	2
#define PRN2_IDLE		3
#define PRN2_PRINTING	4
#define PRN2_WARMUP		5
//SNMP版本號(hào)
#define SNMPV1			0
#define SNMPV2			1
#define SNMPV3			2
//TRAP消息定義
#define MSG_NMS_TRAP	1
#define MSG_SYS_UP		2

//設(shè)備狀態(tài),OID為{1.3.6.1.2.1.25.3.2.1.5}時(shí)查詢
#define STAT_UNKNOWN	1
#define STAT_RUNNING	2
#define STAT_WARNING	3
#define STAT_TESTING	4
#define STAT_DOWN		5
//打印機(jī)狀態(tài),OID為{1.3.6.1.2.1.25.3.5.1.1}時(shí)查詢
#define PRN_OTHER		1
#define PRN_UNKNOWN		2
#define PRN_IDLE		3
#define PRN_PRINTING	4
#define PRN_WARMUP		5
//HR組中ERR_STATUS的定義,需要引擎將當(dāng)前狀況按下面的代碼合成一個(gè)字節(jié)
#define ERR_READY			(u_char)0
#define ERR_SERVICECALL		(u_char)1
#define ERR_OFFLINE			(u_char)(1<<1)
#define ERR_JAMMED			(u_char)(1<<2)
#define ERR_COVEROPEN		(u_char)(1<<3)
#define ERR_NOTONER			(u_char)(1<<4)
#define ERR_LOWTONER		(u_char)(1<<5)
#define ERR_NOPAPER			(u_char)(1<<6)
#define ERR_LOWPAPER		(u_char)(1<<6)

//打印機(jī)COVER狀態(tài)
#define DOOR_OTHER		1
#define DOOR_OPEN		3
#define DOOR_CLOSE		4
#define DOOR_INTEROPEN	5
#define DOOR_INTERCLOSE	6

//打印機(jī)輸入紙盒定義
#define IN_OTHER 		1
#define IN_UNKNOWN		2
#define IN_SHEETFEEDAUTOREMOVABLETRAY		3
#define IN_SHEETFEEDAUTONONREMOVABLETRAY	4
#define IN_SHEETFEEDMANUAL		5
#define IN_CONTINUOUSROLL		6
#define IN_CONTINUOUSFANFOLD	7

//雜七雜八的定義
#define MAX_STRLEN			256
#define MAX_OIDLEN			(128*sizeof(long))


#define SNMP_UDP	161	
#define SNMP_TRAP 	162	
#define SERVER_MAX_CONNECTIONS 	4	//服務(wù)器允許的最大連接數(shù)

#define snmPoolSize (102400*1)

typedef unsigned long	Counter;
typedef	unsigned long	Gauge;
typedef	unsigned long	TimeTicks;
typedef	long	INTEGER;
typedef	char*	PhysAddress;
typedef	char*	DispStr;
typedef char*	OID;
typedef char*	IpAddress;
typedef struct _snmp_start_mib
{
	//實(shí)達(dá)打印服務(wù)器專用MIB庫
	DispStr		startPassword;		//RW
	INTEGER		startPasswdLen;		//密碼長度
	DispStr		startSeries;
	INTEGER		startSWVersion;
	INTEGER		startLPTNumber;		//有效并口數(shù)目
	INTEGER		startLPTIndex;		//
	INTEGER		startLPTStatus;		//index并口狀態(tài)
	INTEGER		startUSBNumber;		//有效USB數(shù)目
	INTEGER		startUSBIndex;		//
	INTEGER		startUSBStatus;		//index USB狀態(tài)
	INTEGER		startCOMNumber;		//有效COM數(shù)目
	INTEGER		startCOMIndex;		//
	INTEGER		startCOM1Status;	//index COM狀態(tài)
	
	//作業(yè)管理專用MIB
	DispStr		startLastJobInfo;
	DispStr		startLPTJobInfo;	//上面的index指定LPT
	DispStr		startUSBJobInfo;
	//實(shí)達(dá)打印機(jī)專用MIB庫
	INTEGER		startTonerLevel;
	INTEGER		startInputNumber;	//有幾個(gè)輸入紙盒
	INTEGER		startInputIndex;	//指示當(dāng)前讀取第幾紙盒
	INTEGER		startInputStatus;	//index紙盒狀態(tài),bit1代表是否安裝,bit2代表是否有紙,bit3代表是否可設(shè)置紙張大小
	INTEGER		startInputPaper;	//紙盒1紙張規(guī)格,若狀態(tài)顯示可以更改紙張大小,則RW
	
	INTEGER		startLEDNumber;		//LED燈的數(shù)目
	INTEGER		startLEDIndex;		//指定某燈
	INTEGER		startLEDStatus;		//每個(gè)LED燈亮滅狀態(tài)
	INTEGER		startLCDStatus;		//是否有LCD面板
	DispStr		startLCDMsg;		//LCD字符串信息
	INTEGER		startPrtStatus;		//打印機(jī)狀態(tài)碼
	INTEGER		startPrtOffline;	//設(shè)定打印機(jī)脫機(jī)聯(lián)機(jī)
	INTEGER		startPrtReboot;		//設(shè)定打印機(jī)重啟

	//端口管理專用MIB
	INTEGER		startLPTMode;
	INTEGER		startLPTManage;
	INTEGER		startLPTTimeout;
	DispStr		startLPTMemo;
}STARTMIBLIB;

typedef struct _snmp_snmp_mib
{
	//以下部分都無需系統(tǒng)支持
	//SNMP MIB(無需系統(tǒng)提供)
	Counter		SnmpInPkts;
	Counter		snmpOutPkts;
	Counter		snmpInBadVersions;
	Counter		snmpInBadCommunityNames;
	Counter		snmpInBadCommunityUses;
	Counter		snmpInASNParseErrs;
	Counter		snmpInTooBigs;
	Counter		snmpInNoSuchNames;
	Counter		snmpInBadValues;
	Counter		snmpInReadOnlys;
	Counter		snmpInGenErrs;
	Counter		snmpInTotalReqVars;
	Counter		snmpInTotalSetVars;
	Counter		snmpInGetRequests;
	Counter		snmpInGetNexts;
	Counter		snmpInSetRequests;
	Counter		snmpInGetResponses;
	Counter		snmpInTraps;
	Counter		snmpOutTooBigs;
	Counter		snmpOutNoSuchNames;
	Counter		snmpOutBadValues;
	Counter		snmpOutGenErrs;
	Counter		snmpOutGenRequests;
	Counter		snmpOutGetNexts;
	Counter		snmpOutSetRequests;
	Counter		snmpOutGetResponses;
	Counter		snmpOutTraps;
	INTEGER		SnmpEnableAuthenTraps;	//RW
	
}SNMPMIBLIB;

typedef struct _snmp_prt_snmp
{
	//Printer MIB中需要的全局變量
	long prtGeneralConfigChanges;	//引擎變化次數(shù)
	long prtGeneralCurrentLocalization;//本地化代碼
	long prtGeneralReset;			//當(dāng)前RESET的狀態(tài)
	long prtCoverIndex;				//
	long prtCoverStatus;
	long prtLocalizationIndex;
	long prtLocalizationCharacterSet;

	long prtInputDefaultIndex;		//
	long prtInputIndex;
	long prtInputType;
	long prtInputDimUnit;
	long prtInputMediaDimFeedDirDeclared;	//紙張長
	long prtInputMediaDimXFeedDirDeclared;	//紙張寬
	long prtInputMediaDimFeedDirChosen;
	long prtInputMediaDimXFeedDirChosen;
	long prtInputCapacityUnit;
	long prtInputMaxCapacity;
	long prtInputCurrentLevel;
	long prtInputStatus;
	long prtInputSecurity;
	long InputMediaWeight;
	long InputMediaFormParts;

	long prtOutputDefaultIndex;
	long prtOutputIndex;
	long prtOutputType;
	long prtOutputCapacityUnit;
	long prtOutputMaxCapacity;
	long prtOutputRemainingCapacity;
	long prtOutputStatus;
	long prtOutputSecurity;
	long prtOutputDimUnit;
	long prtOutputMaxDimFeedDir;
	long prtOutputMaxDimXFeedDir;
	long prtOutputMinDimFeedDir;
	long prtOutputMinDimXFeedDir;
	long prtOutputStackingOrder;
	long prtOutputPageDeliveryOrientation;
	long prtOutputBursting;
	long prtOutputDecollating;
	long prtOutputPageCollated;
	long prtOutputOffsetStacking;
}PRTMIBLIB;
typedef struct _snmp_hr_snmp
{
	/*
打印機(jī)狀態(tài) -->hrDeviceStatus -->hrPrinterStatus -->hrPrinterDetectedErrorState
Normal         running(2)       idle(3)            none set

Busy/          running(2)       printing(4)
Temporarily
Unavailable

Non Critical   warning(3)       idle(3) or         could be: lowPaper,
Alert Active                    printing(4)        lowToner, or serviceRequested

Critical       down(5)          other(1)           could be: jammed,noPaper, 
Alert Active                                       noToner,coverOpen, or serviceRequested

Unavailable    down(5)          other(1)

Moving off-    warning(3)       idle(3) or         offline
line                            printing(4)

Off-line       down(5)          other(1)           offline

Moving         down(5)        warmup(5)
on-line

Standby        running(2)     other(1)
*/
	//HR MIB組中需要的全局變量
	long errStatus;					//需要引擎賦值
	long DeviceStatus;				//需要引擎賦值
	long PrinterStatus;				//需要引擎賦值
	long hrDeviceErrors;
	long hrDeviceIndex;
}HRMIBLIB;
typedef unsigned char 	u_char;
typedef unsigned long 	u_long;
typedef unsigned char 		oid;

typedef u_char *(FindVar)(char magic,int *buflen);
typedef int WriteVar(char magic,char *buf,int buflen);

typedef struct _var_bind_list
{
	struct _var_bind_list *next;
	int 	oid_len;
	u_char 	oid[MAX_OIDLEN];		//防止出現(xiàn)負(fù)數(shù)
	int 	value_len;
	char	type;
	void	*value;
}VARLIST;

typedef struct _nametree {
	u_char	oid[MAX_OIDLEN];
	struct _nametree*	parent;		//父級(jí)
	struct _nametree*	children;	//子級(jí)
	struct _nametree*	sibling;	//同級(jí)
	char*				name;
	unsigned char		type;
}nametree;

typedef struct _snmp_pdu {
	long 		version;		//SNMPV1 == 0
	int 		command;		//0xA(n)
	long 		reqid;  		//Request id
	long 		errstat;		//Error status
	long 		errindex;		//Error index
    u_char		*community;		//Community Name
    int 		community_len;  
  	//>>>>>>>>>>>>> Trap PDU <<<<<<<<<<<<<<<<<
    oid			*enterprise;	//System OID
    int 		enterprise_length;    
    long        trap_type;		//trap type
    long		specific_type;	//廠商指定 trap type
    u_long 		time;			//初始化到發(fā)送TRAP之間的時(shí)間
    u_char		agent_addr[4];  //其實(shí)是NMS的IP地址
    
//    struct sockaddr_in 	clientAddr;	//回送TRAP到這個(gè)地方
	int			sFd;			//回送TRAP的本機(jī)端口
	//>>>>>>>>>>>>> VARBINDLIST <<<<<<<<<<<<<<
    VARLIST		*variables;
}SNMP_PDU;

//給TRAP任務(wù)發(fā)送snmp包
typedef struct _trap_msg
{
	u_char msg;
	SNMP_PDU *snmp;
}TRAPMSG;


typedef struct _log
{
	struct _log * next;
	struct _log * prev;
	unsigned int 	size;	//xxxBytes
	unsigned int 	flag;
	unsigned int 	pagecnt;
	unsigned long	time;
	char  	list[18];		//192.168.3.4 etc
	char 	paper[10];		//A4,A3 etc.
	char 	emu[10];		//PCL,LQ,PS,XL,Unkown
	char 	dest[5];		//LPT1,LPT2,USB1,USB2
	char	remoteName[16];	//Netbios Name
	char 	type[5];		//RAW,FTP,LPD,HTTP,IPP,NB
}logParam;
#define MAXLOG	100

extern PRTMIBLIB 	*prtMibLib;
extern STARTMIBLIB	*startMibLib;
extern SNMPMIBLIB	*snmpMibLib;
extern HRMIBLIB		*hrMibLib;
int TrapTask(void);
int snmpTrap(void);

//啟動(dòng)SNMP的代理進(jìn)程
int snmpAgent(void);
//開始接收檢驗(yàn)輸入數(shù)據(jù)包
int Exam_startdata(int sFd,int count);
//接收到的數(shù)據(jù)經(jīng)過SNMP格式校驗(yàn)后,用本函數(shù)按要求獲取MIB
int ExecSnmp(SNMP_PDU *snmp);

//按照給定的PDU,打包出一個(gè)完整的返回?cái)?shù)據(jù)包
int PrepareRC(SNMP_PDU *snmp,char **buf,int *packetlen);
//調(diào)用下面的幾種打包程序,PrepareRC才可以生成最終數(shù)據(jù)
	int Encode_bindlist(SNMP_PDU *snmp,char **buf,int *buflen);
	int	Encode_ErrorIndex(SNMP_PDU *snmp,char **buf,int *buflen);
	int	Encode_ErrorStatus(SNMP_PDU *snmp,char **buf,int *buflen);
	int	Encode_RequestID(SNMP_PDU *snmp,char **buf,int *buflen);
	int	Encode_PDUfield(SNMP_PDU *snmp,char **buf,int *buflen);
	int	Encode_wrapper(SNMP_PDU *snmp,char **buf,int *buflen);

//初始化給定的PDU
void initSNMP(SNMP_PDU *snmp);
//按照ASN.1格式(TAG + ASNLEN + VALUE)生成數(shù)據(jù)包
int packet(char type,int asnlen,char *data,char **buf,int *buflen);
//將給定的PDU中的VARBINDLIST中的所有參數(shù)賦值
int GetOidValue(SNMP_PDU *snmp,VARLIST *vartemp);
//用給定的PDU中的VARBINDLIST中的參數(shù),更新自身的MIB參數(shù)
int SetOidValue(SNMP_PDU *snmp,VARLIST *vartemp);
//釋放PDU內(nèi)存
void freesnmpPDU(SNMP_PDU *snmp);

void *snmpMalloc(int nBytes);
void snmpFree(void *pBlock);

int netStart();

int getLongSize(long len);

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美中文字幕一区二区三区亚洲| 国产色一区二区| 欧美成人一级视频| 国产欧美视频一区二区三区| 亚洲色大成网站www久久九九| 亚洲国产精品影院| 九一九一国产精品| 97精品久久久午夜一区二区三区| 欧美日韩免费一区二区三区| 亚洲精品在线电影| 亚洲天堂网中文字| 裸体健美xxxx欧美裸体表演| 成人性视频免费网站| 亚洲电影在线播放| 中文字幕在线一区免费| 亚洲国产精品久久人人爱 | 99久久er热在这里只有精品66| 欧美专区日韩专区| 久久人人超碰精品| 一级精品视频在线观看宜春院| 蜜桃精品在线观看| 91天堂素人约啪| www国产成人免费观看视频 深夜成人网| 国产精品福利影院| 免费人成精品欧美精品| 91网站在线观看视频| 欧美大胆一级视频| 亚洲综合色网站| 粉嫩在线一区二区三区视频| 欧美高清精品3d| 亚洲素人一区二区| 美女视频一区在线观看| 精品国产区一区| 天天做天天摸天天爽国产一区| 欧美国产丝袜视频| 日本一区二区成人| 国产欧美一二三区| 国产精品国产三级国产普通话三级| 一区二区三区四区精品在线视频 | 韩国一区二区在线观看| 精品一区二区三区影院在线午夜| 日韩国产在线一| 亚洲国产成人自拍| 亚洲午夜久久久久| 日韩激情av在线| 在线观看免费成人| 欧美日韩一区 二区 三区 久久精品| 国产精品三级av在线播放| 中文字幕一区在线观看| 亚洲免费资源在线播放| 视频在线在亚洲| 一区在线观看免费| 亚洲成av人**亚洲成av**| 色综合久久综合中文综合网| 欧美三级日韩三级| 亚洲伦理在线免费看| 成人免费高清视频| 欧美图片一区二区三区| 亚洲国产综合91精品麻豆| ww亚洲ww在线观看国产| 青青草91视频| 91精品一区二区三区在线观看| 亚洲mv大片欧洲mv大片精品| 色婷婷av一区二区三区软件| 亚洲chinese男男1069| 欧美性大战久久| 成人动漫精品一区二区| 国产美女精品一区二区三区| 欧美精品一区二区久久久| 精品亚洲免费视频| 亚洲国产综合91精品麻豆| 亚洲欧美在线高清| 日本精品一级二级| 成人高清视频免费观看| 国产精品一区一区| 国精品**一区二区三区在线蜜桃| 日韩国产精品91| 亚洲国产美国国产综合一区二区| 欧美日韩aaaaaa| 国产清纯白嫩初高生在线观看91 | 粉嫩蜜臀av国产精品网站| 青青草精品视频| 日本强好片久久久久久aaa| 亚洲一区二区三区自拍| 亚洲欧美偷拍三级| 国产一区在线看| 在线免费不卡视频| 国产欧美日韩视频在线观看| 亚洲综合成人在线视频| 欧美一区二区视频观看视频| 亚洲欧美日韩小说| 久久99精品一区二区三区三区| 欧美精品一区二区在线观看| 懂色av一区二区三区免费看| 中文字幕在线视频一区| 欧洲在线/亚洲| 美日韩一区二区三区| 久久久久一区二区三区四区| 成a人片亚洲日本久久| 伊人色综合久久天天人手人婷| 欧美人伦禁忌dvd放荡欲情| 麻豆91精品视频| 国产suv精品一区二区三区| 在线看不卡av| 亚洲午夜激情网页| 日韩欧美的一区| 播五月开心婷婷综合| 亚洲欧美日韩国产综合在线| 欧美久久高跟鞋激| 国产精品99久久不卡二区| 亚洲欧洲另类国产综合| 69久久夜色精品国产69蝌蚪网| 国内精品视频一区二区三区八戒| 国产精品初高中害羞小美女文| 欧美性感一区二区三区| 精品无码三级在线观看视频| 亚洲视频一区在线| 制服.丝袜.亚洲.另类.中文| 国产精品18久久久久久久久| 亚洲黄色小说网站| 精品裸体舞一区二区三区| 不卡视频免费播放| 日韩av网站免费在线| 国产精品久久久久久久久免费桃花 | 91视视频在线直接观看在线看网页在线看 | 国产一区二区三区四区五区入口 | 欧美日韩国产综合视频在线观看| 精品一区二区三区免费毛片爱| 亚洲欧洲av一区二区三区久久| 在线电影欧美成精品| 成人av在线播放网址| 日本不卡视频一二三区| 亚洲色图另类专区| xf在线a精品一区二区视频网站| 91浏览器在线视频| 国产综合久久久久久鬼色| 亚洲一区二区三区在线看| 国产婷婷一区二区| 91麻豆精品国产91久久久久久久久 | 欧美一级黄色大片| 一本一道久久a久久精品综合蜜臀| 久久精品国产精品亚洲综合| 亚洲精品免费看| 国产日韩欧美精品一区| 3d动漫精品啪啪| 91福利精品视频| 成人午夜av电影| 久久er精品视频| 偷窥少妇高潮呻吟av久久免费| 国产精品乱码一区二区三区软件| 日韩欧美国产一区二区在线播放| 91久久精品日日躁夜夜躁欧美| 国产成人日日夜夜| 久久精品99国产精品日本| 亚洲自拍偷拍九九九| 国产精品久久久久久久浪潮网站| 精品国产乱码久久久久久闺蜜| 51精品久久久久久久蜜臀| 在线欧美小视频| 成人av网站免费| 国产**成人网毛片九色| 久久精品久久久精品美女| 午夜在线电影亚洲一区| 亚洲欧洲综合另类| 国产精品麻豆视频| 国产精品视频在线看| 久久综合九色综合97_久久久| 日韩三级视频在线观看| 91麻豆精品国产91久久久久久| 欧美色网一区二区| 在线观看日产精品| 在线看国产日韩| 欧美在线观看视频一区二区| 91亚洲国产成人精品一区二三| 成人av动漫在线| 99精品桃花视频在线观看| 成人听书哪个软件好| 成人午夜激情片| 不卡的电影网站| www.成人在线| 9色porny自拍视频一区二区| 波多野结衣一区二区三区 | 国产精品毛片久久久久久| 国产欧美视频在线观看| 欧美国产欧美综合| 亚洲欧美自拍偷拍| 亚洲欧美另类小说| 一区二区三国产精华液| 亚洲综合小说图片| 午夜天堂影视香蕉久久| 视频一区二区不卡| 另类综合日韩欧美亚洲| 精品一区二区在线视频| 国产精品一二三四五| 国产69精品久久99不卡| av日韩在线网站| 在线日韩国产精品| 91精品一区二区三区在线观看| 日韩欧美综合在线| 国产亚洲欧美在线|