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

📄 loop.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 <stdio.h>#include <string.h>#include <mac.h>#include <config.h>#include "loop.h"#define LOOP_MTU    4096    static BOOLEAN Send(MAC_IFACE *iface, CHAIN *chain);static BOOLEAN Stat(MAC_IFACE *iface, MAC_STAT *stat);BOOLEAN LoopInit(void){    BYTE            name[255];    BYTE            *descr;    MAC_IFACE       *loop;    WORD            i;    static BOOLEAN  init = FALSE;        if (!init)    {        i = 1;        sprintf(name, "loop.iface.name.%d", i);        while (ConfigGetString(name, &descr))        {            loop = DnpapMalloc(sizeof(MAC_IFACE));            if (loop!=0)            {                strcpy(loop->descr, descr);                loop->Send          = Send;                loop->Stat          = Stat;                loop->type          = MAC_TYPE_SOFT_LOOPBACK;                loop->speed         = 0;                loop->mtu           = LOOP_MTU;                loop->statusOper    = TRUE;                loop->statusAdmin   = TRUE;                loop->arp           = MAC_ARP_NONE;                loop->addrLength    = 0;                MacIfaceRegister(loop);            }                        i++;            sprintf(name, "loop.iface.name.%d", i);        }        init = TRUE;    }    return init;}static BOOLEAN Send(MAC_IFACE *iface, CHAIN *chain){    CHAIN       *new;    MAC_INFO    info;    WORD        length;        length = ChainLength(chain);    new = ChainAlloc(0, 0, length, length, 0, 0);    if (new)    {        if (ChainCopy(chain, new->buffer, length))        {               info.length      = length;            info.copied      = length;            info.time        = 0L;            info.promiscuous = FALSE;            MacRcve(iface, new, &info);            ChainFree(new);            return TRUE;        }    }    return FALSE;}static BOOLEAN Stat(MAC_IFACE *iface, MAC_STAT *stat){    return TRUE;}

⌨️ 快捷键说明

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