perfmib.c
来自「嵌入式RMON,RMON为Remote monitor的缩写,基于SNMP为网络」· C语言 代码 · 共 90 行
C
90 行
/* 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 <dnpap.h>#include <mac.h>#include <mibsup.h>#include "perfmib.h"static MAC_PERF perf;BOOLEAN PerfMInit(VOID){ return TRUE;}WORD PerfDataControl(SNMP_OBJECT *obj, WORD idlen){ if (MibSimple(obj, idlen) == FALSE) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: case SNMP_PDU_GET: MacPerfStatistics(&perf); obj->Syntax.LngInt = (perf.on == FALSE ? 2 : 1); break; case SNMP_PDU_SET: if (obj->Syntax.LngInt != 1 && obj->Syntax.LngInt != 2) return SNMP_BADVALUE; MacPerfSwitch(obj->Syntax.LngInt == 1 ? TRUE : FALSE); break; } return SNMP_NOERROR;}WORD PerfPkts(SNMP_OBJECT *obj, WORD idlen){ MacPerfStatistics(&perf); if (MibSimple(obj, idlen) == FALSE) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = perf.pkts; return SNMP_NOERROR;}WORD PerfOctets(SNMP_OBJECT *obj, WORD idlen){ MacPerfStatistics(&perf); if (MibSimple(obj, idlen) == FALSE) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = perf.octets; return SNMP_NOERROR;}WORD PerfTimeTotal(SNMP_OBJECT *obj, WORD idlen){ MacPerfStatistics(&perf); if (MibSimple(obj, idlen) == FALSE) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = perf.timeTotal; return SNMP_NOERROR;}WORD PerfTimeMin(SNMP_OBJECT *obj, WORD idlen){ MacPerfStatistics(&perf); if (MibSimple(obj, idlen) == FALSE) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = perf.timeMin; return SNMP_NOERROR;}WORD PerfTimeMax(SNMP_OBJECT *obj, WORD idlen){ MacPerfStatistics(&perf); if (MibSimple(obj, idlen) == FALSE) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = perf.timeMax; return SNMP_NOERROR;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?