]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/ipfilter/iplang/iplang.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / ipfilter / iplang / iplang.h
1 /*      $FreeBSD$       */
2
3 /*
4  * Copyright (C) 2012 by Darren Reed.
5  *
6  * See the IPFILTER.LICENCE file for details on licencing.
7  */
8 typedef 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
18 typedef struct  send    {
19         struct  iface   *snd_if;
20         struct  in_addr snd_gw;
21 } send_t;
22
23
24 typedef struct  arp     {
25         struct  in_addr arp_addr;
26         struct  ether_addr      arp_eaddr;
27         struct  arp *arp_next;
28 } arp_t;
29
30
31 typedef 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
53 extern  int     get_arpipv4 __P((char *, char *));
54