1145519Sdarrenr/* $FreeBSD: stable/11/contrib/ipfilter/iplang/iplang.h 369245 2021-02-09 13:47:46Z git2svn $ */ 2145510Sdarrenr 331183Speter/* 4255332Scy * Copyright (C) 2012 by Darren Reed. 531183Speter * 680486Sdarrenr * See the IPFILTER.LICENCE file for details on licencing. 731183Speter */ 831183Spetertypedef struct iface { 931183Speter int if_MTU; 1031183Speter char *if_name; 1131183Speter struct in_addr if_addr; 1231183Speter struct ether_addr if_eaddr; 1331183Speter struct iface *if_next; 1431183Speter int if_fd; 1531183Speter} iface_t; 1631183Speter 1731183Speter 1831183Spetertypedef struct send { 1931183Speter struct iface *snd_if; 2031183Speter struct in_addr snd_gw; 2131183Speter} send_t; 2231183Speter 2331183Speter 2431183Spetertypedef struct arp { 2531183Speter struct in_addr arp_addr; 2631183Speter struct ether_addr arp_eaddr; 2731183Speter struct arp *arp_next; 2831183Speter} arp_t; 2931183Speter 3031183Speter 3131183Spetertypedef struct aniphdr { 3231183Speter union { 3331183Speter ip_t *ahu_ip; 3431183Speter char *ahu_data; 3531183Speter tcphdr_t *ahu_tcp; 3631183Speter udphdr_t *ahu_udp; 3731183Speter icmphdr_t *ahu_icmp; 3831183Speter } ah_un; 3931183Speter int ah_optlen; 4031183Speter int ah_lastopt; 4131183Speter int ah_p; 4231183Speter size_t ah_len; 4331183Speter struct aniphdr *ah_next; 4431183Speter struct aniphdr *ah_prev; 4531183Speter} aniphdr_t; 4631183Speter 4731183Speter#define ah_ip ah_un.ahu_ip 4831183Speter#define ah_data ah_un.ahu_data 4931183Speter#define ah_tcp ah_un.ahu_tcp 5031183Speter#define ah_udp ah_un.ahu_udp 5131183Speter#define ah_icmp ah_un.ahu_icmp 5253024Sguido 53369245Sgit2svnextern int get_arpipv4(char *, char *); 5453024Sguido 55