blob: 1cd23ef25597105cfe6581f48a37666173b769ab [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_IF_ARP_H
20#define _UAPI_LINUX_IF_ARP_H
21#include <linux/netdevice.h>
22#define ARPHRD_NETROM 0
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define ARPHRD_ETHER 1
24#define ARPHRD_EETHER 2
25#define ARPHRD_AX25 3
26#define ARPHRD_PRONET 4
Ben Cheng655a7c02013-10-16 16:09:24 -070027#define ARPHRD_CHAOS 5
28#define ARPHRD_IEEE802 6
29#define ARPHRD_ARCNET 7
30#define ARPHRD_APPLETLK 8
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define ARPHRD_DLCI 15
32#define ARPHRD_ATM 19
33#define ARPHRD_METRICOM 23
34#define ARPHRD_IEEE1394 24
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define ARPHRD_EUI64 27
36#define ARPHRD_INFINIBAND 32
37#define ARPHRD_SLIP 256
38#define ARPHRD_CSLIP 257
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define ARPHRD_SLIP6 258
40#define ARPHRD_CSLIP6 259
41#define ARPHRD_RSRVD 260
42#define ARPHRD_ADAPT 264
Ben Cheng655a7c02013-10-16 16:09:24 -070043#define ARPHRD_ROSE 270
44#define ARPHRD_X25 271
45#define ARPHRD_HWX25 272
46#define ARPHRD_CAN 280
Christopher Ferris2abfa9e2021-11-01 16:26:06 -070047#define ARPHRD_MCTP 290
Ben Cheng655a7c02013-10-16 16:09:24 -070048#define ARPHRD_PPP 512
49#define ARPHRD_CISCO 513
50#define ARPHRD_HDLC ARPHRD_CISCO
51#define ARPHRD_LAPB 516
Ben Cheng655a7c02013-10-16 16:09:24 -070052#define ARPHRD_DDCMP 517
53#define ARPHRD_RAWHDLC 518
Christopher Ferris1308ad32017-11-14 17:32:13 -080054#define ARPHRD_RAWIP 519
Ben Cheng655a7c02013-10-16 16:09:24 -070055#define ARPHRD_TUNNEL 768
56#define ARPHRD_TUNNEL6 769
Ben Cheng655a7c02013-10-16 16:09:24 -070057#define ARPHRD_FRAD 770
58#define ARPHRD_SKIP 771
59#define ARPHRD_LOOPBACK 772
60#define ARPHRD_LOCALTLK 773
Ben Cheng655a7c02013-10-16 16:09:24 -070061#define ARPHRD_FDDI 774
62#define ARPHRD_BIF 775
63#define ARPHRD_SIT 776
64#define ARPHRD_IPDDP 777
Ben Cheng655a7c02013-10-16 16:09:24 -070065#define ARPHRD_IPGRE 778
66#define ARPHRD_PIMREG 779
67#define ARPHRD_HIPPI 780
68#define ARPHRD_ASH 781
Ben Cheng655a7c02013-10-16 16:09:24 -070069#define ARPHRD_ECONET 782
70#define ARPHRD_IRDA 783
71#define ARPHRD_FCPP 784
72#define ARPHRD_FCAL 785
Ben Cheng655a7c02013-10-16 16:09:24 -070073#define ARPHRD_FCPL 786
74#define ARPHRD_FCFABRIC 787
75#define ARPHRD_IEEE802_TR 800
76#define ARPHRD_IEEE80211 801
Ben Cheng655a7c02013-10-16 16:09:24 -070077#define ARPHRD_IEEE80211_PRISM 802
78#define ARPHRD_IEEE80211_RADIOTAP 803
79#define ARPHRD_IEEE802154 804
80#define ARPHRD_IEEE802154_MONITOR 805
Ben Cheng655a7c02013-10-16 16:09:24 -070081#define ARPHRD_PHONET 820
82#define ARPHRD_PHONET_PIPE 821
83#define ARPHRD_CAIF 822
84#define ARPHRD_IP6GRE 823
Christopher Ferris38062f92014-07-09 15:33:25 -070085#define ARPHRD_NETLINK 824
86#define ARPHRD_6LOWPAN 825
Christopher Ferris525ce912017-07-26 13:12:53 -070087#define ARPHRD_VSOCKMON 826
Ben Cheng655a7c02013-10-16 16:09:24 -070088#define ARPHRD_VOID 0xFFFF
89#define ARPHRD_NONE 0xFFFE
90#define ARPOP_REQUEST 1
Ben Cheng655a7c02013-10-16 16:09:24 -070091#define ARPOP_REPLY 2
92#define ARPOP_RREQUEST 3
93#define ARPOP_RREPLY 4
94#define ARPOP_InREQUEST 8
Ben Cheng655a7c02013-10-16 16:09:24 -070095#define ARPOP_InREPLY 9
96#define ARPOP_NAK 10
97struct arpreq {
Tao Baod7db5942015-01-28 10:07:51 -080098 struct sockaddr arp_pa;
99 struct sockaddr arp_ha;
100 int arp_flags;
101 struct sockaddr arp_netmask;
Christopher Ferris86a48372019-01-10 14:14:59 -0800102 char arp_dev[IFNAMSIZ];
Ben Cheng655a7c02013-10-16 16:09:24 -0700103};
104struct arpreq_old {
Tao Baod7db5942015-01-28 10:07:51 -0800105 struct sockaddr arp_pa;
Tao Baod7db5942015-01-28 10:07:51 -0800106 struct sockaddr arp_ha;
107 int arp_flags;
108 struct sockaddr arp_netmask;
Ben Cheng655a7c02013-10-16 16:09:24 -0700109};
110#define ATF_COM 0x02
Ben Cheng655a7c02013-10-16 16:09:24 -0700111#define ATF_PERM 0x04
112#define ATF_PUBL 0x08
113#define ATF_USETRAILERS 0x10
114#define ATF_NETMASK 0x20
Ben Cheng655a7c02013-10-16 16:09:24 -0700115#define ATF_DONTPUB 0x40
116struct arphdr {
Tao Baod7db5942015-01-28 10:07:51 -0800117 __be16 ar_hrd;
Tao Baod7db5942015-01-28 10:07:51 -0800118 __be16 ar_pro;
119 unsigned char ar_hln;
120 unsigned char ar_pln;
121 __be16 ar_op;
Ben Cheng655a7c02013-10-16 16:09:24 -0700122};
Ben Cheng655a7c02013-10-16 16:09:24 -0700123#endif