wanpipe/patches/kdrivers/include/wanpipe_includes.h

406 lines
10 KiB
C

/*
************************************************************************
* wanpipe_includes.h *
* WANPIPE(tm) Global includes for Sangoma drivers *
* *
* Author: Alex Feldman <al.feldman@sangoma.com> *
*======================================================================*
* *
* Nov 27, 2007 David Rokhvarg Added header files needed to compile *
* Sangoma MS Windows Driver and API. *
* *
* Aug 10, 2002 Alex Feldman Initial version *
* *
************************************************************************
*/
#ifndef __WANPIPE_INCLUDES_H
# define __WANPIPE_INCLUDES_H
#if !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined (__OpenBSD__) && !defined(__WINDOWS__) && !defined(__SOLARIS__) && !defined(__LINUX__)
# if defined(__KERNEL__)
# define __LINUX__
# endif
#endif
#if defined (__KERNEL__) || defined (KERNEL) || defined (_KERNEL)
# ifndef WAN_KERNEL
# define WAN_KERNEL
# endif
#endif
#if defined(__FreeBSD__)
/*
** *** F R E E B S D ***
# include <stddef.h>
*/
# include <sys/param.h>
# if (__FreeBSD_version > 600000)
# include <gnu/fs/ext2fs/i386-bitops.h>
# else
# include <gnu/ext2fs/i386-bitops.h>
# endif
# include <sys/types.h>
# include <sys/systm.h>
# include <sys/endian.h>
# include <sys/syslog.h>
# include <sys/conf.h>
# include <sys/errno.h>
# if (__FreeBSD_version > 400000)
# include <sys/ioccom.h>
# else
# include <i386/isa/isa_device.h>
# endif
# if (__FreeBSD_version >= 410000)
# include <sys/taskqueue.h>
# endif
# include <sys/malloc.h>
# include <sys/errno.h>
# include <sys/mbuf.h>
# include <sys/sockio.h>
# include <sys/ioctl_compat.h>
# include <sys/socket.h>
# include <sys/callout.h>
# include <sys/kernel.h>
# include <sys/time.h>
# include <sys/random.h>
# include <sys/module.h>
# ifdef __SDLA_HW_LEVEL
# include <machine/bus.h>
# include <machine/resource.h>
# include <sys/bus.h>
# include <sys/rman.h>
# include <sys/interrupt.h>
# endif
# include <sys/pciio.h>
# include <sys/filio.h>
# include <sys/uio.h>
# include <sys/tty.h>
# include <sys/ttycom.h>
# include <sys/proc.h>
# include <net/bpf.h>
# include <net/bpfdesc.h>
# include <net/if_dl.h>
# include <net/if_types.h>
# include <net/if.h>
# include <net/if_media.h>
# include <net/if_ppp.h>
# include <net/if_sppp.h>
# include <net/netisr.h>
# include <net/route.h>
# if (__FreeBSD_version >= 501000)
# include <net/netisr.h>
# elif (__FreeBSD_version > 400000)
# include <net/intrq.h>
# endif
# include <netinet/in_systm.h>
# include <netinet/in.h>
# include <netinet/in_var.h>
# include <netinet/udp.h>
# include <netinet/ip.h>
# include <netinet/if_ether.h>
# include <netipx/ipx.h>
# include <netipx/ipx_if.h>
#ifdef NETGRAPH
# include <netgraph/ng_message.h>
# include <netgraph/netgraph.h>
# include <netgraph/ng_parse.h>
#endif /* NETGRAPH */
# include <machine/param.h>
# if (__FreeBSD_version < 500000)
# include <machine/types.h>
# endif
# include <machine/clock.h>
# include <machine/stdarg.h>
# include <machine/atomic.h>
# include <machine/bus.h>
# include <machine/md_var.h>
# include <vm/vm.h>
# include <vm/vm_param.h>
# include <vm/pmap.h>
# include <vm/vm_extern.h>
# include <vm/vm_kern.h>
#elif defined(__NetBSD__)
/*
** *** N E T B S D ***
*/
# include </usr/include/bitstring.h>
# include <sys/types.h>
# include <sys/param.h>
# include <sys/systm.h>
# include <sys/syslog.h>
# include <sys/ioccom.h>
# include <sys/conf.h>
# include <sys/malloc.h>
# include <sys/errno.h>
# include <sys/exec.h>
# include <sys/lkm.h>
# include <sys/mbuf.h>
# include <sys/sockio.h>
# include <sys/socket.h>
# include <sys/kernel.h>
# include <sys/device.h>
# include <sys/time.h>
# include <sys/callout.h>
# include <sys/tty.h>
# include <sys/ttycom.h>
# include <machine/types.h>
# include <machine/param.h>
# include <machine/cpufunc.h>
# include <machine/bus.h>
# include <machine/stdarg.h>
# include <machine/intr.h>
# include <net/bpf.h>
# include <net/bpfdesc.h>
# include <net/if_dl.h>
# include <net/if_types.h>
# include <net/if.h>
# include <net/if_ether.h>
# include <net/netisr.h>
# include <net/route.h>
# include <net/if_media.h>
# include <net/ppp_defs.h>
# include <net/if_ppp.h>
# include <net/if_sppp.h>
# include <net/if_spppvar.h>
# include <netinet/in_systm.h>
# include <netinet/in.h>
# include <netinet/in_var.h>
# include <netinet/udp.h>
# include <netinet/ip.h>
# include <uvm/uvm_extern.h>
#elif defined(__OpenBSD__)
/*
** *** O P E N B S D ***
*/
# include </usr/include/bitstring.h>
# include <sys/types.h>
# include <sys/systm.h>
# include <sys/param.h>
# include <sys/syslog.h>
# include <sys/ioccom.h>
# include <sys/conf.h>
# include <sys/malloc.h>
# include <sys/errno.h>
# include <sys/exec.h>
# include <sys/lkm.h>
# include <sys/mbuf.h>
# include <sys/mutex.h>
# include <sys/sockio.h>
# include <sys/socket.h>
# include <sys/kernel.h>
# include <sys/device.h>
# include <sys/time.h>
# include <sys/timeout.h>
# include <sys/tty.h>
# include <sys/ttycom.h>
# include <i386/bus.h>
# if (OpenBSD < 200605)
# include <machine/types.h>
# endif
# include <machine/param.h>
# include <machine/cpufunc.h>
# include <machine/bus.h>
/*# include <machine/stdarg.h>*/
# include <net/bpf.h>
# include <net/bpfdesc.h>
# include <net/if_dl.h>
# include <net/if_types.h>
# include <net/if.h>
# include <net/netisr.h>
# include <net/route.h>
# include <net/if_media.h>
# include <net/ppp_defs.h>
# include <net/if_ppp.h>
# include <net/if_sppp.h>
# include <netinet/in_systm.h>
# include <netinet/in.h>
# include <netinet/in_var.h>
# include <netinet/if_ether.h>
# include <netinet/udp.h>
# include <netinet/ip.h>
# include <netipx/ipx.h>
# include <netipx/ipx_if.h>
# include <uvm/uvm_extern.h>
#elif defined(__LINUX__)
# ifdef __KERNEL__
/*
** *** L I N U X ***
*/
# include <linux/init.h>
# include <linux/version.h> /**/
# if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
# include <linux/config.h> /* OS configuration options */
# endif
# if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)
# if !(defined __NO_VERSION__) && !defined(_K22X_MODULE_FIX_)
# define __NO_VERSION__
# endif
# endif
# if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
/* Remove experimental SEQ support */
# define _LINUX_SEQ_FILE_H
# endif
# include <linux/module.h>
# include <linux/types.h>
# include <linux/sched.h>
# include <linux/mm.h>
# include <linux/slab.h>
# include <linux/stddef.h> /* offsetof, etc. */
# include <linux/errno.h> /* returns codes */
# include <linux/string.h> /* inline memset, etc */
# include <linux/ctype.h>
# include <linux/kernel.h> /* printk()m and other usefull stuff */
# include <linux/timer.h>
# include <linux/kmod.h>
# include <net/ip.h>
# include <net/protocol.h>
# include <net/sock.h>
# include <net/route.h>
# include <linux/fcntl.h>
# include <linux/skbuff.h>
# include <linux/socket.h>
# include <linux/poll.h>
# include <linux/wireless.h>
# include <linux/in.h>
# include <linux/inet.h>
# include <linux/netdevice.h>
# include <linux/list.h>
# include <asm/io.h> /* phys_to_virt() */
# if LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)
# include <asm/system.h>
# endif
# include <asm/byteorder.h>
# include <asm/delay.h>
# include <linux/pci.h>
# if defined(CONFIG_PRODUCT_WANPIPE_USB)
# if defined(CONFIG_USB) || defined (CONFIG_USB_SUPPORT)
# include <linux/usb.h>
# else
# warning "USB Kernel support not found... disabling usb support"
# undef CONFIG_PRODUCT_WANPIPE_USB
# endif
# endif
# include <linux/if.h>
# include <linux/if_arp.h>
# include <linux/tcp.h>
# include <linux/ip.h>
# include <linux/udp.h>
# include <linux/ioport.h>
# include <linux/init.h>
# include <linux/pkt_sched.h>
# include <linux/etherdevice.h>
# include <linux/random.h>
# include <asm/uaccess.h>
# include <linux/inetdevice.h>
# include <linux/vmalloc.h> /* vmalloc, vfree */
# include <asm/uaccess.h> /* copy_to/from_user */
# include <linux/init.h> /* __initfunc et al. */
# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
# include <linux/seq_file.h>
# endif
# ifdef CONFIG_INET
# include <net/inet_common.h>
# endif
# endif
#elif defined(__SOLARIS__)
/*
** *** S O L A R I S ***
*/
#include <sys/types.h>
#include <sys/systm.h>
#include <sys/cmn_err.h>
#include <sys/stream.h>
#include <sys/stropts.h>
#include <sys/strsun.h>
#include <sys/kmem.h>
#include <sys/stat.h>
#include <sys/modctl.h>
#include <sys/dditypes.h>
#include <sys/ddi.h>
#include <sys/conf.h>
#include <sys/ethernet.h>
#include <sys/sunddi.h>
#include <sys/ddidmareq.h>
#include <sys/ddimapreq.h>
#include <sys/ddipropdefs.h>
#include <sys/ddidevmap.h>
#include <sys/devops.h>
#include <sys/pci.h>
#include <sys/dlpi.h>
#include <sys/gld.h>
#elif defined(__WINDOWS__)
/*
** *** W I N D O W S ***
*/
#if defined(WAN_KERNEL) || defined(__KERNEL__)
# include <stdlib.h>
# include <time.h> /* clock_t */
# if !defined(NDIS_MINIPORT_DRIVER)
# include <ntddk.h>
# include "wanpipe_abstr_types.h"
# include "wanpipe_kernel_types.h"
# include "aft_core_options.h"
# include "wanpipe_debug.h"
# include "wanpipe_kernel.h"
# include "wanpipe_skb.h"
# include "wanpipe_defines.h"
# include "wanpipe_common.h"
# include "wanpipe_cfg.h"
# include "sdladrv.h" /* API definitions */
# include "wanpipe_abstr.h"
# endif
# if defined( NDIS_MINIPORT_DRIVER )
# undef BINARY_COMPATIBLE
# define BINARY_COMPATIBLE 0 /* Windows 2000 and later (no Win98 support) */
/*# define NDIS51_MINIPORT 1 */
# include <ntddk.h>
# include <ndis.h>
# include "wanpipe_abstr_types.h"
# include "wanpipe_kernel_types.h"
# include "wanpipe_debug.h"
# endif
# else /* WAN_KERNEL */
# include <windows.h>
# include "wanpipe_abstr_types.h"
# endif
# include <stdarg.h>
# include <stdio.h>
# include <stddef.h> /* offsetof, etc. */
#elif defined (__SOLARIS__)
# include <sys/types.h>
# include <sys/systm.h>
# include <sys/cmn_err.h>
# include <sys/kmem.h>
# include <sys/stat.h>
# include <sys/modctl.h>
# include <sys/ddi.h>
# include <sys/conf.h>
# include <sys/sunddi.h>
# include <sys/ethernet.h>
# include <sys/dditypes.h>
# include <sys/ddidmareq.h>
# include <sys/ddimapreq.h>
# include <sys/ddipropdefs.h>
# include <sys/ddidevmap.h>
# include <sys/devops.h>
# include <sys/pci.h>
# include <sys/gld.h>
# include <netinet/in.h>
#else
# error "Unsupported Operating System!";
#endif
#endif /* __WANPIPE_INCLUDES_H */