xref: /aosp_15_r20/external/musl/include/net/if_arp.h (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker /* Nonstandard header */
2*c9945492SAndroid Build Coastguard Worker #ifndef _NET_IF_ARP_H
3*c9945492SAndroid Build Coastguard Worker #define _NET_IF_ARP_H
4*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus
5*c9945492SAndroid Build Coastguard Worker extern "C" {
6*c9945492SAndroid Build Coastguard Worker #endif
7*c9945492SAndroid Build Coastguard Worker 
8*c9945492SAndroid Build Coastguard Worker #include <inttypes.h>
9*c9945492SAndroid Build Coastguard Worker #include <sys/types.h>
10*c9945492SAndroid Build Coastguard Worker #include <sys/socket.h>
11*c9945492SAndroid Build Coastguard Worker 
12*c9945492SAndroid Build Coastguard Worker #define MAX_ADDR_LEN	7
13*c9945492SAndroid Build Coastguard Worker 
14*c9945492SAndroid Build Coastguard Worker #define	ARPOP_REQUEST	1
15*c9945492SAndroid Build Coastguard Worker #define	ARPOP_REPLY	2
16*c9945492SAndroid Build Coastguard Worker #define	ARPOP_RREQUEST	3
17*c9945492SAndroid Build Coastguard Worker #define	ARPOP_RREPLY	4
18*c9945492SAndroid Build Coastguard Worker #define	ARPOP_InREQUEST	8
19*c9945492SAndroid Build Coastguard Worker #define	ARPOP_InREPLY	9
20*c9945492SAndroid Build Coastguard Worker #define	ARPOP_NAK	10
21*c9945492SAndroid Build Coastguard Worker 
22*c9945492SAndroid Build Coastguard Worker struct arphdr {
23*c9945492SAndroid Build Coastguard Worker 	uint16_t ar_hrd;
24*c9945492SAndroid Build Coastguard Worker 	uint16_t ar_pro;
25*c9945492SAndroid Build Coastguard Worker 	uint8_t ar_hln;
26*c9945492SAndroid Build Coastguard Worker 	uint8_t ar_pln;
27*c9945492SAndroid Build Coastguard Worker 	uint16_t ar_op;
28*c9945492SAndroid Build Coastguard Worker };
29*c9945492SAndroid Build Coastguard Worker 
30*c9945492SAndroid Build Coastguard Worker 
31*c9945492SAndroid Build Coastguard Worker #define ARPHRD_NETROM	0
32*c9945492SAndroid Build Coastguard Worker #define ARPHRD_ETHER 	1
33*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_EETHER	2
34*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_AX25	3
35*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_PRONET	4
36*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_CHAOS	5
37*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_IEEE802	6
38*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_ARCNET	7
39*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_APPLETLK	8
40*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_DLCI	15
41*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_ATM	19
42*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_METRICOM	23
43*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IEEE1394	24
44*c9945492SAndroid Build Coastguard Worker #define ARPHRD_EUI64		27
45*c9945492SAndroid Build Coastguard Worker #define ARPHRD_INFINIBAND	32
46*c9945492SAndroid Build Coastguard Worker #define ARPHRD_SLIP	256
47*c9945492SAndroid Build Coastguard Worker #define ARPHRD_CSLIP	257
48*c9945492SAndroid Build Coastguard Worker #define ARPHRD_SLIP6	258
49*c9945492SAndroid Build Coastguard Worker #define ARPHRD_CSLIP6	259
50*c9945492SAndroid Build Coastguard Worker #define ARPHRD_RSRVD	260
51*c9945492SAndroid Build Coastguard Worker #define ARPHRD_ADAPT	264
52*c9945492SAndroid Build Coastguard Worker #define ARPHRD_ROSE	270
53*c9945492SAndroid Build Coastguard Worker #define ARPHRD_X25	271
54*c9945492SAndroid Build Coastguard Worker #define ARPHRD_HWX25	272
55*c9945492SAndroid Build Coastguard Worker #define ARPHRD_CAN	280
56*c9945492SAndroid Build Coastguard Worker #define ARPHRD_PPP	512
57*c9945492SAndroid Build Coastguard Worker #define ARPHRD_CISCO	513
58*c9945492SAndroid Build Coastguard Worker #define ARPHRD_HDLC	ARPHRD_CISCO
59*c9945492SAndroid Build Coastguard Worker #define ARPHRD_LAPB	516
60*c9945492SAndroid Build Coastguard Worker #define ARPHRD_DDCMP	517
61*c9945492SAndroid Build Coastguard Worker #define	ARPHRD_RAWHDLC	518
62*c9945492SAndroid Build Coastguard Worker #define ARPHRD_RAWIP	519
63*c9945492SAndroid Build Coastguard Worker 
64*c9945492SAndroid Build Coastguard Worker #define ARPHRD_TUNNEL	768
65*c9945492SAndroid Build Coastguard Worker #define ARPHRD_TUNNEL6	769
66*c9945492SAndroid Build Coastguard Worker #define ARPHRD_FRAD	770
67*c9945492SAndroid Build Coastguard Worker #define ARPHRD_SKIP	771
68*c9945492SAndroid Build Coastguard Worker #define ARPHRD_LOOPBACK	772
69*c9945492SAndroid Build Coastguard Worker #define ARPHRD_LOCALTLK 773
70*c9945492SAndroid Build Coastguard Worker #define ARPHRD_FDDI	774
71*c9945492SAndroid Build Coastguard Worker #define ARPHRD_BIF	775
72*c9945492SAndroid Build Coastguard Worker #define ARPHRD_SIT	776
73*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IPDDP	777
74*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IPGRE	778
75*c9945492SAndroid Build Coastguard Worker #define ARPHRD_PIMREG	779
76*c9945492SAndroid Build Coastguard Worker #define ARPHRD_HIPPI	780
77*c9945492SAndroid Build Coastguard Worker #define ARPHRD_ASH	781
78*c9945492SAndroid Build Coastguard Worker #define ARPHRD_ECONET	782
79*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IRDA	783
80*c9945492SAndroid Build Coastguard Worker #define ARPHRD_FCPP	784
81*c9945492SAndroid Build Coastguard Worker #define ARPHRD_FCAL	785
82*c9945492SAndroid Build Coastguard Worker #define ARPHRD_FCPL	786
83*c9945492SAndroid Build Coastguard Worker #define ARPHRD_FCFABRIC 787
84*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IEEE802_TR 800
85*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IEEE80211 801
86*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IEEE80211_PRISM 802
87*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IEEE80211_RADIOTAP 803
88*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IEEE802154 804
89*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IEEE802154_MONITOR 805
90*c9945492SAndroid Build Coastguard Worker #define ARPHRD_PHONET 820
91*c9945492SAndroid Build Coastguard Worker #define ARPHRD_PHONET_PIPE 821
92*c9945492SAndroid Build Coastguard Worker #define ARPHRD_CAIF 822
93*c9945492SAndroid Build Coastguard Worker #define ARPHRD_IP6GRE 823
94*c9945492SAndroid Build Coastguard Worker #define ARPHRD_NETLINK 824
95*c9945492SAndroid Build Coastguard Worker #define ARPHRD_6LOWPAN 825
96*c9945492SAndroid Build Coastguard Worker #define ARPHRD_VSOCKMON 826
97*c9945492SAndroid Build Coastguard Worker 
98*c9945492SAndroid Build Coastguard Worker #define ARPHRD_VOID	  0xFFFF
99*c9945492SAndroid Build Coastguard Worker #define ARPHRD_NONE	  0xFFFE
100*c9945492SAndroid Build Coastguard Worker 
101*c9945492SAndroid Build Coastguard Worker struct arpreq {
102*c9945492SAndroid Build Coastguard Worker 	struct sockaddr arp_pa;
103*c9945492SAndroid Build Coastguard Worker 	struct sockaddr arp_ha;
104*c9945492SAndroid Build Coastguard Worker 	int arp_flags;
105*c9945492SAndroid Build Coastguard Worker 	struct sockaddr arp_netmask;
106*c9945492SAndroid Build Coastguard Worker 	char arp_dev[16];
107*c9945492SAndroid Build Coastguard Worker };
108*c9945492SAndroid Build Coastguard Worker 
109*c9945492SAndroid Build Coastguard Worker struct arpreq_old {
110*c9945492SAndroid Build Coastguard Worker 	struct sockaddr arp_pa;
111*c9945492SAndroid Build Coastguard Worker 	struct sockaddr arp_ha;
112*c9945492SAndroid Build Coastguard Worker 	int arp_flags;
113*c9945492SAndroid Build Coastguard Worker 	struct sockaddr arp_netmask;
114*c9945492SAndroid Build Coastguard Worker };
115*c9945492SAndroid Build Coastguard Worker 
116*c9945492SAndroid Build Coastguard Worker #define ATF_COM		0x02
117*c9945492SAndroid Build Coastguard Worker #define	ATF_PERM	0x04
118*c9945492SAndroid Build Coastguard Worker #define	ATF_PUBL	0x08
119*c9945492SAndroid Build Coastguard Worker #define	ATF_USETRAILERS	0x10
120*c9945492SAndroid Build Coastguard Worker #define ATF_NETMASK     0x20
121*c9945492SAndroid Build Coastguard Worker #define ATF_DONTPUB	0x40
122*c9945492SAndroid Build Coastguard Worker #define ATF_MAGIC	0x80
123*c9945492SAndroid Build Coastguard Worker 
124*c9945492SAndroid Build Coastguard Worker #define ARPD_UPDATE	0x01
125*c9945492SAndroid Build Coastguard Worker #define ARPD_LOOKUP	0x02
126*c9945492SAndroid Build Coastguard Worker #define ARPD_FLUSH	0x03
127*c9945492SAndroid Build Coastguard Worker 
128*c9945492SAndroid Build Coastguard Worker struct arpd_request {
129*c9945492SAndroid Build Coastguard Worker 	unsigned short req;
130*c9945492SAndroid Build Coastguard Worker 	uint32_t ip;
131*c9945492SAndroid Build Coastguard Worker 	unsigned long dev;
132*c9945492SAndroid Build Coastguard Worker 	unsigned long stamp;
133*c9945492SAndroid Build Coastguard Worker 	unsigned long updated;
134*c9945492SAndroid Build Coastguard Worker 	unsigned char ha[MAX_ADDR_LEN];
135*c9945492SAndroid Build Coastguard Worker };
136*c9945492SAndroid Build Coastguard Worker 
137*c9945492SAndroid Build Coastguard Worker 
138*c9945492SAndroid Build Coastguard Worker 
139*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus
140*c9945492SAndroid Build Coastguard Worker }
141*c9945492SAndroid Build Coastguard Worker #endif
142*c9945492SAndroid Build Coastguard Worker #endif
143