349 lines
9.4 KiB
C
349 lines
9.4 KiB
C
/* include/click/config-userlevel.h. Generated from config-userlevel.h.in 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 you have the __thread storage class specifier. */
|
|
#define HAVE___THREAD_STORAGE_CLASS 1
|
|
|
|
/* Define if accept() uses socklen_t. */
|
|
#define HAVE_ACCEPT_SOCKLEN_T 1
|
|
|
|
/* Define if kqueue() may be used to wait for file descriptor events. */
|
|
#define HAVE_ALLOW_KQUEUE 1
|
|
|
|
/* Define if poll() may be used to wait for file descriptor events. */
|
|
#define HAVE_ALLOW_POLL 1
|
|
|
|
/* Define if select() may be used to wait for file descriptor events. */
|
|
#define HAVE_ALLOW_SELECT 1
|
|
|
|
/* Define if <pcap.h> uses bpf_timeval. */
|
|
/* #undef HAVE_BPF_TIMEVAL */
|
|
|
|
/* Define if you have the <byteswap.h> header file. */
|
|
#define HAVE_BYTESWAP_H 1
|
|
|
|
/* Define if you have the clock_gettime function. */
|
|
#define HAVE_CLOCK_GETTIME 1
|
|
|
|
/* Define to 1 if you have the declaration
|
|
of 'clock_gettime', and to 0 if you don't. */
|
|
#define HAVE_DECL_CLOCK_GETTIME 1
|
|
|
|
/* 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 <execinfo.h> header file. */
|
|
#define HAVE_EXECINFO_H 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. */
|
|
/* #undef HAVE_EV_SET_UDATA_POINTER */
|
|
|
|
/* Define if 'struct if_data' has an 'ifi_datalen' member. */
|
|
/* #undef HAVE_IF_DATA_IFI_DATALEN */
|
|
|
|
/* Define if you have the <ifaddrs.h> header file. */
|
|
#define HAVE_IFADDRS_H 1
|
|
|
|
/* Define if 'int64_t' is typedefed to 'long' at user level. */
|
|
/* #undef HAVE_INT64_IS_LONG_USERLEVEL */
|
|
|
|
/* Define if 'int64_t' is typedefed to 'long long' at user level. */
|
|
#define HAVE_INT64_IS_LONG_LONG_USERLEVEL 1
|
|
|
|
/* Define if you have the <inttypes.h> header file. */
|
|
#define HAVE_INTTYPES_H 1
|
|
|
|
/* Define if you have the kqueue function. */
|
|
/* #undef HAVE_KQUEUE */
|
|
|
|
/* 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. */
|
|
#define HAVE_LINUX_IF_TUN_H 1
|
|
|
|
/* 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. */
|
|
/* #undef HAVE_NET_BPF_H */
|
|
|
|
/* Define if you have the <net/if_dl.h> header file. */
|
|
/* #undef HAVE_NET_IF_DL_H */
|
|
|
|
/* Define if you have the <net/if_tap.h> header file. */
|
|
/* #undef HAVE_NET_IF_TAP_H */
|
|
|
|
/* Define if you have the <net/if_tun.h> header file. */
|
|
/* #undef HAVE_NET_IF_TUN_H */
|
|
|
|
/* Define if you have the <net/if_types.h> header file. */
|
|
/* #undef HAVE_NET_IF_TYPES_H */
|
|
|
|
/* Define if you have the <netdb.h> header file. */
|
|
#define HAVE_NETDB_H 1
|
|
|
|
/* Define if you have the <net/netmap.h> header file. */
|
|
/* #undef HAVE_NET_NETMAP_H */
|
|
|
|
/* Define if you have the <netpacket/packet.h> header file. */
|
|
#define HAVE_NETPACKET_PACKET_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_inject function. */
|
|
#define HAVE_PCAP_INJECT 1
|
|
|
|
/* Define if you have the pcap_sendpacket function. */
|
|
#define HAVE_PCAP_SENDPACKET 1
|
|
|
|
/* Define if you have the pcap_setdirection function. */
|
|
#define HAVE_PCAP_SETDIRECTION 1
|
|
|
|
/* Define if you have the pcap_setnonblock function. */
|
|
#define HAVE_PCAP_SETNONBLOCK 1
|
|
|
|
/* Define if you have the pcap_set_immediate_mode function. */
|
|
#define HAVE_PCAP_SET_IMMEDIATE_MODE 1
|
|
|
|
/* Define if you have -lproper and prop.h, and proper operations should be
|
|
preferred to their non-proper counterparts. */
|
|
/* #undef HAVE_PROPER */
|
|
|
|
/* Define if you have a non-emulated <poll.h> header file. */
|
|
#define HAVE_POLL_H 1
|
|
|
|
/* Define if you have the pselect function. */
|
|
#define HAVE_PSELECT 1
|
|
|
|
/* Placement new is always provided below. */
|
|
#define HAVE_PLACEMENT_NEW 1
|
|
|
|
/* Define to 1 if you have the declaration
|
|
of 'pthread_setaffinity_np', and to 0 if you don't. */
|
|
/* #undef HAVE_DECL_PTHREAD_SETAFFINITY_NP */
|
|
|
|
/* Define if you have the <pwd.h> header file. */
|
|
#define HAVE_PWD_H 1
|
|
|
|
/* Define if you have the random function. */
|
|
#define HAVE_RANDOM 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 'struct sockaddr_in' has a 'sin_len' member. */
|
|
/* #undef HAVE_SOCKADDR_IN_SIN_LEN */
|
|
|
|
/* 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 strnlen function. */
|
|
#define HAVE_STRNLEN 1
|
|
|
|
/* Define if you have the strtof function. */
|
|
#define HAVE_STRTOF 1
|
|
|
|
/* Define if you have the strtold function. */
|
|
#define HAVE_STRTOLD 1
|
|
|
|
/* Define if you have the strtoul function. */
|
|
#define HAVE_STRTOUL 1
|
|
|
|
/* Define if you have the <sys/event.h> header file. */
|
|
/* #undef HAVE_SYS_EVENT_H */
|
|
|
|
/* 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. */
|
|
#define HAVE_TERMIO_H 1
|
|
|
|
/* 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 a Click user-level driver might run multiple threads. */
|
|
/* #undef HAVE_USER_MULTITHREAD */
|
|
|
|
/* Define if a Click user-level driver uses Intel DPDK. */
|
|
/* #undef HAVE_DPDK */
|
|
|
|
/* Define if Click should use Valgrind client requests. */
|
|
/* #undef HAVE_VALGRIND */
|
|
|
|
/* Define if you have the <valgrind/memcheck.h> header file. */
|
|
/* #undef HAVE_VALGRIND_MEMCHECK_H */
|
|
|
|
/* Define if you have the vsnprintf function. */
|
|
#define HAVE_VSNPRINTF 1
|
|
|
|
/* The size of a `click_jiffies_t', as computed by sizeof. */
|
|
#define SIZEOF_CLICK_JIFFIES_T SIZEOF_INT
|
|
|
|
/* The size of a `off_t', as computed by sizeof. */
|
|
#define SIZEOF_OFF_T 8
|
|
|
|
|
|
/* Set feature test macros before anything is included. */
|
|
#if HAVE_LARGE_FILE_SUPPORT && HAVE_INT64_TYPES
|
|
# if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS != 64
|
|
# error "bad _FILE_OFFSET_BITS, did you #include <click/config.h> first?"
|
|
# endif
|
|
# define _LARGEFILE_SOURCE 1
|
|
# define _FILE_OFFSET_BITS 64
|
|
#endif
|
|
#ifdef __APPLE__
|
|
# define _DARWIN_UNLIMITED_SELECT 1
|
|
#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
|
|
|
|
/* Define HAVE_INT64_IS_LONG_LONG based on HAVE_INT64_IS_LONG_LONG_USERLEVEL. */
|
|
#ifdef HAVE_INT64_IS_LONG_LONG_USERLEVEL
|
|
# define HAVE_INT64_IS_LONG_LONG HAVE_INT64_IS_LONG_LONG_USERLEVEL
|
|
#endif
|
|
|
|
/* If 64-bit integers exist, then 64-bit divide exists. */
|
|
#ifdef HAVE_INT64_TYPES
|
|
# define HAVE_INT64_DIVIDE 1
|
|
#endif
|
|
|
|
/* Define HAVE_MULTITHREAD based on HAVE_USER_MULTITHREAD. */
|
|
#ifdef HAVE_USER_MULTITHREAD
|
|
# define HAVE_MULTITHREAD HAVE_USER_MULTITHREAD
|
|
#endif
|
|
|
|
/* Define HAVE_USE_CLOCK_GETTIME if the clock_gettime function is usable. */
|
|
#ifndef HAVE_USE_CLOCK_GETTIME
|
|
# if HAVE_DECL_CLOCK_GETTIME && HAVE_CLOCK_GETTIME
|
|
# define HAVE_USE_CLOCK_GETTIME 1
|
|
# endif
|
|
#endif
|
|
|
|
/* Include assert macro. */
|
|
#include <assert.h>
|
|
|
|
/* Define likely and unlikely macros. */
|
|
#if __GNUC__ >= 3
|
|
# define likely(x) __builtin_expect(!!(x), 1)
|
|
# define unlikely(x) __builtin_expect(!!(x), 0)
|
|
#else
|
|
# define likely(x) (x)
|
|
# define unlikely(x) (x)
|
|
#endif
|
|
|
|
/* 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. */
|
|
#if HAVE_NANOTIMESTAMP_ENABLED
|
|
# define TIMESTAMP_NANOSEC 1
|
|
# define HAVE_NANOTIMESTAMP 1 /* Deprecated */
|
|
#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 */
|