xref: /plan9/sys/src/cmd/ip/arp.h (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
1 /*
2  *  this file used by (at least) the kernel, arpd, snoopy, tboot
3  */
4 typedef struct Arppkt	Arppkt;
5 typedef struct Arpentry	Arpentry;
6 typedef struct Arpstats	Arpstats;
7 
8 /* Format of ethernet arp request */
9 struct Arppkt {
10 	uchar	d[6];
11 	uchar	s[6];
12 	uchar	type[2];
13 	uchar	hrd[2];
14 	uchar	pro[2];
15 	uchar	hln;
16 	uchar	pln;
17 	uchar	op[2];
18 	uchar	sha[6];
19 	uchar	spa[4];
20 	uchar	tha[6];
21 	uchar	tpa[4];
22 	};
23 
24 #define ARPSIZE		42
25 
26 /* Format of request from starp to user level arpd */
27 struct Arpentry {
28 	uchar	etaddr[6];
29 	uchar	ipaddr[4];
30 	};
31 
32 /* Arp cache statistics */
33 struct Arpstats {
34 	int	hit;
35 	int	miss;
36 	int	failed;
37 	};
38 
39 #define ET_ARP		0x0806
40 #define ET_RARP		0x8035
41 
42 #define ARP_REQUEST	1
43 #define ARP_REPLY	2
44 #define RARP_REQUEST	3
45 #define RARP_REPLY	4
46