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

📄 ipiface.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 "ip.h"#include "ipiface.h"IP_IFACE *ipIfaceList = 0;BOOLEAN IpIfaceRegister(IP_IFACE *iface){    ARP_DESCR *arp;        iface->addrNet          = iface->addr &  iface->mask;    iface->addrBroadcast    = iface->addr | ~iface->mask;    if (iface->iface->arp != MAC_ARP_NONE)    {        arp                 = DnpapMalloc(sizeof(ARP_DESCR));        arp->iface          = iface->iface;        arp->prot           = MAC_PROT_IP;        *(DWORD *)arp->addr = IpH2NDWord(iface->addr);         arp->addrLength     = 4;        if (!ArpRegister(arp))            return FALSE;        iface->arp          = arp;    }    else    {        iface->arp          = 0;    }    iface->next         = ipIfaceList;    ipIfaceList         = iface;       return TRUE;}void IpIfaceRemove(IP_IFACE *iface){    IP_IFACE **p;        for (p=&ipIfaceList; *p!=0; p=&(*p)->next)    {        if (*p==iface)        {            *p = (*p)->next;            break;        }    }    if (iface->arp != 0)    {        ArpRemove(iface->arp);        DnpapFree(iface->arp);    }}void IpIfaceSwitch(IP_IFACE *iface, BOOLEAN up){    iface->up = up;}BOOLEAN IpIfaceIsForMe(DWORD addr){    IP_IFACE *i;        if (addr == 0xffffffff || addr == 0)        return TRUE;    for (i=ipIfaceList; i!=0; i=i->next)    {        if (i->up)        {            if (addr == i->addr ||                addr == i->addrNet ||                addr == i->addrBroadcast)                return TRUE;        }    }    return FALSE;}

⌨️ 快捷键说明

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