diff options
author | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2008-05-29 16:10:15 +0000 |
---|---|---|
committer | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2008-05-29 16:10:15 +0000 |
commit | 32479869094fc473272dcdd2c964d284c27ee49a (patch) | |
tree | d91747db4cc8d7d207fbd13d015a6aca44baf6d6 /include/apr.hw | |
parent | 13a27464a356372880814ac6762900aec439f502 (diff) | |
download | libapr-32479869094fc473272dcdd2c964d284c27ee49a.tar.gz |
Refactor and update apr.hw to apr.h.in contents.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@661375 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/apr.hw')
-rw-r--r-- | include/apr.hw | 256 |
1 files changed, 147 insertions, 109 deletions
diff --git a/include/apr.hw b/include/apr.hw index af14f4216..d4c15f0cc 100644 --- a/include/apr.hw +++ b/include/apr.hw @@ -107,9 +107,15 @@ #endif /* !_WINDOWS_ */ /** + * @defgroup APR Apache Portability Runtime library + * @{ + */ +/** * @defgroup apr_platform Platform Definitions - * @ingroup APR * @{ + * @warning + * <strong><em>The actual values of macros and typedefs on this page<br> + * are platform specific and should NOT be relied upon!</em></strong> */ #define APR_INLINE __inline @@ -134,6 +140,7 @@ #define APR_HAVE_NETINET_SCTP_UIO_H 0 #define APR_HAVE_NETINET_TCP_H 0 #define APR_HAVE_PTHREAD_H 0 +#define APR_HAVE_SEMAPHORE_H 0 #define APR_HAVE_SIGNAL_H 1 #define APR_HAVE_STDARG_H 1 #define APR_HAVE_STDINT_H 0 @@ -141,6 +148,7 @@ #define APR_HAVE_STDLIB_H 1 #define APR_HAVE_STRING_H 1 #define APR_HAVE_STRINGS_H 0 +#define APR_HAVE_SYS_IOCTL_H 0 #define APR_HAVE_SYS_SENDFILE_H 0 #define APR_HAVE_SYS_SIGNAL_H 0 #define APR_HAVE_SYS_SOCKET_H 0 @@ -149,11 +157,12 @@ #define APR_HAVE_SYS_TIME_H 0 #define APR_HAVE_SYS_TYPES_H 1 #define APR_HAVE_SYS_UIO_H 0 +#define APR_HAVE_SYS_UN_H 0 #define APR_HAVE_SYS_WAIT_H 0 +#define APR_HAVE_TIME_H 1 #define APR_HAVE_UNISTD_H 0 #define APR_HAVE_STDDEF_H 1 #define APR_HAVE_PROCESS_H 1 -#define APR_HAVE_TIME_H 1 #else #define APR_HAVE_ARPA_INET_H 0 #define APR_HAVE_CONIO_H 0 @@ -166,8 +175,11 @@ #define APR_HAVE_LIMITS_H 0 #define APR_HAVE_NETDB_H 0 #define APR_HAVE_NETINET_IN_H 0 +#define APR_HAVE_NETINET_SCTP_H 0 +#define APR_HAVE_NETINET_SCTP_UIO_H 0 #define APR_HAVE_NETINET_TCP_H 0 #define APR_HAVE_PTHREAD_H 0 +#define APR_HAVE_SEMAPHORE_H 0 #define APR_HAVE_SIGNAL_H 0 #define APR_HAVE_STDARG_H 0 #define APR_HAVE_STDINT_H 0 @@ -175,21 +187,80 @@ #define APR_HAVE_STDLIB_H 1 #define APR_HAVE_STRING_H 1 #define APR_HAVE_STRINGS_H 0 +#define APR_HAVE_SYS_IOCTL_H 0 #define APR_HAVE_SYS_SENDFILE_H 0 #define APR_HAVE_SYS_SIGNAL_H 0 #define APR_HAVE_SYS_SOCKET_H 0 +#define APR_HAVE_SYS_SOCKIO_H 0 #define APR_HAVE_SYS_SYSLIMITS_H 0 #define APR_HAVE_SYS_TIME_H 0 #define APR_HAVE_SYS_TYPES_H 0 #define APR_HAVE_SYS_UIO_H 0 +#define APR_HAVE_SYS_UN_H 0 #define APR_HAVE_SYS_WAIT_H 0 +#define APR_HAVE_TIME_H 0 #define APR_HAVE_UNISTD_H 0 #define APR_HAVE_STDDEF_H 0 #define APR_HAVE_PROCESS_H 0 -#define APR_HAVE_TIME_H 0 #endif +/** @} */ +/** @} */ + +/* We don't include our conditional headers within the doxyblocks + * or the extern "C" namespace + */ + +#if APR_HAVE_STDLIB_H +#include <stdlib.h> +#endif +#if APR_HAVE_STDIO_H +#include <stdio.h> +#endif +#if APR_HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if APR_HAVE_STDDEF_H +#include <stddef.h> +#endif +#if APR_HAVE_TIME_H +#include <time.h> +#endif +#if APR_HAVE_PROCESS_H +#include <process.h> +#endif +#if APR_HAVE_IPV6 +#include <ws2tcpip.h> +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @addtogroup apr_platform + * @ingroup APR + * @{ + */ + +#define APR_HAVE_SHMEM_MMAP_TMP 0 +#define APR_HAVE_SHMEM_MMAP_SHM 0 +#define APR_HAVE_SHMEM_MMAP_ZERO 0 +#define APR_HAVE_SHMEM_SHMGET_ANON 0 +#define APR_HAVE_SHMEM_SHMGET 0 +#define APR_HAVE_SHMEM_MMAP_ANON 0 +#define APR_HAVE_SHMEM_BEOS 0 + +#define APR_USE_SHMEM_MMAP_TMP 0 +#define APR_USE_SHMEM_MMAP_SHM 0 +#define APR_USE_SHMEM_MMAP_ZERO 0 +#define APR_USE_SHMEM_SHMGET_ANON 0 +#define APR_USE_SHMEM_SHMGET 0 +#define APR_USE_SHMEM_MMAP_ANON 0 +#define APR_USE_SHMEM_BEOS 0 + #define APR_USE_FLOCK_SERIALIZE 0 +#define APR_USE_POSIXSEM_SERIALIZE 0 #define APR_USE_SYSVSEM_SERIALIZE 0 #define APR_USE_FCNTL_SERIALIZE 0 #define APR_USE_PROC_PTHREAD_SERIALIZE 0 @@ -197,28 +268,19 @@ #define APR_HAS_FLOCK_SERIALIZE 0 #define APR_HAS_SYSVSEM_SERIALIZE 0 +#define APR_HAS_POSIXSEM_SERIALIZE 0 #define APR_HAS_FCNTL_SERIALIZE 0 #define APR_HAS_PROC_PTHREAD_SERIALIZE 0 -#define APR_HAS_RWLOCK_SERIALIZE 0 - -#define APR_HAS_LOCK_CREATE_NP 0 #define APR_PROCESS_LOCK_IS_GLOBAL 0 -#define APR_USES_ANONYMOUS_SHM 0 -#define APR_USES_FILEBASED_SHM 0 -#define APR_USES_KEYBASED_SHM 0 - -#define APR_FILE_BASED_SHM 0 -#define APR_MEM_BASED_SHM 0 - #define APR_HAVE_CORKABLE_TCP 0 #define APR_HAVE_GETRLIMIT 0 #define APR_HAVE_ICONV 0 #define APR_HAVE_IN_ADDR 1 #define APR_HAVE_INET_ADDR 1 #define APR_HAVE_INET_NETWORK 0 -#define APR_HAVE_IPV6 0 +#define APR_HAVE_IPV6 1 #define APR_HAVE_MEMMOVE 1 #define APR_HAVE_SETRLIMIT 0 #define APR_HAVE_SIGACTION 0 @@ -232,55 +294,16 @@ #define APR_HAVE_STRUCT_RLIMIT 0 #define APR_HAVE_UNION_SEMUN 0 #define APR_HAVE_SCTP 0 +#define APR_HAVE_IOVEC 0 #ifndef _WIN32_WCE #define APR_HAVE_STRICMP 1 #define APR_HAVE_STRNICMP 1 -#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 1 #else #define APR_HAVE_STRICMP 0 #define APR_HAVE_STRNICMP 0 -#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0 -#endif - -/** @} */ - -/* We don't include our conditional headers within the doxyblocks - * or the extern "C" namespace - */ - -#if APR_HAVE_STDLIB_H -#include <stdlib.h> -#endif -#if APR_HAVE_STDIO_H -#include <stdio.h> -#endif -#if APR_HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#if APR_HAVE_STDDEF_H -#include <stddef.h> -#endif -#if APR_HAVE_TIME_H -#include <time.h> -#endif -#if APR_HAVE_PROCESS_H -#include <process.h> -#endif -#if APR_HAVE_IPV6 -#include <ws2tcpip.h> #endif -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @addtogroup apr_platform - * @ingroup APR - * @{ - */ - /* APR Feature Macros */ #define APR_HAS_SHARED_MEMORY 1 #define APR_HAS_THREADS 1 @@ -292,20 +315,24 @@ extern "C" { #define APR_HAS_SO_ACCEPTFILTER 0 #define APR_HAS_UNICODE_FS 1 #define APR_HAS_PROC_INVOKED 1 +#define APR_HAS_OS_UUID 1 + #ifndef _WIN32_WCE #define APR_HAS_SENDFILE 1 #define APR_HAS_USER 1 #define APR_HAS_LARGE_FILES 1 #define APR_HAS_XTHREAD_FILES 1 +#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 1 #else #define APR_HAS_SENDFILE 0 #define APR_HAS_USER 0 #define APR_HAS_LARGE_FILES 0 #define APR_HAS_XTHREAD_FILES 0 +#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0 #endif -#define APR_HAS_OS_UUID 1 -/* Win32 cannot poll [just yet] on files/pipes. +/* APR sets APR_FILES_AS_SOCKETS to 1 on systems where it is possible + * to poll on files/pipes. */ #define APR_FILES_AS_SOCKETS 0 @@ -313,6 +340,11 @@ extern "C" { */ #define APR_CHARSET_EBCDIC 0 +/* If we have a TCP implementation that can be "corked", what flag + * do we use? + */ +#define APR_TCP_NOPUSH_FLAG @apr_tcp_nopush_flag@ + /* Is the TCP_NODELAY socket option inherited from listening sockets? */ #define APR_TCP_NODELAY_INHERITED 1 @@ -348,10 +380,6 @@ typedef int apr_off_t; typedef int apr_socklen_t; typedef apr_uint64_t apr_ino_t; -/* Are we big endian? */ -/* XXX: Fatal assumption on Alpha platforms */ -#define APR_IS_BIGENDIAN 0 - #ifdef WIN64 #define APR_SIZEOF_VOIDP 8 #else @@ -364,15 +392,9 @@ typedef apr_uint64_t apr_uintptr_t; typedef apr_uint32_t apr_uintptr_t; #endif - -/* XXX These simply don't belong here, perhaps in apr_portable.h - * based on some APR_HAVE_PID/GID/UID? - */ -#ifndef __GNUC__ -typedef int pid_t; -#endif -typedef int uid_t; -typedef int gid_t; +/* Are we big endian? */ +/* XXX: Fatal assumption on Alpha platforms */ +#define APR_IS_BIGENDIAN 0 /* Mechanisms to properly type numeric literals */ @@ -440,21 +462,6 @@ typedef int gid_t; #define APR_SIZE_MAX (~((apr_size_t)0)) -#if APR_HAVE_IPV6 - -/* Appears in later flavors, not the originals. */ -#ifndef in_addr6 -#define in6_addr in_addr6 -#endif - -#ifndef WS2TCPIP_INLINE -#define IN6_IS_ADDR_V4MAPPED(a) \ - ( (*(const apr_uint64_t *)(const void *)(&(a)->s6_addr[0]) == 0) \ - && (*(const apr_uint32_t *)(const void *)(&(a)->s6_addr[8]) == ntohl(0x0000ffff))) -#endif - -#endif /* APR_HAS_IPV6 */ - /* Definitions that APR programs need to work properly. */ /** @@ -471,9 +478,11 @@ typedef int gid_t; /** * Thread callbacks from APR functions must be declared with APR_THREAD_FUNC, * so that they follow the platform's calling convention. - * @example - */ -/** void* APR_THREAD_FUNC my_thread_entry_fn(apr_thread_t *thd, void *data); + * <PRE> + * + * void* APR_THREAD_FUNC my_thread_entry_fn(apr_thread_t *thd, void *data); + * + * </PRE> */ #define APR_THREAD_FUNC __stdcall @@ -486,9 +495,10 @@ typedef int gid_t; * variable arguments must use APR_DECLARE_NONSTD(). * * @remark Both the declaration and implementations must use the same macro. - * @example - */ -/** APR_DECLARE(rettype) apr_func(args) + * + * <PRE> + * APR_DECLARE(rettype) apr_func(args) + * </PRE> * @see APR_DECLARE_NONSTD @see APR_DECLARE_DATA * @remark Note that when APR compiles the library itself, it passes the * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32) @@ -507,9 +517,11 @@ typedef int gid_t; * APR_DECLARE_NONSTD(), as they must follow the C language calling convention. * @see APR_DECLARE @see APR_DECLARE_DATA * @remark Both the declaration and implementations must use the same macro. - * @example - */ -/** APR_DECLARE_NONSTD(rettype) apr_func(args, ...); + * <PRE> + * + * APR_DECLARE_NONSTD(rettype) apr_func(args, ...); + * + * </PRE> */ #define APR_DECLARE_NONSTD(type) type @@ -519,10 +531,13 @@ typedef int gid_t; * @see APR_DECLARE @see APR_DECLARE_NONSTD * @remark Note that the declaration and implementations use different forms, * but both must include the macro. - * @example - */ -/** extern APR_DECLARE_DATA type apr_variable;\n + * + * <PRE> + * + * extern APR_DECLARE_DATA type apr_variable;\n * APR_DECLARE_DATA type apr_variable = value; + * + * </PRE> */ #define APR_DECLARE_DATA @@ -542,10 +557,10 @@ typedef int gid_t; #ifdef WIN64 #define APR_SSIZE_T_FMT "I64d" -#define APR_SIZE_T_FMT "I64d" +#define APR_SIZE_T_FMT "I64u" #else #define APR_SSIZE_T_FMT "d" -#define APR_SIZE_T_FMT "d" +#define APR_SIZE_T_FMT "u" #endif #if APR_HAS_LARGE_FILES @@ -560,21 +575,13 @@ typedef int gid_t; #define APR_UINT64_T_FMT "I64u" #define APR_UINT64_T_HEX_FMT "I64x" -/* Local machine definition for console and log output. */ -#define APR_EOL_STR "\r\n" - /* No difference between PROC and GLOBAL mutex */ #define APR_PROC_MUTEX_IS_GLOBAL 1 -typedef int apr_wait_t; - -/* struct iovec is needed to emulate Unix writev */ -#define APR_HAVE_IOVEC 0 +/* Local machine definition for console and log output. */ +#define APR_EOL_STR "\r\n" -/* Nasty Win32 .h ommissions we really need */ -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 +typedef int apr_wait_t; #if APR_HAS_UNICODE_FS /* An arbitrary size that is digestable. True max is a bit less than 32000 */ @@ -587,6 +594,37 @@ typedef int apr_wait_t; /** @} */ +/* Definitions that only Win32 programs need to compile properly. */ + +/* XXX These simply don't belong here, perhaps in apr_portable.h + * based on some APR_HAVE_PID/GID/UID? + */ +#ifndef __GNUC__ +typedef int pid_t; +#endif +typedef int uid_t; +typedef int gid_t; + +/* Win32 .h ommissions we really need */ +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#if APR_HAVE_IPV6 + +/* Appears in later flavors, not the originals. */ +#ifndef in_addr6 +#define in6_addr in_addr6 +#endif + +#ifndef WS2TCPIP_INLINE +#define IN6_IS_ADDR_V4MAPPED(a) \ + ( (*(const apr_uint64_t *)(const void *)(&(a)->s6_addr[0]) == 0) \ + && (*(const apr_uint32_t *)(const void *)(&(a)->s6_addr[8]) == ntohl(0x0000ffff))) +#endif + +#endif /* APR_HAS_IPV6 */ + #ifdef __cplusplus } #endif |