github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_4_58/include/apr.h (about) 1 /* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 18 #ifndef APR_H 19 #define APR_H 20 21 /* GENERATED FILE WARNING! DO NOT EDIT apr.h 22 * 23 * You must modify apr.hw instead. 24 * 25 * And please, make an effort to stub apr.hnw and apr.h.in in the process. 26 * 27 * This is the Win32 specific version of apr.h. It is copied from 28 * apr.hw by the apr.dsp and libapr.dsp projects. 29 */ 30 31 /** 32 * @file apr.h 33 * @brief APR Platform Definitions 34 * @remark This is a generated header generated from include/apr.h.in by 35 * ./configure, or copied from include/apr.hw or include/apr.hnw 36 * for Win32 or Netware by those build environments, respectively. 37 */ 38 39 /* Make sure we have our platform identifier macro defined we ask for later. 40 */ 41 #if defined(_WIN32) && !defined(WIN32) 42 #define WIN32 1 43 #endif 44 45 #if defined(WIN32) || defined(DOXYGEN) 46 47 /* Ignore most warnings (back down to /W3) for poorly constructed headers 48 */ 49 #if defined(_MSC_VER) && _MSC_VER >= 1200 50 #pragma warning(push, 3) 51 #endif 52 53 /* disable or reduce the frequency of... 54 * C4057: indirection to slightly different base types 55 * C4075: slight indirection changes (unsigned short* vs short[]) 56 * C4100: unreferenced formal parameter 57 * C4127: conditional expression is constant 58 * C4163: '_rotl64' : not available as an intrinsic function 59 * C4201: nonstandard extension nameless struct/unions 60 * C4244: int to char/short - precision loss 61 * C4514: unreferenced inline function removed 62 */ 63 #if defined(_MSC_VER) 64 #pragma warning(disable: 4100 4127 4163 4201 4514; once: 4057 4075 4244) 65 #endif 66 67 /* Ignore Microsoft's interpretation of secure development 68 * and the POSIX string handling API 69 */ 70 #if defined(_MSC_VER) && _MSC_VER >= 1400 71 #ifndef _CRT_SECURE_NO_DEPRECATE 72 #define _CRT_SECURE_NO_DEPRECATE 73 #endif 74 #pragma warning(disable: 4996) 75 #endif 76 77 /* Has windows.h already been included? If so, our preferences don't matter, 78 * but we will still need the winsock things no matter what was included. 79 * If not, include a restricted set of windows headers to our tastes. 80 */ 81 #ifndef _WINDOWS_ 82 #ifndef WIN32_LEAN_AND_MEAN 83 #define WIN32_LEAN_AND_MEAN 84 #endif 85 #ifndef _WIN32_WINNT 86 87 /* Restrict the server to a subset of Windows XP header files by default 88 */ 89 #define _WIN32_WINNT 0x0600 90 #endif 91 #ifndef NOUSER 92 #define NOUSER 93 #endif 94 #ifndef NOMCX 95 #define NOMCX 96 #endif 97 #ifndef NOIME 98 #define NOIME 99 #endif 100 #include <windows.h> 101 /* 102 * Add a _very_few_ declarations missing from the restricted set of headers 103 * (If this list becomes extensive, re-enable the required headers above!) 104 * winsock headers were excluded by WIN32_LEAN_AND_MEAN, so include them now 105 */ 106 #define SW_HIDE 0 107 #ifndef _WIN32_WCE 108 #include <winsock2.h> 109 #include <ws2tcpip.h> 110 #include <mswsock.h> 111 #else 112 #include <winsock.h> 113 #endif 114 #endif /* !_WINDOWS_ */ 115 116 /** 117 * @defgroup APR Apache Portability Runtime library 118 * @{ 119 */ 120 /** 121 * @defgroup apr_platform Platform Definitions 122 * @{ 123 * @warning 124 * <strong><em>The actual values of macros and typedefs on this page<br> 125 * are platform specific and should NOT be relied upon!</em></strong> 126 */ 127 128 #define APR_INLINE __inline 129 #define APR_HAS_INLINE 1 130 #if !defined(__GNUC__) && !defined(__attribute__) 131 #define __attribute__(__x) 132 #endif 133 134 #ifndef _WIN32_WCE 135 #define APR_HAVE_ARPA_INET_H 0 136 #define APR_HAVE_CONIO_H 1 137 #define APR_HAVE_CRYPT_H 0 138 #define APR_HAVE_CTYPE_H 1 139 #define APR_HAVE_DIRENT_H 0 140 #define APR_HAVE_ERRNO_H 1 141 #define APR_HAVE_FCNTL_H 1 142 #define APR_HAVE_IO_H 1 143 #define APR_HAVE_LIMITS_H 1 144 #define APR_HAVE_NETDB_H 0 145 #define APR_HAVE_NETINET_IN_H 0 146 #define APR_HAVE_NETINET_SCTP_H 0 147 #define APR_HAVE_NETINET_SCTP_UIO_H 0 148 #define APR_HAVE_NETINET_TCP_H 0 149 #define APR_HAVE_PTHREAD_H 0 150 #define APR_HAVE_SEMAPHORE_H 0 151 #define APR_HAVE_SIGNAL_H 1 152 #define APR_HAVE_STDARG_H 1 153 #define APR_HAVE_STDINT_H 0 154 #define APR_HAVE_STDIO_H 1 155 #define APR_HAVE_STDLIB_H 1 156 #define APR_HAVE_STRING_H 1 157 #define APR_HAVE_STRINGS_H 0 158 #define APR_HAVE_SYS_IOCTL_H 0 159 #define APR_HAVE_SYS_SENDFILE_H 0 160 #define APR_HAVE_SYS_SIGNAL_H 0 161 #define APR_HAVE_SYS_SOCKET_H 0 162 #define APR_HAVE_SYS_SOCKIO_H 0 163 #define APR_HAVE_SYS_SYSLIMITS_H 0 164 #define APR_HAVE_SYS_TIME_H 0 165 #define APR_HAVE_SYS_TYPES_H 1 166 #define APR_HAVE_SYS_UIO_H 0 167 #define APR_HAVE_SYS_UN_H 0 168 #define APR_HAVE_SYS_WAIT_H 0 169 #define APR_HAVE_TIME_H 1 170 #define APR_HAVE_UNISTD_H 0 171 #define APR_HAVE_STDDEF_H 1 172 #define APR_HAVE_PROCESS_H 1 173 #else 174 #define APR_HAVE_ARPA_INET_H 0 175 #define APR_HAVE_CONIO_H 0 176 #define APR_HAVE_CRYPT_H 0 177 #define APR_HAVE_CTYPE_H 0 178 #define APR_HAVE_DIRENT_H 0 179 #define APR_HAVE_ERRNO_H 0 180 #define APR_HAVE_FCNTL_H 0 181 #define APR_HAVE_IO_H 0 182 #define APR_HAVE_LIMITS_H 0 183 #define APR_HAVE_NETDB_H 0 184 #define APR_HAVE_NETINET_IN_H 0 185 #define APR_HAVE_NETINET_SCTP_H 0 186 #define APR_HAVE_NETINET_SCTP_UIO_H 0 187 #define APR_HAVE_NETINET_TCP_H 0 188 #define APR_HAVE_PTHREAD_H 0 189 #define APR_HAVE_SEMAPHORE_H 0 190 #define APR_HAVE_SIGNAL_H 0 191 #define APR_HAVE_STDARG_H 0 192 #define APR_HAVE_STDINT_H 0 193 #define APR_HAVE_STDIO_H 1 194 #define APR_HAVE_STDLIB_H 1 195 #define APR_HAVE_STRING_H 1 196 #define APR_HAVE_STRINGS_H 0 197 #define APR_HAVE_SYS_IOCTL_H 0 198 #define APR_HAVE_SYS_SENDFILE_H 0 199 #define APR_HAVE_SYS_SIGNAL_H 0 200 #define APR_HAVE_SYS_SOCKET_H 0 201 #define APR_HAVE_SYS_SOCKIO_H 0 202 #define APR_HAVE_SYS_SYSLIMITS_H 0 203 #define APR_HAVE_SYS_TIME_H 0 204 #define APR_HAVE_SYS_TYPES_H 0 205 #define APR_HAVE_SYS_UIO_H 0 206 #define APR_HAVE_SYS_UN_H 0 207 #define APR_HAVE_SYS_WAIT_H 0 208 #define APR_HAVE_TIME_H 0 209 #define APR_HAVE_UNISTD_H 0 210 #define APR_HAVE_STDDEF_H 0 211 #define APR_HAVE_PROCESS_H 0 212 #endif 213 214 /** @} */ 215 /** @} */ 216 217 /* We don't include our conditional headers within the doxyblocks 218 * or the extern "C" namespace 219 */ 220 221 #if APR_HAVE_STDLIB_H 222 #include <stdlib.h> 223 #endif 224 225 #if APR_HAVE_STDIO_H 226 #include <stdio.h> 227 #endif 228 229 #if APR_HAVE_SYS_TYPES_H 230 #include <sys/types.h> 231 #endif 232 233 #if APR_HAVE_STDDEF_H 234 #include <stddef.h> 235 #endif 236 237 #if APR_HAVE_SYS_SOCKET_H 238 #include <sys/socket.h> 239 #endif 240 241 #if APR_HAVE_STDINT_H 242 #include <stdint.h> 243 #endif 244 245 #if APR_HAVE_SYS_WAIT_H 246 #include <sys/wait.h> 247 #endif 248 249 #if APR_HAVE_TIME_H 250 #include <time.h> 251 #endif 252 253 #if APR_HAVE_PROCESS_H 254 #include <process.h> 255 #endif 256 257 #ifdef __cplusplus 258 extern "C" { 259 #endif 260 261 /** 262 * @addtogroup apr_platform 263 * @ingroup APR 264 * @{ 265 */ 266 267 #define APR_HAVE_SHMEM_MMAP_TMP 0 268 #define APR_HAVE_SHMEM_MMAP_SHM 0 269 #define APR_HAVE_SHMEM_MMAP_ZERO 0 270 #define APR_HAVE_SHMEM_SHMGET_ANON 0 271 #define APR_HAVE_SHMEM_SHMGET 0 272 #define APR_HAVE_SHMEM_MMAP_ANON 0 273 #define APR_HAVE_SHMEM_BEOS 0 274 275 #define APR_USE_SHMEM_MMAP_TMP 0 276 #define APR_USE_SHMEM_MMAP_SHM 0 277 #define APR_USE_SHMEM_MMAP_ZERO 0 278 #define APR_USE_SHMEM_SHMGET_ANON 0 279 #define APR_USE_SHMEM_SHMGET 0 280 #define APR_USE_SHMEM_MMAP_ANON 0 281 #define APR_USE_SHMEM_BEOS 0 282 283 #define APR_USE_FLOCK_SERIALIZE 0 284 #define APR_USE_POSIXSEM_SERIALIZE 0 285 #define APR_USE_SYSVSEM_SERIALIZE 0 286 #define APR_USE_FCNTL_SERIALIZE 0 287 #define APR_USE_PROC_PTHREAD_SERIALIZE 0 288 #define APR_USE_PTHREAD_SERIALIZE 0 289 290 #define APR_HAS_FLOCK_SERIALIZE 0 291 #define APR_HAS_SYSVSEM_SERIALIZE 0 292 #define APR_HAS_POSIXSEM_SERIALIZE 0 293 #define APR_HAS_FCNTL_SERIALIZE 0 294 #define APR_HAS_PROC_PTHREAD_SERIALIZE 0 295 296 #define APR_PROCESS_LOCK_IS_GLOBAL 0 297 298 #define APR_HAVE_CORKABLE_TCP 0 299 #define APR_HAVE_GETRLIMIT 0 300 #define APR_HAVE_ICONV 0 301 #define APR_HAVE_IN_ADDR 1 302 #define APR_HAVE_INET_ADDR 1 303 #define APR_HAVE_INET_NETWORK 0 304 #define APR_HAVE_IPV6 1 305 #define APR_HAVE_SOCKADDR_UN 0 306 #define APR_HAVE_MEMMOVE 1 307 #define APR_HAVE_SETRLIMIT 0 308 #define APR_HAVE_SIGACTION 0 309 #define APR_HAVE_SIGSUSPEND 0 310 #define APR_HAVE_SIGWAIT 0 311 #define APR_HAVE_SA_STORAGE 0 312 #define APR_HAVE_STRCASECMP 0 313 #define APR_HAVE_STRDUP 1 314 #define APR_HAVE_STRNCASECMP 0 315 #define APR_HAVE_STRSTR 1 316 #define APR_HAVE_MEMCHR 1 317 #define APR_HAVE_STRUCT_RLIMIT 0 318 #define APR_HAVE_UNION_SEMUN 0 319 #define APR_HAVE_SCTP 0 320 #define APR_HAVE_IOVEC 0 321 322 #ifndef _WIN32_WCE 323 #define APR_HAVE_STRICMP 1 324 #define APR_HAVE_STRNICMP 1 325 #else 326 #define APR_HAVE_STRICMP 0 327 #define APR_HAVE_STRNICMP 0 328 #endif 329 330 /* APR Feature Macros */ 331 #define APR_HAS_SHARED_MEMORY 1 332 #define APR_HAS_THREADS 1 333 #define APR_HAS_MMAP 1 334 #define APR_HAS_FORK 0 335 #define APR_HAS_RANDOM 1 336 #define APR_HAS_OTHER_CHILD 1 337 #define APR_HAS_DSO 1 338 #define APR_HAS_SO_ACCEPTFILTER 0 339 #define APR_HAS_UNICODE_FS 1 340 #define APR_HAS_PROC_INVOKED 1 341 #define APR_HAS_OS_UUID 1 342 #define APR_HAS_TIMEDLOCKS 1 343 344 #ifndef _WIN32_WCE 345 #define APR_HAS_SENDFILE 1 346 #define APR_HAS_USER 1 347 #define APR_HAS_LARGE_FILES 1 348 #define APR_HAS_XTHREAD_FILES 1 349 #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 1 350 #else 351 #define APR_HAS_SENDFILE 0 352 #define APR_HAS_USER 0 353 #define APR_HAS_LARGE_FILES 0 354 #define APR_HAS_XTHREAD_FILES 0 355 #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0 356 #endif 357 358 /* APR sets APR_FILES_AS_SOCKETS to 1 on systems where it is possible 359 * to poll on files/pipes. 360 */ 361 #define APR_FILES_AS_SOCKETS 0 362 363 /* This macro indicates whether or not EBCDIC is the native character set. 364 */ 365 #define APR_CHARSET_EBCDIC 0 366 367 /* If we have a TCP implementation that can be "corked", what flag 368 * do we use? 369 */ 370 #define APR_TCP_NOPUSH_FLAG 0 371 372 /* Is the TCP_NODELAY socket option inherited from listening sockets? 373 */ 374 #define APR_TCP_NODELAY_INHERITED 1 375 376 /* Is the O_NONBLOCK flag inherited from listening sockets? 377 */ 378 #define APR_O_NONBLOCK_INHERITED 1 379 380 /* Typedefs that APR needs. */ 381 382 typedef unsigned char apr_byte_t; 383 384 typedef short apr_int16_t; 385 typedef unsigned short apr_uint16_t; 386 387 typedef int apr_int32_t; 388 typedef unsigned int apr_uint32_t; 389 390 typedef __int64 apr_int64_t; 391 typedef unsigned __int64 apr_uint64_t; 392 393 typedef size_t apr_size_t; 394 #if APR_HAVE_STDDEF_H 395 typedef ptrdiff_t apr_ssize_t; 396 #else 397 typedef int apr_ssize_t; 398 #endif 399 #if APR_HAS_LARGE_FILES 400 typedef __int64 apr_off_t; 401 #else 402 typedef int apr_off_t; 403 #endif 404 typedef int apr_socklen_t; 405 typedef apr_uint64_t apr_ino_t; 406 407 #ifdef _WIN64 408 #define APR_SIZEOF_VOIDP 8 409 #else 410 #define APR_SIZEOF_VOIDP 4 411 #endif 412 413 #if APR_SIZEOF_VOIDP == 8 414 typedef apr_uint64_t apr_uintptr_t; 415 #else 416 typedef apr_uint32_t apr_uintptr_t; 417 #endif 418 419 /* Are we big endian? */ 420 /* XXX: Fatal assumption on Alpha platforms */ 421 #define APR_IS_BIGENDIAN 0 422 423 /* Mechanisms to properly type numeric literals */ 424 425 #ifndef __GNUC__ 426 #define APR_INT64_C(val) (val##i64) 427 #define APR_UINT64_C(val) (val##Ui64) 428 #else 429 #define APR_INT64_C(val) (val##LL) 430 #define APR_UINT64_C(val) (val##ULL) 431 #endif 432 433 #ifdef INT16_MIN 434 #define APR_INT16_MIN INT16_MIN 435 #else 436 #define APR_INT16_MIN (-0x7fff - 1) 437 #endif 438 439 #ifdef INT16_MAX 440 #define APR_INT16_MAX INT16_MAX 441 #else 442 #define APR_INT16_MAX (0x7fff) 443 #endif 444 445 #ifdef UINT16_MAX 446 #define APR_UINT16_MAX UINT16_MAX 447 #else 448 #define APR_UINT16_MAX (0xffff) 449 #endif 450 451 #ifdef INT32_MIN 452 #define APR_INT32_MIN INT32_MIN 453 #else 454 #define APR_INT32_MIN (-0x7fffffff - 1) 455 #endif 456 457 #ifdef INT32_MAX 458 #define APR_INT32_MAX INT32_MAX 459 #else 460 #define APR_INT32_MAX 0x7fffffff 461 #endif 462 463 #ifdef UINT32_MAX 464 #define APR_UINT32_MAX UINT32_MAX 465 #else 466 #define APR_UINT32_MAX (0xffffffffU) 467 #endif 468 469 #ifdef INT64_MIN 470 #define APR_INT64_MIN INT64_MIN 471 #else 472 #define APR_INT64_MIN (APR_INT64_C(-0x7fffffffffffffff) - 1) 473 #endif 474 475 #ifdef INT64_MAX 476 #define APR_INT64_MAX INT64_MAX 477 #else 478 #define APR_INT64_MAX APR_INT64_C(0x7fffffffffffffff) 479 #endif 480 481 #ifdef UINT64_MAX 482 #define APR_UINT64_MAX UINT64_MAX 483 #else 484 #define APR_UINT64_MAX APR_UINT64_C(0xffffffffffffffff) 485 #endif 486 487 #define APR_SIZE_MAX (~((apr_size_t)0)) 488 489 /* Definitions that APR programs need to work properly. */ 490 491 /** 492 * APR public API wrap for C++ compilers. 493 */ 494 #ifdef __cplusplus 495 #define APR_BEGIN_DECLS extern "C" { 496 #define APR_END_DECLS } 497 #else 498 #define APR_BEGIN_DECLS 499 #define APR_END_DECLS 500 #endif 501 502 /** 503 * Thread callbacks from APR functions must be declared with APR_THREAD_FUNC, 504 * so that they follow the platform's calling convention. 505 * <PRE> 506 * 507 * void* APR_THREAD_FUNC my_thread_entry_fn(apr_thread_t *thd, void *data); 508 * 509 * </PRE> 510 */ 511 #define APR_THREAD_FUNC __stdcall 512 513 514 #if defined(DOXYGEN) || !defined(WIN32) 515 516 /** 517 * The public APR functions are declared with APR_DECLARE(), so they may 518 * use the most appropriate calling convention. Public APR functions with 519 * variable arguments must use APR_DECLARE_NONSTD(). 520 * 521 * @remark Both the declaration and implementations must use the same macro. 522 * 523 * <PRE> 524 * APR_DECLARE(rettype) apr_func(args) 525 * </PRE> 526 * @see APR_DECLARE_NONSTD @see APR_DECLARE_DATA 527 * @remark Note that when APR compiles the library itself, it passes the 528 * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32) 529 * to export public symbols from the dynamic library build.\n 530 * The user must define the APR_DECLARE_STATIC when compiling to target 531 * the static APR library on some platforms (e.g. Win32.) The public symbols 532 * are neither exported nor imported when APR_DECLARE_STATIC is defined.\n 533 * By default, compiling an application and including the APR public 534 * headers, without defining APR_DECLARE_STATIC, will prepare the code to be 535 * linked to the dynamic library. 536 */ 537 #define APR_DECLARE(type) type 538 539 /** 540 * The public APR functions using variable arguments are declared with 541 * APR_DECLARE_NONSTD(), as they must follow the C language calling convention. 542 * @see APR_DECLARE @see APR_DECLARE_DATA 543 * @remark Both the declaration and implementations must use the same macro. 544 * <PRE> 545 * 546 * APR_DECLARE_NONSTD(rettype) apr_func(args, ...); 547 * 548 * </PRE> 549 */ 550 #define APR_DECLARE_NONSTD(type) type 551 552 /** 553 * The public APR variables are declared with AP_MODULE_DECLARE_DATA. 554 * This assures the appropriate indirection is invoked at compile time. 555 * @see APR_DECLARE @see APR_DECLARE_NONSTD 556 * @remark Note that the declaration and implementations use different forms, 557 * but both must include the macro. 558 * 559 * <PRE> 560 * 561 * extern APR_DECLARE_DATA type apr_variable;\n 562 * APR_DECLARE_DATA type apr_variable = value; 563 * 564 * </PRE> 565 */ 566 #define APR_DECLARE_DATA 567 568 #elif defined(APR_DECLARE_STATIC) 569 #define APR_DECLARE(type) type __stdcall 570 #define APR_DECLARE_NONSTD(type) type __cdecl 571 #define APR_DECLARE_DATA 572 #elif defined(APR_DECLARE_EXPORT) 573 #define APR_DECLARE(type) __declspec(dllexport) type __stdcall 574 #define APR_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl 575 #define APR_DECLARE_DATA __declspec(dllexport) 576 #else 577 #define APR_DECLARE(type) __declspec(dllimport) type __stdcall 578 #define APR_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl 579 #define APR_DECLARE_DATA __declspec(dllimport) 580 #endif 581 582 #ifdef _WIN64 583 #define APR_SSIZE_T_FMT "I64d" 584 #define APR_SIZE_T_FMT "I64u" 585 #else 586 #define APR_SSIZE_T_FMT "d" 587 #define APR_SIZE_T_FMT "u" 588 #endif 589 590 #if APR_HAS_LARGE_FILES 591 #define APR_OFF_T_FMT "I64d" 592 #else 593 #define APR_OFF_T_FMT "d" 594 #endif 595 596 #define APR_PID_T_FMT "d" 597 598 #define APR_INT64_T_FMT "I64d" 599 #define APR_UINT64_T_FMT "I64u" 600 #define APR_UINT64_T_HEX_FMT "I64x" 601 602 /* No difference between PROC and GLOBAL mutex */ 603 #define APR_PROC_MUTEX_IS_GLOBAL 1 604 605 /* Local machine definition for console and log output. */ 606 #define APR_EOL_STR "\r\n" 607 608 typedef int apr_wait_t; 609 610 #if APR_HAS_UNICODE_FS 611 /* An arbitrary size that is digestable. True max is a bit less than 32000 */ 612 #define APR_PATH_MAX 8192 613 #else /* !APR_HAS_UNICODE_FS */ 614 #define APR_PATH_MAX MAX_PATH 615 #endif 616 617 #define APR_DSOPATH "PATH" 618 619 /** @} */ 620 621 /* Definitions that only Win32 programs need to compile properly. */ 622 623 /* XXX These simply don't belong here, perhaps in apr_portable.h 624 * based on some APR_HAVE_PID/GID/UID? 625 */ 626 #ifndef __GNUC__ 627 typedef int pid_t; 628 #endif 629 typedef int uid_t; 630 typedef int gid_t; 631 632 /* Win32 .h ommissions we really need */ 633 #define STDIN_FILENO 0 634 #define STDOUT_FILENO 1 635 #define STDERR_FILENO 2 636 637 #if APR_HAVE_IPV6 638 639 /* Appears in later flavors, not the originals. */ 640 #ifndef in_addr6 641 #define in6_addr in_addr6 642 #endif 643 644 #ifndef WS2TCPIP_INLINE 645 #define IN6_IS_ADDR_V4MAPPED(a) \ 646 ( (*(const apr_uint64_t *)(const void *)(&(a)->s6_addr[0]) == 0) \ 647 && (*(const apr_uint32_t *)(const void *)(&(a)->s6_addr[8]) == ntohl(0x0000ffff))) 648 #endif 649 650 #endif /* APR_HAVE_IPV6 */ 651 652 #ifdef __cplusplus 653 } 654 #endif 655 656 /* Done with badly written headers, leave 'deprecated CRT' undeprecated 657 */ 658 #if defined(_MSC_VER) && _MSC_VER >= 1200 659 #pragma warning(pop) 660 #if _MSC_VER >= 1400 661 #pragma warning(disable: 4996) 662 #endif 663 #endif 664 665 #endif /* WIN32 */ 666 667 #endif /* APR_H */