1 /*
2  * Copyright (c) 2024 Nordic Semiconductor
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef ZEPHYR_INCLUDE_POSIX_NET_IF_ARP_H_
7 #define ZEPHYR_INCLUDE_POSIX_NET_IF_ARP_H_
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /* See https://www.iana.org/assignments/arp-parameters/arp-parameters.xhtml
14  * for the ARP hardware address type values.
15  */
16 /* ARP protocol HARDWARE identifiers. */
17 #define ARPHRD_NETROM     0            /* From KA9Q: NET/ROM pseudo. */
18 #define ARPHRD_ETHER      1            /* Ethernet 10/100Mbps.  */
19 #define ARPHRD_EETHER     2            /* Experimental Ethernet.  */
20 #define ARPHRD_AX25       3            /* AX.25 Level 2.  */
21 #define ARPHRD_PRONET     4            /* PROnet token ring.  */
22 #define ARPHRD_CHAOS      5            /* Chaosnet.  */
23 #define ARPHRD_IEEE802    6            /* IEEE 802.2 Ethernet/TR/TB.  */
24 #define ARPHRD_ARCNET     7            /* ARCnet.  */
25 #define ARPHRD_APPLETLK   8            /* APPLEtalk.  */
26 #define ARPHRD_DLCI       15           /* Frame Relay DLCI.  */
27 #define ARPHRD_ATM        19           /* ATM.  */
28 #define ARPHRD_METRICOM   23           /* Metricom STRIP (new IANA id).  */
29 #define ARPHRD_IEEE1394   24           /* IEEE 1394 IPv4 - RFC 2734.  */
30 #define ARPHRD_EUI64      27           /* EUI-64.  */
31 #define ARPHRD_INFINIBAND 32           /* InfiniBand.  */
32 
33 /* Dummy types for non ARP hardware */
34 #define ARPHRD_SLIP       256
35 #define ARPHRD_CSLIP      257
36 #define ARPHRD_SLIP6      258
37 #define ARPHRD_CSLIP6     259
38 #define ARPHRD_RSRVD      260          /* Notional KISS type.  */
39 #define ARPHRD_ADAPT      264
40 #define ARPHRD_ROSE       270
41 #define ARPHRD_X25        271          /* CCITT X.25.  */
42 #define ARPHRD_HWX25      272          /* Boards with X.25 in firmware.  */
43 #define ARPHRD_CAN        280          /* Controller Area Network.  */
44 #define ARPHRD_MCTP       290
45 #define ARPHRD_PPP        512
46 #define ARPHRD_CISCO      513          /* Cisco HDLC.  */
47 #define ARPHRD_HDLC       ARPHRD_CISCO
48 #define ARPHRD_LAPB       516          /* LAPB.  */
49 #define ARPHRD_DDCMP      517          /* Digital's DDCMP.  */
50 #define ARPHRD_RAWHDLC    518          /* Raw HDLC.  */
51 #define ARPHRD_RAWIP      519          /* Raw IP.  */
52 #define ARPHRD_TUNNEL     768          /* IPIP tunnel.  */
53 #define ARPHRD_TUNNEL6    769          /* IPIP6 tunnel.  */
54 #define ARPHRD_FRAD       770          /* Frame Relay Access Device.  */
55 #define ARPHRD_SKIP       771          /* SKIP vif.  */
56 #define ARPHRD_LOOPBACK   772          /* Loopback device.  */
57 #define ARPHRD_LOCALTLK   773          /* Localtalk device.  */
58 #define ARPHRD_FDDI       774          /* Fiber Distributed Data Interface. */
59 #define ARPHRD_BIF        775          /* AP1000 BIF.  */
60 #define ARPHRD_SIT        776          /* sit0 device - IPv6-in-IPv4.  */
61 #define ARPHRD_IPDDP      777          /* IP-in-DDP tunnel.  */
62 #define ARPHRD_IPGRE      778          /* GRE over IP.  */
63 #define ARPHRD_PIMREG     779          /* PIMSM register interface.  */
64 #define ARPHRD_HIPPI      780          /* High Performance Parallel I'face. */
65 #define ARPHRD_ASH        781          /* (Nexus Electronics) Ash.  */
66 #define ARPHRD_ECONET     782          /* Acorn Econet.  */
67 #define ARPHRD_IRDA       783          /* Linux-IrDA.  */
68 #define ARPHRD_FCPP       784          /* Point to point fibrechanel.  */
69 #define ARPHRD_FCAL       785          /* Fibrechanel arbitrated loop.  */
70 #define ARPHRD_FCPL       786          /* Fibrechanel public loop.  */
71 #define ARPHRD_FCFABRIC   787          /* Fibrechanel fabric.  */
72 #define ARPHRD_IEEE802_TR 800          /* Magic type ident for TR.  */
73 #define ARPHRD_IEEE80211  801          /* IEEE 802.11.  */
74 #define ARPHRD_IEEE80211_PRISM    802  /* IEEE 802.11 + Prism2 header.  */
75 #define ARPHRD_IEEE80211_RADIOTAP 803  /* IEEE 802.11 + radiotap header.  */
76 #define ARPHRD_IEEE802154         804  /* IEEE 802.15.4 header.  */
77 #define ARPHRD_IEEE802154_PHY     805  /* IEEE 802.15.4 PHY header.  */
78 
79 #define ARPHRD_VOID       0xFFFF       /* Void type, nothing is known.  */
80 #define ARPHRD_NONE       0xFFFE       /* Zero header length.  */
81 
82 #ifdef __cplusplus
83 }
84 #endif
85 
86 #endif /* ZEPHYR_INCLUDE_POSIX_NET_IF_ARP_H_ */
87