GNU CommonC++
config.h
Go to the documentation of this file.
1/* config.h. Generated from config.h.in by configure. */
2/* config.h.in. Generated from configure.ac by autoheader. */
3
4#ifndef CCXX_CONFIG_H_
5#define CCXX_CONFIG_H_
6#define __DLL
7#define __EXPORT_TEMPLATE(x)
8/* #undef CCXX_EMPTY */
9#define CCXX_EMPTY
10
11#define COMMON_64_CLEAN
12#define COMMON_ASYNC_OVERRIDE
13#define COMMON_OST_NAMESPACE
14#define COMMON_THREAD_SLEEP
15#define COMMON_NET_DEVICES
16#define COMMON_THREAD_DEBUG
17#define COMMON_DEADLOCK_DEBUG
18#define COMMON_NAMED_MUTEX
19#define COMMON_PROCESS_ATTACH
20#define COMMON_XML_PARSING
21#define COMMON_TIMER_SLEEP
22
23#if __GNUC__ > 1 && !defined(__STRICT_ANSI__) && !defined(__PEDANTIC__)
24#define DYNAMIC_LOCAL_ARRAYS
25#endif
26
27#if defined(__CYGWIN__)
28#define _POSIX_REALTIME_SIGNALS
29#define _POSIX_THREADS
30#endif
31
32#if defined(__APPLE__) && defined(__MACH__)
33#ifndef MACOSX
34#define MACOSX
35#define _P1003_1B_VISIBLE
36#endif
37#ifndef _PTHREADS
38#define _PTHREADS 1
39#endif
40#endif
41
42#if defined(__FreeBSD__)
43#ifndef __BSD_VISIBLE
44#define __BSD_VISIBLE 1
45#endif
46#endif
47
48#ifdef _AIX
49#ifndef _ALL_SOURCE
50#define _ALL_SOURCE 1
51#endif
52#endif
53
54#ifdef __hpux
55#ifndef _XOPEN_SOURCE_EXTENDED
56#define _XOPEN_SOURCE_EXTENDED
57#endif
58#ifndef _INCLUDE_LONGLONG
59#define _INCLUDE_LONGLONG
60#endif
61#endif
62
63#define CCXX_PACKING
64#if defined(__GNUC__)
65#define CCXX_PACKED
66#elif !defined(__hpux) && !defined(_AIX)
67#define CCXX_PACKED
68#endif
69
70#if defined(__sun) || defined(__SUN__)
71#define __EXTENSIONS__ 1
72#endif
73
74#ifndef _REENTRANT
75#define _REENTRANT 1
76#endif
77
78#ifndef _THREAD_SAFE
79#define _THREAD_SAFE 1
80#endif
81
82#ifndef _GNU_SOURCE
83#define _GNU_SOURCE 1
84#endif
85
86#if !defined(_XOPEN_SOURCE) && !defined(__FreeBSD__) &&!defined(__OpenBSD__) && !defined(__MACH__) && !defined(__NetBSD__)
87#define _XOPEN_SOURCE 600
88#endif
89
90
91
92/* hack for BROKEN autoheader, since it will not predicitably order
93 macros by any obvious means. */
94
95#define HAVE_UNISTD_H 1
96#define HAVE_FEATURES_H 1
97#define HAVE_SYS_TYPES_H 1
98
99#ifdef HAVE_UNISTD_H
100#include <unistd.h>
101#endif
102
103#ifndef WIN32
104#ifdef HAVE_FEATURES_H
105#include <features.h>
106#endif
107#endif
108
109#ifdef HAVE_SYS_TYPES_H
110#include <sys/types.h>
111#endif
112
113
114
115#define HAVE_SYS_TIME_H 1
116#define TIME_WITH_SYS_TIME 1
117#if TIME_WITH_SYS_TIME
118#include <sys/time.h>
119#else
120#if HAVE_SYS_TIME_H
121#include <sys/time.h>
122#endif
123#endif
124
125
126
127
128#define HAVE_SYS_TYPES_STD 1
129#define HAVE_SYS_TYPES_64 1
130#define HAVE_LONG_LONG 1
131/* #undef HAVE_SYS_TYPES */
132
133#ifdef HAVE_SYS_TYPES_H
134#include <sys/types.h>
135#endif
136
137#ifdef HAVE_BITS_WORSIZE_H
138#include <bits/wordtypes.h>
139#endif
140
141#ifdef HAVE_SYS_TYPES_STD
142typedef int8_t int8;
143typedef u_int8_t uint8;
144typedef int16_t int16;
145typedef u_int16_t uint16;
146typedef int32_t int32;
147typedef u_int32_t uint32;
148#ifdef HAVE_SYS_TYPES_64
149#define HAVE_64_BITS
150typedef int64_t int64;
151typedef u_int64_t uint64;
152#endif
153#else
154typedef char int8;
155typedef unsigned char uint8;
156typedef short int16;
157typedef unsigned short uint16;
158typedef int int32;
159typedef unsigned int uint32;
160#endif
161
162#ifndef HAVE_SYS_TYPES_64
163#if defined(__WORDSIZE) || defined(__arch64__)
164#if __WORDSIZE >= 64 || defined(__arch64__)
165typedef long int int64;
166typedef unsigned long int uint64;
167#define HAVE_SYS_TYPES_64 1
168#define HAVE_64_BITS
169#endif
170#endif
171#endif
172
173#ifndef HAVE_SYS_TYPES_64
174#ifdef __GNUC__
175#if defined(HAVE_LONG_LONG) || defined(_LONGLONG)
176__extension__
177typedef long long int int64;
178__extension__
179typedef unsigned long long int uint64;
180#define HAVE_SYS_TYPES_64 1
181#define HAVE_64_BITS
182#endif
183#endif
184#endif
185
186#ifndef HAVE_SYS_TYPES_64
187#if defined(HAVE_LONG_LONG) || defined(_LONGLONG)
188#define HAVE_64_BITS
189typedef long long int64;
190typedef unsigned long long uint64;
191#endif
192#endif
193
194
195/* has c++ exception handling */
196#define CCXX_EXCEPTIONS 1
197
198/* define gnutls */
199/* #undef CCXX_GNUTLS */
200
201/* have new with init */
202#define CCXX_HAVE_NEW_INIT 1
203
204/* has c++ namespaces */
205#define CCXX_NAMESPACES 1
206
207/* NAT support */
208#define CCXX_NAT 1
209
210/* define openssl */
211/* #undef CCXX_OPENSSL */
212
213/* defines ssl */
214/* #undef CCXX_SSL */
215
216/* aix fixes needed */
217/* #undef COMMON_AIX_FIXES */
218
219/* enable auditing */
220/* #undef COMMON_MEMORY_AUDIT */
221
222/* cygwin environment */
223/* #undef CYGWIN_IMPORTS */
224
225/* primary config prefix */
226/* #undef ETC_CONFDIR */
227
228/* system config prefix */
229#define ETC_PREFIX "/etc/"
230
231/* Define to 1 if you have the <alloca.h> header file. */
232#define HAVE_ALLOCA_H 1
233
234/* Define to 1 if you have the <arpa/inet.h> header file. */
235#define HAVE_ARPA_INET_H 1
236
237/* atomic aix operations */
238/* #undef HAVE_ATOMIC_AIX */
239
240/* Define to 1 if you have the <bits/atomicity.h> header file. */
241/* #undef HAVE_BITS_ATOMICITY_H */
242
243/* Define to 1 if you have the <bits/wordsize.h> header file. */
244#define HAVE_BITS_WORDSIZE_H 1
245
246/* have bool type */
247#define HAVE_BOOL_TYPE 1
248
249/* Define to 1 if you have the <bsd/signal.h> header file. */
250/* #undef HAVE_BSD_SIGNAL_H */
251
252/* Define to 1 if you have the 'clock_gettime' function. */
253/* #undef HAVE_CLOCK_GETTIME */
254
255/* Define to 1 if you have the <dlfcn.h> header file. */
256#define HAVE_DLFCN_H 1
257
258/* have endian header */
259#define HAVE_ENDIAN_H 1
260
261/* Define to 1 if you have the <errno.h> header file. */
262#define HAVE_ERRNO_H 1
263
264/* Define to 1 if you have the <exception> header file. */
265#define HAVE_EXCEPTION 1
266
267/* Enable extras */
268#define HAVE_EXTRAS 1
269
270/* Define to 1 if you have the <fcntl.h> header file. */
271#define HAVE_FCNTL_H 1
272
273/* Define to 1 if you have the <features.h> header file. */
274#define HAVE_FEATURES_H 1
275
276/* has gcc atomic functions */
277/* #undef HAVE_GCC_BITS_ATOMIC */
278
279/* has __gnu_cxx atomic functions */
280/* #undef HAVE_GCC_CXX_BITS_ATOMIC */
281
282/* getaddrinfo interface support */
283#define HAVE_GETADDRINFO 1
284
285/* reentrant getgrnam */
286#define HAVE_GETGRNAM_R 1
287
288/* ipv6 host lookup */
289#define HAVE_GETHOSTBYNAME2 1
290
291/* have getopt header */
292#define HAVE_GETOPT 1
293
294/* Define to 1 if you have the <getopt.h> header file. */
295#define HAVE_GETOPT_H 1
296
297/* Define to 1 if you have the 'getopt_long' function. */
298#define HAVE_GETOPT_LONG 1
299
300/* Define to 1 if you have the 'getpagesize' function. */
301#define HAVE_GETPAGESIZE 1
302
303/* reentrant getnam */
304#define HAVE_GETPWNAM_R 1
305
306/* reentrant getuid */
307#define HAVE_GETPWUID_R 1
308
309/* Define to 1 if you have the 'gettimeofday' function. */
310#define HAVE_GETTIMEOFDAY 1
311
312/* have hires */
313#define HAVE_HIRES_TIMER 1
314
315/* has inet_aton */
316#define HAVE_INET_ATON 1
317
318/* ipv6 support */
319#define HAVE_INET_PTON 1
320
321/* inet sockets */
322#define HAVE_INET_SOCKETS 1
323
324/* Define to 1 if you have the <inttypes.h> header file. */
325#define HAVE_INTTYPES_H 1
326
327/* Define to 1 if you have the <ioctl.h> header file. */
328/* #undef HAVE_IOCTL_H */
329
330/* Define to 1 if you have the <ip_compat.h> header file. */
331/* #undef HAVE_IP_COMPAT_H */
332
333/* Define to 1 if you have the <ip_fil_compat.h> header file. */
334/* #undef HAVE_IP_FIL_COMPAT_H */
335
336/* Define to 1 if you have the <ip_fil.h> header file. */
337/* #undef HAVE_IP_FIL_H */
338
339/* Define to 1 if you have the <ip_nat.h> header file. */
340/* #undef HAVE_IP_NAT_H */
341
342/* Define to 1 if you have the 'malloc' library (-lmalloc). */
343/* #undef HAVE_LIBMALLOC */
344
345/* Define to 1 if you have the <limits.h> header file. */
346#define HAVE_LIMITS_H 1
347
348/* Define to 1 if you have the <linux/in6.h> header file. */
349#define HAVE_LINUX_IN6_H 1
350
351/* Define to 1 if you have the <linux/netfilter_ipv4.h> header file. */
352#define HAVE_LINUX_NETFILTER_IPV4_H 1
353
354/* Define to 1 if you have the <linux/netfilter_ipv6.h> header file. */
355#define HAVE_LINUX_NETFILTER_IPV6_H 1
356
357/* reentrant localtime */
358#define HAVE_LOCALTIME_R 1
359
360/* Define to 1 if you have the 'lockf' function. */
361#define HAVE_LOCKF 1
362
363/* have long longs */
364#define HAVE_LONG_LONG 1
365
366/* Define to 1 if you have the 'lstat' function. */
367#define HAVE_LSTAT 1
368
369/* mach dybloader */
370/* #undef HAVE_MACH_DYLD */
371
372/* Define to 1 if you have the <mach-o/dyld.h> header file. */
373/* #undef HAVE_MACH_O_DYLD_H */
374
375/* Define to 1 if you have the 'memmove' function. */
376#define HAVE_MEMMOVE 1
377
378/* Define to 1 if you have the <minix/config.h> header file. */
379/* #undef HAVE_MINIX_CONFIG_H */
380
381/* Define to 1 if you have the 'mlock' function. */
382#define HAVE_MLOCK 1
383
384/* Define to 1 if you have the 'mlockall' function. */
385#define HAVE_MLOCKALL 1
386
387/* support for plugin modules */
388#define HAVE_MODULES 1
389
390/* IPF NAT support */
391/* #undef HAVE_NAT_IPF */
392
393/* NetFilter NAT support */
394#define HAVE_NAT_NETFILTER 1
395
396/* PF NAT support */
397/* #undef HAVE_NAT_PF */
398
399/* Define to 1 if you have the <netinet6/in6.h> header file. */
400/* #undef HAVE_NETINET6_IN6_H */
401
402/* Define to 1 if you have the <netinet/inet.h> header file. */
403/* #undef HAVE_NETINET_INET_H */
404
405/* Define to 1 if you have the <netinet/in.h> header file. */
406#define HAVE_NETINET_IN_H 1
407
408/* Define to 1 if you have the <netinet/in_systm.h> header file. */
409#define HAVE_NETINET_IN_SYSTM_H 1
410
411/* Define to 1 if you have the <netinet/ip_compat.h> header file. */
412/* #undef HAVE_NETINET_IP_COMPAT_H */
413
414/* Define to 1 if you have the <netinet/ip_fil_compat.h> header file. */
415/* #undef HAVE_NETINET_IP_FIL_COMPAT_H */
416
417/* Define to 1 if you have the <netinet/ip_fil.h> header file. */
418/* #undef HAVE_NETINET_IP_FIL_H */
419
420/* Define to 1 if you have the <netinet/ip.h> header file. */
421#define HAVE_NETINET_IP_H 1
422
423/* Define to 1 if you have the <netinet/ip_nat.h> header file. */
424/* #undef HAVE_NETINET_IP_NAT_H */
425
426/* Define to 1 if you have the <net/if.h> header file. */
427#define HAVE_NET_IF_H 1
428
429/* Define to 1 if you have the <net/pfvar.h> header file. */
430/* #undef HAVE_NET_PFVAR_H */
431
432/* old style iostreams */
433/* #undef HAVE_OLD_IOSTREAM */
434
435/* Define to 1 if you have the 'poll' function. */
436#define HAVE_POLL 1
437
438/* Define to 1 if you have the <poll.h> header file. */
439#define HAVE_POLL_H 1
440
441/* Define to 1 if you have the 'posix_memalign' function. */
442#define HAVE_POSIX_MEMALIGN 1
443
444/* has pwrite */
445#define HAVE_PREAD_PWRITE 1
446
447/* has stack size */
448#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
449
450/* has cancel */
451#define HAVE_PTHREAD_CANCEL 1
452
453/* has non portable delay */
454/* #undef HAVE_PTHREAD_DELAY_NP */
455
456/* posix thread header */
457#define HAVE_PTHREAD_H 1
458
459/* has mach link */
460/* #undef HAVE_PTHREAD_MACH_THREAD_NP */
461
462/* has non portable setkind */
463/* #undef HAVE_PTHREAD_MUTEXATTR_SETKIND_NP */
464
465/* has setttype */
466#define HAVE_PTHREAD_MUTEXATTR_SETTYPE 1
467
468/* has non portable settype */
469/* #undef HAVE_PTHREAD_MUTEXATTR_SETTYPE_NP */
470
471/* has nanosleep */
472#define HAVE_PTHREAD_NANOSLEEP 1
473
474/* Define to 1 if you have the <pthread_np.h> header file. */
475/* #undef HAVE_PTHREAD_NP_H */
476
477/* has rwlock support */
478#define HAVE_PTHREAD_RWLOCK 1
479
480/* has sched yield */
481#define HAVE_PTHREAD_SCHED_YIELD 1
482
483/* has setcancel */
484/* #undef HAVE_PTHREAD_SETCANCEL */
485
486/* has setcanceltype */
487#define HAVE_PTHREAD_SETCANCELTYPE 1
488
489/* has suspend */
490/* #undef HAVE_PTHREAD_SUSPEND */
491
492/* has yield */
493/* #undef HAVE_PTHREAD_YIELD */
494
495/* has np yield */
496/* #undef HAVE_PTHREAD_YIELD_NP */
497
498/* reentrant readdir */
499#define HAVE_READDIR_R 1
500
501/* Define to 1 if you have the 'realpath' function. */
502#define HAVE_REALPATH 1
503
504/* Define to 1 if you have the 'sched_getscheduler' function. */
505#define HAVE_SCHED_GETSCHEDULER 1
506
507/* Define to 1 if you have the <sched.h> header file. */
508#define HAVE_SCHED_H 1
509
510/* Define to 1 if you have the <select.h> header file. */
511/* #undef HAVE_SELECT_H */
512
513/* Define to 1 if you have the <semaphore.h> header file. */
514#define HAVE_SEMAPHORE_H 1
515
516/* Define to 1 if you have the 'setegid' function. */
517#define HAVE_SETEGID 1
518
519/* Define to 1 if you have the 'setenv' function. */
520#define HAVE_SETENV 1
521
522/* Define to 1 if you have the 'setitimer' function. */
523#define HAVE_SETITIMER 1
524
525/* Define to 1 if you have the 'setpgrp' function. */
526#define HAVE_SETPGRP 1
527
528/* have shload plugins */
529/* #undef HAVE_SHL_LOAD */
530
531/* Define to 1 if you have the 'sigaction' function. */
532#define HAVE_SIGACTION 1
533
534/* Define to 1 if you have the 'sigwait' function. */
535#define HAVE_SIGWAIT 1
536
537/* 2 argument form */
538#define HAVE_SIGWAIT2 1
539
540/* Define to 1 if you have the 'snprintf' function. */
541#define HAVE_SNPRINTF 1
542
543/* has socklen_t type */
544#define HAVE_SOCKLEN_T 1
545
546/* Define to 1 if you have the <sstream> header file. */
547#define HAVE_SSTREAM 1
548
549/* Define to 1 if you have the <ss.h> header file. */
550/* #undef HAVE_SS_H */
551
552/* Define to 1 if you have the <stdint.h> header file. */
553#define HAVE_STDINT_H 1
554
555/* Define to 1 if you have the <stdio.h> header file. */
556#define HAVE_STDIO_H 1
557
558/* Define to 1 if you have the <stdlib.h> header file. */
559#define HAVE_STDLIB_H 1
560
561/* Define to 1 if you have the 'strcasecmp' function. */
562#define HAVE_STRCASECMP 1
563
564/* Define to 1 if you have the 'strdup' function. */
565#define HAVE_STRDUP 1
566
567/* reentrant strerror */
568#define HAVE_STRERROR_R 1
569
570/* Define to 1 if you have the <strings.h> header file. */
571#define HAVE_STRINGS_H 1
572
573/* Define to 1 if you have the <string.h> header file. */
574#define HAVE_STRING_H 1
575
576/* reentrant strtok */
577#define HAVE_STRTOK_R 1
578
579/* Define to 1 if you have the <syslog.h> header file. */
580#define HAVE_SYSLOG_H 1
581
582/* Define to 1 if you have the <syslog.hposix_evlog.h> header file. */
583/* #undef HAVE_SYSLOG_HPOSIX_EVLOG_H */
584
585/* Define to 1 if you have the <sys/atomic.h> header file. */
586/* #undef HAVE_SYS_ATOMIC_H */
587
588/* Define to 1 if you have the <sys/atomic_op.h> header file. */
589/* #undef HAVE_SYS_ATOMIC_OP_H */
590
591/* Define to 1 if you have the <sys/fcntl.h> header file. */
592#define HAVE_SYS_FCNTL_H 1
593
594/* Define to 1 if you have the <sys/file.h> header file. */
595#define HAVE_SYS_FILE_H 1
596
597/* Define to 1 if you have the <sys/ioctl.h> header file. */
598#define HAVE_SYS_IOCTL_H 1
599
600/* solaris endian */
601/* #undef HAVE_SYS_ISA_DEFS_H */
602
603/* Define to 1 if you have the <sys/libcsys.h> header file. */
604/* #undef HAVE_SYS_LIBCSYS_H */
605
606/* Define to 1 if you have the <sys/param.h> header file. */
607#define HAVE_SYS_PARAM_H 1
608
609/* Define to 1 if you have the <sys/poll.h> header file. */
610#define HAVE_SYS_POLL_H 1
611
612/* Define to 1 if you have the <sys/sched.h> header file. */
613/* #undef HAVE_SYS_SCHED_H */
614
615/* Define to 1 if you have the <sys/select.h> header file. */
616#define HAVE_SYS_SELECT_H 1
617
618/* Define to 1 if you have the <sys/socket.h> header file. */
619#define HAVE_SYS_SOCKET_H 1
620
621/* Define to 1 if you have the <sys/sockio.h> header file. */
622/* #undef HAVE_SYS_SOCKIO_H */
623
624/* Define to 1 if you have the <sys/stat.h> header file. */
625#define HAVE_SYS_STAT_H 1
626
627/* Define to 1 if you have the <sys/stream.h> header file. */
628/* #undef HAVE_SYS_STREAM_H */
629
630/* Define to 1 if you have the <sys/time.h> header file. */
631#define HAVE_SYS_TIME_H 1
632
633/* have 64 bit longs */
634#define HAVE_SYS_TYPES_64 1
635
636/* Define to 1 if you have the <sys/types.h> header file. */
637#define HAVE_SYS_TYPES_H 1
638
639/* have systypes */
640#define HAVE_SYS_TYPES_STD 1
641
642/* Define to 1 if you have the <sys/un.h> header file. */
643#define HAVE_SYS_UN_H 1
644
645/* Define to 1 if you have the <sys/wait.h> header file. */
646#define HAVE_SYS_WAIT_H 1
647
648/* Define to 1 if you have the <thread.h> header file. */
649/* #undef HAVE_THREAD_H */
650
651/* Define to 1 if you have the <unistd.h> header file. */
652#define HAVE_UNISTD_H 1
653
654/* has unix domain sockets */
655#define HAVE_UNIX_SOCKETS 1
656
657/* Define to 1 if you have the 'wait4' function. */
658#define HAVE_WAIT4 1
659
660/* Define to 1 if you have the 'waitpid' function. */
661#define HAVE_WAITPID 1
662
663/* Define to 1 if you have the <wchar.h> header file. */
664#define HAVE_WCHAR_H 1
665
666/* Define to 1 if you have the <winsock2.h> header file. */
667/* #undef HAVE_WINSOCK2_H */
668
669/* Define to 1 if you have the <winsock.h> header file. */
670/* #undef HAVE_WINSOCK_H */
671
672/* has usable atomic functions */
673/* #undef HAVE_WORKING_SYS_ATOMIC_H */
674
675/* have zlib header */
676#define HAVE_ZLIB_H 1
677
678/* Define to the sub-directory where libtool stores uninstalled libraries. */
679#define LT_OBJDIR ".libs/"
680
681/* Name of package */
682#define CCXX_PACKAGE "commoncpp2"
683
684/* Define to the address where bug reports for this package should be sent. */
685#define CCXX_PACKAGE_BUGREPORT ""
686
687/* Define to the full name of this package. */
688#define CCXX_PACKAGE_NAME ""
689
690/* Define to the full name and version of this package. */
691#define CCXX_PACKAGE_STRING ""
692
693/* Define to the one symbol short name of this package. */
694#define CCXX_PACKAGE_TARNAME ""
695
696/* Define to the home page for this package. */
697#define CCXX_PACKAGE_URL ""
698
699/* Define to the version of this package. */
700#define CCXX_PACKAGE_CCXX_VERSION ""
701
702/* mutex type */
703#define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
704
705/* Define as the return type of signal handlers ('int' or 'void'). */
706#define RETSIGTYPE void
707
708/* Define to 1 if all of the C89 standard headers exist (not just the ones
709 required in a freestanding environment). This macro is provided for
710 backward compatibility; new code need not use it. */
711#define STDC_HEADERS 1
712
713/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. This
714 macro is obsolete. */
715#define TIME_WITH_SYS_TIME 1
716
717/* use monotonic */
718#define USE_MONOTONIC_TIMER 1
719
720/* Enable extensions on AIX, Interix, z/OS. */
721#ifndef _ALL_SOURCE
722# define _ALL_SOURCE 1
723#endif
724/* Enable extensions on Cosmopolitan Libc. */
725#ifndef _COSMO_SOURCE
726# define _COSMO_SOURCE 1
727#endif
728/* Enable general extensions on macOS. */
729#ifndef _DARWIN_C_SOURCE
730# define _DARWIN_C_SOURCE 1
731#endif
732/* Enable general extensions on Solaris. */
733#ifndef __EXTENSIONS__
734# define __EXTENSIONS__ 1
735#endif
736/* Enable GNU extensions on systems that have them. */
737#ifndef _GNU_SOURCE
738# define _GNU_SOURCE 1
739#endif
740/* Enable X/Open compliant socket functions that do not require linking
741 with -lxnet on HP-UX 11.11. */
742#ifndef _HPUX_ALT_XOPEN_SOCKET_API
743# define _HPUX_ALT_XOPEN_SOCKET_API 1
744#endif
745/* Identify the host operating system as Minix.
746 This macro does not affect the system headers' behavior.
747 A future release of Autoconf may stop defining this macro. */
748#ifndef _MINIX
749/* # undef _MINIX */
750#endif
751/* Enable general extensions on NetBSD.
752 Enable NetBSD compatibility extensions on Minix. */
753#ifndef _NETBSD_SOURCE
754# define _NETBSD_SOURCE 1
755#endif
756/* Enable OpenBSD compatibility extensions on NetBSD.
757 Oddly enough, this does nothing on OpenBSD. */
758#ifndef _OPENBSD_SOURCE
759# define _OPENBSD_SOURCE 1
760#endif
761/* Define to 1 if needed for POSIX-compatible behavior. */
762#ifndef _POSIX_SOURCE
763/* # undef _POSIX_SOURCE */
764#endif
765/* Define to 2 if needed for POSIX-compatible behavior. */
766#ifndef _POSIX_1_SOURCE
767/* # undef _POSIX_1_SOURCE */
768#endif
769/* Enable POSIX-compatible threading on Solaris. */
770#ifndef _POSIX_PTHREAD_SEMANTICS
771# define _POSIX_PTHREAD_SEMANTICS 1
772#endif
773/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
774#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
775# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
776#endif
777/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
778#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
779# define __STDC_WANT_IEC_60559_BFP_EXT__ 1
780#endif
781/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
782#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
783# define __STDC_WANT_IEC_60559_DFP_EXT__ 1
784#endif
785/* Enable extensions specified by C23 Annex F. */
786#ifndef __STDC_WANT_IEC_60559_EXT__
787# define __STDC_WANT_IEC_60559_EXT__ 1
788#endif
789/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
790#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
791# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
792#endif
793/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */
794#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
795# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
796#endif
797/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
798#ifndef __STDC_WANT_LIB_EXT2__
799# define __STDC_WANT_LIB_EXT2__ 1
800#endif
801/* Enable extensions specified by ISO/IEC 24747:2009. */
802#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
803# define __STDC_WANT_MATH_SPEC_FUNCS__ 1
804#endif
805/* Enable extensions on HP NonStop. */
806#ifndef _TANDEM_SOURCE
807# define _TANDEM_SOURCE 1
808#endif
809/* Enable X/Open extensions. Define to 500 only if necessary
810 to make mbstate_t available. */
811#ifndef _XOPEN_SOURCE
812/* # undef _XOPEN_SOURCE */
813#endif
814
815
816/* Version number of package */
817#define CCXX_VERSION "1.8.1"
818
819/* bsd system using linuxthreads */
820/* #undef WITH_LINUXTHREADS */
821
822/* darwin6 environment */
823/* #undef _DARWIN6_ */
824
825/* endian byte order */
826/* #undef __BYTE_ORDER */
827
828/* Define to '__inline__' or '__inline' if that's what the C compiler
829 calls it, or to nothing if 'inline' is not supported under any name. */
830#ifndef __cplusplus
831/* #undef inline */
832#endif
833
834/* Define to the equivalent of the C99 'restrict' keyword, or to
835 nothing if this is not supported. Do not define if restrict is
836 supported only directly. */
837#define restrict /**/
838/* Work around a bug in older versions of Sun C++, which did not
839 #define __restrict__ or support _Restrict or __restrict__
840 even though the corresponding Sun C compiler ended up with
841 "#define restrict _Restrict" or "#define restrict __restrict__"
842 in the previous line. This workaround can be removed once
843 we assume Oracle Developer Studio 12.5 (2016) or later. */
844#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
845# define _Restrict
846# define __restrict__
847#endif
848
849/* Define to empty if the keyword 'volatile' does not work. Warning: valid
850 code using 'volatile' can become incorrect without. Disable with care. */
851/* #undef volatile */
852
853
854
855#ifndef HAVE_STRERROR_R
856#define strerror_r(e, b, l) b = ::strerror(e)
857#endif
858
859#ifndef HAVE_GETPWUID_R
860#define getpwuid_r(uid, rec, buf, size, ptr) ptr = ::getpwuid(uid)
861#define getpwnam_r(name, rec, buf, size, ptr) ptr = ::getpwnam(name)
862#endif
863
864
865
866
867#ifdef HAVE_POLL_H
868#include <poll.h>
869#else
870#ifdef HAVE_SYS_POLL_H
871#include <sys/poll.h>
872#endif
873#endif
874
875#if defined(HAVE_POLL) && defined(POLLRDNORM)
876#define USE_POLL
877#endif
878
879
880
881
882
883#ifdef HAVE_SYS_LIBCSYS_H
884#include <sys/libcsys.h>
885#endif
886
887#ifdef HAVE_WINSOCK2_H
888#include <winsock2.h>
889#else
890#ifdef HAVE_WINSOCK_H
891#include <winsock.h>
892#else
893#ifdef HAVE_SYS_SOCKET_H
894#include <sys/socket.h>
895#ifdef HAVE_SELECT_H
896#include <select.h>
897#else
898#ifdef HAVE_SYS_SELECT_H
899#include <sys/select.h>
900#endif
901#endif
902
903#ifdef HAVE_NETINET_IN_H
904#if defined(__hpux) && defined(_XOPEN_SOURCE_EXTENDED)
905/* #undef _XOPEN_SOURCE_EXTENDED */
906#endif
907#include <netinet/in.h>
908#ifdef __hpux
909#define _XOPEN_SOURCE_EXTENDED
910#endif
911#endif
912#ifdef HAVE_ARPA_INET_H
913#include <arpa/inet.h>
914#include <netdb.h>
915#endif
916
917#ifdef HAVE_NETINET6_IN6_H
918#include <netinet6/in6.h>
919#endif
920
921#ifdef HAVE_LINIX_IN6_H
922#include <linux/in6.h>
923#endif
924
925#ifdef HAVE_NETINET_IN_SYSTM_H
926#include <netinet/in_systm.h>
927#endif
928#ifdef HAVE_NETINET_IP_H
929#include <netinet/ip.h>
930#endif
931#ifdef HAVE_SYS_UN_H
932#include <sys/un.h>
933#endif
934#endif
935#endif
936#endif
937
938#ifndef HAVE_INET_ATON
939#define inet_aton(cp, addr) (((*(unsigned long int *)(addr)) = inet_addr(cp)) != -1)
940#endif
941
942#ifndef SUN_LEN
943#ifdef SCM_RIGHTS
944#define HAVE_UN_LEN
945#endif
946#ifdef __linux__
947#define HAVE_UN_LEN
948#endif
949#ifdef HAVE_UN_LEN
950#define SUN_LEN(ptr) sizeof(sockaddr_un.sun_len) + sizeof(sockaddr_un.sun_family) + sizeof(sockaddr_un.sun_path) + 1
951#else
952#define SUN_LEN(ptr) ((size_t)((struct sockaddr_un *)0)->sun_path) + strlen((ptr)->sun_path))
953#endif
954#endif
955
956#ifndef _OSF_SOURCE
957#ifndef HAVE_SOCKLEN_T
958#if defined(i386) && defined(__svr4__)
959#define HAVE_SOCKLEN_U
960#else
961#if defined(__CYGWIN32__)
962#define socklen_t int
963#else
964typedef int socklen_t;
965#endif
966#endif
967
968#ifdef HAVE_SOCKLEN_U
969#if !defined(__CYGWIN32__) && !defined(__MINGW32__)
970typedef unsigned socklen_t;
971#else
972typedef int socklen_t;
973#endif
974#endif
975#endif
976#endif
977
978#ifdef __hpux
979#ifdef mutable
980/* #undef mutable */
981#endif
982#endif
983
984#if defined(AF_INET6) && defined(HAVE_INET_PTON)
985#define CCXX_IPV6
986#endif
987
988#define CCXX_MULTIFAMILY_IP
989
990
991
992
993#ifndef HAVE_BOOL_TYPE
994typedef enum { true=1, false=0 } bool;
995#endif
996
997
998
999
1000
1001#ifndef CCXX_EXCEPTIONS
1002/* disable HAVE_EXCEPTION */
1003#ifdef HAVE_EXCEPTION
1004#define HAVE_EXCEPTION 1
1005#endif
1006/* throw - replacement to throw an exception */
1007#define THROW(x) abort()
1008/* throw - replacement to declare an exception */
1009#define THROWS(x)
1010/* throw - for empty list */
1011#define NEW_THROWS
1012#define THROWS_EMPTY
1013/*
1014 * work around dangeling if/else combinations:
1015 */
1016#else
1017#define THROW(x) throw x
1018#define THROWS(x) throw(x)
1019#define NEW_THROWS throw()
1020#define THROWS_EMPTY throw()
1021#endif
1022
1023
1024
1025
1026#ifdef CCXX_NAMESPACES
1027#define USING(x) using namespace x;
1028#else
1029#define USING(x)
1030#endif
1031
1032#ifdef __KCC
1033#define KAI_NONSTD_IOSTREAM 1
1034#endif
1035
1036
1037
1038
1039#ifdef HAVE_SS_H
1040#include <ss.h>
1041#define COMMON_SECURE
1042#endif
1043
1044#define COMMON_NAMESPACE ost
1045#define NAMESPACE_COMMON namespace ost {
1046#define END_NAMESPACE }
1047
1048#ifdef HAVE_VISIBILITY
1049#define __EXPORT __attribute__ ((visibility("default")))
1050#define __DLLRTL __attribute__ ((visibility("default")))
1051#define __LOCAL __attribute__ ((visibility("hidden")))
1052#else
1053#define __EXPORT
1054#define __DLLRTL
1055#define __LOCAL
1056#endif
1057
1058#ifndef ETC_PREFIX
1059#ifdef WIN32
1060#define ETC_PREFIX "/etc/"
1061#endif
1062
1063#ifndef ETC_PREFIX
1064#define ETC_PREFIX "/etc/"
1065#endif
1066#endif
1067
1068#endif
1069
1070
1071
1072
1073
1074#ifndef HAVE_FCNTL_H
1075#ifdef HAVE_SYS_FCNTL_H
1076#include <sys/fcntl.h>
1077#endif
1078#else
1079#include <fcntl.h>
1080#ifndef O_NDELAY
1081#ifdef HAVE_SYS_FCNTL_H
1082#include <sys/fcntl.h>
1083#endif
1084#endif
1085#endif
1086
1087
1088
1089#if defined(HAVE_ENDIAN_H)
1090 #include <endian.h>
1091#elif defined(HAVE_SYS_ISA_DEFS_H)
1092 #include <sys/isa_defs.h>
1093 #ifdef _LITTLE_ENDIAN
1094 #define __BYTE_ORDER 1234
1095 #else
1096 #define __BYTE_ORDER 4321
1097 #endif
1098 #if _ALIGNMENT_REQUIRED > 0
1099 #define __BYTE_ALIGNMENT _MAX_ALIGNMENT
1100 #else
1101 #define __BYTE_ALIGNMENT 1
1102 #endif
1103#endif
1104
1105#ifndef __LITTLE_ENDIAN
1106#define __LITTLE_ENDIAN 1234
1107#define __BIG_ENDIAN 4321
1108#endif
1109
1110#ifndef __BYTE_ORDER
1111#define __BYTE_ORDER 1234
1112#endif
1113
1114#ifndef __BYTE_ALIGNMENT
1115#if defined(SPARC) || defined(sparc)
1116#if defined(__arch64__) || defined(__sparcv9)
1117#define __BYTE_ALIGNMENT 8
1118#else
1119#define __BYTE_ALIGNMENT 4
1120#endif
1121#endif
1122#endif
1123
1124#ifndef __BYTE_ALIGNMENT
1125#define __BYTE_ALIGNMENT 1
1126#endif
1127
1128
1129
1130
1131#ifdef HAVE_SIGACTION
1132#ifdef HAVE_BSD_SIGNAL_H
1133/* #undef HAVE_BSD_SIGNAL_H */
1134#endif
1135#endif
1136
1137/* Cause problem with Solaris... and perhaps Digital Unix?
1138 However, the autoconf test in ost_signal defines _POSIX_PTHREAD_SEMANTICS
1139 when trying to compile sigwait2. */
1140
1141#ifdef HAVE_SIGWAIT2
1142#ifndef _POSIX_PTHREAD_SEMANTICS
1143#define _POSIX_PTHREAD_SEMANTICS 1
1144#endif
1145#endif
1146
1147#ifdef HAVE_BSD_SIGNAL_H
1148#include <bsd/signal.h>
1149#else
1150#include <signal.h>
1151#endif
1152#ifndef SA_ONESHOT
1153#define SA_ONESHOT SA_RESETHAND
1154#endif
1155
1156
1157
1158
1159#include <cstring>
1160#ifdef HAVE_STRINGS_H
1161#ifndef _AIX
1162#include <strings.h>
1163#endif
1164#endif
1165
1166#ifdef HAVE_ALLOCA_H
1167#include <alloca.h>
1168#endif
1169
1170#ifndef HAVE_SNPRINTF
1171#if defined(WIN32) && defined(_MSC_VER) && _MSC_VER < 1400
1172#define snprintf _snprintf
1173#define vsnprintf _vsnprintf
1174#endif
1175#endif
1176
1177#ifdef HAVE_STRCASECMP
1178#ifndef stricmp
1179#define stricmp(x,y) strcasecmp(x,y)
1180#endif
1181#ifndef strnicmp
1182#define strnicmp(x,y,n) strncasecmp(x,y,n)
1183#endif
1184#ifndef stristr
1185#define stristr(x, y) strcasestr(x,y)
1186#endif
1187#endif
1188
1189
1190
1191
1192#ifdef HAVE_THREAD_H
1193#include "/usr/include/thread.h"
1194#if defined(i386) && defined(__svr4__) && !defined(__sun)
1195#define _THR_UNIXWARE
1196#endif
1197#if defined(__SVR4) && defined(__sun)
1198#define _THR_SUNOS5
1199#else
1200#if defined(__SVR4__) && defined(__SUN__)
1201#define _THR_SUNOS5
1202#endif
1203#endif
1204#endif
1205
1206#ifdef HAVE_WORKING_SYS_ATOMIC_H
1207#include <sys/atomic.h>
1208#define HAVE_ATOMIC
1209#elif defined(HAVE_ATOMIC_AIX)
1210#include <sys/atomic_op.h>
1211#ifndef HAVE_ATOMIC
1212#define HAVE_ATOMIC
1213#endif
1214#endif
1215
1216#if defined(__cplusplus)
1217#if defined(HAVE_GCC_BITS_ATOMIC) || defined(HAVE_GCC_CXX_BITS_ATOMIC)
1218#include <bits/atomicity.h>
1219#define HAVE_ATOMIC
1220#endif
1221#endif
1222
1223#if defined(HAVE_PTHREAD_H) && ( defined(_THREAD_SAFE) || defined(_REENTRANT) )
1224
1225#ifdef __QNX__
1226#define __EXT_QNX
1227#endif
1228
1229#include <pthread.h>
1230
1231#ifdef HAVE_PTHREAD_NP_H
1232#include <pthread_np.h>
1233#endif
1234
1235#ifdef HAVE_SEMAPHORE_H
1236#include <semaphore.h>
1237#endif
1238#ifdef _POSIX_PRIORITY_SCHEDULING
1239#ifdef HAVE_SCHED_H
1240#include <sched.h>
1241#else
1242#ifdef HAVE_SYS_SCHED_H
1243#include <sys/sched.h>
1244#endif
1245#endif
1246#endif
1247
1248#define __PTHREAD_H__
1249#ifndef PTHREAD_MUTEXTYPE_RECURSIVE
1250#ifdef MUTEX_TYPE_COUNTING_FAST
1251#define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
1252#endif
1253#endif
1254#ifndef PTHREAD_MUTEXTYPE_RECURSIVE
1255#ifdef PTHREAD_MUTEX_RECURSIVE
1256#define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
1257#endif
1258#endif
1259#ifndef HAVE_PTHREAD_MUTEXATTR_SETTYPE
1260#if HAVE_PTHREAD_MUTEXATTR_SETKIND_NP
1261#ifndef PTHREAD_MUTEXTYPE_RECURSIVE
1262#define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
1263#endif
1264#define pthread_mutexattr_gettype(x, y) pthread_mutexattr_getkind_np(x, y)
1265#define pthread_mutexattr_settype(x, y) pthread_mutexattr_setkind_np(x, y)
1266#endif
1267#if HAVE_PTHREAD_MUTEXATTR_SETTYPE_NP
1268#ifndef PTHREAD_MUTEXTYPE_RECURSIVE
1269#define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
1270#endif
1271#define pthread_mutexattr_settype(x, y) pthread_mutexattr_settype_np(x, y)
1272#define pthread_mutexattr_gettype(x, y) pthread_mutexattr_gettype_np(x, y)
1273#endif
1274#endif
1275
1276#ifdef HAVE_PTHREAD_MACH_THREAD_NP
1277#define _THR_MACH
1278#endif
1279
1280#ifndef HAVE_PTHREAD_YIELD
1281#ifdef HAVE_PTHREAD_YIELD_NP
1282#define pthread_yield() pthread_yield_np()
1283#define HAVE_PTHREAD_YIELD
1284#endif
1285#endif
1286
1287#ifndef HAVE_PTHREAD_YIELD
1288#ifdef HAVE_PTHREAD_SCHED_YIELD
1289#define pthread_yield() sched_yield()
1290#define HAVE_PTHREAD_YIELD
1291#endif
1292#endif
1293
1294#ifndef HAVE_PTHREAD_DELAY
1295#ifdef HAVE_PTHREAD_DELAY_NP
1296#define HAVE_PTHREAD_DELAY
1297#define pthread_delay(x) pthread_delay_np(x)
1298#endif
1299#if defined(HAVE_PTHREAD_NANOSLEEP)
1300#ifndef HAVE_PTHREAD_DELAY
1301#define HAVE_PTHREAD_DELAY
1302#ifdef __FreeBSD__
1303#ifdef __cplusplus
1304extern "C" int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
1305#endif
1306#endif
1307#define pthread_delay(x) nanosleep(x, NULL)
1308#endif
1309#endif
1310#endif
1311
1312#ifdef HAVE_PTHREAD_ATTR_SETSTACK
1313#ifndef PTHREAD_STACK_MIN
1314#define PTHREAD_STACK_MIN 32768
1315#endif
1316#endif
1317
1318#ifndef HAVE_PTHREAD_CANCEL
1319#ifdef SIGCANCEL
1320#define CCXX_SIG_THREAD_CANCEL SIGCANCEL
1321#else
1322#define CCXX_SIG_THREAD_CANCEL SIGQUIT
1323#endif
1324#define pthread_cancel(x) pthread_kill(x, CCXX_SIG_THREAD_CANCEL)
1325#define pthread_setcanceltype(x, y)
1326#define pthread_setcancelstate(x, y)
1327#endif
1328
1329#ifndef HAVE_PTHREAD_SETCANCELTYPE
1330#ifdef HAVE_PTHREAD_SETCANCEL
1331enum
1332{ PTHREAD_CANCEL_ASYNCHRONOUS = CANCEL_ON,
1333 PTHREAD_CANCEL_DEFERRED = CANCEL_OFF};
1334enum
1335{ PTHREAD_CANCEL_ENABLE = CANCEL_ON,
1336 PTHREAD_CANCEL_DISABLE = CANCEL_OFF};
1337#define pthread_setcancelstate(x, y) \
1338 (y == NULL) ? pthread_setcancel(x) : *y = pthread_setcancel
1339#define pthread_setcanceltype(x, y) \
1340 (y == NULL) ? pthread_setasynccancel(x) | *y = pthread_setasynccancel(x)
1341#else
1342#define pthread_setcanceltype(x, y)
1343#define pthread_setcancelstate(x, y)
1344#endif
1345#endif
1346
1347#ifdef _AIX
1348#ifdef HAVE_PTHREAD_SUSPEND
1349/* #undef HAVE_PTHREAD_SUSPEND */
1350#endif
1351#endif
1352
1353#endif
1354
1355
1356
u_int8_t uint8
Definition config.h:143
int64_t int64
Definition config.h:150
u_int64_t uint64
Definition config.h:151
u_int32_t uint32
Definition config.h:147
int16_t int16
Definition config.h:144
int8_t int8
Definition config.h:142
u_int16_t uint16
Definition config.h:145
int32_t int32
Definition config.h:146