From: Florian Schmidt Date: Wed, 5 Jun 2019 12:43:25 +0000 (+0200) Subject: Initial public release: click config-userlevel.h X-Git-Tag: RELEASE-0.4~9 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f8e2a359928f42ccd48af26dbb46a95df742f839;p=unikraft%2Flibs%2Fclick.git Initial public release: click config-userlevel.h We use userlevel mode for our unikraft click port. This config sets options according to which features are available in unikraft. Signed-off-by: Florian Schmidt Reviewed-by: Felipe Huici --- diff --git a/include/click/config-userlevel.h b/include/click/config-userlevel.h new file mode 100644 index 0000000..22548bc --- /dev/null +++ b/include/click/config-userlevel.h @@ -0,0 +1,348 @@ +/* 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 0 + +/* 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 uses bpf_timeval. */ +/* #undef HAVE_BPF_TIMEVAL */ + +/* Define if you have the 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 0 + +/* 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 header file. */ +/* #undef HAVE_DLFCN_H */ + +/* Define if dynamic linking is possible. */ +/* #undef HAVE_DYNAMIC_LINKING */ + +/* Define if you have the header file. */ +/* #undef HAVE_EXECINFO_H */ + +/* 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 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 header file. */ +/* #undef HAVE_IFADDRS_H */ + +/* Define if 'int64_t' is typedefed to 'long' at user level. */ +#define HAVE_INT64_IS_LONG_USERLEVEL 1 + +/* Define if 'int64_t' is typedefed to 'long long' at user level. */ +/* #undef HAVE_INT64_IS_LONG_LONG_USERLEVEL */ + +/* Define if you have the 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 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 header file. */ +/* #undef HAVE_NET_BPF_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_NET_IF_DL_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_NET_IF_TAP_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_NET_IF_TUN_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_NET_IF_TYPES_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_NETDB_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_NET_NETMAP_H */ + +/* Define if you have the header file. */ +/* #unfed HAVE_NETPACKET_PACKET_H */ + +/* Define if exists and works. */ +/* #undef HAVE_NEW_H */ + +/* Define if exists and works. */ +/* #undef 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 header file. */ +/* #undef HAVE_POLL_H */ + +/* 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 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. */ +/* #undef HAVE_SIGACTION */ + +/* 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 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 header file. */ +/* #undef HAVE_SYS_EVENT_H */ + +/* Define if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the tcgetpgrp function. */ +#define HAVE_TCGETPGRP 1 + +/* Define if you have the 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 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 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 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 +#endif +#include + +/* 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 + +/* 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 +#elif HAVE_NEW_H +# include +#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 */