soft.c

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

C
69
字号
/* Beholder RMON ethernet network monitor,Copyright (C) 1993 DNPAP group *//* See file COPYING 'GNU General Public Licence' for copyright details   */#include <memory.h>#include <mac.h>#include <ip.h>#include "soft.h"typedef struct _HDR HDR;struct _HDR{    BYTE dst[6];    BYTE src[6];    WORD type;};static CHAIN *Encode(CHAIN *chain, MAC_HDR *hdr);static CHAIN *Decode(CHAIN *chain, MAC_HDR *hdr);MAC_TYPE softMac ={    Encode,    Decode,    MAC_TYPE_SOFT_LOOPBACK};BOOLEAN SoftInit(void){    static BOOLEAN init = FALSE;        if (!init)    {        init = MacTypeRegister(&softMac);    }    return init;}static CHAIN *Encode(CHAIN *chain, MAC_HDR *hdr){    HDR *h;    h=(HDR *)ChainPush(&chain, 14);    if (h==0)        return 0;    memcpy(h->src, hdr->src, 6);    memcpy(h->dst, hdr->dst, 6);    h->type = IpH2NWord(hdr->type);    return chain;}static CHAIN *Decode(CHAIN *chain, MAC_HDR *hdr){    HDR *h;    h=(HDR *)ChainPop(&chain, 14);    if (h==0)        return 0;    hdr->src = h->src;    hdr->dst = h->dst;    hdr->type = IpN2HWord(h->type);    return chain;}

⌨️ 快捷键说明

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