Index: fusl/include/net/if_arp.h |
diff --git a/fusl/include/net/if_arp.h b/fusl/include/net/if_arp.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..18d5dcf977add7134cce5d87b45d9796d63e8dcc |
--- /dev/null |
+++ b/fusl/include/net/if_arp.h |
@@ -0,0 +1,139 @@ |
+/* Nonstandard header */ |
+#ifndef _NET_IF_ARP_H |
+#define _NET_IF_ARP_H |
+#ifdef __cplusplus |
+extern "C" { |
+#endif |
+ |
+#include <inttypes.h> |
+#include <sys/types.h> |
+#include <sys/socket.h> |
+ |
+#define MAX_ADDR_LEN 7 |
+ |
+#define ARPOP_REQUEST 1 |
+#define ARPOP_REPLY 2 |
+#define ARPOP_RREQUEST 3 |
+#define ARPOP_RREPLY 4 |
+#define ARPOP_InREQUEST 8 |
+#define ARPOP_InREPLY 9 |
+#define ARPOP_NAK 10 |
+ |
+struct arphdr { |
+ uint16_t ar_hrd; |
+ uint16_t ar_pro; |
+ uint8_t ar_hln; |
+ uint8_t ar_pln; |
+ uint16_t ar_op; |
+}; |
+ |
+ |
+#define ARPHRD_NETROM 0 |
+#define ARPHRD_ETHER 1 |
+#define ARPHRD_EETHER 2 |
+#define ARPHRD_AX25 3 |
+#define ARPHRD_PRONET 4 |
+#define ARPHRD_CHAOS 5 |
+#define ARPHRD_IEEE802 6 |
+#define ARPHRD_ARCNET 7 |
+#define ARPHRD_APPLETLK 8 |
+#define ARPHRD_DLCI 15 |
+#define ARPHRD_ATM 19 |
+#define ARPHRD_METRICOM 23 |
+#define ARPHRD_IEEE1394 24 |
+#define ARPHRD_EUI64 27 |
+#define ARPHRD_INFINIBAND 32 |
+#define ARPHRD_SLIP 256 |
+#define ARPHRD_CSLIP 257 |
+#define ARPHRD_SLIP6 258 |
+#define ARPHRD_CSLIP6 259 |
+#define ARPHRD_RSRVD 260 |
+#define ARPHRD_ADAPT 264 |
+#define ARPHRD_ROSE 270 |
+#define ARPHRD_X25 271 |
+#define ARPHRD_HWX25 272 |
+#define ARPHRD_CAN 280 |
+#define ARPHRD_PPP 512 |
+#define ARPHRD_CISCO 513 |
+#define ARPHRD_HDLC ARPHRD_CISCO |
+#define ARPHRD_LAPB 516 |
+#define ARPHRD_DDCMP 517 |
+#define ARPHRD_RAWHDLC 518 |
+ |
+#define ARPHRD_TUNNEL 768 |
+#define ARPHRD_TUNNEL6 769 |
+#define ARPHRD_FRAD 770 |
+#define ARPHRD_SKIP 771 |
+#define ARPHRD_LOOPBACK 772 |
+#define ARPHRD_LOCALTLK 773 |
+#define ARPHRD_FDDI 774 |
+#define ARPHRD_BIF 775 |
+#define ARPHRD_SIT 776 |
+#define ARPHRD_IPDDP 777 |
+#define ARPHRD_IPGRE 778 |
+#define ARPHRD_PIMREG 779 |
+#define ARPHRD_HIPPI 780 |
+#define ARPHRD_ASH 781 |
+#define ARPHRD_ECONET 782 |
+#define ARPHRD_IRDA 783 |
+#define ARPHRD_FCPP 784 |
+#define ARPHRD_FCAL 785 |
+#define ARPHRD_FCPL 786 |
+#define ARPHRD_FCFABRIC 787 |
+#define ARPHRD_IEEE802_TR 800 |
+#define ARPHRD_IEEE80211 801 |
+#define ARPHRD_IEEE80211_PRISM 802 |
+#define ARPHRD_IEEE80211_RADIOTAP 803 |
+#define ARPHRD_IEEE802154 804 |
+#define ARPHRD_IEEE802154_MONITOR 805 |
+#define ARPHRD_PHONET 820 |
+#define ARPHRD_PHONET_PIPE 821 |
+#define ARPHRD_CAIF 822 |
+#define ARPHRD_IP6GRE 823 |
+#define ARPHRD_NETLINK 824 |
+ |
+#define ARPHRD_VOID 0xFFFF |
+#define ARPHRD_NONE 0xFFFE |
+ |
+struct arpreq { |
+ struct sockaddr arp_pa; |
+ struct sockaddr arp_ha; |
+ int arp_flags; |
+ struct sockaddr arp_netmask; |
+ char arp_dev[16]; |
+}; |
+ |
+struct arpreq_old { |
+ struct sockaddr arp_pa; |
+ struct sockaddr arp_ha; |
+ int arp_flags; |
+ struct sockaddr arp_netmask; |
+}; |
+ |
+#define ATF_COM 0x02 |
+#define ATF_PERM 0x04 |
+#define ATF_PUBL 0x08 |
+#define ATF_USETRAILERS 0x10 |
+#define ATF_NETMASK 0x20 |
+#define ATF_DONTPUB 0x40 |
+#define ATF_MAGIC 0x80 |
+ |
+#define ARPD_UPDATE 0x01 |
+#define ARPD_LOOKUP 0x02 |
+#define ARPD_FLUSH 0x03 |
+ |
+struct arpd_request { |
+ unsigned short req; |
+ uint32_t ip; |
+ unsigned long dev; |
+ unsigned long stamp; |
+ unsigned long updated; |
+ unsigned char ha[MAX_ADDR_LEN]; |
+}; |
+ |
+ |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+#endif |