/* include/click/config-linuxmodule.h.  Generated by configure.  */
/* Process this file with configure to produce config-linuxmodule.h. -*- mode: c -*- */
#ifndef CLICK_CONFIG_LINUXMODULE_H
#define CLICK_CONFIG_LINUXMODULE_H

/* Define stuff under a Linux module. */
#ifndef __linux__
# error "I must be compiled on a Linux machine"
#endif
#define __KERNEL__ 1
#define MODULE 1

/* Define if your Linux kernel has Click extensions. */
/* #undef HAVE_CLICK_KERNEL */

/* Define if your Linux kernel has read_net_skbcount. */
/* #undef HAVE_LINUX_READ_NET_SKBCOUNT */

/* Define if your Linux kernel exposes strlen. */
/* #undef HAVE_LINUX_STRLEN_EXPOSED */

/* Define if your Linux kernel has polling extensions. */
/* #undef HAVE_LINUX_POLLING */

/* Define if your Linux kernel has tulip_interrupt_hook. */
/* #undef HAVE_LINUX_TULIP_INTERRUPT_HOOK */

/* Define if your Linux kernel is running in SMP mode. */
/* #undef __SMP__ */

/* Define if Click should not give up processor to OS for more predictable
   performance; use only if you have more than one processor! */
/* #undef CLICK_GREEDY */

/* Define if Click should use an adaptive scheduler to share the CPU(s) more
   fairly with the kernel. */
/* #undef HAVE_ADAPTIVE_SCHEDULER */

/* Define to enable assertion checking. Failed assertions will print a message
   and optionally stop the router. */
/* #undef HAVE_KERNEL_ASSERT */

/* Define if fast checksum functions available. */
#define HAVE_FAST_CHECKSUM 1

/* Define if fast checksum functions require correct alignment. */
#ifndef __i386__
# define FAST_CHECKSUM_ALIGNED 1
#endif

/* Include integer type definitions. */
#include <linux/types.h>
typedef ptrdiff_t intptr_t;
typedef unsigned long uintptr_t; /* XXX? */

#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

#endif /* __cplusplus */

/* Define assert macro. */
#ifdef HAVE_KERNEL_ASSERT
# ifdef __cplusplus
extern "C" {
# endif
void click_assert_failed(const char *file, int line, const char *problem_text);
# ifdef __cplusplus
}
# endif
# define assert(x)	((x) ? (void)0 : click_assert_failed(__FILE__, __LINE__, #x))
#else
# define assert(x)	/* nada */
#endif

#endif /* CLICK_CONFIG_LINUXMODULE_H */
