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