📄 etherif.h
字号:
/*这份代码经源码格式软件格式化过
yang_hx@neusoft.com */
/* net interface. fetch packet and send packet */
#define ETHER_TYPE_IP 0x0800
#define ETHER_TYPE_ARP 0x0806
#define ETHER_ADDR_LEN 6
/* the header of Ethernet packet */
__packed struct SEtherHead
{
BYTE DestAddr[ETHER_ADDR_LEN];
BYTE ScrAddr[ETHER_ADDR_LEN];
/* 16 bits.0800H IP, 0806H ARP, value less than 0x0600 used in
IEEE802 to indicate the length of the packet*/
WORD type ;
}
;
/* struct for every ethernet device */
struct SEtherDevice
{
BYTE Addr[ETHER_ADDR_LEN];
/* send by this device */
BOOL(*send)(BYTE*buf,WORD size);
/* get a packet from device buffer. returned packet is sorted
in buffer pointed by SMemHead. If no packet return NULL */
struct SMemHead * (*recv)();
}
;
//BOOL EtherOutput(struct SMemHead *MemHead,struct SNetIf*NetIf,IP_ADDR DestIP) ;
//void EtherInput(struct SNetIf* NetIf) ;
//void EtherDevInit(struct SEtherDevice*pDevice,BYTE EtherAddr[],BOOL(*send)(void*buf,WORD size),struct SMemHead* (*recv)());
void EtherDevInit(struct SEtherDevice * pDevice, BYTE EtherAddr[],
BOOL ( * send)(BYTE *buf, WORD size) ,
struct SMemHead *( * recv)() ) ;
//{
//void EtherDevInit(void *pDevice,void *EtherAddr,void *send,void *recv) ;
void EtherInput(struct SNetIf*NetIf);
BOOL EtherOutput(struct SMemHead*MemHead,struct SNetIf*NetIf,IP_ADDR DestIP);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -