Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / ipfilter / iplang / iplang.h
1 /*
2  * Copyright (C) 1997-1998 by Darren Reed.
3  *
4  * See the IPFILTER.LICENCE file for details on licencing.
5  */
6 typedef 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
16 typedef struct  send    {
17         struct  iface   *snd_if;
18         struct  in_addr snd_gw;
19 } send_t;
20
21
22 typedef struct  arp     {
23         struct  in_addr arp_addr;
24         struct  ether_addr      arp_eaddr;
25         struct  arp *arp_next;
26 } arp_t;
27
28
29 typedef 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
51 extern  int     get_arpipv4 __P((char *, char *));
52