pingd.c

来自「嵌入式RMON,RMON为Remote monitor的缩写,基于SNMP为网络」· C语言 代码 · 共 65 行

C
65
字号
/* Beholder RMON ethernet network monitor,Copyright (C) 1993 DNPAP group *//* See file COPYING 'GNU General Public Licence' for copyright details   */#include <chain.h>#include <icmp.h>#include "pingd.h"static BOOLEAN Rcve(ICMP_DESCR *descr, CHAIN *chain, ICMP_HDR *icmpHdr, IP_HDR *ipHdr);PINGD_STAT pingdStat;ICMP_DESCR pingdIcmp ={    Rcve,    ICMP_ECHO_REQUEST,    ICMP_CODE_ANY,    ICMP_ID_ANY,    ICMP_SEQNR_ANY,    ICMP_ADDR_ANY,    ICMP_ADDR_ANY,    0};BOOLEAN PingdInit(void){    static BOOLEAN init = FALSE;        if (!init)    {        init = IcmpRegister(&pingdIcmp);    }    return init;}PINGD_STAT *PingdStatistics(void){    return &pingdStat;}static BOOLEAN Rcve(ICMP_DESCR *descr, CHAIN *chain, ICMP_HDR *icmpHdr, IP_HDR *ipHdr){    DWORD   addr;    BOOLEAN success = FALSE;        icmpHdr->type = ICMP_ECHO_REPLY;    addr          = ipHdr->src;    ipHdr->src    = ipHdr->dst;    ipHdr->dst    = addr;        success = IcmpSend(chain, icmpHdr, ipHdr);        if (success)        pingdStat.datagrams++;    else        pingdStat.errors++;    return success;}

⌨️ 快捷键说明

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