27 lines
768 B
C
27 lines
768 B
C
/* arp.h - Address Resolution Protocol packet format.
|
|
* Author: Kees J. Bot
|
|
* 16 Dec 2000
|
|
*/
|
|
#ifndef ARP_H
|
|
#define ARP_H
|
|
|
|
typedef struct arp46 {
|
|
ether_addr_t dstaddr;
|
|
ether_addr_t srcaddr;
|
|
ether_type_t ethtype; /* ARP_PROTO. */
|
|
u16_t hdr, pro; /* ARP_ETHERNET & ETH_IP_PROTO. */
|
|
u8_t hln, pln; /* 6 & 4. */
|
|
u16_t op; /* ARP_REQUEST or ARP_REPLY. */
|
|
ether_addr_t sha; /* Source hardware address. */
|
|
u8_t spa[4]; /* Source protocol address. */
|
|
ether_addr_t tha; /* Likewise for the target. */
|
|
u8_t tpa[4];
|
|
char padding[60 - (4*6 + 2*4 + 4*2 + 2*1)];
|
|
} arp46_t;
|
|
|
|
#define ARP_ETHERNET 1 /* ARP on Ethernet. */
|
|
#define ARP_REQUEST 1 /* A request for an IP address. */
|
|
#define ARP_REPLY 2 /* A reply to a request. */
|
|
|
|
#endif /* ARP_H */
|