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

📄 arp.h

📁 RTL8019以太网开发板资料
💻 H
字号:
#ifndef arp_H_
#define arp_H_

#include "main.h"


#define REMOTE_IP_NUM           1            /* 远程IP地址数目 */
        /* ARP分组格式 */
typedef struct
{
    UWORK16 usHTYPE;               /* 硬件类型 */
    UWORK16 usPTYPE;               /* 协议类型 */
    UWORK8   ucHLEN;               /* 硬件长度 */
    UWORK8   ucPLEN;               /* 协议长度 */
    UWORK16 usOPER;                /* 操作 */
    UWORK8   ucaSHA[MAC_LEN];      /* 源硬件地址 */
    UWORK8   ucaSPA[IP_LEN];       /* 源协议地址 */
    UWORK8   ucaTHA[MAC_LEN];      /* 目标硬件地址 */
    UWORK8   ucaTPA[IP_LEN];       /* 目标协议地址 */
}ST_ARP_FORMAT;

         /* ARP高速缓存 */
typedef struct
{
    UWORK8 ucIPValible;            /* IP有效 */
    UWORK8 ucIpOrRouter;           /* 是否本地网段 */
    UWORK8 ucStatus;               /* 状态 */
    UWORK8 ucaIP[IP_LEN];          /* IP地址 */
    UWORK8 ucaArpIp[IP_LEN];       /* ARP指向的IP */
    UWORK8 ucaMAC[MAC_LEN];        /* MAC地址 */
    UWORK16 usRemotePort;          /* 远程端口号 */
}ST_ARP_CACHE;

        /* ARP请求的各个阶段 */
enum
{
    ARP_FIRST_REQUEST,             /* ARP第一次请求 */
    ARP_SECOND_REQUEST,          	 /* ARP再次请求 */
    ARP_OLD                 		   /* ARP老化 */
};



extern bit  ARPFinishFlag;                                    // ARP完成标志
extern bit  IPConflitTestFlag;                                  // IP冲突测试 
extern bit  IPOrMacConfiltFlag;                             // IP,MAC冲突标志 
extern bit  StartConfiltLedFlag;                                // 冲突时启动快闪 
/************************************************************************/
extern xdata ST_ARP_FORMAT ArpRequestFormat;                     // ARP帧请求格式
extern xdata ST_ARP_FORMAT ArpAnswerFormat;                         // ARP应答格式 
extern xdata ST_ARP_CACHE  ArpCache_Buf[REMOTE_IP_NUM];       // ARP高速缓存 
extern UWORK8 IpModeNum;                                  // 在不同模式下IP数据不一样 
extern UWORK8 ArpCachePoniter;                        // ARP高速缓存指针 
extern xdata UWORK8 gucARPOddNum;                             // 老化后,ARP完不成的次数 
extern xdata UWORK8 ArpPhases;                              //ARP阶段    

extern void StopArpCounter(void);
extern void ArpProcess(void);
extern void ArpStartRequest(UWORK8 *pucaIP);

#endif

⌨️ 快捷键说明

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