Home | History | Annotate | Line # | Download | only in iplang
      1 /*	$NetBSD: iplang.h,v 1.1.1.2 2012/07/22 13:44:33 darrenr Exp $	*/
      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 
     55