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

📄 ip.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 <config.h>#include "ip.h"#include "iprcve.h"MAC_PROT ipMac ={    IpRcve,    MAC_PROT_IP};BOOLEAN IpInit(void){    BYTE            name[255];    BYTE            *descr;    DWORD           dest, mask, nextHop;    WORD            i, metric;    IP_IFACE        *ip;    MAC_IFACE       *mac;    static BOOLEAN  init = FALSE;        if (!init)    {        i = 1;        sprintf(name, "ip.iface.name.%d", i);        while (ConfigGetString(name, &descr))        {            mac = MacIfaceFind(descr);            if (mac!=0)            {                ip = DnpapMalloc(sizeof(IP_IFACE));                if (ip!=0)                {                    ip->iface = mac;                                sprintf(name, "ip.iface.addr.%d", i);                    ConfigGetIPAddr(name, &ip->addr);                                sprintf(name, "ip.iface.mask.%d", i);                    ConfigGetIPAddr(name, &ip->mask);                    ip->up = TRUE;                    sprintf(name, "ip.iface.up.%d", i);                    ConfigGetBoolean(name, &ip->up);                                IpIfaceRegister(ip);                }            }                        i++;            sprintf(name, "ip.iface.name.%d", i);        }                i = 1;        sprintf(name, "ip.route.dest.%d", i);        while (ConfigGetIPAddr(name, &dest))        {            sprintf(name, "ip.route.mask.%d", i);            ConfigGetIPAddr(name, &mask);                        sprintf(name, "ip.route.nextHop.%d", i);            ConfigGetIPAddr(name, &nextHop);                        sprintf(name, "ip.route.iface.%d", i);            ConfigGetString(name, &descr);                        metric = 255;            sprintf(name, "ip.route.metric.%d", i);            ConfigGetShort(name, &metric);            mac = MacIfaceFind(descr);            if (mac!=0)                IpRouteAdd(dest, mask, nextHop, mac, metric);                        i++;            sprintf(name, "ip.route.dest.%d", i);        }                init = MacProtRegister(&ipMac);    }    return init;}

⌨️ 快捷键说明

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