⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlog_m.c

📁 嵌入式RMON,RMON为Remote monitor的缩写,基于SNMP为网络提供主动监控及错误告警,智能交换路由必备协议
💻 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 "dlog.h"static CHAR MODULE[] = "DnpapLogM";WORD DnpapLogEventIndex(SNMP_OBJECT *obj, WORD idlen, DnpapRmonLog *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 DnpapLogIndex(SNMP_OBJECT *obj, WORD idlen, DnpapRmonLog *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 DnpapLogTime(SNMP_OBJECT *obj, WORD idlen, DnpapRmonLog *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 DnpapLogDescription(SNMP_OBJECT *obj, WORD idlen, DnpapRmonLog *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;}DnpapRmonLog *NewDnpapRmonLog(WORD nrlogs){	return DnpapMalloc(nrlogs*sizeof(DnpapRmonLog));}DnpapRmonLog *ReNewDnpapRmonLog(DnpapRmonLog* ptr, WORD nrlogs, WORD oldnrlogs, WORD maxnrlogs){           WORD n, nold;	if (nrlogs > maxnrlogs || ((LONG)nrlogs*sizeof(DnpapRmonLog) > 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(DnpapRmonLog));    }            else        return ptr;}VOID DelDnpapRmonLog(DnpapRmonLog* ptr){    DnpapFree(ptr);}

⌨️ 快捷键说明

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