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