1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _UAPI_LINUX_IF_ARP_H 7 #define _UAPI_LINUX_IF_ARP_H 8 #include <linux/netdevice.h> 9 #define ARPHRD_NETROM 0 10 #define ARPHRD_ETHER 1 11 #define ARPHRD_EETHER 2 12 #define ARPHRD_AX25 3 13 #define ARPHRD_PRONET 4 14 #define ARPHRD_CHAOS 5 15 #define ARPHRD_IEEE802 6 16 #define ARPHRD_ARCNET 7 17 #define ARPHRD_APPLETLK 8 18 #define ARPHRD_DLCI 15 19 #define ARPHRD_ATM 19 20 #define ARPHRD_METRICOM 23 21 #define ARPHRD_IEEE1394 24 22 #define ARPHRD_EUI64 27 23 #define ARPHRD_INFINIBAND 32 24 #define ARPHRD_SLIP 256 25 #define ARPHRD_CSLIP 257 26 #define ARPHRD_SLIP6 258 27 #define ARPHRD_CSLIP6 259 28 #define ARPHRD_RSRVD 260 29 #define ARPHRD_ADAPT 264 30 #define ARPHRD_ROSE 270 31 #define ARPHRD_X25 271 32 #define ARPHRD_HWX25 272 33 #define ARPHRD_CAN 280 34 #define ARPHRD_PPP 512 35 #define ARPHRD_CISCO 513 36 #define ARPHRD_HDLC ARPHRD_CISCO 37 #define ARPHRD_LAPB 516 38 #define ARPHRD_DDCMP 517 39 #define ARPHRD_RAWHDLC 518 40 #define ARPHRD_RAWIP 519 41 #define ARPHRD_TUNNEL 768 42 #define ARPHRD_TUNNEL6 769 43 #define ARPHRD_FRAD 770 44 #define ARPHRD_SKIP 771 45 #define ARPHRD_LOOPBACK 772 46 #define ARPHRD_LOCALTLK 773 47 #define ARPHRD_FDDI 774 48 #define ARPHRD_BIF 775 49 #define ARPHRD_SIT 776 50 #define ARPHRD_IPDDP 777 51 #define ARPHRD_IPGRE 778 52 #define ARPHRD_PIMREG 779 53 #define ARPHRD_HIPPI 780 54 #define ARPHRD_ASH 781 55 #define ARPHRD_ECONET 782 56 #define ARPHRD_IRDA 783 57 #define ARPHRD_FCPP 784 58 #define ARPHRD_FCAL 785 59 #define ARPHRD_FCPL 786 60 #define ARPHRD_FCFABRIC 787 61 62 #define ARPHRD_IEEE802_TR 800 63 #define ARPHRD_IEEE80211 801 64 #define ARPHRD_IEEE80211_PRISM 802 65 #define ARPHRD_IEEE80211_RADIOTAP 803 66 #define ARPHRD_IEEE802154 804 67 #define ARPHRD_IEEE802154_MONITOR 805 68 #define ARPHRD_PHONET 820 69 #define ARPHRD_PHONET_PIPE 821 70 #define ARPHRD_CAIF 822 71 #define ARPHRD_IP6GRE 823 72 #define ARPHRD_NETLINK 824 73 #define ARPHRD_6LOWPAN 825 74 #define ARPHRD_VSOCKMON 826 75 #define ARPHRD_VOID 0xFFFF 76 #define ARPHRD_NONE 0xFFFE 77 #define ARPOP_REQUEST 1 78 #define ARPOP_REPLY 2 79 #define ARPOP_RREQUEST 3 80 #define ARPOP_RREPLY 4 81 #define ARPOP_InREQUEST 8 82 #define ARPOP_InREPLY 9 83 #define ARPOP_NAK 10 84 struct arpreq { 85 struct sockaddr arp_pa; 86 struct sockaddr arp_ha; 87 int arp_flags; 88 struct sockaddr arp_netmask; 89 char arp_dev[16]; 90 }; 91 struct arpreq_old { 92 struct sockaddr arp_pa; 93 struct sockaddr arp_ha; 94 int arp_flags; 95 struct sockaddr arp_netmask; 96 }; 97 #define ATF_COM 0x02 98 #define ATF_PERM 0x04 99 #define ATF_PUBL 0x08 100 #define ATF_USETRAILERS 0x10 101 #define ATF_NETMASK 0x20 102 #define ATF_DONTPUB 0x40 103 struct arphdr { 104 __be16 ar_hrd; 105 __be16 ar_pro; 106 unsigned char ar_hln; 107 unsigned char ar_pln; 108 __be16 ar_op; 109 #if 0 110 111 unsigned char ar_sha[ETH_ALEN]; 112 unsigned char ar_sip[4]; 113 unsigned char ar_tha[ETH_ALEN]; 114 unsigned char ar_tip[4]; 115 #endif 116 }; 117 #endif 118