📄 mac.h
字号:
#ifndef _MAC_H#define _MAC_H#include "sys.h"typedef struct{ Uint8 destmac[6]; Uint8 sourcemac[6]; Uint16 type;}ETHHEADER;#define ETH_SIZE sizeof(ETHHEADER)typedef struct{ Uint16 hardware; Uint16 protocol; Uint8 hardwarelength; Uint8 protocollength; Uint16 operation; Uint8 senderhardware[6]; Uint16 senderip_h; Uint16 senderip_l; Uint8 targethardware[6]; Uint16 targetip_h; Uint16 targetip_l;}ARPFRAME;#define ARP_SIZE sizeof(ARPFRAME)#define ARP_OFFSET ETH_SIZE//#define ARP_SIZE 28typedef struct{ //Uint32 ip_address; Uint16 ip_address_h; Uint16 ip_address_l; Uint8 mac_address[6];} IP_SETTINGS;typedef struct{ Uint16 *packet_ptr; Uint16 len;} LAYER_STRUCT;typedef struct{ Uint16 packet_count; LAYER_STRUCT packets[10];} PACKET_STRUCT;#define ARP_TYPE 0x806#define IP_TYPE 0x800#define CMD_PING 1#define CMD_SETA 2#define CMD_READ 3#define CMD_WRITE 4#define EMAC_MAC_ADDR 0x5FA#define EMAC_STATUS 0x5F9#define EMAC_COMMAND 0x5F8#define EMAC_LENL 0x5F7#define EMAC_LENH 0x5F6#define EMAC_IE 0x5F5#define EMAC_BUF 0x0#define EMAC_INT P1_4void mac_init(void);void mac_process(Uint8 bdindex);void mac_send(Uint16 mac_index,Uint16 msgtypem,Uint16 len);//Lower level MAC functionsvoid arp_handler(ARPFRAME *packet);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -