1 2/* 3 * Copyright (C) 2012 by Darren Reed. 4 * 5 * See the IPFILTER.LICENCE file for details on licencing. 6 */ 7typedef struct iface { 8 int if_MTU; 9 char *if_name; 10 struct in_addr if_addr; 11 struct ether_addr if_eaddr; 12 struct iface *if_next; 13 int if_fd; 14} iface_t; 15 16 17typedef struct send { 18 struct iface *snd_if; 19 struct in_addr snd_gw; 20} send_t; 21 22 23typedef struct arp { 24 struct in_addr arp_addr; 25 struct ether_addr arp_eaddr; 26 struct arp *arp_next; 27} arp_t; 28 29 30typedef struct aniphdr { 31 union { 32 ip_t *ahu_ip; 33 char *ahu_data; 34 tcphdr_t *ahu_tcp; 35 udphdr_t *ahu_udp; 36 icmphdr_t *ahu_icmp; 37 } ah_un; 38 int ah_optlen; 39 int ah_lastopt; 40 int ah_p; 41 size_t ah_len; 42 struct aniphdr *ah_next; 43 struct aniphdr *ah_prev; 44} aniphdr_t; 45 46#define ah_ip ah_un.ahu_ip 47#define ah_data ah_un.ahu_data 48#define ah_tcp ah_un.ahu_tcp 49#define ah_udp ah_un.ahu_udp 50#define ah_icmp ah_un.ahu_icmp 51 52extern int get_arpipv4(char *, char *); 53 54