Click
Loading...
Searching...
No Matches
config-linuxmodule.h
1/* include/click/config-linuxmodule.h. Generated from config-linuxmodule.h.in by configure. */
2/* Process this file with configure to produce config-linuxmodule.h. -*- mode: c -*- */
3#ifndef CLICK_CONFIG_LINUXMODULE_H
4#define CLICK_CONFIG_LINUXMODULE_H
5
6/* Define if Click should use an adaptive scheduler to share the CPU(s) more
7 fairly with the kernel. */
8/* #undef HAVE_ADAPTIVE_SCHEDULER */
9
10/* Define if the AUTOCONF_INCLUDED symbol should be checked. */
11/* #undef HAVE_CHECK_AUTOCONF_INCLUDED */
12
13/* Define if your Linux kernel has Click extensions. */
14/* #undef HAVE_CLICK_KERNEL */
15
16/* Define if your Linux kernel has Click transmit notification extensions. */
17/* #undef HAVE_CLICK_KERNEL_TX_NOTIFY */
18
19/* Define if your Linux kernel has Click skb_recycle. */
20/* #undef HAVE_CLICK_SKB_RECYCLE */
21
22/* Define if fast checksum functions available. */
23#define HAVE_FAST_CHECKSUM 1
24
25/* Define if 'int64_t' is typedefed to 'long' in linuxmodule. */
26/* #undef HAVE_INT64_IS_LONG_LINUXMODULE */
27
28/* Define if 'int64_t' is typedefed to 'long long' in linuxmodule. */
29/* #undef HAVE_INT64_IS_LONG_LONG_LINUXMODULE */
30
31/* Define to enable assertion checking. Failed assertions will print a message
32 and optionally stop the router. */
33/* #undef HAVE_KERNEL_ASSERT */
34
35/* Define if you have the <asm/alternative.h> header file. */
36/* #undef HAVE_LINUX_ASM_ALTERNATIVE_H */
37
38/* Define if you have the <asm/scatterlist.h> header file. */
39/* #undef HAVE_LINUX_ASM_SCATTERLIST_H */
40
41/* Define if you have the <asm/system.h> header file. */
42/* #undef HAVE_LINUX_ASM_SYSTEM_H */
43
44/* Define if your Linux kernel architecture defines atomic_add_return. */
45/* #undef HAVE_LINUX_ATOMIC_ADD_RETURN */
46
47/* Define if your Linux kernel architecture defines atomic_set_mask. */
48/* #undef HAVE_LINUX_ATOMIC_SET_MASK */
49
50/* Define if your Linux kernel architecture defines atomic_cmpxchg. */
51/* #undef HAVE_LINUX_ATOMIC_CMPXCHG */
52
53/* Define if your Linux kernel has files_lock. */
54/* #undef HAVE_LINUX_FILES_LOCK */
55
56/* Define if your Linux kernel has files_lglock. */
57/* #undef HAVE_LINUX_FILES_LGLOCK */
58
59/* Define if you have the d_make_root function. */
60/* #undef HAVE_LINUX_D_MAKE_ROOT */
61
62/* Define if 'struct dentry' has a 'd_child' member. */
63/* #undef HAVE_LINUX_DENTRY_D_CHILD */
64
65/* Define if your Linux kernel has dev_ioctl. */
66/* #undef HAVE_LINUX_DEV_IOCTL */
67
68/* Define if your Linux kernel has devinet_ioctl. */
69/* #undef HAVE_LINUX_DEVINET_IOCTL */
70
71/* Define if your Linux kernel exports get_monotonic_coarse. */
72/* #undef HAVE_LINUX_GET_MONOTONIC_COARSE */
73
74/* Define if your Linux kernel exports getboottime. */
75/* #undef HAVE_LINUX_GETBOOTTIME */
76
77/* Define if your Linux kernel has inet_ctl_sock_create. */
78/* #undef HAVE_LINUX_INET_CTL_SOCK_CREATE */
79
80/* Define if your Linux kernel has inet_ioctl. */
81/* #undef HAVE_LINUX_INET_IOCTL */
82
83/* Define if you have the <linux/ktime.h> header file. */
84/* #undef HAVE_LINUX_KTIME_H */
85
86/* Define if your Linux kernel exports ktime_mono_to_any. */
87/* #undef HAVE_LINUX_KTIME_MONO_TO_ANY */
88
89/* Define if your Linux kernel has polling extensions. */
90/* #undef HAVE_LINUX_POLLING */
91
92/* Define if your Linux kernel has read_net_skbcount. */
93/* #undef HAVE_LINUX_READ_NET_SKBCOUNT */
94
95/* Define if your Linux kernel has sb_lock. */
96/* #undef HAVE_LINUX_SB_LOCK */
97
98/* Define if your Linux kernel has set_cpus_allowed_ptr. */
99/* #undef HAVE_LINUX_SET_CPUS_ALLOWED_PTR */
100
101/* Define if 'struct skb_shared_info' has a 'gso_size' member. */
102/* #undef HAVE_LINUX_SKB_SHINFO_GSO_SIZE */
103
104/* Define if 'struct skb_shared_info' has an 'ip6_frag_id' member. */
105/* #undef HAVE_LINUX_SKB_SHINFO_IP6_FRAG_ID */
106
107/* Define if 'struct skb_shared_info' has an 'tx_flags.flags' member. */
108/* #undef HAVE_LINUX_SKB_SHINFO_TX_FLAGS_UNION */
109
110/* Define if 'struct skb_shared_info' has an 'tx_flags' member defining 'SKBTX_DEV_ZEROCOPY'. */
111/* #undef HAVE_LINUX_SKB_SHINFO_TX_FLAGS_SKBTX_DEV_ZEROCOPY */
112
113/* Define if 'struct skb_shared_info' has a 'tso_size' member. */
114/* #undef HAVE_LINUX_SKB_SHINFO_TSO_SIZE */
115
116/* Define if 'struct skb_shared_info' has a 'ufo_size' member. */
117/* #undef HAVE_LINUX_SKB_SHINFO_UFO_SIZE */
118
119/* Define if 'struct sk_buff' has an 'fclone' member. */
120/* #undef HAVE_LINUX_SKBUFF_FCLONE */
121
122/* Define if 'struct sk_buff' has a 'security' member. */
123/* #undef HAVE_LINUX_SKBUFF_SECURITY */
124
125/* Define if your Linux kernel exposes strlen. */
126/* #undef HAVE_LINUX_STRLEN_EXPOSED */
127
128/* Define if 'struct super_block' has an 's_d_op' member. */
129/* #undef HAVE_LINUX_SUPER_BLOCK_S_D_OP */
130
131/* Define if your Linux kernel has tulip_interrupt_hook. */
132/* #undef HAVE_LINUX_TULIP_INTERRUPT_HOOK */
133
134/* Define if the Click linuxmodule is compiled for a 2.6 or later kernel. */
135/* #undef HAVE_LINUXMODULE_2_6 */
136
137/* Define if the linuxmodule driver might run multiple threads. */
138/* #undef HAVE_LINUXMODULE_MULTITHREAD */
139
140/* Define if you have the net_enable_timestamp function. */
141/* #undef HAVE_NET_ENABLE_TIMESTAMP */
142
143/* Define if you have the netdev_get_tx_queue function. */
144/* #undef HAVE_NETDEV_GET_TX_QUEUE */
145
146/* Define if you have the netdev_uses_dsa_tags function. */
147/* #undef HAVE_NETDEV_USES_DSA_TAGS */
148
149/* Define if you have the netdev_uses_trailer_tags function. */
150/* #undef HAVE_NETDEV_USES_TRAILER_TAGS */
151
152/* Define if your Linux kernel has netdev_rx_handler_register. */
153/* #undef HAVE_LINUX_NETDEV_RX_HANDLER_REGISTER */
154
155/* Define if netif_receive_skb takes 3 arguments. */
156/* #undef HAVE_NETIF_RECEIVE_SKB_EXTENDED */
157
158/* Define if you have the netif_tx_lock function. */
159/* #undef HAVE_NETIF_TX_LOCK */
160
161/* Define if you have the netif_tx_queue_frozen function. */
162/* #undef HAVE_NETIF_TX_QUEUE_FROZEN */
163
164/* Define if you have the skb_dst_drop function. */
165/* #undef HAVE_SKB_DST_DROP */
166
167/* Define if you have the skb_linearize function. */
168/* #undef HAVE_SKB_LINEARIZE */
169
170/* Define if you have the skb_recycle function. */
171/* #undef HAVE_SKB_RECYCLE */
172
173/* Define if you have the skb_recycle_check function. */
174/* #undef HAVE_SKB_RECYCLE_CHECK */
175
176/* Define if you have the strnlen function. */
177#define HAVE_STRNLEN 1
178
179/* Define to 1 if Linux defines the type 'uintptr_t'. */
180/* #undef HAVE_UINTPTR_T_LINUXMODULE */
181
182/* Define to 1 to enable poisoning of freed HashAllocator blocks. */
183/* #undef HAVE_HASH_ALLOCATOR_POISONING */
184
185/* The size of a `click_jiffies_t', as computed by sizeof. */
186#define SIZEOF_CLICK_JIFFIES_T SIZEOF_LONG
187
188/* Define HAVE_INT64_IS_LONG based on HAVE_INT64_IS_LONG_LINUXMODULE. */
189#ifdef HAVE_INT64_IS_LONG_LINUXMODULE
190# define HAVE_INT64_IS_LONG HAVE_INT64_IS_LONG_LINUXMODULE
191#endif
192
193/* Define HAVE_INT64_IS_LONG_LONG based on HAVE_INT64_IS_LONG_LONG_LINUXMODULE. */
194#if defined(HAVE_LONG_LONG) && HAVE_LONG_LONG && defined(HAVE_INT64_IS_LONG_LONG_LINUXMODULE)
195# define HAVE_INT64_IS_LONG_LONG HAVE_INT64_IS_LONG_LONG_LINUXMODULE
196#endif
197
198/* Define HAVE_MULTITHREAD based on HAVE_LINUXMODULE_MULTITHREAD. */
199#ifdef HAVE_LINUXMODULE_MULTITHREAD
200# define HAVE_MULTITHREAD HAVE_LINUXMODULE_MULTITHREAD
201#endif
202
203/* Define if fast checksum functions require correct alignment. */
204#if !defined(__i386__) && !defined(__x86_64__)
205# define FAST_CHECKSUM_ALIGNED 1
206#endif
207
208/* Below here only for normal Click compiles. */
209#ifndef CLICK_CONFIG_LINUXMODULE_SYMBOLS_ONLY
210
211/* Define stuff under a Linux module. */
212#ifndef __linux__
213# error "I must be compiled on a Linux machine"
214#endif
215#define __KERNEL__ 1
216#define MODULE 1
217
218/* Include Linux configuration and type definitions. */
219#if HAVE_CHECK_AUTOCONF_INCLUDED && !defined(AUTOCONF_INCLUDED)
220# include <linux/autoconf.h>
221#endif
222#include <linux/version.h>
223#ifdef __cplusplus
224# include <click/cxxprotect.h>
225# include <asm/types.h>
226# include <linux/types.h>
227# include <click/cxxunprotect.h>
228#else
229# include <asm/types.h>
230# include <linux/types.h>
231#endif
232typedef ptrdiff_t intptr_t;
233#if !HAVE_UINTPTR_T_LINUXMODULE
234typedef unsigned long uintptr_t;
235#endif
236
237/* Define KBUILD symbols. */
238#if !defined(KBUILD_STR)
239# define KBUILD_STR(s) #s
240# define KBUILD_BASENAME KBUILD_STR(click)
241# define KBUILD_MODNAME KBUILD_STR(click)
242#endif
243
244#ifdef __cplusplus
245
246/* Declare operator new. */
247void *operator new(size_t) throw ();
248void *operator new[](size_t) throw ();
249
250/* Provide placement new. */
251inline void *operator new(size_t, void *v) { return v; }
252#define HAVE_PLACEMENT_NEW 1
253
254/* Define macros that surround Click declarations. */
255#define CLICK_DECLS /* */
256#define CLICK_ENDDECLS /* */
257#define CLICK_USING_DECLS /* */
258#define CLICK_NAME(name) ::name
259
260/* Fix incompatibilities between some Linux versions and Click/C++. */
261#include <click/fixconfig.h>
262
263#endif /* __cplusplus */
264
265/* Define assert macro. */
266# ifdef __cplusplus
267extern "C" {
268# endif
269void click_assert_failed(const char *file, int line, const char *problem_text);
270# ifdef __cplusplus
271}
272# endif
273
274#ifdef HAVE_KERNEL_ASSERT
275# define assert(x) ((x) ? (void)0 : click_assert_failed(__FILE__, __LINE__, #x))
276#else
277# define assert(x) /* nada */
278#endif
279
280/* Some architectures do not have builtin integer functions in kernel. */
281#if defined(__MIPSEL__) || defined(__MIPSEB__)
282# define HAVE_NO_INTEGER_BUILTINS 1
283#endif
284
285#endif /* CLICK_CONFIG_LINUXMODULE_SYMBOLS_ONLY */
286#endif /* CLICK_CONFIG_LINUXMODULE_H */