1 #ifndef ACE_CONFIG_KFREEBSD_H
2 #define ACE_CONFIG_KFREEBSD_H
4 // Make sure system defined macro (not related to ACE_OS::atop)
5 // is not defined during ACE compilation
6 #include <machine/param.h>
9 #include "ace/config-g++-common.h"
11 /* Uses ctime_r & asctime_r with only two parameters vs. three. */
12 #define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R 1
14 /* Define to 1 if platform has 3 parameter wcstok() */
15 #define ACE_HAS_3_PARAM_WCSTOK 1
17 /* Platform has BSD 4.4 sendmsg()/recvmsg() APIs. */
18 #define ACE_HAS_4_4BSD_SENDMSG_RECVMSG 1
20 /* Platform supports Asynchronous IO calls */
21 #define ACE_HAS_AIO_CALLS 1
23 /* Use ACE's alternate cuserid() implementation since a system cuserid() may
24 not exist, or it is not desirable to use it. The implementation requires
25 ACE_LACKS_PWD_FUNCTIONS to be undefined and that the geteuid() system call
27 #define ACE_HAS_ALT_CUSERID 1
29 /* Compiler/platform correctly calls init()/fini() for shared libraries. */
30 #define ACE_HAS_AUTOMATIC_INIT_FINI 1
32 /* Define to 1 if platform has bswap_16(). */
33 #define ACE_HAS_BSWAP_16 1
35 /* Define to 1 if platform has bswap_32(). */
36 #define ACE_HAS_BSWAP_32 1
38 /* Define to 1 if platform has bswap_64(). */
39 #define ACE_HAS_BSWAP_64 1
41 /* Define to 1 if platform has the <byteswap.h> header file. */
42 #define ACE_HAS_BYTESWAP_H 1
44 /* Define to 1 if platform has clock_gettime(). */
45 #define ACE_HAS_CLOCK_GETTIME 1
47 /* Define to 1 if platform has clock_settime(). */
48 #define ACE_HAS_CLOCK_SETTIME 1
50 /* Prototypes for both signal() and struct sigaction are consistent. */
51 #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES 1
53 /* Define to 1 if the system has the type `cpu_set_t'. */
54 #define ACE_HAS_CPU_SET_T 1
56 /* Platform supports operations on directories via struct dirent, readdir_r,
58 #define ACE_HAS_DIRENT 1
60 /* Define to 1 if platform has getifaddrs(). */
61 #define ACE_HAS_GETIFADDRS 1
63 /* Platform supports getpagesize() call (otherwise, ACE_PAGE_SIZE must be
64 defined, except on Win32). */
65 #define ACE_HAS_GETPAGESIZE 1
67 /* Define to 1 if platform has getrusage(). */
68 #define ACE_HAS_GETRUSAGE 1
70 /* Define to 1 if platform has the declaration of getrusage(). */
71 #define ACE_HAS_GETRUSAGE_PROTOTYPE 1
73 /* Denotes that GNU has cstring.h as standard which redefines memchr() */
74 #define ACE_HAS_GNU_CSTRING_H 1
76 /* The GPERF utility is compiled for this platform */
77 #define ACE_HAS_GPERF 1
79 /* Optimize ACE_Handle_Set::count_bits for select() operations (common case)
81 #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT 1
83 /* Defined to 1 if platform supports ICMP over raw sockets */
84 #define ACE_HAS_ICMP_SUPPORT 1
86 /* Define to 1 if the system has the type `int16_t'. */
87 /* Platform supports IPv6 */
88 #define ACE_HAS_IPV6 1
90 /* Platform supports IP multicast */
91 #define ACE_HAS_IP_MULTICAST 1
93 /* Define to 1 if platform has the declaration of isastream(). */
94 #define ACE_HAS_ISASTREAM_PROTOTYPE 1
96 /* Platform supports lseek64(). This should not be defined if ACE_HAS_LLSEEK
98 #define ACE_HAS_LSEEK64 1
100 /* Define to 1 if platform has memchr(). */
101 #define ACE_HAS_MEMCHR 1
103 /* Define to 1 if platform has mkdir(). */
104 #define ACE_HAS_MKDIR 1
106 /* Platform supports recvmsg and sendmsg */
107 #define ACE_HAS_MSG 1
109 /* Compiler supports timed mutex acquisitions (e.g.
110 pthread_mutex_timedlock()). */
111 #define ACE_HAS_MUTEX_TIMEOUTS 1
113 /* Define to 1 if platform has nanosleep(). */
114 #define ACE_HAS_NANOSLEEP 1
116 /* Define to 1 if platform has the <new.h> header file. */
121 #ifndef ACE_LACKS_NEW_H
122 #define ACE_LACKS_NEW_H 1
125 /* Platform's select() uses non-const timeval* (only found on Linux right now)
127 #define ACE_HAS_NONCONST_SELECT_TIMEVAL 1
129 /* Platform has swab(char*, char*, ssize_t) variant. */
130 #define ACE_HAS_NONCONST_SWAB 1
132 /* Platform contains <poll.h> */
133 #define ACE_HAS_POLL 1
135 /* Platform supports POSIX O_NONBLOCK semantics */
136 #define ACE_HAS_POSIX_NONBLOCK 1
138 /* Platform supports POSIX real-time semaphores (e.g., VxWorks and Solaris) */
139 #define ACE_HAS_POSIX_SEM 1
141 /* Platform supports the POSIX struct timespec type */
142 #define ACE_HAS_POSIX_TIME 1
144 /* Platform supports the /proc file system and defines tid_t in <sys/procfs.h>
146 #define ACE_HAS_PROC_FS 1
148 /* Define to 1 if platform has POSIX threads */
149 #define ACE_HAS_PTHREADS 1
151 /* Platform has the UNIX98 extensions to Pthreads (rwlocks) */
152 #define ACE_HAS_PTHREADS_UNIX98_EXT 1
154 /* Define to 1 if platform has pthread_getconcurrency(). */
155 #define ACE_HAS_PTHREAD_GETCONCURRENCY 1
157 /* Define to 1 if platform has pthread_mutexattr_setkind_np(). */
158 #define ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP 1
160 /* pthread.h declares an enum with PTHREAD_PROCESS_PRIVATE and
161 PTHREAD_PROCESS_SHARED values */
162 #define ACE_HAS_PTHREAD_PROCESS_ENUM 1
164 /* Define to 1 if platform has pthread_setconcurrency(). */
165 #define ACE_HAS_PTHREAD_SETCONCURRENCY 1
167 /* Define to 1 if platform has the declaration of pthread_sigmask(). */
168 #define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE 1
170 /* Platform has pread() and pwrite() support. */
171 #define ACE_HAS_P_READ_WRITE 1
173 /* Define to 1 to configure Reactor to use a user-space queue for
175 #define ACE_HAS_REACTOR_NOTIFICATION_QUEUE 1
177 /* Mutexes are inherently recursive (e.g., Win32) */
178 /* #undef ACE_HAS_RECURSIVE_MUTEXES */
180 /* Platform will recurse infinitely on thread exits from TSS cleanup routines */
181 #define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS 1
183 /* Platform supports reentrant functions (i.e., all the POSIX *_r functions).
185 #define ACE_HAS_REENTRANT_FUNCTIONS 1
187 /* Define to 1 if platform has sched_getaffinity(). */
188 #define ACE_HAS_SCHED_GETAFFINITY 1
190 /* Define to 1 if platform has sched_setaffinity(). */
191 #define ACE_HAS_SCHED_SETAFFINITY 1
193 /* Platform has shm_open() */
194 #define ACE_HAS_SHM_OPEN 1
196 /* Platform's sigaction() function takes const sigaction* as 2nd parameter */
197 #define ACE_HAS_SIGACTION_CONSTP2 1
199 /* Define to 1 if the system has the type `siginfo_t'. */
200 #define ACE_HAS_SIGINFO_T 1
202 /* Define to 1 if platform has sigsuspend(). */
203 #define ACE_HAS_SIGSUSPEND 1
205 /* Define to 1 if platform has sigtimedwait(). */
206 #define ACE_HAS_SIGTIMEDWAIT 1
208 /* Define to 1 if platform has sigwait(). */
209 #define ACE_HAS_SIGWAIT 1
211 /* Define to 1 if the system has the type 'sig_atomic_t'. */
212 #define ACE_HAS_SIG_ATOMIC_T 1
214 /* Compiler requires extern "C" functions for signals. */
215 #define ACE_HAS_SIG_C_FUNC 1
217 /* Define to 1 if `sin6_len' is a member of `sockaddr_in6'. */
218 #define ACE_HAS_SOCKADDR_IN6_SIN6_LEN 1
220 /* Define to 1 if `sin_len' is a member of `sockaddr_in'. */
221 #define ACE_HAS_SOCKADDR_IN_SIN_LEN 1
223 /* Platform requires (struct sockaddr *) for msg_name field of struct msghdr.
225 #define ACE_HAS_SOCKADDR_MSG_NAME 1
227 /* Define to 1 if the system has the type `socklen_t'. */
228 #define ACE_HAS_SOCKLEN_T 1
230 /* Define to 1 if the system has the type `ssize_t'. */
231 #define ACE_HAS_SSIZE_T 1
233 /* Compiler supports standard C++ template class member specializations */
234 #define ACE_HAS_STD_TEMPLATE_CLASS_MEMBER_SPECIALIZATION 1
236 /* Compiler supports standard C++ template specializations (e.g. "template <>"
238 #define ACE_HAS_STD_TEMPLATE_SPECIALIZATION 1
240 /* Compiler/platform supports struct strbuf */
241 #define ACE_HAS_STRBUF_T 1
243 /* Platform supports STREAMS */
244 #define ACE_HAS_STREAMS 1
246 /* Define to 1 if platform has strerror(). */
247 #define ACE_HAS_STRERROR 1
249 /* Platform has <strings.h> (which contains bzero() prototype) */
250 #define ACE_HAS_STRINGS 1
252 /* Define to 1 if platform has strnlen(). */
253 #define ACE_HAS_STRNLEN 1
255 /* Compiler/platform supports SVR4 dynamic linking semantics */
256 #define ACE_HAS_SVR4_DYNAMIC_LINKING 1
258 /* Define to 1 if platform has sysctl(). */
259 #define ACE_HAS_SYSCTL 1
261 /* Platform supports System V IPC (most versions of UNIX, but not Win32) */
262 #define ACE_HAS_SYSV_IPC
264 /* Platform/compiler supports _sys_errlist symbol */
265 #define ACE_HAS_SYS_ERRLIST 1
267 /* Define to 1 if platform has the <sys/filio.h> header file. */
268 #define ACE_HAS_SYS_FILIO_H 1
270 /* Compiler/platform supports _sys_siglist array */
271 #define ACE_HAS_SYS_SIGLIST 1
273 /* Define to 1 if platform has the <sys/sockio.h> header file. */
274 #define ACE_HAS_SYS_SOCKIO_H 1
276 /* Define to 1 if platform has the <sys/syscall.h> header file. */
277 #define ACE_HAS_SYS_SYSCALL_H 1
279 /* Define to 1 if system supports POSIX tty API. */
280 #define ACE_HAS_TERMIOS 1
282 /* Platform supports threads. */
283 #define ACE_HAS_THREADS 1
285 /* Compiler/platform has thread-specific storage */
286 #define ACE_HAS_THREAD_SPECIFIC_STORAGE 1
288 /* Define to 1 if platform has global timezone variable */
289 #define ACE_HAS_TIMEZONE 1
291 /* Platform/compiler supports timezone * as second parameter to gettimeofday()
292 and has a prototype. */
293 #define ACE_HAS_TIMEZONE_GETTIMEOFDAY 1
295 /* Compiler supports the C++ typename keyword */
296 #define ACE_HAS_TYPENAME_KEYWORD 1
298 /* Define to 1 if platform has ualarm(). */
299 #define ACE_HAS_UALARM 1
301 /* Define to 1 if the system has the type `ucontext_t'. */
302 #define ACE_HAS_UCONTEXT_T 1
304 /* Define to 1 if platform has vasprintf(). */
305 #define ACE_HAS_VASPRINTF 1
307 /* Define to 1 if platform has vfwprintf(). */
308 #define ACE_HAS_VFWPRINTF 1
310 /* Platform requires void * for mmap(). */
311 #define ACE_HAS_VOIDPTR_MMAP 1
313 /* OS/compiler uses void * arg 4 setsockopt() rather than const char * */
314 #define ACE_HAS_VOIDPTR_SOCKOPT 1
316 /* Define to 1 if platform has vswprintf(). */
317 #define ACE_HAS_VSWPRINTF 1
319 /* Platform/compiler supports wchar_t */
320 #define ACE_HAS_WCHAR 1
322 /* Define to 1 if platform has wcsnlen(). */
323 #define ACE_HAS_WCSNLEN 1
325 /* Platform has support for multi-byte character support compliant with the
326 XPG4 Worldwide Portability Interface wide-character classification. */
327 #define ACE_HAS_XPG4_MULTIBYTE_CHAR 1
329 /* Platform has Xt Intrinsics Toolkit */
332 /* Define to the type of arg 2 for `ioctl'. */
333 #define ACE_IOCTL_TYPE_ARG2 int
335 /* Define to 1 if platform lacks getipnodebyaddr(). */
336 #define ACE_LACKS_GETIPNODEBYADDR 1
338 /* Define to 1 if platform lacks getipnodebyname(). */
339 #define ACE_LACKS_GETIPNODEBYNAME 1
341 /* iostream header does not declare ipfx (), opfx (), etc. */
342 #define ACE_LACKS_IOSTREAM_FX 1
344 /* Define to 1 if platform lacks itow(). */
345 #define ACE_LACKS_ITOW 1
347 /* Platform lacks streambuf "linebuffered ()". */
348 #define ACE_LACKS_LINEBUFFERED_STREAMBUF 1
350 /* Platform does not have Motif X toolkit available */
351 #define ACE_LACKS_MOTIF 1
353 /* Platform defines ACE_HAS_MSG, but lacks msg_accrights{len}. */
354 #define ACE_LACKS_MSG_ACCRIGHTS 1
356 /* Platform lacks named POSIX semaphores */
357 #define ACE_LACKS_NAMED_POSIX_SEM 1
359 /* Compiler complains about use of obsolete "pragma once" */
360 #define ACE_LACKS_PRAGMA_ONCE 1
362 /* Define to 1 if platform lacks pthread_thr_sigsetmask(). */
363 #define ACE_LACKS_PTHREAD_THR_SIGSETMASK 1
365 /* Platform lacks readers/writer locks. */
366 #define ACE_LACKS_RWLOCK_T 1
368 /* Define to 1 if platform lacks the <siginfo.h> header file. */
369 #define ACE_LACKS_SIGINFO_H 1
371 /* Define to 1 if platform lacks the <termio.h> header file. */
372 #define ACE_LACKS_TERMIO_H 1
374 /* Define to 1 if platform lacks the declarations of recv_timedwait,
375 send_timedwait, etc. */
376 #define ACE_LACKS_TIMEDWAIT_PROTOTYPES 1
378 /* Platform does not define timepec_t as a typedef for struct timespec. */
379 #define ACE_LACKS_TIMESPEC_T 1
382 #define ACE_LACKS_UNBUFFERED_STREAMBUF 1
384 /* Define to 1 if platform lacks wcsnicmp(). */
385 #define ACE_LACKS_WCSNICMP 1
387 /* Compile using multi-thread libraries */
388 #define ACE_MT_SAFE 1
390 /* Enable IPv6 support on platforms that don't have IPv6 turned on by default
392 #define ACE_USES_IPV4_IPV6_MIGRATION 1
394 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
395 significant byte first (like Motorola and SPARC, unlike Intel). */
396 #if defined AC_APPLE_UNIVERSAL_BUILD
397 # if defined __BIG_ENDIAN__
398 # define WORDS_BIGENDIAN 1
401 # ifndef WORDS_BIGENDIAN
402 /* # undef WORDS_BIGENDIAN */
406 /* Enable ACE inlining */
407 #define __ACE_INLINE__ 1
409 #endif /* ACE_CONFIG_KFREEBSD_H */