Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > by-pkgid > 4f37b923758ceff94a2c0ccca62b4b43 > files > 55

libapr1-devel-1.1.1-1mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache Portable Runtime: apr.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">home</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">oden</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">RPM</a>&nbsp;/&nbsp;<a class="el" href="dir_000003.html">BUILD</a>&nbsp;/&nbsp;<a class="el" href="dir_000004.html">apr-1.1.1</a>&nbsp;/&nbsp;<a class="el" href="dir_000005.html">include</a></div>
<h1>apr.h</h1><a href="apr_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* Copyright 2000-2004 The Apache Software Foundation</span>
00002 <span class="comment"> *</span>
00003 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
00004 <span class="comment"> * you may not use this file except in compliance with the License.</span>
00005 <span class="comment"> * You may obtain a copy of the License at</span>
00006 <span class="comment"> *</span>
00007 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
00008 <span class="comment"> *</span>
00009 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
00010 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
00011 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
00012 <span class="comment"> * See the License for the specific language governing permissions and</span>
00013 <span class="comment"> * limitations under the License.</span>
00014 <span class="comment"> */</span>
00015 
00016 
00017 <span class="preprocessor">#ifndef APR_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define APR_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="comment">/* GENERATED FILE WARNING!  DO NOT EDIT apr.h</span>
00021 <span class="comment"> *</span>
00022 <span class="comment"> * You must modify apr.h.in instead.</span>
00023 <span class="comment"> *</span>
00024 <span class="comment"> * And please, make an effort to stub apr.hw and apr.hnw in the process.</span>
00025 <span class="comment"> */</span>
00026 <span class="comment"></span>
00027 <span class="comment">/**</span>
00028 <span class="comment"> * @file apr.h</span>
00029 <span class="comment"> * @brief APR Platform Definitions</span>
00030 <span class="comment"> * @remark This is a generated header generated from include/apr.h.in by</span>
00031 <span class="comment"> * ./configure, or copied from include/apr.hw or include/apr.hnw </span>
00032 <span class="comment"> * for Win32 or Netware by those build environments, respectively.</span>
00033 <span class="comment"> */</span>
00034 <span class="comment"></span>
00035 <span class="comment">/**</span>
00036 <span class="comment"> * @defgroup APR Apache Portability Runtime library</span>
00037 <span class="comment"> * @{</span>
00038 <span class="comment"> */</span><span class="comment"></span>
00039 <span class="comment">/**</span>
00040 <span class="comment"> * @defgroup apr_platform Platform Definitions</span>
00041 <span class="comment"> * @{</span>
00042 <span class="comment"> */</span>
00043 
00044 <span class="comment">/* So that we can use inline on some critical functions, and use</span>
00045 <span class="comment"> * GNUC attributes (such as to get -Wall warnings for printf-like</span>
00046 <span class="comment"> * functions).  Only do this in gcc 2.7 or later ... it may work</span>
00047 <span class="comment"> * on earlier stuff, but why chance it.</span>
00048 <span class="comment"> *</span>
00049 <span class="comment"> * We've since discovered that the gcc shipped with NeXT systems</span>
00050 <span class="comment"> * as "cc" is completely broken.  It claims to be __GNUC__ and so</span>
00051 <span class="comment"> * on, but it doesn't implement half of the things that __GNUC__</span>
00052 <span class="comment"> * means.  In particular it's missing inline and the __attribute__</span>
00053 <span class="comment"> * stuff.  So we hack around it.  PR#1613. -djg</span>
00054 <span class="comment"> */</span>
00055 <span class="preprocessor">#if !defined(__GNUC__) || __GNUC__ &lt; 2 || \</span>
00056 <span class="preprocessor">    (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &lt; 7) ||\</span>
00057 <span class="preprocessor">    defined(NEXT)</span>
00058 <span class="preprocessor"></span><span class="preprocessor">#ifndef __attribute__</span>
00059 <span class="preprocessor"></span><span class="preprocessor">#define __attribute__(__x)</span>
00060 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00061 <span class="preprocessor"></span><span class="preprocessor">#define APR_INLINE</span>
00062 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_INLINE          0</span>
00063 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00064 <span class="preprocessor"></span><span class="preprocessor">#define APR_INLINE __inline__</span>
00065 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_INLINE          1</span>
00066 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00067 <span class="preprocessor"></span>
00068 <span class="preprocessor">#define APR_HAVE_ARPA_INET_H     1</span>
00069 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_CONIO_H         0</span>
00070 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_CRYPT_H         1</span>
00071 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_CTYPE_H         1</span>
00072 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_DIRENT_H        1</span>
00073 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_ERRNO_H         1</span>
00074 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_FCNTL_H         1</span>
00075 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_IO_H            0</span>
00076 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_LIMITS_H        1</span>
00077 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_NETDB_H         1</span>
00078 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_NETINET_IN_H    1</span>
00079 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_NETINET_SCTP_H  0</span>
00080 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_NETINET_SCTP_UIO_H 0</span>
00081 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_NETINET_TCP_H   1</span>
00082 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_PTHREAD_H       1</span>
00083 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SEMAPHORE_H     1</span>
00084 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SIGNAL_H        1</span>
00085 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STDARG_H        1</span>
00086 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STDINT_H        1</span>
00087 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STDIO_H         1</span>
00088 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STDLIB_H        1</span>
00089 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STRING_H        1</span>
00090 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STRINGS_H       1</span>
00091 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_IOCTL_H     1</span>
00092 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_SENDFILE_H  1</span>
00093 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_SIGNAL_H    1</span>
00094 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_SOCKET_H    1</span>
00095 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_SOCKIO_H    0</span>
00096 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_SYSLIMITS_H 0</span>
00097 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_TIME_H      1</span>
00098 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_TYPES_H     1</span>
00099 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_UIO_H       1</span>
00100 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_UN_H        1</span>
00101 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SYS_WAIT_H      1</span>
00102 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_TIME_H          1</span>
00103 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_UNISTD_H        1</span>
00104 <span class="preprocessor"></span><span class="comment"></span>
00105 <span class="comment">/** @} */</span>
00106 
00107 <span class="comment">/* We don't include our conditional headers within the doxyblocks </span>
00108 <span class="comment"> * or the extern "C" namespace </span>
00109 <span class="comment"> */</span>
00110 
00111 <span class="preprocessor">#if APR_HAVE_SYS_TYPES_H</span>
00112 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/types.h&gt;</span>
00113 <span class="preprocessor">#endif</span>
00114 <span class="preprocessor"></span>
00115 <span class="preprocessor">#if APR_HAVE_SYS_SOCKET_H</span>
00116 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
00117 <span class="preprocessor">#endif</span>
00118 <span class="preprocessor"></span>
00119 <span class="preprocessor">#if defined(__cplusplus) &amp;&amp; !defined(__STDC_CONSTANT_MACROS)</span>
00120 <span class="preprocessor"></span><span class="comment">/* C99 7.18.4 requires that stdint.h only exposes INT64_C </span>
00121 <span class="comment"> * and UINT64_C for C++ implementations if this is defined: */</span>
00122 <span class="preprocessor">#define __STDC_CONSTANT_MACROS</span>
00123 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00124 <span class="preprocessor"></span>
00125 <span class="preprocessor">#if APR_HAVE_STDINT_H</span>
00126 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stdint.h&gt;</span>
00127 <span class="preprocessor">#endif</span>
00128 <span class="preprocessor"></span>
00129 <span class="preprocessor">#if APR_HAVE_SYS_WAIT_H</span>
00130 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/wait.h&gt;</span>
00131 <span class="preprocessor">#endif</span>
00132 <span class="preprocessor"></span>
00133 <span class="preprocessor">#ifdef OS2</span>
00134 <span class="preprocessor"></span><span class="preprocessor">#define INCL_DOS</span>
00135 <span class="preprocessor"></span><span class="preprocessor">#define INCL_DOSERRORS</span>
00136 <span class="preprocessor"></span><span class="preprocessor">#include &lt;os2.h&gt;</span>
00137 <span class="preprocessor">#endif</span>
00138 <span class="preprocessor"></span>
00139 <span class="comment">/* header files for PATH_MAX, _POSIX_PATH_MAX */</span>
00140 <span class="preprocessor">#if APR_HAVE_LIMITS_H</span>
00141 <span class="preprocessor"></span><span class="preprocessor">#include &lt;limits.h&gt;</span>
00142 <span class="preprocessor">#else</span>
00143 <span class="preprocessor"></span><span class="preprocessor">#if APR_HAVE_SYS_SYSLIMITS_H</span>
00144 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/syslimits.h&gt;</span>
00145 <span class="preprocessor">#endif</span>
00146 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00147 <span class="preprocessor"></span>
00148 
00149 <span class="preprocessor">#ifdef __cplusplus</span>
00150 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
00151 <span class="preprocessor">#endif</span>
00152 <span class="preprocessor"></span><span class="comment"></span>
00153 <span class="comment">/**</span>
00154 <span class="comment"> * @addtogroup apr_platform</span>
00155 <span class="comment"> * @ingroup APR </span>
00156 <span class="comment"> * @{</span>
00157 <span class="comment"> */</span>
00158 
00159 <span class="preprocessor">#define APR_HAVE_SHMEM_MMAP_TMP     1</span>
00160 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SHMEM_MMAP_SHM     1</span>
00161 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SHMEM_MMAP_ZERO    1</span>
00162 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SHMEM_SHMGET_ANON  1</span>
00163 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SHMEM_SHMGET       1</span>
00164 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SHMEM_MMAP_ANON    1</span>
00165 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SHMEM_BEOS         0</span>
00166 <span class="preprocessor"></span>
00167 <span class="preprocessor">#define APR_USE_SHMEM_MMAP_TMP     0</span>
00168 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_SHMEM_MMAP_SHM     0</span>
00169 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_SHMEM_MMAP_ZERO    0</span>
00170 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_SHMEM_SHMGET_ANON  0</span>
00171 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_SHMEM_SHMGET       1</span>
00172 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_SHMEM_MMAP_ANON    1</span>
00173 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_SHMEM_BEOS         0</span>
00174 <span class="preprocessor"></span>
00175 <span class="preprocessor">#define APR_USE_FLOCK_SERIALIZE           0 </span>
00176 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_SYSVSEM_SERIALIZE         0</span>
00177 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_POSIXSEM_SERIALIZE        0</span>
00178 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_FCNTL_SERIALIZE           1</span>
00179 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_PROC_PTHREAD_SERIALIZE    0 </span>
00180 <span class="preprocessor"></span><span class="preprocessor">#define APR_USE_PTHREAD_SERIALIZE         1 </span>
00181 <span class="preprocessor"></span>
00182 <span class="preprocessor">#define APR_HAS_FLOCK_SERIALIZE           1</span>
00183 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_SYSVSEM_SERIALIZE         1</span>
00184 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_POSIXSEM_SERIALIZE        1</span>
00185 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_FCNTL_SERIALIZE           1</span>
00186 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_PROC_PTHREAD_SERIALIZE    1</span>
00187 <span class="preprocessor"></span>
00188 <span class="preprocessor">#define APR_PROCESS_LOCK_IS_GLOBAL        0</span>
00189 <span class="preprocessor"></span>
00190 <span class="preprocessor">#define APR_HAVE_CORKABLE_TCP   1 </span>
00191 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_GETRLIMIT      1</span>
00192 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_IN_ADDR        1</span>
00193 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_INET_ADDR      1</span>
00194 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_INET_NETWORK   1</span>
00195 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_IPV6           1</span>
00196 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_MEMMOVE        1</span>
00197 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SETRLIMIT      1</span>
00198 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SIGACTION      1</span>
00199 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SIGSUSPEND     1</span>
00200 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SIGWAIT        1</span>
00201 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SA_STORAGE     1</span>
00202 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STRCASECMP     1</span>
00203 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STRDUP         1</span>
00204 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STRICMP        0</span>
00205 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STRNCASECMP    1</span>
00206 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STRNICMP       0</span>
00207 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STRSTR         1</span>
00208 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_MEMCHR         1</span>
00209 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_STRUCT_RLIMIT  1</span>
00210 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_UNION_SEMUN    0</span>
00211 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAVE_SCTP           0</span>
00212 <span class="preprocessor"></span>
00213 <span class="comment">/*  APR Feature Macros */</span>
00214 <span class="preprocessor">#define APR_HAS_SHARED_MEMORY     1</span>
00215 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_THREADS           1</span>
00216 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_SENDFILE          1</span>
00217 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_MMAP              1</span>
00218 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_FORK              1</span>
00219 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_RANDOM            1</span>
00220 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_OTHER_CHILD       1</span>
00221 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_DSO               1</span>
00222 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_SO_ACCEPTFILTER   0</span>
00223 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_UNICODE_FS        0</span>
00224 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_PROC_INVOKED      0</span>
00225 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_USER              1</span>
00226 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_LARGE_FILES       1</span>
00227 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_XTHREAD_FILES     0</span>
00228 <span class="preprocessor"></span><span class="preprocessor">#define APR_HAS_OS_UUID           1</span>
00229 <span class="preprocessor"></span>
00230 <span class="preprocessor">#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0</span>
00231 <span class="preprocessor"></span>
00232 <span class="comment">/* APR sets APR_FILES_AS_SOCKETS to 1 on systems where it is possible</span>
00233 <span class="comment"> * to poll on files/pipes.</span>
00234 <span class="comment"> */</span>
00235 <span class="preprocessor">#define APR_FILES_AS_SOCKETS      1</span>
00236 <span class="preprocessor"></span>
00237 <span class="comment">/* This macro indicates whether or not EBCDIC is the native character set.</span>
00238 <span class="comment"> */</span>
00239 <span class="preprocessor">#define APR_CHARSET_EBCDIC        0</span>
00240 <span class="preprocessor"></span>
00241 <span class="comment">/* If we have a TCP implementation that can be "corked", what flag</span>
00242 <span class="comment"> * do we use?</span>
00243 <span class="comment"> */</span>
00244 <span class="preprocessor">#define APR_TCP_NOPUSH_FLAG       TCP_CORK</span>
00245 <span class="preprocessor"></span>
00246 <span class="comment">/* Is the TCP_NODELAY socket option inherited from listening sockets?</span>
00247 <span class="comment">*/</span>
00248 <span class="preprocessor">#define APR_TCP_NODELAY_INHERITED 1</span>
00249 <span class="preprocessor"></span>
00250 <span class="comment">/* Is the O_NONBLOCK flag inherited from listening sockets?</span>
00251 <span class="comment">*/</span>
00252 <span class="preprocessor">#define APR_O_NONBLOCK_INHERITED 0</span>
00253 <span class="preprocessor"></span>
00254 <span class="comment">/* Typedefs that APR needs. */</span>
00255 
00256 <span class="keyword">typedef</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>           apr_byte_t;
00257 
00258 <span class="keyword">typedef</span>  <span class="keywordtype">short</span>           apr_int16_t;
00259 <span class="keyword">typedef</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>  apr_uint16_t;
00260                                                
00261 <span class="keyword">typedef</span>  <span class="keywordtype">int</span>             apr_int32_t;
00262 <span class="keyword">typedef</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    apr_uint32_t;
00263                                                
00264 <span class="keyword">typedef</span>  <span class="keywordtype">long</span> <span class="keywordtype">long</span>            apr_int64_t;
00265 <span class="keyword">typedef</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>   apr_uint64_t;
00266 
00267 <span class="keyword">typedef</span>  size_t          apr_size_t;
00268 <span class="keyword">typedef</span>  ssize_t         apr_ssize_t;
00269 <span class="keyword">typedef</span>  off64_t           apr_off_t;
00270 <span class="keyword">typedef</span>  socklen_t       apr_socklen_t;
00271 
00272 <span class="preprocessor">#define APR_SIZEOF_VOIDP 4</span>
00273 <span class="preprocessor"></span>
00274 <span class="comment">/* Are we big endian? */</span>
00275 <span class="preprocessor">#define APR_IS_BIGENDIAN        0</span>
00276 <span class="preprocessor"></span>
00277 <span class="comment">/* Mechanisms to properly type numeric literals */</span>
00278 <span class="preprocessor">#define APR_INT64_C(val) INT64_C(val)</span>
00279 <span class="preprocessor"></span><span class="preprocessor">#define APR_UINT64_C(val) UINT64_C(val)</span>
00280 <span class="preprocessor"></span>
00281 <span class="comment">/* Definitions that APR programs need to work properly. */</span>
00282 <span class="comment"></span>
00283 <span class="comment">/** </span>
00284 <span class="comment"> * Thread callbacks from APR functions must be declared with APR_THREAD_FUNC, </span>
00285 <span class="comment"> * so that they follow the platform's calling convention.</span>
00286 <span class="comment"> * @example</span>
00287 <span class="comment"> */</span><span class="comment"></span>
00288 <span class="comment">/** void* APR_THREAD_FUNC my_thread_entry_fn(apr_thread_t *thd, void *data);</span>
00289 <span class="comment"> */</span>
<a name="l00290"></a><a class="code" href="group__apr__platform.html#ga122">00290</a> <span class="preprocessor">#define APR_THREAD_FUNC</span>
00291 <span class="preprocessor"></span><span class="comment"></span>
00292 <span class="comment">/**</span>
00293 <span class="comment"> * The public APR functions are declared with APR_DECLARE(), so they may</span>
00294 <span class="comment"> * use the most appropriate calling convention.  Public APR functions with </span>
00295 <span class="comment"> * variable arguments must use APR_DECLARE_NONSTD().</span>
00296 <span class="comment"> *</span>
00297 <span class="comment"> * @remark Both the declaration and implementations must use the same macro.</span>
00298 <span class="comment"> * @example</span>
00299 <span class="comment"> */</span><span class="comment"></span>
00300 <span class="comment">/** APR_DECLARE(rettype) apr_func(args)</span>
00301 <span class="comment"> * @see APR_DECLARE_NONSTD @see APR_DECLARE_DATA</span>
00302 <span class="comment"> * @remark Note that when APR compiles the library itself, it passes the </span>
00303 <span class="comment"> * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32) </span>
00304 <span class="comment"> * to export public symbols from the dynamic library build.\n</span>
00305 <span class="comment"> * The user must define the APR_DECLARE_STATIC when compiling to target</span>
00306 <span class="comment"> * the static APR library on some platforms (e.g. Win32.)  The public symbols </span>
00307 <span class="comment"> * are neither exported nor imported when APR_DECLARE_STATIC is defined.\n</span>
00308 <span class="comment"> * By default, compiling an application and including the APR public</span>
00309 <span class="comment"> * headers, without defining APR_DECLARE_STATIC, will prepare the code to be</span>
00310 <span class="comment"> * linked to the dynamic library.</span>
00311 <span class="comment"> */</span>
<a name="l00312"></a><a class="code" href="group__apr__platform.html#ga123">00312</a> <span class="preprocessor">#define APR_DECLARE(type)            type </span>
00313 <span class="preprocessor"></span><span class="comment"></span>
00314 <span class="comment">/**</span>
00315 <span class="comment"> * The public APR functions using variable arguments are declared with </span>
00316 <span class="comment"> * APR_DECLARE_NONSTD(), as they must follow the C language calling convention.</span>
00317 <span class="comment"> * @see APR_DECLARE @see APR_DECLARE_DATA</span>
00318 <span class="comment"> * @remark Both the declaration and implementations must use the same macro.</span>
00319 <span class="comment"> * @example</span>
00320 <span class="comment"> */</span><span class="comment"></span>
00321 <span class="comment">/** APR_DECLARE_NONSTD(rettype) apr_func(args, ...);</span>
00322 <span class="comment"> */</span>
<a name="l00323"></a><a class="code" href="group__apr__platform.html#ga124">00323</a> <span class="preprocessor">#define APR_DECLARE_NONSTD(type)     type</span>
00324 <span class="preprocessor"></span><span class="comment"></span>
00325 <span class="comment">/**</span>
00326 <span class="comment"> * The public APR variables are declared with AP_MODULE_DECLARE_DATA.</span>
00327 <span class="comment"> * This assures the appropriate indirection is invoked at compile time.</span>
00328 <span class="comment"> * @see APR_DECLARE @see APR_DECLARE_NONSTD</span>
00329 <span class="comment"> * @remark Note that the declaration and implementations use different forms,</span>
00330 <span class="comment"> * but both must include the macro.</span>
00331 <span class="comment"> * @example</span>
00332 <span class="comment"> */</span><span class="comment"></span>
00333 <span class="comment">/** extern APR_DECLARE_DATA type apr_variable;\n</span>
00334 <span class="comment"> * APR_DECLARE_DATA type apr_variable = value;</span>
00335 <span class="comment"> */</span>
<a name="l00336"></a><a class="code" href="group__apr__platform.html#ga125">00336</a> <span class="preprocessor">#define APR_DECLARE_DATA</span>
00337 <span class="preprocessor"></span>
00338 <span class="comment">/* Define APR_SSIZE_T_FMT.  </span>
00339 <span class="comment"> * If ssize_t is an integer we define it to be "d",</span>
00340 <span class="comment"> * if ssize_t is a long int we define it to be "ld",</span>
00341 <span class="comment"> * if ssize_t is neither we declare an error here.</span>
00342 <span class="comment"> * I looked for a better way to define this here, but couldn't find one, so</span>
00343 <span class="comment"> * to find the logic for this definition search for "ssize_t_fmt" in</span>
00344 <span class="comment"> * configure.in.</span>
00345 <span class="comment"> */</span>
00346 <span class="preprocessor">#define APR_SSIZE_T_FMT "d"</span>
00347 <span class="preprocessor"></span>
00348 <span class="comment">/* And APR_SIZE_T_FMT */</span>
00349 <span class="preprocessor">#define APR_SIZE_T_FMT "d"</span>
00350 <span class="preprocessor"></span>
00351 <span class="comment">/* And APR_OFF_T_FMT */</span>
00352 <span class="preprocessor">#define APR_OFF_T_FMT APR_INT64_T_FMT</span>
00353 <span class="preprocessor"></span>
00354 <span class="comment">/* And APR_PID_T_FMT */</span>
00355 <span class="preprocessor">#define APR_PID_T_FMT "d"</span>
00356 <span class="preprocessor"></span>
00357 <span class="comment">/* And APR_INT64_T_FMT */</span>
00358 <span class="preprocessor">#define APR_INT64_T_FMT "lld"</span>
00359 <span class="preprocessor"></span>
00360 <span class="comment">/* And APR_UINT64_T_FMT */</span>
00361 <span class="preprocessor">#define APR_UINT64_T_FMT "llu"</span>
00362 <span class="preprocessor"></span>
00363 <span class="comment">/* And APR_UINT64_T_HEX_FMT */</span>
00364 <span class="preprocessor">#define APR_UINT64_T_HEX_FMT "llx"</span>
00365 <span class="preprocessor"></span>
00366 <span class="comment">/* Does the proc mutex lock threads too */</span>
00367 <span class="preprocessor">#define APR_PROC_MUTEX_IS_GLOBAL      0</span>
00368 <span class="preprocessor"></span>
00369 <span class="comment">/* Local machine definition for console and log output. */</span>
00370 <span class="preprocessor">#define APR_EOL_STR              "\n"</span>
00371 <span class="preprocessor"></span>
00372 
00373 <span class="preprocessor">#if APR_HAVE_SYS_WAIT_H</span>
00374 <span class="preprocessor"></span><span class="preprocessor">#ifdef WEXITSTATUS</span>
00375 <span class="preprocessor"></span><span class="preprocessor">#define apr_wait_t       int</span>
00376 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00377 <span class="preprocessor"></span><span class="preprocessor">#define apr_wait_t       union wait</span>
00378 <span class="preprocessor"></span><span class="preprocessor">#define WEXITSTATUS(status)    (int)((status).w_retcode)</span>
00379 <span class="preprocessor"></span><span class="preprocessor">#define WTERMSIG(status)       (int)((status).w_termsig)</span>
00380 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !WEXITSTATUS */</span>
00381 <span class="preprocessor">#endif </span><span class="comment">/* HAVE_SYS_WAIT_H */</span>
00382 
00383 <span class="preprocessor">#if defined(PATH_MAX)</span>
00384 <span class="preprocessor"></span><span class="preprocessor">#define APR_PATH_MAX       PATH_MAX</span>
00385 <span class="preprocessor"></span><span class="preprocessor">#elif defined(_POSIX_PATH_MAX)</span>
00386 <span class="preprocessor"></span><span class="preprocessor">#define APR_PATH_MAX       _POSIX_PATH_MAX</span>
00387 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00388 <span class="preprocessor"></span><span class="preprocessor">#error no decision has been made on APR_PATH_MAX for your platform</span>
00389 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00390 <span class="preprocessor"></span><span class="comment"></span>
00391 <span class="comment">/** @} */</span>
00392 
00393 <span class="preprocessor">#ifdef __cplusplus</span>
00394 <span class="preprocessor"></span>}
00395 <span class="preprocessor">#endif</span>
00396 <span class="preprocessor"></span>
00397 <span class="preprocessor">#endif </span><span class="comment">/* APR_H */</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Mar 20 19:52:26 2005 for Apache Portable Runtime by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>