arp.h

来自「Hermit-at-1.1.3,一款bootloader」· C头文件 代码 · 共 47 行

H
47
字号
#ifndef _HERMIT_ARP_H_#define _HERMIT_ARP_H_#define ARP_CACHE_SURVIVAL_TIME 20 //[minute]typedef struct _arp_cache_table{  unsigned char mac[6];  unsigned char ipaddr[4];}arp_cache_table;typedef enum _arp_htype_id{  ARP_HTYPE_ETH    = 0x0001,//Ethernet  ARP_HTYPE_TOKENR = 0x0004,//TokenRing  ARP_HTYPE_ATM    = 0x0010,//ATM}arp_htype_id;typedef enum _arp_ptype_id{  ARP_PTYPE_IP = 0x0800,}arp_ptype_id;#define ARP_HLEN_ETH  0x06#define ARP_PLEN_IPV4 0x04typedef enum _arp_opecode{  ARP_OP_REQ       = 0x0001,  ARP_OP_REPLY     = 0x0002,  ARP_OP_RARPREQ   = 0x0003,//Reverse ARP Request  ARP_OP_RARPREPLY = 0x0004,//Reverse ARP Reply}arp_opcode;typedef struct _arp_frame{  unsigned short htype;//hardware type  unsigned short ptype;//protocol type  unsigned char hlen;//hardware address length  unsigned char plen;//protocol address length  unsigned short opecode;//operation code  unsigned char host_mac[6];  unsigned char host_ipaddr[4];  unsigned char target_mac[6];  unsigned char target_ipaddr[4];}arp_frame;int arp_search(unsigned char *target_mac, const unsigned char *target_ipaddr);int arp_proc(const unsigned char *packet, const int plen);#endif

⌨️ 快捷键说明

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