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

📄 test.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 <memory.h>#include <stdio.h>#define  INCL_BASE#include <os2.h>#include <dnpap.h>#include <message.h>#include <timer.h>#include <block.h>#include <mac.h>#include <snor.h>#include <ether.h>#include <ip.h>#include <icmp.h>#include <udp.h>#include <maxmem.h>#include <echod.h>#include <pingd.h>#include <echo.h>#include "ping.h"static void EchoResponse(ECHO_DESCR *echo, ULONG time, USHORT seqnr, VOID *parm){     printf("EchoResponse time: %ld seqnr: %d\n",time, seqnr);}static void PingResponse(PING_DESCR *ping, ULONG time, USHORT seqnr, VOID *parm){     printf("PingResponse time: %ld seqnr: %d\n",time, seqnr);}static void SendEcho(TIMER_DESCR *timer, ULONG now, void *parm){    if (EchoSend(0x82a1914e, 5000L, 400, 1, EchoResponse, 0)==0)        DnpapMessage(DMC_WARNING,100,"EchoSend failed");}static void SendPing(TIMER_DESCR *timer, ULONG now, void *parm){    int i;    if (PingSend(0x82a19103, 5000L, 300, i, PingResponse, 0)==0)        DnpapMessage(DMC_WARNING,100,"PingSend failed");/*        if (PingSend(0x7f000001, 5000L, 300, i, PingResponse, 0)==0)        DnpapMessage(DMC_WARNING,100,"PingSend failed");*/}static void ShowMem(TIMER_DESCR *timer, ULONG now, void *parm){    printf("Available memory: %lu\n", MemoryGetAvail());}INT main(INT argc, char **argv){    if (ConfigInit(argc, argv) == FALSE || ConfigLoad() == FALSE)    {        DnpapMessage(DMC_FATAL, 1, "ConfigInit failed");        DnpapExit(1);    }    MemoryInit(8000000L, 32000L);    MessageInit("stdio:out", MSGFILE, MSGSTDIO, NULL);    MessageConfig(BEHOLDER_ERROR, "Beholder");        if (!TimerInit())        DnpapMessage(DMC_WARNING,3,"TimerInit failed");    /*  must come before PipeInit & SnorInit  */    if (!BlockInit())        DnpapMessage(DMC_WARNING,4,"BlockInit failed");    /*  must come before MacInit  */    if (!SnorInit())        DnpapMessage(DMC_WARNING,5,"SnorInit failed");    /*  must come before MacInit  */    if (!LoopInit())        DnpapMessage(DMC_WARNING,6,"LoopInit failed");        if (!MacInit())        DnpapMessage(DMC_WARNING,7,"MacInit failed");        if (!ArpInit())        DnpapMessage(DMC_WARNING,8,"ArpInit failed");        if (!IpInit())        DnpapMessage(DMC_WARNING,9,"IpInit failed");        if (!IcmpInit())        DnpapMessage(DMC_WARNING,10,"IcmpInit failed");        if (!UdpInit())        DnpapMessage(DMC_WARNING,11,"UdpInit failed");    if (!EchodInit())        DnpapMessage(DMC_WARNING,12,"EchodInit failed");        if (!PingdInit())        DnpapMessage(DMC_WARNING,12,"PingdInit failed");    if (!EtherInit())        DnpapMessage(DMC_WARNING,14,"EtherInit failed");        if (!SoftInit())        DnpapMessage(DMC_WARNING,15,"SoftInit failed");        DnpapMessage(DMC_MESSAGE,16,"Beholder TNG active !\n");    if (!TimerRegister(ShowMem, 0, 5000L,                TIMER_FOREVER, TIMER_TYPE_SKIP))        DnpapMessage(DMC_ERROR,TEST_ERROR,"Could not register ShowMem");        if (!TimerRegister(SendEcho, 0, 1000L,                TIMER_FOREVER, TIMER_TYPE_SKIP))        DnpapMessage(DMC_ERROR,TEST_ERROR,"Could not register SendEcho");       if (!TimerRegister(SendPing, 0, 1000L,        TIMER_FOREVER, TIMER_TYPE_SKIP))        DnpapMessage(DMC_ERROR,TEST_ERROR,"Could not register SendPing");        if (!Block())        DnpapMessage(DMC_WARNING,17,"Block exit !");    DnpapExit(0);    return 0;}

⌨️ 快捷键说明

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