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