Implement optional syslog logging using ordinary
[oweals/busybox.git] / networking / udhcp / arpping.h
1 /* vi: set sw=4 ts=4: */
2 /*
3  * arpping .h
4  */
5
6 #ifndef ARPPING_H
7 #define ARPPING_H
8
9 #include <netinet/if_ether.h>
10 #include <net/if_arp.h>
11 #include <net/if.h>
12 #include <netinet/in.h>
13
14 struct arpMsg {
15         /* Ethernet header */
16         u_char   h_dest[6];                     /* destination ether addr */
17         u_char   h_source[6];                   /* source ether addr */
18         u_short  h_proto;                       /* packet type ID field */
19
20         /* ARP packet */
21         uint16_t htype;                         /* hardware type (must be ARPHRD_ETHER) */
22         uint16_t ptype;                         /* protocol type (must be ETH_P_IP) */
23         uint8_t  hlen;                          /* hardware address length (must be 6) */
24         uint8_t  plen;                          /* protocol address length (must be 4) */
25         uint16_t operation;                     /* ARP opcode */
26         uint8_t  sHaddr[6];                     /* sender's hardware address */
27         uint8_t  sInaddr[4];                    /* sender's IP address */
28         uint8_t  tHaddr[6];                     /* target's hardware address */
29         uint8_t  tInaddr[4];                    /* target's IP address */
30         uint8_t  pad[18];                       /* pad for min. Ethernet payload (60 bytes) */
31 } ATTRIBUTE_PACKED;
32
33 /* function prototypes */
34 int arpping(uint32_t yiaddr, uint32_t ip, uint8_t *arp, char *interface);
35
36 #endif