#pragma once /* Old libpcap versions (< 0.6.1) need defining pcap_freecode and pcap_compile_nopcap */ #cmakedefine DONT_HAVE_LIBPCAP_PCAP_FREECODE #cmakedefine DONT_HAVE_LIBPCAP_DLT_LINUX_SLL2 /* should explicitly declare socket() and friends */ #cmakedefine DO_SOCK_DECL /* Define if you have the header file. */ #cmakedefine HAVE_GETOPT_H /* Define if you have the `getopt_long' function. */ #cmakedefine HAVE_GETOPT_LONG /* We are on a Linux system */ #cmakedefine HAVE_LINUX /* We are on a Mac OS X (Darwin) system */ #cmakedefine HAVE_DARWIN /* Define if you have the `mallinfo' function. */ #cmakedefine HAVE_MALLINFO /* Define if you have the `mallinfo2' function. */ #cmakedefine HAVE_MALLINFO2 /* Define if you have the header file. */ #cmakedefine HAVE_MEMORY_H /* Define if you have the header file */ #cmakedefine HAVE_NETINET_ETHER_H /* Define if you have the header file. */ #cmakedefine HAVE_NETINET_IF_ETHER_H /* Define if you have the header file. */ #cmakedefine HAVE_NETINET_IP6_H /* Define if you have the header file. */ #cmakedefine HAVE_NET_ETHERNET_H /* Define if you have the header file. */ #cmakedefine HAVE_NET_ETHERTYPES_H /* have os-proto.h */ #cmakedefine HAVE_OS_PROTO_H /* Define if you have the header file. */ #cmakedefine HAVE_PCAP_INT_H /* Define if libpcap supports pcap_dump_open_append(). */ #cmakedefine HAVE_PCAP_DUMP_OPEN_APPEND /* Define if the pcap library is winpcap or npcap */ #cmakedefine HAVE_WPCAP /* line editing & history powers */ #cmakedefine HAVE_READLINE /* Define if you have the `sigaction' function. */ #cmakedefine HAVE_SIGACTION /* Define if you have the `sigset' function. */ #cmakedefine HAVE_SIGSET /* Define if you have the `strcasestr' function. */ #cmakedefine HAVE_STRCASESTR /* Define if you have the `strerror' function. */ #cmakedefine HAVE_STRERROR /* Define if you have the `strsep' function. */ #cmakedefine HAVE_STRSEP /* Define if you have the header file. */ #cmakedefine HAVE_SYS_ETHERNET_H /* Include krb5.h */ #cmakedefine NEED_KRB5_H /* Compatibility for Darwin */ #cmakedefine NEED_NAMESER_COMPAT_H /* openssl/kdf.h for TLS PRF (key derivation) */ #cmakedefine OPENSSL_HAVE_KDF_H /* d2i_x509 uses const char** */ #cmakedefine OPENSSL_D2I_X509_USES_CONST_CHAR /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE @RETSIGTYPE@ /* signal function return value */ #define RETSIGVAL @RETSIGVAL@ /* have sin_len field in sockaddr_in */ #cmakedefine SIN_LEN /* The size of `long int', as computed by sizeof. */ #define SIZEOF_LONG_INT @SIZEOF_LONG_INT@ /* The size of `long long', as computed by sizeof. */ #define SIZEOF_LONG_LONG @SIZEOF_LONG_LONG@ /* The size of `void *', as computed by sizeof. */ #define SIZEOF_VOID_P @SIZEOF_VOID_P@ /* should we declare syslog() and openlog() */ #cmakedefine SYSLOG_INT /* should we use stub syslog() and openlog() */ #cmakedefine USE_STUB_SYSLOG /* Define if you have */ #cmakedefine HAVE_SYS_TIME_H /* Define if you can safely include both and . */ #cmakedefine TIME_WITH_SYS_TIME /* GeoIP geographic lookup functionality */ #cmakedefine USE_GEOIP /* Define if KRB5 is available */ #cmakedefine USE_KRB5 /* Use Google's perftools */ #cmakedefine USE_PERFTOOLS_DEBUG /* Use libCurl. */ #cmakedefine USE_CURL /* Use the DataSeries writer. */ #cmakedefine USE_DATASERIES /* Use the ElasticSearch writer. */ #cmakedefine USE_ELASTICSEARCH /* Use the sqlite reader/writer. */ #cmakedefine USE_SQLITE /* whether words are stored with the most significant byte first */ #cmakedefine WORDS_BIGENDIAN /* whether htonll/ntohll is defined in */ #cmakedefine HAVE_BYTEORDER_64 /* whether to preallocate the array of PortVal objects in ValManager. Doing so is typically a performance increase, at the cost of a small amount of memory. */ #cmakedefine PREALLOCATE_PORT_ARRAY /* ultrix can't hack const */ #cmakedefine NEED_ULTRIX_CONST_HACK #ifdef NEED_ULTRIX_CONST_HACK #define const #endif /* Define int32_t */ #cmakedefine int32_t @int32_t@ /* use sigset() instead of signal() */ #ifdef HAVE_SIGSET #define signal sigset #endif /* define to int if socklen_t not available */ #cmakedefine socklen_t @socklen_t@ /* Define u_int16_t */ #cmakedefine u_int16_t @u_int16_t@ /* Define u_int32_t */ #cmakedefine u_int32_t @u_int32_t@ /* Define u_int8_t */ #cmakedefine u_int8_t @u_int8_t@ /* OpenBSD's bpf.h may not declare some data link types, but they're used consistently for the same purpose on all platforms. */ #cmakedefine HAVE_DLT_PPP_SERIAL #ifndef HAVE_DLT_PPP_SERIAL #define DLT_PPP_SERIAL @DLT_PPP_SERIAL@ #endif #cmakedefine HAVE_DLT_NFLOG #ifndef HAVE_DLT_NFLOG #define DLT_NFLOG @DLT_NFLOG@ #endif #ifndef _MSC_VER /* IPv6 Next Header values defined by RFC 3542 */ #cmakedefine HAVE_IPPROTO_HOPOPTS #ifndef HAVE_IPPROTO_HOPOPTS #define IPPROTO_HOPOPTS 0 #endif #cmakedefine HAVE_IPPROTO_IPV6 #ifndef HAVE_IPPROTO_IPV6 #define IPPROTO_IPV6 41 #endif #cmakedefine HAVE_IPPROTO_IPV4 #ifndef HAVE_IPPROTO_IPV4 #define IPPROTO_IPV4 4 #endif #cmakedefine HAVE_IPPROTO_ROUTING #ifndef HAVE_IPPROTO_ROUTING #define IPPROTO_ROUTING 43 #endif #cmakedefine HAVE_IPPROTO_FRAGMENT #ifndef HAVE_IPPROTO_FRAGMENT #define IPPROTO_FRAGMENT 44 #endif #cmakedefine HAVE_IPPROTO_ESP #ifndef HAVE_IPPROTO_ESP #define IPPROTO_ESP 50 #endif #cmakedefine HAVE_IPPROTO_AH #ifndef HAVE_IPPROTO_AH #define IPPROTO_AH 51 #endif #cmakedefine HAVE_IPPROTO_ICMPV6 #ifndef HAVE_IPPROTO_ICMPV6 #define IPPROTO_ICMPV6 58 #endif #cmakedefine HAVE_IPPROTO_NONE #ifndef HAVE_IPPROTO_NONE #define IPPROTO_NONE 59 #endif #cmakedefine HAVE_IPPROTO_DSTOPTS #ifndef HAVE_IPPROTO_DSTOPTS #define IPPROTO_DSTOPTS 60 #endif #endif /* IPv6 options structure defined by RFC 3542 */ #cmakedefine HAVE_IP6_OPT /* Common IPv6 extension structure */ #cmakedefine HAVE_IP6_EXT /* Spicy analyzers built in. */ #cmakedefine01 USE_SPICY_ANALYZERS /* String with host architecture (e.g., "linux-x86_64") */ #define HOST_ARCHITECTURE "@HOST_ARCHITECTURE@" /* String with extension of dynamic libraries (e.g., ".so") */ #define DYNAMIC_PLUGIN_SUFFIX "@CMAKE_SHARED_MODULE_SUFFIX@" /* Set if we're building outside of the main Zeek source code tree. */ #ifndef ZEEK_PLUGIN_INTERNAL_BUILD #define ZEEK_PLUGIN_INTERNAL_BUILD true #else // Backwards compat for external plugins, include the version // identifiers through zeek/zeek-version.h. #if ! ZEEK_PLUGIN_INTERNAL_BUILD #include "zeek/zeek-version.h" #endif // // Not sure we can ever deprecate this without changing // the names. #endif // GCC uses __SANITIZE_ADDRESS__, Clang uses __has_feature #if defined(__SANITIZE_ADDRESS__) #define ZEEK_ASAN #endif #if defined(__has_feature) #if __has_feature(address_sanitizer) #define ZEEK_ASAN #endif #endif #if defined(ZEEK_ASAN) && !defined(__FreeBSD__) #include #define ZEEK_LSAN_CHECK(...) __lsan_do_leak_check(__VA_ARGS__) #define ZEEK_LSAN_ENABLE(...) __lsan_enable(__VA_ARGS__) #define ZEEK_LSAN_IGNORE(...) __lsan_ignore_object(__VA_ARGS__) #define ZEEK_LSAN_DISABLE(...) __lsan_disable(__VA_ARGS__) #define ZEEK_LSAN_DISABLE_SCOPE(...) __lsan::ScopedDisabler __VA_ARGS__ #else #define ZEEK_LSAN_CHECK(...) #define ZEEK_LSAN_ENABLE(...) #define ZEEK_LSAN_IGNORE(...) #define ZEEK_LSAN_DISABLE(...) #define ZEEK_LSAN_DISABLE_SCOPE(...) #endif // This part is dependent on calling configure with '--sanitizers=thread' // and not manually setting CFLAGS/CXXFLAGS to include --fsanitize=thread. // This is because some of the unit tests only work when built without // TSan, at least until SQLite opts to fix their problems with atomics. #if defined(__SANITIZE_THREAD__) #cmakedefine ZEEK_TSAN #endif #if defined(__has_feature) #if __has_feature(thread_sanitizer) #cmakedefine ZEEK_TSAN #endif #endif #if defined(ZEEK_TSAN) #define ZEEK_DISABLE_TSAN __attribute__((no_sanitize("thread"))) #else #define ZEEK_DISABLE_TSAN #endif