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