1/*
2 * arpping .h
3 */
4
5#ifndef ARPPING_H
6#define ARPPING_H
7
8#include <netinet/if_ether.h>
9#include <net/if_arp.h>
10#include <net/if.h>
11#include <netinet/in.h>
12
13struct arpMsg {
14	struct ethhdr ethhdr;	 		/* Ethernet header */
15	u_short htype;				/* hardware type (must be ARPHRD_ETHER) */
16	u_short ptype;				/* protocol type (must be ETH_P_IP) */
17	u_char  hlen;				/* hardware address length (must be 6) */
18	u_char  plen;				/* protocol address length (must be 4) */
19	u_short operation;			/* ARP opcode */
20	u_char  sHaddr[6];			/* sender's hardware address */
21	u_char  sInaddr[4];			/* sender's IP address */
22	u_char  tHaddr[6];			/* target's hardware address */
23	u_char  tInaddr[4];			/* target's IP address */
24	u_char  pad[18];			/* pad for min. Ethernet payload (60 bytes) */
25};
26
27/* function prototypes */
28int arpping(u_int32_t yiaddr, u_int32_t ip, unsigned char *arp, char *interface);
29
30#endif
31