apr.hnw revision 251875
1251875Speter/* Licensed to the Apache Software Foundation (ASF) under one or more 2251875Speter * contributor license agreements. See the NOTICE file distributed with 3251875Speter * this work for additional information regarding copyright ownership. 4251875Speter * The ASF licenses this file to You under the Apache License, Version 2.0 5251875Speter * (the "License"); you may not use this file except in compliance with 6251875Speter * the License. You may obtain a copy of the License at 7251875Speter * 8251875Speter * http://www.apache.org/licenses/LICENSE-2.0 9251875Speter * 10251875Speter * Unless required by applicable law or agreed to in writing, software 11251875Speter * distributed under the License is distributed on an "AS IS" BASIS, 12251875Speter * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13251875Speter * See the License for the specific language governing permissions and 14251875Speter * limitations under the License. 15251875Speter */ 16251875Speter 17251875Speter 18251875Speter#ifndef APR_H 19251875Speter#define APR_H 20251875Speter 21251875Speter/* GENERATED FILE WARNING! DO NOT EDIT apr.h 22251875Speter * 23251875Speter * You must modify apr.hnw instead. 24251875Speter * 25251875Speter * And please, make an effort to stub apr.hw and apr.h.in in the process. 26251875Speter * 27251875Speter * This is the NetWare specific version of apr.h. It is copied from 28251875Speter * apr.hnw at the start of a NetWare build by the ./build/NWGNmakefile. 29251875Speter */ 30251875Speter 31251875Speter/** 32251875Speter * @file apr.h 33251875Speter * @brief APR Platform Definitions 34251875Speter * @remark This is a generated header generated from include/apr.h.in by 35251875Speter * ./configure, or copied from include/apr.hw or include/apr.hnw 36251875Speter * for Win32 or Netware by those build environments, respectively. 37251875Speter */ 38251875Speter 39251875Speter#if defined(NETWARE) || defined(DOXYGEN) 40251875Speter 41251875Speter#undef FD_SETSIZE 42251875Speter#define FD_SETSIZE 1024 43251875Speter 44251875Speter#include <sys/types.h> 45251875Speter#include <stddef.h> 46251875Speter#include <stdio.h> 47251875Speter#include <time.h> 48251875Speter#include <stdint.h> 49251875Speter#include <stdlib.h> 50251875Speter#include <string.h> 51251875Speter#include <limits.h> 52251875Speter#include <netware.h> 53251875Speter#include <nks/thread.h> 54251875Speter#include <nks/synch.h> 55251875Speter#include <nks/time.h> 56251875Speter#include <signal.h> 57251875Speter#ifdef USE_WINSOCK 58251875Speter#include <novsock2.h> 59251875Speter#ifdef NW_BUILD_IPV6 60251875Speter#include <novtcpip.h> 61251875Speter#endif 62251875Speter#else 63251875Speter#include <sys/socket.h> 64251875Speter#include <sys/select.h> 65251875Speter#endif 66251875Speter#include <sys/types.h> 67251875Speter 68251875Speter#define _POSIX_THREAD_SAFE_FUNCTIONS 1 69251875Speter#define READDIR_IS_THREAD_SAFE 1 70251875Speter 71251875Speter/* Keep #include'd headers from within the __cplusplus or doxyblocks */ 72251875Speter 73251875Speter#ifdef __cplusplus 74251875Speterextern "C" { 75251875Speter#endif 76251875Speter 77251875Speter/** 78251875Speter * @defgroup apr_platform Platform Definitions 79251875Speter * @ingroup APR 80251875Speter * @{ 81251875Speter */ 82251875Speter 83251875Speter#define APR_INLINE 84251875Speter#define APR_HAS_INLINE 0 85251875Speter#ifndef __attribute__ 86251875Speter#define __attribute__(__x) 87251875Speter#endif 88251875Speter#define ENUM_BITFIELD(e,n,w) signed int n : w 89251875Speter 90251875Speter#define APR_HAVE_CONIO_H 0 91251875Speter#define APR_HAVE_CRYPT_H 0 92251875Speter#define APR_HAVE_CTYPE_H 1 93251875Speter#define APR_HAVE_DIRENT_H 1 94251875Speter#define APR_HAVE_ERRNO_H 1 95251875Speter#define APR_HAVE_FCNTL_H 1 96251875Speter#define APR_HAVE_IO_H 0 97251875Speter#define APR_HAVE_LIMITS_H 1 98251875Speter#ifdef USE_WINSOCK 99251875Speter#define APR_HAVE_ARPA_INET_H 0 100251875Speter#define APR_HAVE_NETDB_H 0 101251875Speter#define APR_HAVE_NETINET_IN_H 0 102251875Speter#else 103251875Speter#define APR_HAVE_ARPA_INET_H 1 104251875Speter#define APR_HAVE_NETDB_H 1 105251875Speter#define APR_HAVE_NETINET_IN_H 1 106251875Speter#endif 107251875Speter#define APR_HAVE_NETINET_SCTP_H 0 108251875Speter#define APR_HAVE_NETINET_SCTP_UIO_H 0 109251875Speter#define APR_HAVE_NETINET_TCP_H 0 110251875Speter#define APR_HAVE_PTHREAD_H 0 111251875Speter#define APR_HAVE_SIGNAL_H 1 112251875Speter#define APR_HAVE_STDARG_H 1 113251875Speter#define APR_HAVE_STDINT_H 0 114251875Speter#define APR_HAVE_STDIO_H 1 115251875Speter#define APR_HAVE_STDLIB_H 1 116251875Speter#define APR_HAVE_STRING_H 1 117251875Speter#define APR_HAVE_STRINGS_H 0 118251875Speter#define APR_HAVE_STRTOLL 1 119251875Speter#define APR_HAVE_SYS_SENDFILE_H 0 120251875Speter#define APR_HAVE_SYS_SYSLIMITS_H 0 121251875Speter#ifdef USE_WINSOCK 122251875Speter#define APR_HAVE_SYS_SOCKET_H 0 123251875Speter#define APR_HAVE_SYS_SOCKIO_H 0 124251875Speter#define APR_HAVE_SYS_UN_H 0 125251875Speter#else 126251875Speter#define APR_HAVE_SYS_SOCKET_H 1 127251875Speter#define APR_HAVE_SYS_SOCKIO_H 1 128251875Speter#define APR_HAVE_SYS_UN_H 1 129251875Speter#endif 130251875Speter#define APR_HAVE_SYS_SIGNAL_H 1 131251875Speter#define APR_HAVE_SYS_TIME_H 1 132251875Speter#define APR_HAVE_SYS_TYPES_H 1 133251875Speter#define APR_HAVE_SYS_UIO_H 1 134251875Speter#define APR_HAVE_SYS_WAIT_H 1 135251875Speter#define APR_HAVE_TIME_H 1 136251875Speter#define APR_HAVE_UNISTD_H 1 137251875Speter 138251875Speter#define APR_HAVE_SHMEM_MMAP_TMP 0 139251875Speter#define APR_HAVE_SHMEM_MMAP_SHM 0 140251875Speter#define APR_HAVE_SHMEM_MMAP_ZERO 0 141251875Speter#define APR_HAVE_SHMEM_SHMGET_ANON 0 142251875Speter#define APR_HAVE_SHMEM_SHMGET 0 143251875Speter#define APR_HAVE_SHMEM_MMAP_ANON 0 144251875Speter#define APR_HAVE_SHMEM_BEOS 0 145251875Speter 146251875Speter#define APR_USE_SHMEM_MMAP_TMP 0 147251875Speter#define APR_USE_SHMEM_MMAP_SHM 0 148251875Speter#define APR_USE_SHMEM_MMAP_ZERO 0 149251875Speter#define APR_USE_SHMEM_SHMGET_ANON 0 150251875Speter#define APR_USE_SHMEM_SHMGET 0 151251875Speter#define APR_USE_SHMEM_MMAP_ANON 0 152251875Speter#define APR_USE_SHMEM_BEOS 0 153251875Speter 154251875Speter#define APR_USE_FLOCK_SERIALIZE 0 155251875Speter#define APR_USE_SYSVSEM_SERIALIZE 0 156251875Speter#define APR_USE_FCNTL_SERIALIZE 0 157251875Speter#define APR_USE_PROC_PTHREAD_SERIALIZE 0 158251875Speter#define APR_USE_PTHREAD_SERIALIZE 0 159251875Speter 160251875Speter#define APR_HAS_FLOCK_SERIALIZE 0 161251875Speter#define APR_HAS_SYSVSEM_SERIALIZE 0 162251875Speter#define APR_HAS_FCNTL_SERIALIZE 0 163251875Speter#define APR_HAS_PROC_PTHREAD_SERIALIZE 0 164251875Speter#define APR_HAS_RWLOCK_SERIALIZE 0 165251875Speter 166251875Speter#define APR_HAS_LOCK_CREATE_NP 0 167251875Speter 168251875Speter#define APR_PROCESS_LOCK_IS_GLOBAL 1 169251875Speter 170251875Speter#define APR_FILE_BASED_SHM 0 171251875Speter 172251875Speter#define APR_HAVE_CORKABLE_TCP 0 173251875Speter#define APR_HAVE_GETRLIMIT 0 174251875Speter#define APR_HAVE_ICONV 0 175251875Speter#define APR_HAVE_IN_ADDR 1 176251875Speter#define APR_HAVE_INET_ADDR 1 177251875Speter#define APR_HAVE_INET_NETWORK 0 178251875Speter#ifdef NW_BUILD_IPV6 179251875Speter#define APR_HAVE_IPV6 1 180251875Speter#else 181251875Speter#define APR_HAVE_IPV6 0 182251875Speter#endif 183251875Speter#define APR_HAVE_MEMCHR 1 184251875Speter#define APR_HAVE_MEMMOVE 1 185251875Speter#define APR_HAVE_SETRLIMIT 0 186251875Speter#define APR_HAVE_SIGACTION 0 187251875Speter#define APR_HAVE_SIGSUSPEND 0 188251875Speter#define APR_HAVE_SIGWAIT 0 189251875Speter#define APR_HAVE_STRCASECMP 1 190251875Speter#define APR_HAVE_STRDUP 1 191251875Speter#define APR_HAVE_STRICMP 1 192251875Speter#define APR_HAVE_STRNCASECMP 1 193251875Speter#define APR_HAVE_STRNICMP 1 194251875Speter#define APR_HAVE_STRSTR 1 195251875Speter#define APR_HAVE_STRUCT_RLIMIT 0 196251875Speter#define APR_HAVE_UNION_SEMUN 0 197251875Speter#define APR_HAVE_SCTP 0 198251875Speter#define APR_HAVE_IOVEC 1 199251875Speter 200251875Speter/* APR Feature Macros */ 201251875Speter#define APR_HAS_SHARED_MEMORY 0 202251875Speter#define APR_HAS_THREADS 1 203251875Speter#define APR_HAS_SENDFILE 0 204251875Speter#define APR_HAS_MMAP 0 205251875Speter#define APR_HAS_FORK 0 206251875Speter#define APR_HAS_RANDOM 1 207251875Speter#define APR_HAS_OTHER_CHILD 0 208251875Speter#define APR_HAS_DSO 1 209251875Speter#define APR_HAS_SO_ACCEPTFILTER 0 210251875Speter#define APR_HAS_UNICODE_FS 0 211251875Speter#define APR_HAS_PROC_INVOKED 0 212251875Speter#define APR_HAS_USER 1 213251875Speter#define APR_HAS_LARGE_FILES 1 214251875Speter#define APR_HAS_XTHREAD_FILES 0 215251875Speter#define APR_HAS_OS_UUID 0 216251875Speter 217251875Speter#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0 218251875Speter 219251875Speter/* Netware can poll on files/pipes. 220251875Speter */ 221251875Speter#define APR_FILES_AS_SOCKETS 1 222251875Speter 223251875Speter/* This macro indicates whether or not EBCDIC is the native character set. 224251875Speter */ 225251875Speter#define APR_CHARSET_EBCDIC 0 226251875Speter 227251875Speter/* Is the TCP_NODELAY socket option inherited from listening sockets? 228251875Speter*/ 229251875Speter#define APR_TCP_NODELAY_INHERITED 1 230251875Speter 231251875Speter/* Is the O_NONBLOCK flag inherited from listening sockets? 232251875Speter*/ 233251875Speter#define APR_O_NONBLOCK_INHERITED 1 234251875Speter 235251875Speter/* Typedefs that APR needs. */ 236251875Speter 237251875Spetertypedef unsigned char apr_byte_t; 238251875Speter 239251875Spetertypedef short apr_int16_t; 240251875Spetertypedef unsigned short apr_uint16_t; 241251875Speter 242251875Spetertypedef int apr_int32_t; 243251875Spetertypedef unsigned int apr_uint32_t; 244251875Speter 245251875Spetertypedef long long apr_int64_t; 246251875Spetertypedef unsigned long long apr_uint64_t; 247251875Speter 248251875Spetertypedef size_t apr_size_t; 249251875Spetertypedef ssize_t apr_ssize_t; 250251875Speter#if APR_HAS_LARGE_FILES 251251875Spetertypedef off64_t apr_off_t; 252251875Speter#else 253251875Spetertypedef off_t apr_off_t; 254251875Speter#endif 255251875Speter#ifdef USE_WINSOCK 256251875Spetertypedef int apr_socklen_t; 257251875Speter#else 258251875Spetertypedef size_t apr_socklen_t; 259251875Speter#endif 260251875Spetertypedef apr_uint64_t apr_ino_t; 261251875Speter 262251875Speter/* Are we big endian? */ 263251875Speter/* XXX: Fatal assumption on Alpha platforms */ 264251875Speter#define APR_IS_BIGENDIAN 0 265251875Speter 266251875Speter#ifdef UNKNOWN_NETWARE_64BIT_FLAG_NEEDED 267251875Speter#define APR_SIZEOF_VOIDP 8 268251875Speter#else 269251875Speter#define APR_SIZEOF_VOIDP 4 270251875Speter#endif 271251875Speter 272251875Speter#if APR_SIZEOF_VOIDP == 8 273251875Spetertypedef apr_uint64_t apr_uintptr_t; 274251875Speter#else 275251875Spetertypedef apr_uint32_t apr_uintptr_t; 276251875Speter#endif 277251875Speter 278251875Speter/* Mechanisms to properly type numeric literals */ 279251875Speter#define APR_INT64_C(val) (val##LL) 280251875Speter#define APR_UINT64_C(val) (val##ULL) 281251875Speter 282251875Speter#ifdef INT16_MIN 283251875Speter#define APR_INT16_MIN INT16_MIN 284251875Speter#else 285251875Speter#define APR_INT16_MIN (-0x7fff - 1) 286251875Speter#endif 287251875Speter 288251875Speter#ifdef INT16_MAX 289251875Speter#define APR_INT16_MAX INT16_MAX 290251875Speter#else 291251875Speter#define APR_INT16_MAX (0x7fff) 292251875Speter#endif 293251875Speter 294251875Speter#ifdef UINT16_MAX 295251875Speter#define APR_UINT16_MAX UINT16_MAX 296251875Speter#else 297251875Speter#define APR_UINT16_MAX (0xffff) 298251875Speter#endif 299251875Speter 300251875Speter#ifdef INT32_MIN 301251875Speter#define APR_INT32_MIN INT32_MIN 302251875Speter#else 303251875Speter#define APR_INT32_MIN (-0x7fffffff - 1) 304251875Speter#endif 305251875Speter 306251875Speter#ifdef INT32_MAX 307251875Speter#define APR_INT32_MAX INT32_MAX 308251875Speter#else 309251875Speter#define APR_INT32_MAX 0x7fffffff 310251875Speter#endif 311251875Speter 312251875Speter#ifdef UINT32_MAX 313251875Speter#define APR_UINT32_MAX UINT32_MAX 314251875Speter#else 315251875Speter#define APR_UINT32_MAX (0xffffffffU) 316251875Speter#endif 317251875Speter 318251875Speter#ifdef INT64_MIN 319251875Speter#define APR_INT64_MIN INT64_MIN 320251875Speter#else 321251875Speter#define APR_INT64_MIN (APR_INT64_C(-0x7fffffffffffffff) - 1) 322251875Speter#endif 323251875Speter 324251875Speter#ifdef INT64_MAX 325251875Speter#define APR_INT64_MAX INT64_MAX 326251875Speter#else 327251875Speter#define APR_INT64_MAX APR_INT64_C(0x7fffffffffffffff) 328251875Speter#endif 329251875Speter 330251875Speter#ifdef UINT64_MAX 331251875Speter#define APR_UINT64_MAX UINT64_MAX 332251875Speter#else 333251875Speter#define APR_UINT64_MAX APR_UINT64_C(0xffffffffffffffff) 334251875Speter#endif 335251875Speter 336251875Speter#define APR_SIZE_MAX (~((apr_size_t)0)) 337251875Speter 338251875Speter/* PROC mutex is a GLOBAL mutex on Netware */ 339251875Speter#define APR_PROC_MUTEX_IS_GLOBAL 1 340251875Speter 341251875Speter/* Definitions that APR programs need to work properly. */ 342251875Speter 343251875Speter/** 344251875Speter * APR public API wrap for C++ compilers. 345251875Speter */ 346251875Speter#ifdef __cplusplus 347251875Speter#define APR_BEGIN_DECLS extern "C" { 348251875Speter#define APR_END_DECLS } 349251875Speter#else 350251875Speter#define APR_BEGIN_DECLS 351251875Speter#define APR_END_DECLS 352251875Speter#endif 353251875Speter 354251875Speter/** 355251875Speter * Thread callbacks from APR functions must be declared with APR_THREAD_FUNC, 356251875Speter * so that they follow the platform's calling convention. 357251875Speter * @example 358251875Speter */ 359251875Speter/** void* APR_THREAD_FUNC my_thread_entry_fn(apr_thread_t *thd, void *data); 360251875Speter */ 361251875Speter#define APR_THREAD_FUNC 362251875Speter 363251875Speter/** 364251875Speter * The public APR functions are declared with APR_DECLARE(), so they may 365251875Speter * use the most appropriate calling convention. Public APR functions with 366251875Speter * variable arguments must use APR_DECLARE_NONSTD(). 367251875Speter * 368251875Speter * @remark Both the declaration and implementations must use the same macro. 369251875Speter * @example 370251875Speter */ 371251875Speter/** APR_DECLARE(rettype) apr_func(args) 372251875Speter * @see APR_DECLARE_NONSTD @see APR_DECLARE_DATA 373251875Speter * @remark Note that when APR compiles the library itself, it passes the 374251875Speter * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32) 375251875Speter * to export public symbols from the dynamic library build.\n 376251875Speter * The user must define the APR_DECLARE_STATIC when compiling to target 377251875Speter * the static APR library on some platforms (e.g. Win32.) The public symbols 378251875Speter * are neither exported nor imported when APR_DECLARE_STATIC is defined.\n 379251875Speter * By default, compiling an application and including the APR public 380251875Speter * headers, without defining APR_DECLARE_STATIC, will prepare the code to be 381251875Speter * linked to the dynamic library. 382251875Speter */ 383251875Speter#define APR_DECLARE(type) type 384251875Speter 385251875Speter/** 386251875Speter * The public APR functions using variable arguments are declared with 387251875Speter * APR_DECLARE_NONSTD(), as they must follow the C language calling convention. 388251875Speter * @see APR_DECLARE @see APR_DECLARE_DATA 389251875Speter * @remark Both the declaration and implementations must use the same macro. 390251875Speter * @example 391251875Speter */ 392251875Speter/** APR_DECLARE_NONSTD(rettype) apr_func(args, ...); 393251875Speter */ 394251875Speter#define APR_DECLARE_NONSTD(type) type 395251875Speter 396251875Speter/** 397251875Speter * The public APR variables are declared with APR_DECLARE_DATA. 398251875Speter * This assures the appropriate indirection is invoked at compile time. 399251875Speter * @see APR_DECLARE @see APR_DECLARE_NONSTD 400251875Speter * @remark Note that the declaration and implementations use different forms, 401251875Speter * but both must include the macro. 402251875Speter * @example 403251875Speter */ 404251875Speter/** extern APR_DECLARE_DATA type apr_variable;\n 405251875Speter * APR_DECLARE_DATA type apr_variable = value; 406251875Speter */ 407251875Speter#define APR_DECLARE_DATA 408251875Speter 409251875Speter#define APR_SSIZE_T_FMT "d" 410251875Speter 411251875Speter#define APR_SIZE_T_FMT "d" 412251875Speter 413251875Speter#if APR_HAS_LARGE_FILES 414251875Speter#define APR_OFF_T_FMT "lld" 415251875Speter#else 416251875Speter#define APR_OFF_T_FMT "ld" 417251875Speter#endif 418251875Speter 419251875Speter#define APR_PID_T_FMT "d" 420251875Speter 421251875Speter/* Local machine definition for console and log output. */ 422251875Speter#define APR_EOL_STR "\r\n" 423251875Speter 424251875Spetertypedef int apr_wait_t; 425251875Speter 426251875Speter#define APR_PATH_MAX PATH_MAX 427251875Speter 428251875Speter#define APR_DSOPATH "PATH" 429251875Speter 430251875Speter#define APR_INT64_T_FMT "lld" 431251875Speter#define APR_UINT64_T_FMT "llu" 432251875Speter#define APR_UINT64_T_HEX_FMT "llx" 433251875Speter#define APR_TIME_T_FMT APR_INT64_T_FMT 434251875Speter 435251875Speter/** @} */ 436251875Speter 437251875Speter#ifdef __cplusplus 438251875Speter} 439251875Speter#endif 440251875Speter 441251875Speter#endif /* NETWARE */ 442251875Speter 443251875Speter#endif /* APR_H */ 444