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