1#ifndef __ZMQ_PLATFORM_HPP_INCLUDED__
2#define __ZMQ_PLATFORM_HPP_INCLUDED__
3
4#define ZMQ_USE_CV_IMPL_STL11
5/* #undef ZMQ_USE_CV_IMPL_WIN32API */
6/* #undef ZMQ_USE_CV_IMPL_PTHREADS */
7/* #undef ZMQ_USE_CV_IMPL_NONE */
8
9/* #undef ZMQ_IOTHREAD_POLLER_USE_KQUEUE */
10#define ZMQ_IOTHREAD_POLLER_USE_EPOLL
11#define ZMQ_IOTHREAD_POLLER_USE_EPOLL_CLOEXEC
12/* #undef ZMQ_IOTHREAD_POLLER_USE_DEVPOLL */
13/* #undef ZMQ_IOTHREAD_POLLER_USE_POLL */
14/* #undef ZMQ_IOTHREAD_POLLER_USE_SELECT */
15
16/* #undef ZMQ_POLL_BASED_ON_SELECT */
17#define ZMQ_POLL_BASED_ON_POLL
18
19#define ZMQ_CACHELINE_SIZE 64
20
21/* #undef ZMQ_FORCE_MUTEXES */
22
23#define HAVE_FORK
24#define HAVE_CLOCK_GETTIME
25/* #undef HAVE_GETHRTIME */
26#define HAVE_MKDTEMP
27#define ZMQ_HAVE_UIO
28
29#define ZMQ_HAVE_NOEXCEPT
30
31#define ZMQ_HAVE_EVENTFD
32#define ZMQ_HAVE_EVENTFD_CLOEXEC
33#define ZMQ_HAVE_IFADDRS
34#define ZMQ_HAVE_SO_BINDTODEVICE
35
36#define ZMQ_HAVE_SO_PEERCRED
37/* #undef ZMQ_HAVE_LOCAL_PEERCRED */
38
39#define ZMQ_HAVE_O_CLOEXEC
40
41#define ZMQ_HAVE_SOCK_CLOEXEC
42#define ZMQ_HAVE_SO_KEEPALIVE
43#define ZMQ_HAVE_TCP_KEEPCNT
44#define ZMQ_HAVE_TCP_KEEPIDLE
45#define ZMQ_HAVE_TCP_KEEPINTVL
46/* #undef ZMQ_HAVE_TCP_KEEPALIVE */
47/* #undef ZMQ_HAVE_PTHREAD_SETNAME_1 */
48#define ZMQ_HAVE_PTHREAD_SETNAME_2
49/* #undef ZMQ_HAVE_PTHREAD_SETNAME_3 */
50/* #undef ZMQ_HAVE_PTHREAD_SET_NAME */
51#define HAVE_ACCEPT4
52#define HAVE_STRNLEN
53
54#define ZMQ_HAVE_IPC
55
56#define ZMQ_USE_BUILTIN_SHA1
57/* #undef ZMQ_USE_NSS */
58#define ZMQ_HAVE_WS
59
60/* #undef ZMQ_HAVE_OPENPGM */
61/* #undef ZMQ_MAKE_VALGRIND_HAPPY */
62
63#define ZMQ_HAVE_CURVE
64#define ZMQ_USE_TWEETNACL
65/* #undef ZMQ_USE_LIBSODIUM */
66/* #undef SODIUM_STATIC */
67
68#ifdef _AIX
69 #define ZMQ_HAVE_AIX
70#endif
71
72#if defined __ANDROID__
73 #define ZMQ_HAVE_ANDROID
74#endif
75
76#if defined __CYGWIN__
77 #define ZMQ_HAVE_CYGWIN
78#endif
79
80#if defined __MINGW32__
81 #define ZMQ_HAVE_MINGW32
82#endif
83
84#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
85 #define ZMQ_HAVE_FREEBSD
86#endif
87
88#if defined(__DragonFly__)
89 #define ZMQ_HAVE_FREEBSD
90 #define ZMQ_HAVE_DRAGONFLY
91#endif
92
93#if defined __hpux
94 #define ZMQ_HAVE_HPUX
95#endif
96
97#if defined __linux__
98 #define ZMQ_HAVE_LINUX
99#endif
100
101#if defined __NetBSD__
102 #define ZMQ_HAVE_NETBSD
103#endif
104
105#if defined __OpenBSD__
106 #define ZMQ_HAVE_OPENBSD
107#endif
108
109// TODO better move OS-specific defines to the automake files, and check for availability of IPC with an explicit test there
110#if defined __VMS
111 #define ZMQ_HAVE_OPENVMS
112 #undef ZMQ_HAVE_IPC
113#endif
114
115#if defined __APPLE__
116 #define ZMQ_HAVE_OSX
117#endif
118
119#if defined __QNXNTO__
120 #define ZMQ_HAVE_QNXNTO
121#endif
122
123#if defined(sun) || defined(__sun)
124 #define ZMQ_HAVE_SOLARIS
125#endif
126
127/* #undef ZMQ_HAVE_WINDOWS */
128/* #undef ZMQ_HAVE_WINDOWS_UWP */
129
130#endif
131