/* include/click/config-userlevel.h.  Generated by configure.  */
/* Process this file with configure to produce config-userlevel.h. -*- mode: c -*- */
#ifndef CLICK_CONFIG_USERLEVEL_H
#define CLICK_CONFIG_USERLEVEL_H

/* Define if accept() uses socklen_t. */
#define HAVE_ACCEPT_SOCKLEN_T 1

/* Define if <pcap.h> uses bpf_timeval. */
/* #undef HAVE_BPF_TIMEVAL */

/* Define if you have the <byteswap.h> header file. */
/* #undef HAVE_BYTESWAP_H */

/* Define to 1 if you have the declaration
   of 'madvise', and to 0 if you don't. */
#define HAVE_DECL_MADVISE 1

/* Define to 1 if you have the declaration
   of 'pcap_setnonblock', and to 0 if you don't. */
#define HAVE_DECL_PCAP_SETNONBLOCK 1

/* Define if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1

/* Define if dynamic linking is possible. */
#define HAVE_DYNAMIC_LINKING 1

/* Define if you have the ffs function. */
#define HAVE_FFS 1

/* Define if you have the ffsl function. */
#define HAVE_FFSL 1

/* Define if you have the ffsll function. */
#define HAVE_FFSLL 1

/* Floating point arithmetic is allowed. */
#define HAVE_FLOAT_TYPES 1

/* Define if you have the <grp.h> header file. */
#define HAVE_GRP_H 1

/* Define if the last argument to EV_SET has pointer type. */
#define HAVE_EV_SET_UDATA_POINTER 1

/* Define if 'struct if_data' has an 'ifi_datalen' member. */
/* #undef HAVE_IF_DATA_IFI_DATALEN */

/* Define if 'int64_t' is typedefed to 'long' at user level. */
/* #undef HAVE_INT64_IS_LONG_USERLEVEL */

/* Define if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define if you have the kqueue function. */
#define HAVE_KQUEUE 1

/* Define if your C library contains large file support. */
#define HAVE_LARGE_FILE_SUPPORT 1

/* Define if you have the <linux/if_tun.h> header file. */
/* #undef HAVE_LINUX_IF_TUN_H */

/* Define if you have the madvise function. */
#define HAVE_MADVISE 1

/* Define if you have the mmap function. */
#define HAVE_MMAP 1

/* Define if you have the <net/bpf.h> header file. */
#define HAVE_NET_BPF_H 1

/* Define if you have the <net/if_tun.h> header file. */
#define HAVE_NET_IF_TUN_H 1

/* Define if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1

/* Define if <new.h> exists and works. */
/* #undef HAVE_NEW_H */

/* Define if <new> exists and works. */
#define HAVE_NEW_HDR 1

/* Define if you have -lpcap and pcap.h. */
#define HAVE_PCAP 1

/* Define if you have the pcap_setnonblock function. */
#define HAVE_PCAP_SETNONBLOCK 1

/* Define if you have a non-emulated <poll.h> header file. */
#define HAVE_POLL_H 1

/* Placement new is always provided below. */
#define HAVE_PLACEMENT_NEW 1

/* Define if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1

/* Define if you have the sigaction function. */
#define HAVE_SIGACTION 1

/* Define if you have the snprintf function. */
#define HAVE_SNPRINTF 1

/* Define if you have the strerror function. */
#define HAVE_STRERROR 1

/* Define if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

/* Define if you have the strtoul function. */
#define HAVE_STRTOUL 1

/* Define if you have the <sys/event.h> header file. */
#define HAVE_SYS_EVENT_H 1

/* Define if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1

/* Define if you have the tcgetpgrp function. */
#define HAVE_TCGETPGRP 1

/* Define if you have the <termio.h> header file. */
/* #undef HAVE_TERMIO_H */

/* Define if you have u_intXX_t types but not uintXX_t types. */
/* #undef HAVE_U_INT_TYPES */

/* Define if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define if you have the vsnprintf function. */
#define HAVE_VSNPRINTF 1

/* The size of a `off_t', as computed by sizeof. */
#define SIZEOF_OFF_T 8


/* Set feature test macros before anything is included. */
#ifdef HAVE_LARGE_FILE_SUPPORT
# define _LARGEFILE_SOURCE 1
# define _FILE_OFFSET_BITS 64
#endif

/* Include integer type definitions. */
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#include <sys/types.h>

/* Define uint types in terms of u_int types, if necessary. */
#ifdef HAVE_U_INT_TYPES
typedef u_int8_t uint8_t;
typedef u_int16_t uint16_t;
typedef u_int32_t uint32_t;
# ifdef HAVE_INT64_TYPES
typedef u_int64_t uint64_t;
# endif
typedef long intptr_t;		/* XXX? */
typedef unsigned long uintptr_t;
#endif

/* Define HAVE_INT64_IS_LONG based on HAVE_INT64_IS_LONG_USERLEVEL. */
#ifdef HAVE_INT64_IS_LONG_USERLEVEL
# define HAVE_INT64_IS_LONG HAVE_INT64_IS_LONG_USERLEVEL
#endif

/* Include assert macro. */
#include <assert.h>

/* Define if mmap is allowed. */
#if defined(HAVE_SYS_MMAN_H) && defined(HAVE_MMAP)
# define ALLOW_MMAP 1
#endif

/* Prototype strerror if we don't have it. */
#ifndef HAVE_STRERROR
char *strerror(int errno);
#endif

/* Use nanosecond-granularity timestamps if they are enabled. */
#ifdef HAVE_NANOTIMESTAMP_ENABLED
#define HAVE_NANOTIMESTAMP 1
#endif

#ifdef __cplusplus

/* Provide placement new. */
#if HAVE_NEW_HDR
# include <new>
#elif HAVE_NEW_H
# include <new.h>
#else
inline void *operator new(size_t, void *v) { return v; }
#endif

/* Prototype madvise if we have it, but not the prototype. */
#if ALLOW_MMAP && HAVE_MADVISE && !HAVE_DECL_MADVISE
extern "C" int madvise(void *addr, size_t len, int behav);
#endif

/* Define macros that surround Click declarations. */
#ifndef CLICK_DECLS
# define CLICK_DECLS		/* */
# define CLICK_ENDDECLS		/* */
# define CLICK_USING_DECLS	/* */
# define CLICK_NAME(name)	name
#endif

#endif /* __cplusplus */

#endif /* CLICK_CONFIG_USERLEVEL_H */
