github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/include/apr_want.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  #include "apr.h"        /* configuration data */
    18  /**
    19   * @file apr_want.h
    20   * @brief APR Standard Headers Support
    21   *
    22   * <PRE>
    23   * Features:
    24   *
    25   *   APR_WANT_STRFUNC:  strcmp, strcat, strcpy, etc
    26   *   APR_WANT_MEMFUNC:  memcmp, memcpy, etc
    27   *   APR_WANT_STDIO:    <stdio.h> and related bits
    28   *   APR_WANT_IOVEC:    struct iovec
    29   *   APR_WANT_BYTEFUNC: htons, htonl, ntohl, ntohs
    30   *
    31   * Typical usage:
    32   *
    33   *   \#define APR_WANT_STRFUNC
    34   *   \#define APR_WANT_MEMFUNC
    35   *   \#include "apr_want.h"
    36   *
    37   * The appropriate headers will be included.
    38   *
    39   * Note: it is safe to use this in a header (it won't interfere with other
    40   *       headers' or source files' use of apr_want.h)
    41   * </PRE>
    42   */
    43  
    44  /* --------------------------------------------------------------------- */
    45  
    46  #ifdef APR_WANT_STRFUNC
    47  
    48  #if APR_HAVE_STRING_H
    49  #include <string.h>
    50  #endif
    51  #if APR_HAVE_STRINGS_H
    52  #include <strings.h>
    53  #endif
    54  
    55  #undef APR_WANT_STRFUNC
    56  #endif
    57  
    58  /* --------------------------------------------------------------------- */
    59  
    60  #ifdef APR_WANT_MEMFUNC
    61  
    62  #if APR_HAVE_STRING_H
    63  #include <string.h>
    64  #endif
    65  
    66  #undef APR_WANT_MEMFUNC
    67  #endif
    68  
    69  /* --------------------------------------------------------------------- */
    70  
    71  #ifdef APR_WANT_STDIO
    72  
    73  #if APR_HAVE_STDIO_H
    74  #include <stdio.h>
    75  #endif
    76  
    77  #undef APR_WANT_STDIO
    78  #endif
    79  
    80  /* --------------------------------------------------------------------- */
    81  
    82  #ifdef APR_WANT_IOVEC
    83  
    84  #if APR_HAVE_IOVEC
    85  
    86  #if APR_HAVE_SYS_UIO_H
    87  #include <sys/uio.h>
    88  #endif
    89  
    90  #else
    91  
    92  #ifndef APR_IOVEC_DEFINED
    93  #define APR_IOVEC_DEFINED
    94  struct iovec
    95  {
    96      void *iov_base;
    97      size_t iov_len;
    98  };
    99  #endif /* !APR_IOVEC_DEFINED */
   100  
   101  #endif /* APR_HAVE_IOVEC */
   102  
   103  #undef APR_WANT_IOVEC
   104  #endif
   105  
   106  /* --------------------------------------------------------------------- */
   107  
   108  #ifdef APR_WANT_BYTEFUNC
   109  
   110  /* Single Unix says they are in arpa/inet.h.  Linux has them in
   111   * netinet/in.h.  FreeBSD has them in arpa/inet.h but requires that
   112   * netinet/in.h be included first.
   113   */
   114  #if APR_HAVE_NETINET_IN_H
   115  #include <netinet/in.h>
   116  #endif
   117  #if APR_HAVE_ARPA_INET_H
   118  #include <arpa/inet.h>
   119  #endif
   120  
   121  #undef APR_WANT_BYTEFUNC
   122  #endif
   123  
   124  /* --------------------------------------------------------------------- */