📄 ge_arp.h
字号:
/**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-
* GE_arp.h - Ethernet 100M code. .
*
* Copyright 2001-12 by GDT, Inc
*
* modification history
* --------------------
* 2001-12-14,yang xinyan created.
*
*/
#ifndef GE_ARP_H
#define GE_ARP_H
#include <vxWorks.h>
#include "GE_Global.h"
#define ARP_REQ 1
#define ARP_REP 2
#define ETH_HW 1
/*********************************************************/
typedef struct IP_MAC_BAND
{
ULONG proAddr;
unsigned short addrCount;
unsigned short liveTime;
unsigned char PhyAddr[MAC_ADD_SIZ];
struct IP_MAC_BAND* next;
}IP_MAC_BAND;
typedef struct
{
struct IP_MAC_BAND * next;
}ARP_LIST;
typedef struct
{
ARP_LIST ArpList[2];
}HASHVALUE;
extern HASHVALUE hashValue[256];
typedef struct
{
unsigned short arHd; /* 硬件类型 */
unsigned short arPro; /* 协议类型 */
unsigned char arHln; /* 硬件地址长度 */
unsigned char arPln; /* 协议地址长度 */
unsigned short arOp; /* 操作类型 */
unsigned char arSha[6]; /* 发送方硬件地址 */
unsigned char arSpa[4]; /* 发送方协议地址 */
unsigned char arTha[6]; /* 接收方硬件地址 */
unsigned char arTpa[4]; /* 接收方协议地址 */
}ARP_PKT_STRUCTURE;
typedef struct
{
unsigned int dataType;
unsigned int dataLen;
unsigned char indexType; /*检索类型*/
unsigned char interNum; /*接口号*/
unsigned char ipAddr[4]; /*ip地址*/
}ARP_INDEX_REQUEST;
typedef struct
{
unsigned int dataType;
unsigned int dataLen;
unsigned char portNum;
unsigned char interNum;
unsigned char macAddr[6];
unsigned int ipAddr;
unsigned int liveTime;
unsigned int result;
}ARP_INDEX_REPLY;
extern STATUS GE_ArpInit(void);
extern STATUS GE_ArpDel (void);
extern STATUS GE_ArpReinit (void);
extern STATUS GE_Arp(void);
extern STATUS GE_Arp_packet_receive(unsigned char ,ULONG * );
extern STATUS GE_Check_valid_for_arp_packet (unsigned char,ARP_PKT_STRUCTURE*);
extern STATUS GE_Arp_request_packet_generation(unsigned char ,ULONG );
extern unsigned char hashFun(ULONG ipaddr);
extern STATUS GE_Arp_send_reply (unsigned char , ULONG * arpInBuf);
extern struct IP_MAC_BAND *GE_Arp_entry_lookup(unsigned char , ULONG );
extern STATUS GE_ArpTableAdd(unsigned char, IP_MAC_BAND *);
extern STATUS GE_SuspendArp();
extern STATUS GE_ResumeArp();
extern STATUS arp_del(unsigned char unit, ULONG ipAddr);
extern STATUS GE_ArpTimer();
extern STATUS GE_Arp_entry_index();
extern IP_MAC_BAND* GE_Arp_entry_lookup(unsigned char unit, ULONG ipAddr) ;
extern STATUS arp_del(unsigned char unit, ULONG ipAddr);
extern void arp_sta(char unit);
extern void show_arp(char unit);
#endif /*GE_ARP_H*/ /* end of GE_Arp.h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -