Annotation of win32/apache22/srclib/apr/include/apr.hnw, revision 1.1
1.1 ! moko 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.hnw instead.
! 24: *
! 25: * And please, make an effort to stub apr.hw and apr.h.in in the process.
! 26: *
! 27: * This is the NetWare specific version of apr.h. It is copied from
! 28: * apr.hnw at the start of a NetWare build by the ./build/NWGNmakefile.
! 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: #if defined(NETWARE) || defined(DOXYGEN)
! 40:
! 41: #undef FD_SETSIZE
! 42: #define FD_SETSIZE 1024
! 43:
! 44: #include <sys/types.h>
! 45: #include <stddef.h>
! 46: #include <stdio.h>
! 47: #include <time.h>
! 48: #include <stdint.h>
! 49: #include <stdlib.h>
! 50: #include <string.h>
! 51: #include <limits.h>
! 52: #include <netware.h>
! 53: #include <nks/thread.h>
! 54: #include <nks/synch.h>
! 55: #include <nks/time.h>
! 56: #include <signal.h>
! 57: #ifdef USE_WINSOCK
! 58: #include <novsock2.h>
! 59: #ifdef NW_BUILD_IPV6
! 60: #include <novtcpip.h>
! 61: #endif
! 62: #else
! 63: #include <sys/socket.h>
! 64: #include <sys/select.h>
! 65: #endif
! 66: #include <sys/types.h>
! 67:
! 68: #define _POSIX_THREAD_SAFE_FUNCTIONS 1
! 69: #define READDIR_IS_THREAD_SAFE 1
! 70:
! 71: /* Keep #include'd headers from within the __cplusplus or doxyblocks */
! 72:
! 73: #ifdef __cplusplus
! 74: extern "C" {
! 75: #endif
! 76:
! 77: /**
! 78: * @defgroup apr_platform Platform Definitions
! 79: * @ingroup APR
! 80: * @{
! 81: */
! 82:
! 83: #define APR_INLINE
! 84: #define APR_HAS_INLINE 0
! 85: #ifndef __attribute__
! 86: #define __attribute__(__x)
! 87: #endif
! 88: #define ENUM_BITFIELD(e,n,w) signed int n : w
! 89:
! 90: #define APR_HAVE_CONIO_H 0
! 91: #define APR_HAVE_CRYPT_H 0
! 92: #define APR_HAVE_CTYPE_H 1
! 93: #define APR_HAVE_DIRENT_H 1
! 94: #define APR_HAVE_ERRNO_H 1
! 95: #define APR_HAVE_FCNTL_H 1
! 96: #define APR_HAVE_IO_H 0
! 97: #define APR_HAVE_LIMITS_H 1
! 98: #ifdef USE_WINSOCK
! 99: #define APR_HAVE_ARPA_INET_H 0
! 100: #define APR_HAVE_NETDB_H 0
! 101: #define APR_HAVE_NETINET_IN_H 0
! 102: #else
! 103: #define APR_HAVE_ARPA_INET_H 1
! 104: #define APR_HAVE_NETDB_H 1
! 105: #define APR_HAVE_NETINET_IN_H 1
! 106: #endif
! 107: #define APR_HAVE_NETINET_SCTP_H 0
! 108: #define APR_HAVE_NETINET_SCTP_UIO_H 0
! 109: #define APR_HAVE_NETINET_TCP_H 0
! 110: #define APR_HAVE_PTHREAD_H 0
! 111: #define APR_HAVE_SIGNAL_H 1
! 112: #define APR_HAVE_STDARG_H 1
! 113: #define APR_HAVE_STDINT_H 0
! 114: #define APR_HAVE_STDIO_H 1
! 115: #define APR_HAVE_STDLIB_H 1
! 116: #define APR_HAVE_STRING_H 1
! 117: #define APR_HAVE_STRINGS_H 0
! 118: #define APR_HAVE_STRTOLL 1
! 119: #define APR_HAVE_SYS_SENDFILE_H 0
! 120: #define APR_HAVE_SYS_SYSLIMITS_H 0
! 121: #ifdef USE_WINSOCK
! 122: #define APR_HAVE_SYS_SOCKET_H 0
! 123: #define APR_HAVE_SYS_SOCKIO_H 0
! 124: #define APR_HAVE_SYS_UN_H 0
! 125: #else
! 126: #define APR_HAVE_SYS_SOCKET_H 1
! 127: #define APR_HAVE_SYS_SOCKIO_H 1
! 128: #define APR_HAVE_SYS_UN_H 1
! 129: #endif
! 130: #define APR_HAVE_SYS_SIGNAL_H 1
! 131: #define APR_HAVE_SYS_TIME_H 1
! 132: #define APR_HAVE_SYS_TYPES_H 1
! 133: #define APR_HAVE_SYS_UIO_H 1
! 134: #define APR_HAVE_SYS_WAIT_H 1
! 135: #define APR_HAVE_TIME_H 1
! 136: #define APR_HAVE_UNISTD_H 1
! 137:
! 138: #define APR_HAVE_SHMEM_MMAP_TMP 0
! 139: #define APR_HAVE_SHMEM_MMAP_SHM 0
! 140: #define APR_HAVE_SHMEM_MMAP_ZERO 0
! 141: #define APR_HAVE_SHMEM_SHMGET_ANON 0
! 142: #define APR_HAVE_SHMEM_SHMGET 0
! 143: #define APR_HAVE_SHMEM_MMAP_ANON 0
! 144: #define APR_HAVE_SHMEM_BEOS 0
! 145:
! 146: #define APR_USE_SHMEM_MMAP_TMP 0
! 147: #define APR_USE_SHMEM_MMAP_SHM 0
! 148: #define APR_USE_SHMEM_MMAP_ZERO 0
! 149: #define APR_USE_SHMEM_SHMGET_ANON 0
! 150: #define APR_USE_SHMEM_SHMGET 0
! 151: #define APR_USE_SHMEM_MMAP_ANON 0
! 152: #define APR_USE_SHMEM_BEOS 0
! 153:
! 154: #define APR_USE_FLOCK_SERIALIZE 0
! 155: #define APR_USE_SYSVSEM_SERIALIZE 0
! 156: #define APR_USE_FCNTL_SERIALIZE 0
! 157: #define APR_USE_PROC_PTHREAD_SERIALIZE 0
! 158: #define APR_USE_PTHREAD_SERIALIZE 0
! 159:
! 160: #define APR_HAS_FLOCK_SERIALIZE 0
! 161: #define APR_HAS_SYSVSEM_SERIALIZE 0
! 162: #define APR_HAS_FCNTL_SERIALIZE 0
! 163: #define APR_HAS_PROC_PTHREAD_SERIALIZE 0
! 164: #define APR_HAS_RWLOCK_SERIALIZE 0
! 165:
! 166: #define APR_HAS_LOCK_CREATE_NP 0
! 167:
! 168: #define APR_PROCESS_LOCK_IS_GLOBAL 1
! 169:
! 170: #define APR_FILE_BASED_SHM 0
! 171:
! 172: #define APR_HAVE_CORKABLE_TCP 0
! 173: #define APR_HAVE_GETRLIMIT 0
! 174: #define APR_HAVE_ICONV 0
! 175: #define APR_HAVE_IN_ADDR 1
! 176: #define APR_HAVE_INET_ADDR 1
! 177: #define APR_HAVE_INET_NETWORK 0
! 178: #ifdef NW_BUILD_IPV6
! 179: #define APR_HAVE_IPV6 1
! 180: #else
! 181: #define APR_HAVE_IPV6 0
! 182: #endif
! 183: #define APR_HAVE_MEMCHR 1
! 184: #define APR_HAVE_MEMMOVE 1
! 185: #define APR_HAVE_SETRLIMIT 0
! 186: #define APR_HAVE_SIGACTION 0
! 187: #define APR_HAVE_SIGSUSPEND 0
! 188: #define APR_HAVE_SIGWAIT 0
! 189: #define APR_HAVE_STRCASECMP 1
! 190: #define APR_HAVE_STRDUP 1
! 191: #define APR_HAVE_STRICMP 1
! 192: #define APR_HAVE_STRNCASECMP 1
! 193: #define APR_HAVE_STRNICMP 1
! 194: #define APR_HAVE_STRSTR 1
! 195: #define APR_HAVE_STRUCT_RLIMIT 0
! 196: #define APR_HAVE_UNION_SEMUN 0
! 197: #define APR_HAVE_SCTP 0
! 198: #define APR_HAVE_IOVEC 1
! 199:
! 200: /* APR Feature Macros */
! 201: #define APR_HAS_SHARED_MEMORY 0
! 202: #define APR_HAS_THREADS 1
! 203: #define APR_HAS_SENDFILE 0
! 204: #define APR_HAS_MMAP 0
! 205: #define APR_HAS_FORK 0
! 206: #define APR_HAS_RANDOM 1
! 207: #define APR_HAS_OTHER_CHILD 0
! 208: #define APR_HAS_DSO 1
! 209: #define APR_HAS_SO_ACCEPTFILTER 0
! 210: #define APR_HAS_UNICODE_FS 0
! 211: #define APR_HAS_PROC_INVOKED 0
! 212: #define APR_HAS_USER 1
! 213: #define APR_HAS_LARGE_FILES 1
! 214: #define APR_HAS_XTHREAD_FILES 0
! 215: #define APR_HAS_OS_UUID 0
! 216:
! 217: #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0
! 218:
! 219: /* Netware can poll on files/pipes.
! 220: */
! 221: #define APR_FILES_AS_SOCKETS 1
! 222:
! 223: /* This macro indicates whether or not EBCDIC is the native character set.
! 224: */
! 225: #define APR_CHARSET_EBCDIC 0
! 226:
! 227: /* Is the TCP_NODELAY socket option inherited from listening sockets?
! 228: */
! 229: #define APR_TCP_NODELAY_INHERITED 1
! 230:
! 231: /* Is the O_NONBLOCK flag inherited from listening sockets?
! 232: */
! 233: #define APR_O_NONBLOCK_INHERITED 1
! 234:
! 235: /* Typedefs that APR needs. */
! 236:
! 237: typedef unsigned char apr_byte_t;
! 238:
! 239: typedef short apr_int16_t;
! 240: typedef unsigned short apr_uint16_t;
! 241:
! 242: typedef int apr_int32_t;
! 243: typedef unsigned int apr_uint32_t;
! 244:
! 245: typedef long long apr_int64_t;
! 246: typedef unsigned long long apr_uint64_t;
! 247:
! 248: typedef size_t apr_size_t;
! 249: typedef ssize_t apr_ssize_t;
! 250: #if APR_HAS_LARGE_FILES
! 251: typedef off64_t apr_off_t;
! 252: #else
! 253: typedef off_t apr_off_t;
! 254: #endif
! 255: #ifdef USE_WINSOCK
! 256: typedef int apr_socklen_t;
! 257: #else
! 258: typedef size_t apr_socklen_t;
! 259: #endif
! 260: typedef apr_uint64_t apr_ino_t;
! 261:
! 262: /* Are we big endian? */
! 263: /* XXX: Fatal assumption on Alpha platforms */
! 264: #define APR_IS_BIGENDIAN 0
! 265:
! 266: #ifdef UNKNOWN_NETWARE_64BIT_FLAG_NEEDED
! 267: #define APR_SIZEOF_VOIDP 8
! 268: #else
! 269: #define APR_SIZEOF_VOIDP 4
! 270: #endif
! 271:
! 272: #if APR_SIZEOF_VOIDP == 8
! 273: typedef apr_uint64_t apr_uintptr_t;
! 274: #else
! 275: typedef apr_uint32_t apr_uintptr_t;
! 276: #endif
! 277:
! 278: /* Mechanisms to properly type numeric literals */
! 279: #define APR_INT64_C(val) (val##LL)
! 280: #define APR_UINT64_C(val) (val##ULL)
! 281:
! 282: #ifdef INT16_MIN
! 283: #define APR_INT16_MIN INT16_MIN
! 284: #else
! 285: #define APR_INT16_MIN (-0x7fff - 1)
! 286: #endif
! 287:
! 288: #ifdef INT16_MAX
! 289: #define APR_INT16_MAX INT16_MAX
! 290: #else
! 291: #define APR_INT16_MAX (0x7fff)
! 292: #endif
! 293:
! 294: #ifdef UINT16_MAX
! 295: #define APR_UINT16_MAX UINT16_MAX
! 296: #else
! 297: #define APR_UINT16_MAX (0xffff)
! 298: #endif
! 299:
! 300: #ifdef INT32_MIN
! 301: #define APR_INT32_MIN INT32_MIN
! 302: #else
! 303: #define APR_INT32_MIN (-0x7fffffff - 1)
! 304: #endif
! 305:
! 306: #ifdef INT32_MAX
! 307: #define APR_INT32_MAX INT32_MAX
! 308: #else
! 309: #define APR_INT32_MAX 0x7fffffff
! 310: #endif
! 311:
! 312: #ifdef UINT32_MAX
! 313: #define APR_UINT32_MAX UINT32_MAX
! 314: #else
! 315: #define APR_UINT32_MAX (0xffffffffU)
! 316: #endif
! 317:
! 318: #ifdef INT64_MIN
! 319: #define APR_INT64_MIN INT64_MIN
! 320: #else
! 321: #define APR_INT64_MIN (APR_INT64_C(-0x7fffffffffffffff) - 1)
! 322: #endif
! 323:
! 324: #ifdef INT64_MAX
! 325: #define APR_INT64_MAX INT64_MAX
! 326: #else
! 327: #define APR_INT64_MAX APR_INT64_C(0x7fffffffffffffff)
! 328: #endif
! 329:
! 330: #ifdef UINT64_MAX
! 331: #define APR_UINT64_MAX UINT64_MAX
! 332: #else
! 333: #define APR_UINT64_MAX APR_UINT64_C(0xffffffffffffffff)
! 334: #endif
! 335:
! 336: #define APR_SIZE_MAX (~((apr_size_t)0))
! 337:
! 338: /* PROC mutex is a GLOBAL mutex on Netware */
! 339: #define APR_PROC_MUTEX_IS_GLOBAL 1
! 340:
! 341: /* Definitions that APR programs need to work properly. */
! 342:
! 343: /**
! 344: * APR public API wrap for C++ compilers.
! 345: */
! 346: #ifdef __cplusplus
! 347: #define APR_BEGIN_DECLS extern "C" {
! 348: #define APR_END_DECLS }
! 349: #else
! 350: #define APR_BEGIN_DECLS
! 351: #define APR_END_DECLS
! 352: #endif
! 353:
! 354: /**
! 355: * Thread callbacks from APR functions must be declared with APR_THREAD_FUNC,
! 356: * so that they follow the platform's calling convention.
! 357: * @example
! 358: */
! 359: /** void* APR_THREAD_FUNC my_thread_entry_fn(apr_thread_t *thd, void *data);
! 360: */
! 361: #define APR_THREAD_FUNC
! 362:
! 363: /**
! 364: * The public APR functions are declared with APR_DECLARE(), so they may
! 365: * use the most appropriate calling convention. Public APR functions with
! 366: * variable arguments must use APR_DECLARE_NONSTD().
! 367: *
! 368: * @remark Both the declaration and implementations must use the same macro.
! 369: * @example
! 370: */
! 371: /** APR_DECLARE(rettype) apr_func(args)
! 372: * @see APR_DECLARE_NONSTD @see APR_DECLARE_DATA
! 373: * @remark Note that when APR compiles the library itself, it passes the
! 374: * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32)
! 375: * to export public symbols from the dynamic library build.\n
! 376: * The user must define the APR_DECLARE_STATIC when compiling to target
! 377: * the static APR library on some platforms (e.g. Win32.) The public symbols
! 378: * are neither exported nor imported when APR_DECLARE_STATIC is defined.\n
! 379: * By default, compiling an application and including the APR public
! 380: * headers, without defining APR_DECLARE_STATIC, will prepare the code to be
! 381: * linked to the dynamic library.
! 382: */
! 383: #define APR_DECLARE(type) type
! 384:
! 385: /**
! 386: * The public APR functions using variable arguments are declared with
! 387: * APR_DECLARE_NONSTD(), as they must follow the C language calling convention.
! 388: * @see APR_DECLARE @see APR_DECLARE_DATA
! 389: * @remark Both the declaration and implementations must use the same macro.
! 390: * @example
! 391: */
! 392: /** APR_DECLARE_NONSTD(rettype) apr_func(args, ...);
! 393: */
! 394: #define APR_DECLARE_NONSTD(type) type
! 395:
! 396: /**
! 397: * The public APR variables are declared with APR_DECLARE_DATA.
! 398: * This assures the appropriate indirection is invoked at compile time.
! 399: * @see APR_DECLARE @see APR_DECLARE_NONSTD
! 400: * @remark Note that the declaration and implementations use different forms,
! 401: * but both must include the macro.
! 402: * @example
! 403: */
! 404: /** extern APR_DECLARE_DATA type apr_variable;\n
! 405: * APR_DECLARE_DATA type apr_variable = value;
! 406: */
! 407: #define APR_DECLARE_DATA
! 408:
! 409: #define APR_SSIZE_T_FMT "d"
! 410:
! 411: #define APR_SIZE_T_FMT "d"
! 412:
! 413: #if APR_HAS_LARGE_FILES
! 414: #define APR_OFF_T_FMT "lld"
! 415: #else
! 416: #define APR_OFF_T_FMT "ld"
! 417: #endif
! 418:
! 419: #define APR_PID_T_FMT "d"
! 420:
! 421: /* Local machine definition for console and log output. */
! 422: #define APR_EOL_STR "\r\n"
! 423:
! 424: typedef int apr_wait_t;
! 425:
! 426: #define APR_PATH_MAX PATH_MAX
! 427:
! 428: #define APR_DSOPATH "PATH"
! 429:
! 430: #define APR_INT64_T_FMT "lld"
! 431: #define APR_UINT64_T_FMT "llu"
! 432: #define APR_UINT64_T_HEX_FMT "llx"
! 433: #define APR_TIME_T_FMT APR_INT64_T_FMT
! 434:
! 435: /** @} */
! 436:
! 437: #ifdef __cplusplus
! 438: }
! 439: #endif
! 440:
! 441: #endif /* NETWARE */
! 442:
! 443: #endif /* APR_H */
E-mail: