1 /* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 #ifndef CONFIG_H
3 #define CONFIG_H 1
4 
5 #cmakedefine HAVE_UMEM_H ${HAVE_UMEM_H}
6 #cmakedefine HAVE_SYSEXITS_H ${HAVE_SYSEXITS_H}
7 
8 #include <platform/platform.h>
9 
10 #ifdef WIN32
11 #include <ws2tcpip.h>
12 
13 extern char *strsep(char **stringp, const char *pattern);
14 
15 #define PATH_MAX 1024
16 
17 /* @todo investigate this one.. */
18 
19 #define SOCKETPAIR_AF AF_INET
20 #define get_socket_error() WSAGetLastError()
21 
22 typedef HANDLE pid_t;
23 typedef char* caddr_t;
24 
25 #define snprintf _snprintf
26 #define strtoull(a, b, c) _strtoui64(a, b, c)
27 #define strtoll(a, b, c) _strtoi64(a, b, c)
28 /* to stop the stupid compiler to whine about this.. */
29 #ifndef __cplusplus
30 #define strdup(a) _strdup(a)
31 #define putenv(a) _putenv(a)
32 #endif
33 
34 
35 #else
36 
37 #if !defined(__cplusplus) && !defined(linux) && !defined(__GNUC__)
38 typedef unsigned long long uint64_t;
39 typedef long long int64_t;
40 #endif
41 
42 #define closesocket(a) close(a)
43 #define SOCKET int
44 #define SOCKETPAIR_AF AF_UNIX
45 #define SOCKET_ERROR -1
46 #define INVALID_SOCKET -1
47 #define get_socket_error() errno
48 
49 /* some POSIX systems need the following definition
50 * to get mlockall flags out of sys/mman.h.  */
51 #ifndef _P1003_1B_VISIBLE
52 #define _P1003_1B_VISIBLE
53 #endif
54 /* need this to get IOV_MAX on some platforms. */
55 #ifndef __need_IOV_MAX
56 #define __need_IOV_MAX
57 #endif
58 
59 #ifndef _POSIX_PTHREAD_SEMANTICS
60 #define _POSIX_PTHREAD_SEMANTICS
61 #endif
62 
63 #ifdef __sun
64 #include <priv.h>
65 #define HAVE_DROP_PRIVILEGES 1
66 #endif
67 
68 #define HAVE_SIGIGNORE 1
69 #define HAVE_SIGPIPE 1
70 #define HAVE_SYS_UN_H 1
71 #cmakedefine HAVE_GETPWNAM ${HAVE_GETPWNAM}
72 #cmakedefine HAVE_GETRLIMIT ${HAVE_GETRLIMIT}
73 #cmakedefine HAVE_MLOCKALL ${HAVE_MLOCKALL}
74 #cmakedefine HAVE_GETPAGESIZES ${HAVE_GETPAGESIZES}
75 
76 
77 #include <sys/wait.h>
78 #include <sys/socket.h>
79 #include <netinet/in.h>
80 #include <netdb.h>
81 #include <unistd.h>
82 #include <sys/stat.h>
83 #include <sys/un.h>
84 #include <sys/resource.h>
85 #include <sys/uio.h>
86 #include <netinet/tcp.h>
87 #include <arpa/inet.h>
88 #include <sys/mman.h>
89 #include <pwd.h>
90 #include <sys/time.h>
91 #include <signal.h>
92 
93 /* @todo trondn fixme!! */
94 #if !defined(__cplusplus) && !defined(PRIu64)
95 #define PRIu64 "lu"
96 #endif
97 
98 #if !defined(__cplusplus) && !defined(PRIu32)
99 #define PRIu32 "u"
100 #endif
101 
102 
103 #endif
104 
105 /* Common section */
106 #include <stdlib.h>
107 #include <inttypes.h>
108 #include <sys/types.h>
109 
110 #ifdef HAVE_SYSEXITS_H
111 #include <sysexits.h>
112 #else
113 #define EX_USAGE EXIT_FAILURE
114 #define EX_OSERR EXIT_FAILURE
115 #endif
116 
117 #ifndef __cplusplus
118 #include <stdbool.h>
119 #endif
120 
121 #ifndef IOV_MAX
122 # define IOV_MAX 1024
123 #endif
124 #define SASL_ENABLED
125 
126 #define PACKAGE "moxi"
127 #define VERSION "${PRODUCT_VERSION}"
128 #define CONFLATE_DB_PATH "${CONFLATE_DB_PATH}"
129 
130 #include <event.h>
131 
132 #ifndef DEFAULT_ERRORLOG
133 #define DEFAULT_ERRORLOG ERRORLOG_STDERR
134 #endif
135 
136 #if defined(WORDS_BIGENDIAN) && WORDS_BIGENDIAN > 1
137 #define ENDIAN_BIG 1
138 #else
139 #define ENDIAN_LITTLE 1
140 #endif
141 
142 #endif
143