Loading...
Searching...
No Matches
3#ifndef CLICK_CONFIG_USERLEVEL_H
4#define CLICK_CONFIG_USERLEVEL_H
7#define HAVE___THREAD_STORAGE_CLASS 1
10#define HAVE_ACCEPT_SOCKLEN_T 1
13#define HAVE_ALIGNED_ALLOC 1
16#define HAVE_ALIGNED_NEW 1
19#define HAVE_ALLOW_KQUEUE 1
22#define HAVE_ALLOW_POLL 1
25#define HAVE_ALLOW_SELECT 1
37#define HAVE_BYTESWAP_H 1
43#define HAVE_ALLOW_CLICK_PACKET_POOL 1
52#define HAVE_CLOCK_GETTIME 1
56#define HAVE_DECL_CLOCK_GETTIME 1
60#define HAVE_DECL_MADVISE 1
70#define HAVE_DYNAMIC_LINKING 1
73#define HAVE_EXECINFO_H 1
91#define HAVE_FLOAT_TYPES 1
103#define HAVE_IFADDRS_H 1
106#define HAVE_INT64_IS_LONG_USERLEVEL 1
112#define HAVE_INTTYPES_H 1
118#define HAVE_LARGE_FILE_SUPPORT 1
121#define HAVE_LINUX_ETHTOOL_H 1
124#define HAVE_LINUX_SOCKIOS_H 1
127#define HAVE_LINUX_IF_TUN_H 1
130#define HAVE_LINUX_IF_PACKET_H 1
133#define HAVE_LINUX_NETLINK_H 1
136#define HAVE_MADVISE 1
157#define HAVE_NETDB_H 1
160#define HAVE_NETPACKET_PACKET_H 1
166#define HAVE_NEW_HDR 1
197#define HAVE_PSELECT 1
200#define HAVE_PLACEMENT_NEW 1
204#define HAVE_DECL_PTHREAD_SETAFFINITY_NP 1
213#define HAVE_SIGACTION 1
219#define HAVE_SNPRINTF 1
225#define HAVE_STRERROR 1
228#define HAVE_STRINGS_H 1
231#define HAVE_STRNLEN 1
237#define HAVE_STRTOLD 1
240#define HAVE_STRTOUL 1
246#define HAVE_SYS_MMAN_H 1
249#define HAVE_TCGETPGRP 1
252#define HAVE_TERMIO_H 1
258#define HAVE_UNISTD_H 1
261#define HAVE_USER_MULTITHREAD 1
267#define HAVE_ZEROCOPY 1
276#define FLOW_ATOMIC_USE_COUNT 1
279#define FLOW_KEEP_STRUCTURE 1
282#define FLOW_HASH_RELEASE 1
309#define POOL_INLINING 1
333#define HAVE_VSNPRINTF 1
336#define SIZEOF_CLICK_JIFFIES_T SIZEOF_LONG
339#define SIZEOF_OFF_T 8
343#if HAVE_LARGE_FILE_SUPPORT && HAVE_INT64_TYPES
344# if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS != 64
345# error "bad _FILE_OFFSET_BITS, did you #include <click/config.h> first?"
347# define _LARGEFILE_SOURCE 1
348# define _FILE_OFFSET_BITS 64
351# define _DARWIN_UNLIMITED_SELECT 1
355#ifdef HAVE_INTTYPES_H
356# ifndef __STDC_FORMAT_MACROS
357# define __STDC_FORMAT_MACROS
359# include <inttypes.h>
361#include <sys/types.h>
364#ifdef HAVE_U_INT_TYPES
365typedef u_int8_t uint8_t;
366typedef u_int16_t uint16_t;
367typedef u_int32_t uint32_t;
368# ifdef HAVE_INT64_TYPES
369typedef u_int64_t uint64_t;
371typedef long intptr_t;
372typedef unsigned long uintptr_t;
376#ifdef HAVE_INT64_IS_LONG_USERLEVEL
377# define HAVE_INT64_IS_LONG HAVE_INT64_IS_LONG_USERLEVEL
381#ifdef HAVE_INT64_IS_LONG_LONG_USERLEVEL
382# define HAVE_INT64_IS_LONG_LONG HAVE_INT64_IS_LONG_LONG_USERLEVEL
386#ifdef HAVE_INT64_TYPES
387# define HAVE_INT64_DIVIDE 1
391#ifdef HAVE_USER_MULTITHREAD
392# define HAVE_MULTITHREAD HAVE_USER_MULTITHREAD
396#ifdef HAVE_ATOMIC_BUILTINS
398 (__GNUC__ == 4 && (__GNUC_MINOR__ > 7 || \
399 (__GNUC_MINOR__ == 7 && \
400 __GNUC_PATCHLEVEL__ > 0)))
402 # define HAVE_ATOMIC_BUILTINS 1
404 # error "Cannot enable atomic builtins! GCC must be >= 4.7.0"
405 # define HAVE_ATOMIC_BUILTINS 0
411#ifndef HAVE_USE_CLOCK_GETTIME
412# if HAVE_DECL_CLOCK_GETTIME && HAVE_CLOCK_GETTIME
413# define HAVE_USE_CLOCK_GETTIME 1
422# define likely(x) __builtin_expect(!!(x), 1)
423# define unlikely(x) __builtin_expect(!!(x), 0)
425# define likely(x) (x)
426# define unlikely(x) (x)
430#if defined(HAVE_SYS_MMAN_H) && defined(HAVE_MMAP) && !CLICK_PACKET_USE_DPDK
436char *strerror(
int errno);
440#if HAVE_NANOTIMESTAMP_ENABLED
441# define TIMESTAMP_NANOSEC 1
442# define HAVE_NANOTIMESTAMP 1
453inline void *
operator new(size_t,
void *v) {
return v; }
457#if ALLOW_MMAP && HAVE_MADVISE && !HAVE_DECL_MADVISE
458extern "C" int madvise(
void *addr,
size_t len,
int behav);
464# define CLICK_ENDDECLS
465# define CLICK_USING_DECLS
466# define CLICK_NAME(name) ::name