/*
 *----------------------------------------------------------------------------
 * Copyright (c) 2001, 2002, C.S. Peron
 * All rights reserved.
 *----------------------------------------------------------------------------
 *
 *  * Redistribution and use in source and binary forms, with or without 
 *    modification, are permitted provided that the following conditions
 *    are met:
 *
 *  * Redistributions of source code must retain the above copyright notice,
 *    this list of conditions and the following disclaimer.
 *
 *  * Redistributions in binary form must reproduce the above 
 *    copyright notice, this list of conditions and the following disclaimer 
 *    in the documentation and/or other materials provided with the
 *    distribution.
 *
 *  * Neither the name of the ipex developers nor the names of its contributors 
 *    may be used to endorse or promote products derived from this software 
 *    without specific prior written permission. 
 *
 *----------------------------------------------------------------------------
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE 
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
 * WHETHER IN CONTRACT, STRICT LIABILITY, 
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *----------------------------------------------------------------------------
 */

#include <config.h>

#include <sys/types.h>
#include <sys/param.h>
#include <sys/cdefs.h>
#include <sys/queue.h>
#ifndef linux
#include <sys/conf.h>
#include <sys/domain.h>
#include <sys/filedesc.h>
#endif
#include <sys/ioctl.h>
#include <sys/mman.h>
#if !defined __POWERPC__ && !defined linux
#include <sys/proc.h>
#endif
#ifndef linux
#include <sys/protosw.h>
#endif
#include <sys/socket.h>
#include <sys/socketvar.h>
#include <sys/stat.h>
#include <sys/sysctl.h>
#include <sys/time.h>
#include <sys/uio.h>
#include <sys/un.h>
#ifndef linux
#include <sys/unpcb.h>
#include <sys/vnode.h>
#endif
#include <sys/user.h>
#define _KERNEL
#include <sys/file.h>
#include <sys/mount.h>
#undef _KERNEL

/* we want BSD headers */
#ifdef linux
#define __FAVOR_BSD
#endif

#include <net/bpf.h>
#include <net/if.h>
#include <net/if_arp.h>
#if (defined(HAVE_NET_IF_PFLOG_H)) /* OpenBSD pflog */
#include <net/if_pflog.h>
#endif
#include <net/route.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/igmp.h>
#include <netinet/ip.h>
#include <netinet/ip.h>  
#include <netinet/ip_icmp.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
#ifndef linux
#include <netinet/in_pcb.h>
#endif
#if (defined(HAVE_NETINET_IF_ETHER_H))
#include <netinet/if_ether.h>
#else
#include <net/ethernet.h>
#endif
#include <netdb.h>
#include <arpa/inet.h>

#include <assert.h>
#include <ctype.h>
#include <err.h>
#include <sysexits.h>
#include <fcntl.h>
#include <glob.h>
#ifndef linux
#include <kvm.h>
#include <nlist.h>
#endif
#include <limits.h>
#include <paths.h>
#if (defined(HAVE_PCAP_INT_H))
#include <pcap-int.h>
#else
#include "pcap-int.h"
#endif
#include <pcap.h>
#include <pwd.h>
#include <regex.h>
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <syslog.h>
#include <time.h>
#if defined(__FreeBSD_version) && __FreeBSD_version < 500000
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#endif
#include <unistd.h>
#include <errno.h>
/* #include <varargs.h> */

#include "con_heap.h"
#include "ipex.h"
#include "dsp.h"

#ifndef linux
#include "proc_kvm.h"
#endif
#include "proto.h"
#include "queue.h"


syntax highlighted by Code2HTML, v. 0.9.1