Go to the documentation of this file.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 #ifndef _GNU_SOURCE
00037 # define _GNU_SOURCE 1
00038 #endif
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063 #if !defined(__GNUC__) || __GNUC__ < 2 || \
00064 (__GNUC__ == 2 && __GNUC_MINOR__ < 7) ||\
00065 defined(NEXT)
00066 #ifndef __attribute__
00067 #define __attribute__(__x)
00068 #endif
00069 #define APR_INLINE
00070 #define APR_HAS_INLINE 0
00071 #else
00072 #define APR_INLINE __inline__
00073 #define APR_HAS_INLINE 1
00074 #endif
00075
00076 #define APR_HAVE_ARPA_INET_H 1
00077 #define APR_HAVE_CONIO_H 0
00078 #define APR_HAVE_CRYPT_H 1
00079 #define APR_HAVE_CTYPE_H 1
00080 #define APR_HAVE_DIRENT_H 1
00081 #define APR_HAVE_ERRNO_H 1
00082 #define APR_HAVE_FCNTL_H 1
00083 #define APR_HAVE_IO_H 0
00084 #define APR_HAVE_LIMITS_H 1
00085 #define APR_HAVE_NETDB_H 1
00086 #define APR_HAVE_NETINET_IN_H 1
00087 #define APR_HAVE_NETINET_SCTP_H 0
00088 #define APR_HAVE_NETINET_SCTP_UIO_H 0
00089 #define APR_HAVE_NETINET_TCP_H 1
00090 #define APR_HAVE_PTHREAD_H 1
00091 #define APR_HAVE_SEMAPHORE_H 1
00092 #define APR_HAVE_SIGNAL_H 1
00093 #define APR_HAVE_STDARG_H 1
00094 #define APR_HAVE_STDINT_H 1
00095 #define APR_HAVE_STDIO_H 1
00096 #define APR_HAVE_STDLIB_H 1
00097 #define APR_HAVE_STRING_H 1
00098 #define APR_HAVE_STRINGS_H 1
00099 #define APR_HAVE_SYS_IOCTL_H 1
00100 #define APR_HAVE_SYS_SENDFILE_H 1
00101 #define APR_HAVE_SYS_SIGNAL_H 1
00102 #define APR_HAVE_SYS_SOCKET_H 1
00103 #define APR_HAVE_SYS_SOCKIO_H 0
00104 #define APR_HAVE_SYS_SYSLIMITS_H 0
00105 #define APR_HAVE_SYS_TIME_H 1
00106 #define APR_HAVE_SYS_TYPES_H 1
00107 #define APR_HAVE_SYS_UIO_H 1
00108 #define APR_HAVE_SYS_UN_H 1
00109 #define APR_HAVE_SYS_WAIT_H 1
00110 #define APR_HAVE_TIME_H 1
00111 #define APR_HAVE_UNISTD_H 1
00112 #define APR_HAVE_WINDOWS_H 0
00113 #define APR_HAVE_WINSOCK2_H 0
00114
00115
00116
00117
00118
00119
00120
00121
00122 #if APR_HAVE_WINDOWS_H
00123 #include <windows.h>
00124 #endif
00125
00126 #if APR_HAVE_WINSOCK2_H
00127 #include <winsock2.h>
00128 #endif
00129
00130 #if APR_HAVE_SYS_TYPES_H
00131 #include <sys/types.h>
00132 #endif
00133
00134 #if APR_HAVE_SYS_SOCKET_H
00135 #include <sys/socket.h>
00136 #endif
00137
00138 #if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS)
00139
00140
00141 #define __STDC_CONSTANT_MACROS
00142 #endif
00143
00144 #if APR_HAVE_STDINT_H
00145 #include <stdint.h>
00146 #endif
00147
00148 #if APR_HAVE_SYS_WAIT_H
00149 #include <sys/wait.h>
00150 #endif
00151
00152 #ifdef OS2
00153 #define INCL_DOS
00154 #define INCL_DOSERRORS
00155 #include <os2.h>
00156 #endif
00157
00158
00159 #if APR_HAVE_LIMITS_H
00160 #include <limits.h>
00161 #else
00162 #if APR_HAVE_SYS_SYSLIMITS_H
00163 #include <sys/syslimits.h>
00164 #endif
00165 #endif
00166
00167
00168 #ifdef __cplusplus
00169 extern "C" {
00170 #endif
00171
00172
00173
00174
00175
00176
00177
00178 #define APR_HAVE_SHMEM_MMAP_TMP 1
00179 #define APR_HAVE_SHMEM_MMAP_SHM 1
00180 #define APR_HAVE_SHMEM_MMAP_ZERO 1
00181 #define APR_HAVE_SHMEM_SHMGET_ANON 1
00182 #define APR_HAVE_SHMEM_SHMGET 1
00183 #define APR_HAVE_SHMEM_MMAP_ANON 1
00184 #define APR_HAVE_SHMEM_BEOS 0
00185
00186 #define APR_USE_SHMEM_MMAP_TMP 0
00187 #define APR_USE_SHMEM_MMAP_SHM 0
00188 #define APR_USE_SHMEM_MMAP_ZERO 0
00189 #define APR_USE_SHMEM_SHMGET_ANON 0
00190 #define APR_USE_SHMEM_SHMGET 1
00191 #define APR_USE_SHMEM_MMAP_ANON 1
00192 #define APR_USE_SHMEM_BEOS 0
00193
00194 #define APR_USE_FLOCK_SERIALIZE 0
00195 #define APR_USE_SYSVSEM_SERIALIZE 1
00196 #define APR_USE_POSIXSEM_SERIALIZE 0
00197 #define APR_USE_FCNTL_SERIALIZE 0
00198 #define APR_USE_PROC_PTHREAD_SERIALIZE 0
00199 #define APR_USE_PTHREAD_SERIALIZE 1
00200
00201 #define APR_HAS_FLOCK_SERIALIZE 1
00202 #define APR_HAS_SYSVSEM_SERIALIZE 1
00203 #define APR_HAS_POSIXSEM_SERIALIZE 1
00204 #define APR_HAS_FCNTL_SERIALIZE 1
00205 #define APR_HAS_PROC_PTHREAD_SERIALIZE 1
00206
00207 #define APR_PROCESS_LOCK_IS_GLOBAL 0
00208
00209 #define APR_HAVE_CORKABLE_TCP 1
00210 #define APR_HAVE_GETRLIMIT 1
00211 #define APR_HAVE_IN_ADDR 1
00212 #define APR_HAVE_INET_ADDR 1
00213 #define APR_HAVE_INET_NETWORK 1
00214 #define APR_HAVE_IPV6 1
00215 #define APR_HAVE_MEMMOVE 1
00216 #define APR_HAVE_SETRLIMIT 1
00217 #define APR_HAVE_SIGACTION 1
00218 #define APR_HAVE_SIGSUSPEND 1
00219 #define APR_HAVE_SIGWAIT 1
00220 #define APR_HAVE_SA_STORAGE 1
00221 #define APR_HAVE_STRCASECMP 1
00222 #define APR_HAVE_STRDUP 1
00223 #define APR_HAVE_STRICMP 0
00224 #define APR_HAVE_STRNCASECMP 1
00225 #define APR_HAVE_STRNICMP 0
00226 #define APR_HAVE_STRSTR 1
00227 #define APR_HAVE_MEMCHR 1
00228 #define APR_HAVE_STRUCT_RLIMIT 1
00229 #define APR_HAVE_UNION_SEMUN 0
00230 #define APR_HAVE_SCTP 0
00231 #define APR_HAVE_IOVEC 1
00232
00233
00234 #define APR_HAS_SHARED_MEMORY 1
00235 #define APR_HAS_THREADS 1
00236 #define APR_HAS_SENDFILE 1
00237 #define APR_HAS_MMAP 1
00238 #define APR_HAS_FORK 1
00239 #define APR_HAS_RANDOM 1
00240 #define APR_HAS_OTHER_CHILD 1
00241 #define APR_HAS_DSO 1
00242 #define APR_HAS_SO_ACCEPTFILTER 0
00243 #define APR_HAS_UNICODE_FS 0
00244 #define APR_HAS_PROC_INVOKED 0
00245 #define APR_HAS_USER 1
00246 #define APR_HAS_LARGE_FILES 0
00247 #define APR_HAS_XTHREAD_FILES 0
00248 #define APR_HAS_OS_UUID 1
00249
00250 #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0
00251
00252
00253
00254
00255 #define APR_FILES_AS_SOCKETS 1
00256
00257
00258
00259 #define APR_CHARSET_EBCDIC 0
00260
00261
00262
00263
00264 #define APR_TCP_NOPUSH_FLAG TCP_CORK
00265
00266
00267
00268 #define APR_TCP_NODELAY_INHERITED 1
00269
00270
00271
00272 #define APR_O_NONBLOCK_INHERITED 0
00273
00274
00275
00276 typedef unsigned char apr_byte_t;
00277
00278 typedef short apr_int16_t;
00279 typedef unsigned short apr_uint16_t;
00280
00281 typedef int apr_int32_t;
00282 typedef unsigned int apr_uint32_t;
00283
00284 typedef long apr_int64_t;
00285 typedef unsigned long apr_uint64_t;
00286
00287 typedef size_t apr_size_t;
00288 typedef ssize_t apr_ssize_t;
00289 typedef off_t apr_off_t;
00290 typedef socklen_t apr_socklen_t;
00291 typedef ino_t apr_ino_t;
00292
00293 #define APR_SIZEOF_VOIDP 8
00294
00295 #if APR_SIZEOF_VOIDP == 8
00296 typedef apr_uint64_t apr_uintptr_t;
00297 #else
00298 typedef apr_uint32_t apr_uintptr_t;
00299 #endif
00300
00301
00302 #define APR_IS_BIGENDIAN 0
00303
00304
00305 #define APR_INT64_C(val) INT64_C(val)
00306 #define APR_UINT64_C(val) UINT64_C(val)
00307
00308 #ifdef INT16_MIN
00309 #define APR_INT16_MIN INT16_MIN
00310 #else
00311 #define APR_INT16_MIN (-0x7fff - 1)
00312 #endif
00313
00314 #ifdef INT16_MAX
00315 #define APR_INT16_MAX INT16_MAX
00316 #else
00317 #define APR_INT16_MAX (0x7fff)
00318 #endif
00319
00320 #ifdef UINT16_MAX
00321 #define APR_UINT16_MAX UINT16_MAX
00322 #else
00323 #define APR_UINT16_MAX (0xffff)
00324 #endif
00325
00326 #ifdef INT32_MIN
00327 #define APR_INT32_MIN INT32_MIN
00328 #else
00329 #define APR_INT32_MIN (-0x7fffffff - 1)
00330 #endif
00331
00332 #ifdef INT32_MAX
00333 #define APR_INT32_MAX INT32_MAX
00334 #else
00335 #define APR_INT32_MAX 0x7fffffff
00336 #endif
00337
00338 #ifdef UINT32_MAX
00339 #define APR_UINT32_MAX UINT32_MAX
00340 #else
00341 #define APR_UINT32_MAX (0xffffffffU)
00342 #endif
00343
00344 #ifdef INT64_MIN
00345 #define APR_INT64_MIN INT64_MIN
00346 #else
00347 #define APR_INT64_MIN (APR_INT64_C(-0x7fffffffffffffff) - 1)
00348 #endif
00349
00350 #ifdef INT64_MAX
00351 #define APR_INT64_MAX INT64_MAX
00352 #else
00353 #define APR_INT64_MAX APR_INT64_C(0x7fffffffffffffff)
00354 #endif
00355
00356 #ifdef UINT64_MAX
00357 #define APR_UINT64_MAX UINT64_MAX
00358 #else
00359 #define APR_UINT64_MAX APR_UINT64_C(0xffffffffffffffff)
00360 #endif
00361
00362 #define APR_SIZE_MAX (~((apr_size_t)0))
00363
00364
00365
00366
00367
00368
00369
00370 #ifdef __cplusplus
00371 #define APR_BEGIN_DECLS extern "C" {
00372 #define APR_END_DECLS }
00373 #else
00374 #define APR_BEGIN_DECLS
00375 #define APR_END_DECLS
00376 #endif
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387 #define APR_THREAD_FUNC
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410 #define APR_DECLARE(type) type
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423 #define APR_DECLARE_NONSTD(type) type
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439 #define APR_DECLARE_DATA
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449 #define APR_SSIZE_T_FMT "ld"
00450
00451
00452 #define APR_SIZE_T_FMT "lu"
00453
00454
00455 #define APR_OFF_T_FMT "ld"
00456
00457
00458 #define APR_PID_T_FMT "d"
00459
00460
00461 #define APR_INT64_T_FMT "ld"
00462
00463
00464 #define APR_UINT64_T_FMT "lu"
00465
00466
00467 #define APR_UINT64_T_HEX_FMT "lx"
00468
00469
00470 #define APR_PROC_MUTEX_IS_GLOBAL 0
00471
00472
00473 #define APR_EOL_STR "\n"
00474
00475 #if APR_HAVE_SYS_WAIT_H
00476 #ifdef WEXITSTATUS
00477 #define apr_wait_t int
00478 #else
00479 #define apr_wait_t union wait
00480 #define WEXITSTATUS(status) (int)((status).w_retcode)
00481 #define WTERMSIG(status) (int)((status).w_termsig)
00482 #endif
00483 #elif defined(__MINGW32__)
00484 typedef int apr_wait_t;
00485 #endif
00486
00487 #if defined(PATH_MAX)
00488 #define APR_PATH_MAX PATH_MAX
00489 #elif defined(_POSIX_PATH_MAX)
00490 #define APR_PATH_MAX _POSIX_PATH_MAX
00491 #else
00492 #warning no decision has been made on APR_PATH_MAX for your platform
00493 #define APR_PATH_MAX 4096
00494 #endif
00495
00496 #define APR_DSOPATH "LD_LIBRARY_PATH"
00497
00498
00499
00500
00501
00502
00503
00504
00505 #ifdef __MINGW32__
00506 #ifndef __GNUC__
00507 typedef int pid_t;
00508 #endif
00509 typedef int uid_t;
00510 typedef int gid_t;
00511 #endif
00512
00513 #ifdef __cplusplus
00514 }
00515 #endif
00516
00517 #endif