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