📄 log_m.c
字号:
/* Beholder RMON ethernet network monitor,Copyright (C) 1993 DNPAP group *//* See file COPYING 'GNU General Public Licence' for copyright details */#include <dnpap.h>#include <memory.h>#include <dmath.h>#include <maxmem.h>#include <snmp.h>#include <stdlib.h>#include "log.h"static CHAR MODULE[] = "LogM";WORD LogEventIndex(SNMP_OBJECT *obj, WORD idlen, RmonLog *log){ switch (obj->Request) { case SNMP_PDU_NEXT: case SNMP_PDU_GET: obj->Syntax.LngInt = obj->Id[idlen]; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD LogIndex(SNMP_OBJECT *obj, WORD idlen, RmonLog *log){ switch (obj->Request) { case SNMP_PDU_NEXT: case SNMP_PDU_GET: obj->Syntax.LngInt = obj->Id[idlen+1]; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD LogTime(SNMP_OBJECT *obj, WORD idlen, RmonLog *log){ switch (obj->Request) { case SNMP_PDU_NEXT: case SNMP_PDU_GET: obj->Syntax.LngUns = log->Time; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD LogDescription(SNMP_OBJECT *obj, WORD idlen, RmonLog *log){ switch (obj->Request) { case SNMP_PDU_NEXT: case SNMP_PDU_GET: memcpy(obj->Syntax.BufChr, log->Description, obj->SyntaxLen = log->DescrLen); return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}RmonLog *NewRmonLog(WORD nrlogs){ return DnpapMalloc(nrlogs*sizeof(RmonLog));}RmonLog *ReNewRmonLog(RmonLog* ptr, WORD nrlogs, WORD oldnrlogs, WORD maxnrlogs){ WORD n, nold; if (nrlogs > maxnrlogs || ((LONG)nrlogs*sizeof(RmonLog) > MemoryGetMaxChunk())) return NULL; n = ((nrlogs-1)/MINALLOCLOGS)*MINALLOCLOGS+MINALLOCLOGS; nold = ((oldnrlogs-1)/MINALLOCLOGS)*MINALLOCLOGS+MINALLOCLOGS; if (ptr == NULL || abs(n-nold) >= MINALLOCLOGS) { return DnpapRealloc(ptr, min(n, maxnrlogs)*sizeof(RmonLog)); } else return ptr;}VOID DelRmonLog(RmonLog* ptr){ DnpapFree(ptr);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -