00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef APR_H
00019 #define APR_H
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059 #if !defined(__GNUC__) || __GNUC__ < 2 || \
00060 (__GNUC__ == 2 && __GNUC_MINOR__ < 7) ||\
00061 defined(NEXT)
00062 #ifndef __attribute__
00063 #define __attribute__(__x)
00064 #endif
00065 #define APR_INLINE
00066 #define APR_HAS_INLINE 0
00067 #else
00068 #define APR_INLINE __inline__
00069 #define APR_HAS_INLINE 1
00070 #endif
00071
00072 #define APR_HAVE_ARPA_INET_H 1
00073 #define APR_HAVE_CONIO_H 0
00074 #define APR_HAVE_CRYPT_H 1
00075 #define APR_HAVE_CTYPE_H 1
00076 #define APR_HAVE_DIRENT_H 1
00077 #define APR_HAVE_ERRNO_H 1
00078 #define APR_HAVE_FCNTL_H 1
00079 #define APR_HAVE_IO_H 0
00080 #define APR_HAVE_LIMITS_H 1
00081 #define APR_HAVE_NETDB_H 1
00082 #define APR_HAVE_NETINET_IN_H 1
00083 #define APR_HAVE_NETINET_SCTP_H 1
00084 #define APR_HAVE_NETINET_SCTP_UIO_H 0
00085 #define APR_HAVE_NETINET_TCP_H 1
00086 #define APR_HAVE_PROCESS_H 0
00087 #define APR_HAVE_PTHREAD_H 1
00088 #define APR_HAVE_SEMAPHORE_H 1
00089 #define APR_HAVE_SIGNAL_H 1
00090 #define APR_HAVE_STDARG_H 1
00091 #define APR_HAVE_STDINT_H 1
00092 #define APR_HAVE_STDIO_H 1
00093 #define APR_HAVE_STDLIB_H 1
00094 #define APR_HAVE_STRING_H 1
00095 #define APR_HAVE_STRINGS_H 1
00096 #define APR_HAVE_INTTYPES_H 1
00097 #define APR_HAVE_SYS_IOCTL_H 1
00098 #define APR_HAVE_SYS_SENDFILE_H 1
00099 #define APR_HAVE_SYS_SIGNAL_H 1
00100 #define APR_HAVE_SYS_SOCKET_H 1
00101 #define APR_HAVE_SYS_SOCKIO_H 0
00102 #define APR_HAVE_SYS_SYSLIMITS_H 0
00103 #define APR_HAVE_SYS_TIME_H 1
00104 #define APR_HAVE_SYS_TYPES_H 1
00105 #define APR_HAVE_SYS_UIO_H 1
00106 #define APR_HAVE_SYS_UN_H 1
00107 #define APR_HAVE_SYS_WAIT_H 1
00108 #define APR_HAVE_TIME_H 1
00109 #define APR_HAVE_UNISTD_H 1
00110 #define APR_HAVE_WINDOWS_H 0
00111 #define APR_HAVE_WINSOCK2_H 0
00112
00113
00114
00115
00116
00117
00118
00119
00120 #if APR_HAVE_WINDOWS_H && defined(WIN32)
00121
00122
00123
00124 #ifndef _WINDOWS_
00125
00126 #ifndef WIN32_LEAN_AND_MEAN
00127 #define WIN32_LEAN_AND_MEAN
00128 #endif
00129
00130 #ifndef _WIN32_WINNT
00131
00132
00133 #define _WIN32_WINNT 0x0501
00134 #endif
00135
00136 #ifndef NOUSER
00137 #define NOUSER
00138 #endif
00139 #ifndef NOMCX
00140 #define NOMCX
00141 #endif
00142 #ifndef NOIME
00143 #define NOIME
00144 #endif
00145
00146 #include <windows.h>
00147
00148
00149
00150
00151
00152 #define SW_HIDE 0
00153 #ifndef _WIN32_WCE
00154 #include <winsock2.h>
00155 #include <ws2tcpip.h>
00156 #include <mswsock.h>
00157 #else
00158 #include <winsock.h>
00159 #endif
00160
00161 #endif
00162 #endif
00163
00164 #if APR_HAVE_SYS_TYPES_H
00165 #include <sys/types.h>
00166 #endif
00167
00168 #if APR_HAVE_SYS_SOCKET_H
00169 #include <sys/socket.h>
00170 #endif
00171
00172 #if APR_HAVE_STDINT_H
00173 #ifdef __cplusplus
00174
00175
00176 #ifndef __STDC_CONSTANT_MACROS
00177 #define __STDC_CONSTANT_MACROS
00178 #endif
00179
00180 #ifndef __STDC_FORMAT_MACROS
00181 #define __STDC_FORMAT_MACROS
00182 #endif
00183 #endif
00184 #include <stdint.h>
00185 #endif
00186
00187 #if APR_HAVE_INTTYPES_H
00188 #include <inttypes.h>
00189 #endif
00190
00191 #if APR_HAVE_SYS_WAIT_H
00192 #include <sys/wait.h>
00193 #endif
00194
00195 #ifdef OS2
00196 #define INCL_DOS
00197 #define INCL_DOSERRORS
00198 #include <os2.h>
00199 #endif
00200
00201
00202 #if APR_HAVE_LIMITS_H
00203 #include <limits.h>
00204 #else
00205 #if APR_HAVE_SYS_SYSLIMITS_H
00206 #include <sys/syslimits.h>
00207 #endif
00208 #endif
00209
00210
00211 #ifdef __APPLE__
00212 #undef DARWIN
00213 #undef DARWIN_10
00214 #define DARWIN
00215 #define DARWIN_10
00216 #endif
00217
00218 #ifdef __cplusplus
00219 extern "C" {
00220 #endif
00221
00222
00223
00224
00225
00226
00227
00228 #define APR_HAVE_SHMEM_MMAP_TMP 1
00229 #define APR_HAVE_SHMEM_MMAP_SHM 1
00230 #define APR_HAVE_SHMEM_MMAP_ZERO 1
00231 #define APR_HAVE_SHMEM_SHMGET_ANON 1
00232 #define APR_HAVE_SHMEM_SHMGET 1
00233 #define APR_HAVE_SHMEM_MMAP_ANON 1
00234 #define APR_HAVE_SHMEM_BEOS 0
00235
00236 #define APR_USE_SHMEM_MMAP_TMP 0
00237 #define APR_USE_SHMEM_MMAP_SHM 1
00238 #define APR_USE_SHMEM_MMAP_ZERO 0
00239 #define APR_USE_SHMEM_SHMGET_ANON 0
00240 #define APR_USE_SHMEM_SHMGET 0
00241 #define APR_USE_SHMEM_MMAP_ANON 1
00242 #define APR_USE_SHMEM_BEOS 0
00243
00244 #define APR_USE_FLOCK_SERIALIZE 0
00245 #define APR_USE_SYSVSEM_SERIALIZE 0
00246 #define APR_USE_POSIXSEM_SERIALIZE 0
00247 #define APR_USE_FCNTL_SERIALIZE 0
00248 #define APR_USE_PROC_PTHREAD_SERIALIZE 1
00249 #define APR_USE_PTHREAD_SERIALIZE 1
00250
00251 #define APR_HAS_FLOCK_SERIALIZE 1
00252 #define APR_HAS_SYSVSEM_SERIALIZE 1
00253 #define APR_HAS_POSIXSEM_SERIALIZE 1
00254 #define APR_HAS_FCNTL_SERIALIZE 1
00255 #define APR_HAS_PROC_PTHREAD_SERIALIZE 1
00256
00257 #define APR_PROCESS_LOCK_IS_GLOBAL 0
00258
00259 #define APR_HAVE_CORKABLE_TCP 1
00260 #define APR_HAVE_GETRLIMIT 1
00261 #define APR_HAVE_IN_ADDR 1
00262 #define APR_HAVE_INET_ADDR 1
00263 #define APR_HAVE_INET_NETWORK 1
00264 #define APR_HAVE_IPV6 1
00265 #define APR_HAVE_SOCKADDR_UN 1
00266 #define APR_HAVE_MEMMOVE 1
00267 #define APR_HAVE_SETRLIMIT 1
00268 #define APR_HAVE_SIGACTION 1
00269 #define APR_HAVE_SIGSUSPEND 1
00270 #define APR_HAVE_SIGWAIT 1
00271 #define APR_HAVE_SA_STORAGE 1
00272 #define APR_HAVE_STRCASECMP 1
00273 #define APR_HAVE_STRDUP 1
00274 #define APR_HAVE_STRICMP 0
00275 #define APR_HAVE_STRNCASECMP 1
00276 #define APR_HAVE_STRNICMP 0
00277 #define APR_HAVE_STRSTR 1
00278 #define APR_HAVE_MEMCHR 1
00279 #define APR_HAVE_STRUCT_RLIMIT 1
00280 #define APR_HAVE_UNION_SEMUN 0
00281 #define APR_HAVE_SCTP 0
00282 #define APR_HAVE_IOVEC 1
00283
00284
00285 #define APR_HAS_SHARED_MEMORY 1
00286 #define APR_HAS_THREADS 1
00287 #define APR_HAS_SENDFILE 1
00288 #define APR_HAS_MMAP 1
00289 #define APR_HAS_FORK 1
00290 #define APR_HAS_RANDOM 1
00291 #define APR_HAS_OTHER_CHILD 1
00292 #define APR_HAS_DSO 1
00293 #define APR_HAS_SO_ACCEPTFILTER 0
00294 #define APR_HAS_UNICODE_FS 0
00295 #define APR_HAS_PROC_INVOKED 0
00296 #define APR_HAS_USER 1
00297 #define APR_HAS_LARGE_FILES 0
00298 #define APR_HAS_XTHREAD_FILES 0
00299 #define APR_HAS_OS_UUID 1
00300 #define APR_HAS_TIMEDLOCKS 1
00301
00302 #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0
00303
00304
00305
00306
00307 #define APR_FILES_AS_SOCKETS 1
00308
00309
00310
00311 #define APR_CHARSET_EBCDIC 0
00312
00313
00314
00315
00316 #define APR_TCP_NOPUSH_FLAG TCP_CORK
00317
00318
00319
00320 #define APR_TCP_NODELAY_INHERITED 1
00321
00322
00323
00324 #define APR_O_NONBLOCK_INHERITED 0
00325
00326
00327
00328 typedef unsigned char apr_byte_t;
00329
00330 typedef short apr_int16_t;
00331 typedef unsigned short apr_uint16_t;
00332
00333 typedef int apr_int32_t;
00334 typedef unsigned int apr_uint32_t;
00335
00336 #define APR_SIZEOF_VOIDP 8
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353 #ifdef DARWIN_10
00354 #undef APR_SIZEOF_VOIDP
00355 #undef APR_INT64_C
00356 #undef APR_UINT64_C
00357 #ifdef __LP64__
00358 typedef long apr_int64_t;
00359 typedef unsigned long apr_uint64_t;
00360 #define APR_SIZEOF_VOIDP 8
00361 #define APR_INT64_C(v) (v ## L)
00362 #define APR_UINT64_C(v) (v ## UL)
00363 #else
00364 typedef long long apr_int64_t;
00365 typedef unsigned long long apr_uint64_t;
00366 #define APR_SIZEOF_VOIDP 4
00367 #define APR_INT64_C(v) (v ## LL)
00368 #define APR_UINT64_C(v) (v ## ULL)
00369 #endif
00370 #else
00371 typedef int64_t apr_int64_t;
00372 typedef uint64_t apr_uint64_t;
00373
00374
00375 #define APR_INT64_C(val) INT64_C(val)
00376 #define APR_UINT64_C(val) UINT64_C(val)
00377 #endif
00378
00379 typedef size_t apr_size_t;
00380 typedef ssize_t apr_ssize_t;
00381 typedef off_t apr_off_t;
00382 typedef socklen_t apr_socklen_t;
00383 typedef ino_t apr_ino_t;
00384
00385 #if APR_SIZEOF_VOIDP == 8
00386 typedef apr_uint64_t apr_uintptr_t;
00387 #else
00388 typedef apr_uint32_t apr_uintptr_t;
00389 #endif
00390
00391
00392 #define APR_IS_BIGENDIAN 0
00393
00394 #ifdef INT16_MIN
00395 #define APR_INT16_MIN INT16_MIN
00396 #else
00397 #define APR_INT16_MIN (-0x7fff - 1)
00398 #endif
00399
00400 #ifdef INT16_MAX
00401 #define APR_INT16_MAX INT16_MAX
00402 #else
00403 #define APR_INT16_MAX (0x7fff)
00404 #endif
00405
00406 #ifdef UINT16_MAX
00407 #define APR_UINT16_MAX UINT16_MAX
00408 #else
00409 #define APR_UINT16_MAX (0xffff)
00410 #endif
00411
00412 #ifdef INT32_MIN
00413 #define APR_INT32_MIN INT32_MIN
00414 #else
00415 #define APR_INT32_MIN (-0x7fffffff - 1)
00416 #endif
00417
00418 #ifdef INT32_MAX
00419 #define APR_INT32_MAX INT32_MAX
00420 #else
00421 #define APR_INT32_MAX 0x7fffffff
00422 #endif
00423
00424 #ifdef UINT32_MAX
00425 #define APR_UINT32_MAX UINT32_MAX
00426 #else
00427 #define APR_UINT32_MAX (0xffffffffU)
00428 #endif
00429
00430 #ifdef INT64_MIN
00431 #define APR_INT64_MIN INT64_MIN
00432 #else
00433 #define APR_INT64_MIN (APR_INT64_C(-0x7fffffffffffffff) - 1)
00434 #endif
00435
00436 #ifdef INT64_MAX
00437 #define APR_INT64_MAX INT64_MAX
00438 #else
00439 #define APR_INT64_MAX APR_INT64_C(0x7fffffffffffffff)
00440 #endif
00441
00442 #ifdef UINT64_MAX
00443 #define APR_UINT64_MAX UINT64_MAX
00444 #else
00445 #define APR_UINT64_MAX APR_UINT64_C(0xffffffffffffffff)
00446 #endif
00447
00448 #define APR_SIZE_MAX (~((apr_size_t)0))
00449
00450
00451
00452
00453
00454
00455
00456 #ifdef __cplusplus
00457 #define APR_BEGIN_DECLS extern "C" {
00458 #define APR_END_DECLS }
00459 #else
00460 #define APR_BEGIN_DECLS
00461 #define APR_END_DECLS
00462 #endif
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472
00473 #define APR_THREAD_FUNC
00474
00475 #if defined(DOXYGEN) || !defined(WIN32)
00476
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497
00498 #define APR_DECLARE(type) __attribute__ ((visibility ("default"))) type
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511 #define APR_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527 #define APR_DECLARE_DATA __attribute__ ((visibility ("default")))
00528
00529 #elif defined(APR_DECLARE_STATIC)
00530 #define APR_DECLARE(type) type __stdcall
00531 #define APR_DECLARE_NONSTD(type) type __cdecl
00532 #define APR_DECLARE_DATA
00533 #elif defined(APR_DECLARE_EXPORT)
00534 #define APR_DECLARE(type) __declspec(dllexport) type __stdcall
00535 #define APR_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl
00536 #define APR_DECLARE_DATA __declspec(dllexport)
00537 #else
00538 #define APR_DECLARE(type) __declspec(dllimport) type __stdcall
00539 #define APR_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl
00540 #define APR_DECLARE_DATA __declspec(dllimport)
00541 #endif
00542
00543
00544
00545
00546
00547
00548
00549
00550
00551
00552 #define APR_SSIZE_T_FMT "ld"
00553
00554
00555 #define APR_SIZE_T_FMT "lu"
00556
00557
00558 #define APR_OFF_T_FMT "ld"
00559
00560
00561 #define APR_PID_T_FMT "d"
00562
00563
00564 #define APR_INT64_T_FMT PRId64
00565
00566
00567 #define APR_UINT64_T_FMT PRIu64
00568
00569
00570 #define APR_UINT64_T_HEX_FMT PRIx64
00571
00572
00573
00574
00575 #ifdef DARWIN_10
00576
00577 #undef APR_HAS_LARGE_FILES
00578 #undef APR_SIZEOF_VOIDP
00579 #undef APR_INT64_T_FMT
00580 #undef APR_UINT64_T_FMT
00581 #undef APR_UINT64_T_HEX_FMT
00582
00583 #ifdef __LP64__
00584 #define APR_HAS_LARGE_FILES 0
00585 #define APR_SIZEOF_VOIDP 8
00586 #define APR_INT64_T_FMT "ld"
00587 #define APR_UINT64_T_FMT "lu"
00588 #define APR_UINT64_T_HEX_FMT "lx"
00589 #else
00590 #define APR_HAS_LARGE_FILES 1
00591 #define APR_SIZEOF_VOIDP 4
00592 #define APR_INT64_T_FMT "lld"
00593 #define APR_UINT64_T_FMT "llu"
00594 #define APR_UINT64_T_HEX_FMT "llx"
00595 #endif
00596
00597 #undef APR_IS_BIGENDIAN
00598 #ifdef __BIG_ENDIAN__
00599 #define APR_IS_BIGENDIAN 1
00600 #else
00601 #define APR_IS_BIGENDIAN 0
00602 #endif
00603
00604 #undef APR_OFF_T_FMT
00605 #define APR_OFF_T_FMT "lld"
00606
00607 #endif
00608
00609
00610 #define APR_PROC_MUTEX_IS_GLOBAL 0
00611
00612
00613 #define APR_EOL_STR "\n"
00614
00615 #if APR_HAVE_SYS_WAIT_H
00616 #ifdef WEXITSTATUS
00617 #define apr_wait_t int
00618 #else
00619 #define apr_wait_t union wait
00620 #define WEXITSTATUS(status) (int)((status).w_retcode)
00621 #define WTERMSIG(status) (int)((status).w_termsig)
00622 #endif
00623 #elif defined(__MINGW32__)
00624 typedef int apr_wait_t;
00625 #endif
00626
00627 #if defined(PATH_MAX)
00628 #define APR_PATH_MAX PATH_MAX
00629 #elif defined(_POSIX_PATH_MAX)
00630 #define APR_PATH_MAX _POSIX_PATH_MAX
00631 #else
00632 #error no decision has been made on APR_PATH_MAX for your platform
00633 #endif
00634
00635 #define APR_DSOPATH "LD_LIBRARY_PATH"
00636
00637
00638
00639
00640
00641
00642
00643
00644 #ifdef __MINGW32__
00645 #ifndef __GNUC__
00646 typedef int pid_t;
00647 #endif
00648 typedef int uid_t;
00649 typedef int gid_t;
00650 #endif
00651
00652 #ifdef __cplusplus
00653 }
00654 #endif
00655
00656 #endif