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