Sophie

Sophie

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

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_errno.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_errno.h</h1><a href="apr__errno_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 <span class="preprocessor">#ifndef APR_ERRNO_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define APR_ERRNO_H</span>
00018 <span class="preprocessor"></span><span class="comment"></span>
00019 <span class="comment">/**</span>
00020 <span class="comment"> * @file apr_errno.h</span>
00021 <span class="comment"> * @brief APR Error Codes</span>
00022 <span class="comment"> */</span>
00023 
00024 <span class="preprocessor">#include "<a class="code" href="apr_8h.html">apr.h</a>"</span>
00025 
00026 <span class="preprocessor">#if APR_HAVE_ERRNO_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#include &lt;errno.h&gt;</span>
00028 <span class="preprocessor">#endif</span>
00029 <span class="preprocessor"></span>
00030 <span class="preprocessor">#ifdef __cplusplus</span>
00031 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
00032 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span>
00033 <span class="comment"></span>
00034 <span class="comment">/**</span>
00035 <span class="comment"> * @defgroup apr_errno Error Codes</span>
00036 <span class="comment"> * @ingroup APR </span>
00037 <span class="comment"> * @{</span>
00038 <span class="comment"> */</span>
00039 <span class="comment"></span>
00040 <span class="comment">/**</span>
00041 <span class="comment"> * Type for specifying an error or status code.</span>
00042 <span class="comment"> */</span>
<a name="l00043"></a><a class="code" href="group__apr__errno.html#ga0">00043</a> <span class="keyword">typedef</span> <span class="keywordtype">int</span> apr_status_t;
00044 <span class="comment"></span>
00045 <span class="comment">/**</span>
00046 <span class="comment"> * Return a human readable string describing the specified error.</span>
00047 <span class="comment"> * @param statcode The error code the get a string for.</span>
00048 <span class="comment"> * @param buf A buffer to hold the error string.</span>
00049 <span class="comment"> * @param bufsize Size of the buffer to hold the string.</span>
00050 <span class="comment"> */</span>
00051 <a class="code" href="group__apr__platform.html#ga123">APR_DECLARE</a>(<span class="keywordtype">char</span> *) apr_strerror(apr_status_t statcode, <span class="keywordtype">char</span> *buf, 
00052                                  apr_size_t bufsize);
00053 
00054 #if defined(DOXYGEN)<span class="comment"></span>
00055 <span class="comment">/**</span>
00056 <span class="comment"> * @def APR_FROM_OS_ERROR(os_err_type syserr)</span>
00057 <span class="comment"> * Fold a platform specific error into an apr_status_t code.</span>
00058 <span class="comment"> * @return apr_status_t</span>
00059 <span class="comment"> * @param e The platform os error code.</span>
00060 <span class="comment"> * @warning  macro implementation; the syserr argument may be evaluated</span>
00061 <span class="comment"> *      multiple times.</span>
00062 <span class="comment"> */</span>
00063 #define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
00064 <span class="comment"></span>
00065 <span class="comment">/**</span>
00066 <span class="comment"> * @def APR_TO_OS_ERROR(apr_status_t statcode)</span>
00067 <span class="comment"> * @return os_err_type</span>
00068 <span class="comment"> * Fold an apr_status_t code back to the native platform defined error.</span>
00069 <span class="comment"> * @param e The apr_status_t folded platform os error code.</span>
00070 <span class="comment"> * @warning  macro implementation; the statcode argument may be evaluated</span>
00071 <span class="comment"> *      multiple times.  If the statcode was not created by apr_get_os_error </span>
00072 <span class="comment"> *      or APR_FROM_OS_ERROR, the results are undefined.</span>
00073 <span class="comment"> */</span>
00074 #define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
00075 <span class="comment"></span>
00076 <span class="comment">/** @def apr_get_os_error()</span>
00077 <span class="comment"> * @return apr_status_t the last platform error, folded into apr_status_t, on most platforms</span>
00078 <span class="comment"> * @remark This retrieves errno, or calls a GetLastError() style function, and</span>
00079 <span class="comment"> *      folds it with APR_FROM_OS_ERROR.  Some platforms (such as OS2) have no</span>
00080 <span class="comment"> *      such mechanism, so this call may be unsupported.  Do NOT use this</span>
00081 <span class="comment"> *      call for socket errors from socket, send, recv etc!</span>
00082 <span class="comment"> */</span>
00083 <span class="comment"></span>
00084 <span class="comment">/** @def apr_set_os_error(e)</span>
00085 <span class="comment"> * Reset the last platform error, unfolded from an apr_status_t, on some platforms</span>
00086 <span class="comment"> * @param e The OS error folded in a prior call to APR_FROM_OS_ERROR()</span>
00087 <span class="comment"> * @warning This is a macro implementation; the statcode argument may be evaluated</span>
00088 <span class="comment"> *      multiple times.  If the statcode was not created by apr_get_os_error</span>
00089 <span class="comment"> *      or APR_FROM_OS_ERROR, the results are undefined.  This macro sets</span>
00090 <span class="comment"> *      errno, or calls a SetLastError() style function, unfolding statcode</span>
00091 <span class="comment"> *      with APR_TO_OS_ERROR.  Some platforms (such as OS2) have no such</span>
00092 <span class="comment"> *      mechanism, so this call may be unsupported.</span>
00093 <span class="comment"> */</span>
00094 <span class="comment"></span>
00095 <span class="comment">/** @def apr_get_netos_error()</span>
00096 <span class="comment"> * Return the last socket error, folded into apr_status_t, on all platforms</span>
00097 <span class="comment"> * @remark This retrieves errno or calls a GetLastSocketError() style function,</span>
00098 <span class="comment"> *      and folds it with APR_FROM_OS_ERROR.</span>
00099 <span class="comment"> */</span>
00100 <span class="comment"></span>
00101 <span class="comment">/** @def apr_set_netos_error(e)</span>
00102 <span class="comment"> * Reset the last socket error, unfolded from an apr_status_t</span>
00103 <span class="comment"> * @param e The socket error folded in a prior call to APR_FROM_OS_ERROR()</span>
00104 <span class="comment"> * @warning This is a macro implementation; the statcode argument may be evaluated</span>
00105 <span class="comment"> *      multiple times.  If the statcode was not created by apr_get_os_error</span>
00106 <span class="comment"> *      or APR_FROM_OS_ERROR, the results are undefined.  This macro sets</span>
00107 <span class="comment"> *      errno, or calls a WSASetLastError() style function, unfolding </span>
00108 <span class="comment"> *      socketcode with APR_TO_OS_ERROR.</span>
00109 <span class="comment"> */</span>
00110 
00111 #endif <span class="comment">/* defined(DOXYGEN) */</span>
00112 <span class="comment"></span>
00113 <span class="comment">/**</span>
00114 <span class="comment"> * APR_OS_START_ERROR is where the APR specific error values start.</span>
00115 <span class="comment"> */</span>
<a name="l00116"></a><a class="code" href="group__apr__errno.html#ga10">00116</a> #define APR_OS_START_ERROR     20000<span class="comment"></span>
00117 <span class="comment">/**</span>
00118 <span class="comment"> * APR_OS_ERRSPACE_SIZE is the maximum number of errors you can fit</span>
00119 <span class="comment"> *    into one of the error/status ranges below -- except for</span>
00120 <span class="comment"> *    APR_OS_START_USERERR, which see.</span>
00121 <span class="comment"> */</span>
<a name="l00122"></a><a class="code" href="group__apr__errno.html#ga11">00122</a> #define APR_OS_ERRSPACE_SIZE 50000<span class="comment"></span>
00123 <span class="comment">/**</span>
00124 <span class="comment"> * APR_OS_START_STATUS is where the APR specific status codes start.</span>
00125 <span class="comment"> */</span>
<a name="l00126"></a><a class="code" href="group__apr__errno.html#ga12">00126</a> #define APR_OS_START_STATUS    (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)<span class="comment"></span>
00127 <span class="comment">/**</span>
00128 <span class="comment"> * APR_OS_START_USERERR are reserved for applications that use APR that</span>
00129 <span class="comment"> *     layer their own error codes along with APR's.  Note that the</span>
00130 <span class="comment"> *     error immediately following this one is set ten times farther</span>
00131 <span class="comment"> *     away than usual, so that users of apr have a lot of room in</span>
00132 <span class="comment"> *     which to declare custom error codes.</span>
00133 <span class="comment"> */</span>
<a name="l00134"></a><a class="code" href="group__apr__errno.html#ga13">00134</a> #define APR_OS_START_USERERR    (APR_OS_START_STATUS + APR_OS_ERRSPACE_SIZE)<span class="comment"></span>
00135 <span class="comment">/**</span>
00136 <span class="comment"> * APR_OS_START_USEERR is obsolete, defined for compatibility only.</span>
00137 <span class="comment"> * Use APR_OS_START_USERERR instead.</span>
00138 <span class="comment"> */</span>
<a name="l00139"></a><a class="code" href="group__apr__errno.html#ga14">00139</a> #define APR_OS_START_USEERR     APR_OS_START_USERERR<span class="comment"></span>
00140 <span class="comment">/**</span>
00141 <span class="comment"> * APR_OS_START_CANONERR is where APR versions of errno values are defined</span>
00142 <span class="comment"> *     on systems which don't have the corresponding errno.</span>
00143 <span class="comment"> */</span>
<a name="l00144"></a><a class="code" href="group__apr__errno.html#ga15">00144</a> #define APR_OS_START_CANONERR  (APR_OS_START_USERERR \
00145                                  + (APR_OS_ERRSPACE_SIZE * 10))<span class="comment"></span>
00146 <span class="comment">/**</span>
00147 <span class="comment"> * APR_OS_START_EAIERR folds EAI_ error codes from getaddrinfo() into </span>
00148 <span class="comment"> *     apr_status_t values.</span>
00149 <span class="comment"> */</span>
<a name="l00150"></a><a class="code" href="group__apr__errno.html#ga16">00150</a> #define APR_OS_START_EAIERR    (APR_OS_START_CANONERR + APR_OS_ERRSPACE_SIZE)<span class="comment"></span>
00151 <span class="comment">/**</span>
00152 <span class="comment"> * APR_OS_START_SYSERR folds platform-specific system error values into </span>
00153 <span class="comment"> *     apr_status_t values.</span>
00154 <span class="comment"> */</span>
<a name="l00155"></a><a class="code" href="group__apr__errno.html#ga17">00155</a> #define APR_OS_START_SYSERR    (APR_OS_START_EAIERR + APR_OS_ERRSPACE_SIZE)
00156 <span class="comment"></span>
00157 <span class="comment">/** no error. */</span>
<a name="l00158"></a><a class="code" href="group__apr__errno.html#ga18">00158</a> #define APR_SUCCESS 0
00159 <span class="comment"></span>
00160 <span class="comment">/** </span>
00161 <span class="comment"> * @defgroup APR_Error APR Error Values</span>
00162 <span class="comment"> * &lt;PRE&gt;</span>
00163 <span class="comment"> * &lt;b&gt;APR ERROR VALUES&lt;/b&gt;</span>
00164 <span class="comment"> * APR_ENOSTAT      APR was unable to perform a stat on the file </span>
00165 <span class="comment"> * APR_ENOPOOL      APR was not provided a pool with which to allocate memory</span>
00166 <span class="comment"> * APR_EBADDATE     APR was given an invalid date </span>
00167 <span class="comment"> * APR_EINVALSOCK   APR was given an invalid socket</span>
00168 <span class="comment"> * APR_ENOPROC      APR was not given a process structure</span>
00169 <span class="comment"> * APR_ENOTIME      APR was not given a time structure</span>
00170 <span class="comment"> * APR_ENODIR       APR was not given a directory structure</span>
00171 <span class="comment"> * APR_ENOLOCK      APR was not given a lock structure</span>
00172 <span class="comment"> * APR_ENOPOLL      APR was not given a poll structure</span>
00173 <span class="comment"> * APR_ENOSOCKET    APR was not given a socket</span>
00174 <span class="comment"> * APR_ENOTHREAD    APR was not given a thread structure</span>
00175 <span class="comment"> * APR_ENOTHDKEY    APR was not given a thread key structure</span>
00176 <span class="comment"> * APR_ENOSHMAVAIL  There is no more shared memory available</span>
00177 <span class="comment"> * APR_EDSOOPEN     APR was unable to open the dso object.  For more </span>
00178 <span class="comment"> *                  information call apr_dso_error().</span>
00179 <span class="comment"> * APR_EGENERAL     General failure (specific information not available)</span>
00180 <span class="comment"> * APR_EBADIP       The specified IP address is invalid</span>
00181 <span class="comment"> * APR_EBADMASK     The specified netmask is invalid</span>
00182 <span class="comment"> * APR_ESYMNOTFOUND Could not find the requested symbol</span>
00183 <span class="comment"> * &lt;/PRE&gt;</span>
00184 <span class="comment"> *</span>
00185 <span class="comment"> * &lt;PRE&gt;</span>
00186 <span class="comment"> * &lt;b&gt;APR STATUS VALUES&lt;/b&gt;</span>
00187 <span class="comment"> * APR_INCHILD        Program is currently executing in the child</span>
00188 <span class="comment"> * APR_INPARENT       Program is currently executing in the parent</span>
00189 <span class="comment"> * APR_DETACH         The thread is detached</span>
00190 <span class="comment"> * APR_NOTDETACH      The thread is not detached</span>
00191 <span class="comment"> * APR_CHILD_DONE     The child has finished executing</span>
00192 <span class="comment"> * APR_CHILD_NOTDONE  The child has not finished executing</span>
00193 <span class="comment"> * APR_TIMEUP         The operation did not finish before the timeout</span>
00194 <span class="comment"> * APR_INCOMPLETE     The operation was incomplete although some processing</span>
00195 <span class="comment"> *                    was performed and the results are partially valid</span>
00196 <span class="comment"> * APR_BADCH          Getopt found an option not in the option string</span>
00197 <span class="comment"> * APR_BADARG         Getopt found an option that is missing an argument </span>
00198 <span class="comment"> *                    and an argument was specified in the option string</span>
00199 <span class="comment"> * APR_EOF            APR has encountered the end of the file</span>
00200 <span class="comment"> * APR_NOTFOUND       APR was unable to find the socket in the poll structure</span>
00201 <span class="comment"> * APR_ANONYMOUS      APR is using anonymous shared memory</span>
00202 <span class="comment"> * APR_FILEBASED      APR is using a file name as the key to the shared memory</span>
00203 <span class="comment"> * APR_KEYBASED       APR is using a shared key as the key to the shared memory</span>
00204 <span class="comment"> * APR_EINIT          Ininitalizer value.  If no option has been found, but </span>
00205 <span class="comment"> *                    the status variable requires a value, this should be used</span>
00206 <span class="comment"> * APR_ENOTIMPL       The APR function has not been implemented on this </span>
00207 <span class="comment"> *                    platform, either because nobody has gotten to it yet, </span>
00208 <span class="comment"> *                    or the function is impossible on this platform.</span>
00209 <span class="comment"> * APR_EMISMATCH      Two passwords do not match.</span>
00210 <span class="comment"> * APR_EABSOLUTE      The given path was absolute.</span>
00211 <span class="comment"> * APR_ERELATIVE      The given path was relative.</span>
00212 <span class="comment"> * APR_EINCOMPLETE    The given path was neither relative nor absolute.</span>
00213 <span class="comment"> * APR_EABOVEROOT     The given path was above the root path.</span>
00214 <span class="comment"> * APR_EBUSY          The given lock was busy.</span>
00215 <span class="comment"> * APR_EPROC_UNKNOWN  The given process wasn't recognized by APR</span>
00216 <span class="comment"> * &lt;/PRE&gt;</span>
00217 <span class="comment"> * @{</span>
00218 <span class="comment"> */</span><span class="comment"></span>
00219 <span class="comment">/** @see APR_STATUS_IS_ENOSTAT */</span>
<a name="l00220"></a><a class="code" href="group__APR__Error.html#ga0">00220</a> #define APR_ENOSTAT        (APR_OS_START_ERROR + 1)<span class="comment"></span>
00221 <span class="comment">/** @see APR_STATUS_IS_ENOPOOL */</span>
<a name="l00222"></a><a class="code" href="group__APR__Error.html#ga1">00222</a> #define APR_ENOPOOL        (APR_OS_START_ERROR + 2)
00223 <span class="comment">/* empty slot: +3 */</span><span class="comment"></span>
00224 <span class="comment">/** @see APR_STATUS_IS_EBADDATE */</span>
<a name="l00225"></a><a class="code" href="group__APR__Error.html#ga2">00225</a> #define APR_EBADDATE       (APR_OS_START_ERROR + 4)<span class="comment"></span>
00226 <span class="comment">/** @see APR_STATUS_IS_EINVALSOCK */</span>
<a name="l00227"></a><a class="code" href="group__APR__Error.html#ga3">00227</a> #define APR_EINVALSOCK     (APR_OS_START_ERROR + 5)<span class="comment"></span>
00228 <span class="comment">/** @see APR_STATUS_IS_ENOPROC */</span>
<a name="l00229"></a><a class="code" href="group__APR__Error.html#ga4">00229</a> #define APR_ENOPROC        (APR_OS_START_ERROR + 6)<span class="comment"></span>
00230 <span class="comment">/** @see APR_STATUS_IS_ENOTIME */</span>
<a name="l00231"></a><a class="code" href="group__APR__Error.html#ga5">00231</a> #define APR_ENOTIME        (APR_OS_START_ERROR + 7)<span class="comment"></span>
00232 <span class="comment">/** @see APR_STATUS_IS_ENODIR */</span>
<a name="l00233"></a><a class="code" href="group__APR__Error.html#ga6">00233</a> #define APR_ENODIR         (APR_OS_START_ERROR + 8)<span class="comment"></span>
00234 <span class="comment">/** @see APR_STATUS_IS_ENOLOCK */</span>
<a name="l00235"></a><a class="code" href="group__APR__Error.html#ga7">00235</a> #define APR_ENOLOCK        (APR_OS_START_ERROR + 9)<span class="comment"></span>
00236 <span class="comment">/** @see APR_STATUS_IS_ENOPOLL */</span>
<a name="l00237"></a><a class="code" href="group__APR__Error.html#ga8">00237</a> #define APR_ENOPOLL        (APR_OS_START_ERROR + 10)<span class="comment"></span>
00238 <span class="comment">/** @see APR_STATUS_IS_ENOSOCKET */</span>
<a name="l00239"></a><a class="code" href="group__APR__Error.html#ga9">00239</a> #define APR_ENOSOCKET      (APR_OS_START_ERROR + 11)<span class="comment"></span>
00240 <span class="comment">/** @see APR_STATUS_IS_ENOTHREAD */</span>
<a name="l00241"></a><a class="code" href="group__APR__Error.html#ga10">00241</a> #define APR_ENOTHREAD      (APR_OS_START_ERROR + 12)<span class="comment"></span>
00242 <span class="comment">/** @see APR_STATUS_IS_ENOTHDKEY */</span>
<a name="l00243"></a><a class="code" href="group__APR__Error.html#ga11">00243</a> #define APR_ENOTHDKEY      (APR_OS_START_ERROR + 13)<span class="comment"></span>
00244 <span class="comment">/** @see APR_STATUS_IS_EGENERAL */</span>
<a name="l00245"></a><a class="code" href="group__APR__Error.html#ga12">00245</a> #define APR_EGENERAL       (APR_OS_START_ERROR + 14)<span class="comment"></span>
00246 <span class="comment">/** @see APR_STATUS_IS_ENOSHMAVAIL */</span>
<a name="l00247"></a><a class="code" href="group__APR__Error.html#ga13">00247</a> #define APR_ENOSHMAVAIL    (APR_OS_START_ERROR + 15)<span class="comment"></span>
00248 <span class="comment">/** @see APR_STATUS_IS_EBADIP */</span>
<a name="l00249"></a><a class="code" href="group__APR__Error.html#ga14">00249</a> #define APR_EBADIP         (APR_OS_START_ERROR + 16)<span class="comment"></span>
00250 <span class="comment">/** @see APR_STATUS_IS_EBADMASK */</span>
<a name="l00251"></a><a class="code" href="group__APR__Error.html#ga15">00251</a> #define APR_EBADMASK       (APR_OS_START_ERROR + 17)
00252 <span class="comment">/* empty slot: +18 */</span><span class="comment"></span>
00253 <span class="comment">/** @see APR_STATUS_IS_EDSOPEN */</span>
<a name="l00254"></a><a class="code" href="group__APR__Error.html#ga16">00254</a> #define APR_EDSOOPEN       (APR_OS_START_ERROR + 19)<span class="comment"></span>
00255 <span class="comment">/** @see APR_STATUS_IS_EABSOLUTE */</span>
<a name="l00256"></a><a class="code" href="group__APR__Error.html#ga17">00256</a> #define APR_EABSOLUTE      (APR_OS_START_ERROR + 20)<span class="comment"></span>
00257 <span class="comment">/** @see APR_STATUS_IS_ERELATIVE */</span>
<a name="l00258"></a><a class="code" href="group__APR__Error.html#ga18">00258</a> #define APR_ERELATIVE      (APR_OS_START_ERROR + 21)<span class="comment"></span>
00259 <span class="comment">/** @see APR_STATUS_IS_EINCOMPLETE */</span>
<a name="l00260"></a><a class="code" href="group__APR__Error.html#ga19">00260</a> #define APR_EINCOMPLETE    (APR_OS_START_ERROR + 22)<span class="comment"></span>
00261 <span class="comment">/** @see APR_STATUS_IS_EABOVEROOT */</span>
<a name="l00262"></a><a class="code" href="group__APR__Error.html#ga20">00262</a> #define APR_EABOVEROOT     (APR_OS_START_ERROR + 23)<span class="comment"></span>
00263 <span class="comment">/** @see APR_STATUS_IS_EBADPATH */</span>
<a name="l00264"></a><a class="code" href="group__APR__Error.html#ga21">00264</a> #define APR_EBADPATH       (APR_OS_START_ERROR + 24)<span class="comment"></span>
00265 <span class="comment">/** @see APR_STATUS_IS_EPATHWILD */</span>
<a name="l00266"></a><a class="code" href="group__APR__Error.html#ga22">00266</a> #define APR_EPATHWILD      (APR_OS_START_ERROR + 25)<span class="comment"></span>
00267 <span class="comment">/** @see APR_STATUS_IS_ESYMNOTFOUND */</span>
<a name="l00268"></a><a class="code" href="group__APR__Error.html#ga23">00268</a> #define APR_ESYMNOTFOUND   (APR_OS_START_ERROR + 26)<span class="comment"></span>
00269 <span class="comment">/** @see APR_STATUS_IS_EPROC_UNKNOWN */</span>
<a name="l00270"></a><a class="code" href="group__APR__Error.html#ga24">00270</a> #define APR_EPROC_UNKNOWN  (APR_OS_START_ERROR + 27)<span class="comment"></span>
00271 <span class="comment">/** @see APR_STATUS_IS_ENOTENOUGHENTROPY */</span>
<a name="l00272"></a><a class="code" href="group__APR__Error.html#ga25">00272</a> #define APR_ENOTENOUGHENTROPY (APR_OS_START_ERROR + 28)<span class="comment"></span>
00273 <span class="comment">/** @} */</span>
00274 <span class="comment"></span>
00275 <span class="comment">/** </span>
00276 <span class="comment"> * @defgroup APR_STATUS_IS Status Value Tests</span>
00277 <span class="comment"> * @warning For any particular error condition, more than one of these tests</span>
00278 <span class="comment"> *      may match. This is because platform-specific error codes may not</span>
00279 <span class="comment"> *      always match the semantics of the POSIX codes these tests (and the</span>
00280 <span class="comment"> *      corresponding APR error codes) are named after. A notable example</span>
00281 <span class="comment"> *      are the APR_STATUS_IS_ENOENT and APR_STATUS_IS_ENOTDIR tests on</span>
00282 <span class="comment"> *      Win32 platforms. The programmer should always be aware of this and</span>
00283 <span class="comment"> *      adjust the order of the tests accordingly.</span>
00284 <span class="comment"> * @{</span>
00285 <span class="comment"> */</span><span class="comment"></span>
00286 <span class="comment">/** </span>
00287 <span class="comment"> * APR was unable to perform a stat on the file </span>
00288 <span class="comment"> * @warning always use this test, as platform-specific variances may meet this</span>
00289 <span class="comment"> * more than one error code </span>
00290 <span class="comment"> */</span>
<a name="l00291"></a><a class="code" href="group__APR__STATUS__IS.html#ga0">00291</a> #define APR_STATUS_IS_ENOSTAT(s)        ((s) == APR_ENOSTAT)<span class="comment"></span>
00292 <span class="comment">/** </span>
00293 <span class="comment"> * APR was not provided a pool with which to allocate memory </span>
00294 <span class="comment"> * @warning always use this test, as platform-specific variances may meet this</span>
00295 <span class="comment"> * more than one error code </span>
00296 <span class="comment"> */</span>
<a name="l00297"></a><a class="code" href="group__APR__STATUS__IS.html#ga1">00297</a> #define APR_STATUS_IS_ENOPOOL(s)        ((s) == APR_ENOPOOL)<span class="comment"></span>
00298 <span class="comment">/** APR was given an invalid date  */</span>
<a name="l00299"></a><a class="code" href="group__APR__STATUS__IS.html#ga2">00299</a> #define APR_STATUS_IS_EBADDATE(s)       ((s) == APR_EBADDATE)<span class="comment"></span>
00300 <span class="comment">/** APR was given an invalid socket */</span>
<a name="l00301"></a><a class="code" href="group__APR__STATUS__IS.html#ga3">00301</a> #define APR_STATUS_IS_EINVALSOCK(s)     ((s) == APR_EINVALSOCK)<span class="comment"></span>
00302 <span class="comment">/** APR was not given a process structure */</span>
<a name="l00303"></a><a class="code" href="group__APR__STATUS__IS.html#ga4">00303</a> #define APR_STATUS_IS_ENOPROC(s)        ((s) == APR_ENOPROC)<span class="comment"></span>
00304 <span class="comment">/** APR was not given a time structure */</span>
<a name="l00305"></a><a class="code" href="group__APR__STATUS__IS.html#ga5">00305</a> #define APR_STATUS_IS_ENOTIME(s)        ((s) == APR_ENOTIME)<span class="comment"></span>
00306 <span class="comment">/** APR was not given a directory structure */</span>
<a name="l00307"></a><a class="code" href="group__APR__STATUS__IS.html#ga6">00307</a> #define APR_STATUS_IS_ENODIR(s)         ((s) == APR_ENODIR)<span class="comment"></span>
00308 <span class="comment">/** APR was not given a lock structure */</span>
<a name="l00309"></a><a class="code" href="group__APR__STATUS__IS.html#ga7">00309</a> #define APR_STATUS_IS_ENOLOCK(s)        ((s) == APR_ENOLOCK)<span class="comment"></span>
00310 <span class="comment">/** APR was not given a poll structure */</span>
<a name="l00311"></a><a class="code" href="group__APR__STATUS__IS.html#ga8">00311</a> #define APR_STATUS_IS_ENOPOLL(s)        ((s) == APR_ENOPOLL)<span class="comment"></span>
00312 <span class="comment">/** APR was not given a socket */</span>
<a name="l00313"></a><a class="code" href="group__APR__STATUS__IS.html#ga9">00313</a> #define APR_STATUS_IS_ENOSOCKET(s)      ((s) == APR_ENOSOCKET)<span class="comment"></span>
00314 <span class="comment">/** APR was not given a thread structure */</span>
<a name="l00315"></a><a class="code" href="group__APR__STATUS__IS.html#ga10">00315</a> #define APR_STATUS_IS_ENOTHREAD(s)      ((s) == APR_ENOTHREAD)<span class="comment"></span>
00316 <span class="comment">/** APR was not given a thread key structure */</span>
<a name="l00317"></a><a class="code" href="group__APR__STATUS__IS.html#ga11">00317</a> #define APR_STATUS_IS_ENOTHDKEY(s)      ((s) == APR_ENOTHDKEY)<span class="comment"></span>
00318 <span class="comment">/** Generic Error which can not be put into another spot */</span>
<a name="l00319"></a><a class="code" href="group__APR__STATUS__IS.html#ga12">00319</a> #define APR_STATUS_IS_EGENERAL(s)       ((s) == APR_EGENERAL)<span class="comment"></span>
00320 <span class="comment">/** There is no more shared memory available */</span>
<a name="l00321"></a><a class="code" href="group__APR__STATUS__IS.html#ga13">00321</a> #define APR_STATUS_IS_ENOSHMAVAIL(s)    ((s) == APR_ENOSHMAVAIL)<span class="comment"></span>
00322 <span class="comment">/** The specified IP address is invalid */</span>
<a name="l00323"></a><a class="code" href="group__APR__STATUS__IS.html#ga14">00323</a> #define APR_STATUS_IS_EBADIP(s)         ((s) == APR_EBADIP)<span class="comment"></span>
00324 <span class="comment">/** The specified netmask is invalid */</span>
<a name="l00325"></a><a class="code" href="group__APR__STATUS__IS.html#ga15">00325</a> #define APR_STATUS_IS_EBADMASK(s)       ((s) == APR_EBADMASK)
00326 <span class="comment">/* empty slot: +18 */</span><span class="comment"></span>
00327 <span class="comment">/** </span>
00328 <span class="comment"> * APR was unable to open the dso object.  </span>
00329 <span class="comment"> * For more information call apr_dso_error().</span>
00330 <span class="comment"> */</span>
00331 #if defined(WIN32)
00332 #define APR_STATUS_IS_EDSOOPEN(s)       ((s) == APR_EDSOOPEN \
00333                        || APR_TO_OS_ERROR(s) == ERROR_MOD_NOT_FOUND)
00334 #else
<a name="l00335"></a><a class="code" href="group__APR__STATUS__IS.html#ga16">00335</a> #define APR_STATUS_IS_EDSOOPEN(s)       ((s) == APR_EDSOOPEN)
00336 #endif<span class="comment"></span>
00337 <span class="comment">/** The given path was absolute. */</span>
<a name="l00338"></a><a class="code" href="group__APR__STATUS__IS.html#ga17">00338</a> #define APR_STATUS_IS_EABSOLUTE(s)      ((s) == APR_EABSOLUTE)<span class="comment"></span>
00339 <span class="comment">/** The given path was relative. */</span>
<a name="l00340"></a><a class="code" href="group__APR__STATUS__IS.html#ga18">00340</a> #define APR_STATUS_IS_ERELATIVE(s)      ((s) == APR_ERELATIVE)<span class="comment"></span>
00341 <span class="comment">/** The given path was neither relative nor absolute. */</span>
<a name="l00342"></a><a class="code" href="group__APR__STATUS__IS.html#ga19">00342</a> #define APR_STATUS_IS_EINCOMPLETE(s)    ((s) == APR_EINCOMPLETE)<span class="comment"></span>
00343 <span class="comment">/** The given path was above the root path. */</span>
<a name="l00344"></a><a class="code" href="group__APR__STATUS__IS.html#ga20">00344</a> #define APR_STATUS_IS_EABOVEROOT(s)     ((s) == APR_EABOVEROOT)<span class="comment"></span>
00345 <span class="comment">/** The given path was bad. */</span>
<a name="l00346"></a><a class="code" href="group__APR__STATUS__IS.html#ga21">00346</a> #define APR_STATUS_IS_EBADPATH(s)       ((s) == APR_EBADPATH)<span class="comment"></span>
00347 <span class="comment">/** The given path contained wildcards. */</span>
<a name="l00348"></a><a class="code" href="group__APR__STATUS__IS.html#ga22">00348</a> #define APR_STATUS_IS_EPATHWILD(s)      ((s) == APR_EPATHWILD)<span class="comment"></span>
00349 <span class="comment">/** Could not find the requested symbol.</span>
00350 <span class="comment"> * For more information call apr_dso_error().</span>
00351 <span class="comment"> */</span>
00352 #if defined(WIN32)
00353 #define APR_STATUS_IS_ESYMNOTFOUND(s)   ((s) == APR_ESYMNOTFOUND \
00354                        || APR_TO_OS_ERROR(s) == ERROR_PROC_NOT_FOUND)
00355 #else
<a name="l00356"></a><a class="code" href="group__APR__STATUS__IS.html#ga23">00356</a> #define APR_STATUS_IS_ESYMNOTFOUND(s)   ((s) == APR_ESYMNOTFOUND)
00357 #endif<span class="comment"></span>
00358 <span class="comment">/** The given process was not recognized by APR. */</span>
<a name="l00359"></a><a class="code" href="group__APR__STATUS__IS.html#ga24">00359</a> #define APR_STATUS_IS_EPROC_UNKNOWN(s)  ((s) == APR_EPROC_UNKNOWN)
00360 <span class="comment"></span>
00361 <span class="comment">/** APR could not gather enough entropy to continue. */</span>
<a name="l00362"></a><a class="code" href="group__APR__STATUS__IS.html#ga25">00362</a> #define APR_STATUS_IS_ENOTENOUGHENTROPY(s) ((s) == APR_ENOTENOUGHENTROPY)
00363 <span class="comment"></span>
00364 <span class="comment">/** @} */</span>
00365 <span class="comment"></span>
00366 <span class="comment">/** </span>
00367 <span class="comment"> * @addtogroup APR_Error</span>
00368 <span class="comment"> * @{</span>
00369 <span class="comment"> */</span><span class="comment"></span>
00370 <span class="comment">/** @see APR_STATUS_IS_INCHILD */</span>
<a name="l00371"></a><a class="code" href="group__APR__Error.html#ga26">00371</a> #define APR_INCHILD        (APR_OS_START_STATUS + 1)<span class="comment"></span>
00372 <span class="comment">/** @see APR_STATUS_IS_INPARENT */</span>
<a name="l00373"></a><a class="code" href="group__APR__Error.html#ga27">00373</a> #define APR_INPARENT       (APR_OS_START_STATUS + 2)<span class="comment"></span>
00374 <span class="comment">/** @see APR_STATUS_IS_DETACH */</span>
<a name="l00375"></a><a class="code" href="group__APR__Error.html#ga28">00375</a> #define APR_DETACH         (APR_OS_START_STATUS + 3)<span class="comment"></span>
00376 <span class="comment">/** @see APR_STATUS_IS_NOTDETACH */</span>
<a name="l00377"></a><a class="code" href="group__APR__Error.html#ga29">00377</a> #define APR_NOTDETACH      (APR_OS_START_STATUS + 4)<span class="comment"></span>
00378 <span class="comment">/** @see APR_STATUS_IS_CHILD_DONE */</span>
<a name="l00379"></a><a class="code" href="group__APR__Error.html#ga30">00379</a> #define APR_CHILD_DONE     (APR_OS_START_STATUS + 5)<span class="comment"></span>
00380 <span class="comment">/** @see APR_STATUS_IS_CHILD_NOTDONE */</span>
<a name="l00381"></a><a class="code" href="group__APR__Error.html#ga31">00381</a> #define APR_CHILD_NOTDONE  (APR_OS_START_STATUS + 6)<span class="comment"></span>
00382 <span class="comment">/** @see APR_STATUS_IS_TIMEUP */</span>
<a name="l00383"></a><a class="code" href="group__APR__Error.html#ga32">00383</a> #define APR_TIMEUP         (APR_OS_START_STATUS + 7)<span class="comment"></span>
00384 <span class="comment">/** @see APR_STATUS_IS_INCOMPLETE */</span>
<a name="l00385"></a><a class="code" href="group__APR__Error.html#ga33">00385</a> #define APR_INCOMPLETE     (APR_OS_START_STATUS + 8)
00386 <span class="comment">/* empty slot: +9 */</span>
00387 <span class="comment">/* empty slot: +10 */</span>
00388 <span class="comment">/* empty slot: +11 */</span><span class="comment"></span>
00389 <span class="comment">/** @see APR_STATUS_IS_BADCH */</span>
<a name="l00390"></a><a class="code" href="group__APR__Error.html#ga34">00390</a> #define APR_BADCH          (APR_OS_START_STATUS + 12)<span class="comment"></span>
00391 <span class="comment">/** @see APR_STATUS_IS_BADARG */</span>
<a name="l00392"></a><a class="code" href="group__APR__Error.html#ga35">00392</a> #define APR_BADARG         (APR_OS_START_STATUS + 13)<span class="comment"></span>
00393 <span class="comment">/** @see APR_STATUS_IS_EOF */</span>
<a name="l00394"></a><a class="code" href="group__APR__Error.html#ga36">00394</a> #define APR_EOF            (APR_OS_START_STATUS + 14)<span class="comment"></span>
00395 <span class="comment">/** @see APR_STATUS_IS_NOTFOUND */</span>
<a name="l00396"></a><a class="code" href="group__APR__Error.html#ga37">00396</a> #define APR_NOTFOUND       (APR_OS_START_STATUS + 15)
00397 <span class="comment">/* empty slot: +16 */</span>
00398 <span class="comment">/* empty slot: +17 */</span>
00399 <span class="comment">/* empty slot: +18 */</span><span class="comment"></span>
00400 <span class="comment">/** @see APR_STATUS_IS_ANONYMOUS */</span>
<a name="l00401"></a><a class="code" href="group__APR__Error.html#ga38">00401</a> #define APR_ANONYMOUS      (APR_OS_START_STATUS + 19)<span class="comment"></span>
00402 <span class="comment">/** @see APR_STATUS_IS_FILEBASED */</span>
<a name="l00403"></a><a class="code" href="group__APR__Error.html#ga39">00403</a> #define APR_FILEBASED      (APR_OS_START_STATUS + 20)<span class="comment"></span>
00404 <span class="comment">/** @see APR_STATUS_IS_KEYBASED */</span>
<a name="l00405"></a><a class="code" href="group__APR__Error.html#ga40">00405</a> #define APR_KEYBASED       (APR_OS_START_STATUS + 21)<span class="comment"></span>
00406 <span class="comment">/** @see APR_STATUS_IS_EINIT */</span>
<a name="l00407"></a><a class="code" href="group__APR__Error.html#ga41">00407</a> #define APR_EINIT          (APR_OS_START_STATUS + 22)  <span class="comment"></span>
00408 <span class="comment">/** @see APR_STATUS_IS_ENOTIMPL */</span>
<a name="l00409"></a><a class="code" href="group__APR__Error.html#ga42">00409</a> #define APR_ENOTIMPL       (APR_OS_START_STATUS + 23)<span class="comment"></span>
00410 <span class="comment">/** @see APR_STATUS_IS_EMISMATCH */</span>
<a name="l00411"></a><a class="code" href="group__APR__Error.html#ga43">00411</a> #define APR_EMISMATCH      (APR_OS_START_STATUS + 24)<span class="comment"></span>
00412 <span class="comment">/** @see APR_STATUS_IS_EBUSY */</span>
<a name="l00413"></a><a class="code" href="group__APR__Error.html#ga44">00413</a> #define APR_EBUSY          (APR_OS_START_STATUS + 25)<span class="comment"></span>
00414 <span class="comment">/** @} */</span>
00415 <span class="comment"></span>
00416 <span class="comment">/** </span>
00417 <span class="comment"> * @addtogroup APR_STATUS_IS</span>
00418 <span class="comment"> * @{</span>
00419 <span class="comment"> */</span><span class="comment"></span>
00420 <span class="comment">/** </span>
00421 <span class="comment"> * Program is currently executing in the child </span>
00422 <span class="comment"> * @warning</span>
00423 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00424 <span class="comment"> * more than one error code */</span>
<a name="l00425"></a><a class="code" href="group__APR__STATUS__IS.html#ga26">00425</a> #define APR_STATUS_IS_INCHILD(s)        ((s) == APR_INCHILD)<span class="comment"></span>
00426 <span class="comment">/** </span>
00427 <span class="comment"> * Program is currently executing in the parent </span>
00428 <span class="comment"> * @warning</span>
00429 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00430 <span class="comment"> * more than one error code </span>
00431 <span class="comment"> */</span>
<a name="l00432"></a><a class="code" href="group__APR__STATUS__IS.html#ga27">00432</a> #define APR_STATUS_IS_INPARENT(s)       ((s) == APR_INPARENT)<span class="comment"></span>
00433 <span class="comment">/** </span>
00434 <span class="comment"> * The thread is detached </span>
00435 <span class="comment"> * @warning</span>
00436 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00437 <span class="comment"> * more than one error code </span>
00438 <span class="comment"> */</span>
<a name="l00439"></a><a class="code" href="group__APR__STATUS__IS.html#ga28">00439</a> #define APR_STATUS_IS_DETACH(s)         ((s) == APR_DETACH)<span class="comment"></span>
00440 <span class="comment">/** </span>
00441 <span class="comment"> * The thread is not detached </span>
00442 <span class="comment"> * @warning</span>
00443 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00444 <span class="comment"> * more than one error code </span>
00445 <span class="comment"> */</span>
<a name="l00446"></a><a class="code" href="group__APR__STATUS__IS.html#ga29">00446</a> #define APR_STATUS_IS_NOTDETACH(s)      ((s) == APR_NOTDETACH)<span class="comment"></span>
00447 <span class="comment">/** </span>
00448 <span class="comment"> * The child has finished executing</span>
00449 <span class="comment"> * @warning</span>
00450 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00451 <span class="comment"> * more than one error code </span>
00452 <span class="comment"> */</span>
<a name="l00453"></a><a class="code" href="group__APR__STATUS__IS.html#ga30">00453</a> #define APR_STATUS_IS_CHILD_DONE(s)     ((s) == APR_CHILD_DONE)<span class="comment"></span>
00454 <span class="comment">/** </span>
00455 <span class="comment"> * The child has not finished executing</span>
00456 <span class="comment"> * @warning</span>
00457 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00458 <span class="comment"> * more than one error code </span>
00459 <span class="comment"> */</span>
<a name="l00460"></a><a class="code" href="group__APR__STATUS__IS.html#ga31">00460</a> #define APR_STATUS_IS_CHILD_NOTDONE(s)  ((s) == APR_CHILD_NOTDONE)<span class="comment"></span>
00461 <span class="comment">/** </span>
00462 <span class="comment"> * The operation did not finish before the timeout</span>
00463 <span class="comment"> * @warning</span>
00464 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00465 <span class="comment"> * more than one error code </span>
00466 <span class="comment"> */</span>
<a name="l00467"></a><a class="code" href="group__APR__STATUS__IS.html#ga32">00467</a> #define APR_STATUS_IS_TIMEUP(s)         ((s) == APR_TIMEUP)<span class="comment"></span>
00468 <span class="comment">/** </span>
00469 <span class="comment"> * The character conversion stopped because of an incomplete character or </span>
00470 <span class="comment"> * shift sequence at the end  of the input buffer.</span>
00471 <span class="comment"> * @warning</span>
00472 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00473 <span class="comment"> * more than one error code </span>
00474 <span class="comment"> */</span>
<a name="l00475"></a><a class="code" href="group__APR__STATUS__IS.html#ga33">00475</a> #define APR_STATUS_IS_INCOMPLETE(s)     ((s) == APR_INCOMPLETE)
00476 <span class="comment">/* empty slot: +9 */</span>
00477 <span class="comment">/* empty slot: +10 */</span>
00478 <span class="comment">/* empty slot: +11 */</span><span class="comment"></span>
00479 <span class="comment">/** </span>
00480 <span class="comment"> * Getopt found an option not in the option string</span>
00481 <span class="comment"> * @warning</span>
00482 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00483 <span class="comment"> * more than one error code </span>
00484 <span class="comment"> */</span>
<a name="l00485"></a><a class="code" href="group__APR__STATUS__IS.html#ga34">00485</a> #define APR_STATUS_IS_BADCH(s)          ((s) == APR_BADCH)<span class="comment"></span>
00486 <span class="comment">/** </span>
00487 <span class="comment"> * Getopt found an option not in the option string and an argument was </span>
00488 <span class="comment"> * specified in the option string</span>
00489 <span class="comment"> * @warning</span>
00490 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00491 <span class="comment"> * more than one error code </span>
00492 <span class="comment"> */</span>
<a name="l00493"></a><a class="code" href="group__APR__STATUS__IS.html#ga35">00493</a> #define APR_STATUS_IS_BADARG(s)         ((s) == APR_BADARG)<span class="comment"></span>
00494 <span class="comment">/** </span>
00495 <span class="comment"> * APR has encountered the end of the file</span>
00496 <span class="comment"> * @warning</span>
00497 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00498 <span class="comment"> * more than one error code </span>
00499 <span class="comment"> */</span>
<a name="l00500"></a><a class="code" href="group__APR__STATUS__IS.html#ga36">00500</a> #define APR_STATUS_IS_EOF(s)            ((s) == APR_EOF)<span class="comment"></span>
00501 <span class="comment">/** </span>
00502 <span class="comment"> * APR was unable to find the socket in the poll structure</span>
00503 <span class="comment"> * @warning</span>
00504 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00505 <span class="comment"> * more than one error code </span>
00506 <span class="comment"> */</span>
<a name="l00507"></a><a class="code" href="group__APR__STATUS__IS.html#ga37">00507</a> #define APR_STATUS_IS_NOTFOUND(s)       ((s) == APR_NOTFOUND)
00508 <span class="comment">/* empty slot: +16 */</span>
00509 <span class="comment">/* empty slot: +17 */</span>
00510 <span class="comment">/* empty slot: +18 */</span><span class="comment"></span>
00511 <span class="comment">/** </span>
00512 <span class="comment"> * APR is using anonymous shared memory</span>
00513 <span class="comment"> * @warning</span>
00514 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00515 <span class="comment"> * more than one error code </span>
00516 <span class="comment"> */</span>
<a name="l00517"></a><a class="code" href="group__APR__STATUS__IS.html#ga38">00517</a> #define APR_STATUS_IS_ANONYMOUS(s)      ((s) == APR_ANONYMOUS)<span class="comment"></span>
00518 <span class="comment">/** </span>
00519 <span class="comment"> * APR is using a file name as the key to the shared memory</span>
00520 <span class="comment"> * @warning</span>
00521 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00522 <span class="comment"> * more than one error code </span>
00523 <span class="comment"> */</span>
<a name="l00524"></a><a class="code" href="group__APR__STATUS__IS.html#ga39">00524</a> #define APR_STATUS_IS_FILEBASED(s)      ((s) == APR_FILEBASED)<span class="comment"></span>
00525 <span class="comment">/** </span>
00526 <span class="comment"> * APR is using a shared key as the key to the shared memory</span>
00527 <span class="comment"> * @warning</span>
00528 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00529 <span class="comment"> * more than one error code </span>
00530 <span class="comment"> */</span>
<a name="l00531"></a><a class="code" href="group__APR__STATUS__IS.html#ga40">00531</a> #define APR_STATUS_IS_KEYBASED(s)       ((s) == APR_KEYBASED)<span class="comment"></span>
00532 <span class="comment">/** </span>
00533 <span class="comment"> * Ininitalizer value.  If no option has been found, but </span>
00534 <span class="comment"> * the status variable requires a value, this should be used</span>
00535 <span class="comment"> * @warning</span>
00536 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00537 <span class="comment"> * more than one error code </span>
00538 <span class="comment"> */</span>
<a name="l00539"></a><a class="code" href="group__APR__STATUS__IS.html#ga41">00539</a> #define APR_STATUS_IS_EINIT(s)          ((s) == APR_EINIT)<span class="comment"></span>
00540 <span class="comment">/** </span>
00541 <span class="comment"> * The APR function has not been implemented on this </span>
00542 <span class="comment"> * platform, either because nobody has gotten to it yet, </span>
00543 <span class="comment"> * or the function is impossible on this platform.</span>
00544 <span class="comment"> * @warning</span>
00545 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00546 <span class="comment"> * more than one error code </span>
00547 <span class="comment"> */</span>
<a name="l00548"></a><a class="code" href="group__APR__STATUS__IS.html#ga42">00548</a> #define APR_STATUS_IS_ENOTIMPL(s)       ((s) == APR_ENOTIMPL)<span class="comment"></span>
00549 <span class="comment">/** </span>
00550 <span class="comment"> * Two passwords do not match.</span>
00551 <span class="comment"> * @warning</span>
00552 <span class="comment"> * always use this test, as platform-specific variances may meet this</span>
00553 <span class="comment"> * more than one error code </span>
00554 <span class="comment"> */</span>
<a name="l00555"></a><a class="code" href="group__APR__STATUS__IS.html#ga43">00555</a> #define APR_STATUS_IS_EMISMATCH(s)      ((s) == APR_EMISMATCH)<span class="comment"></span>
00556 <span class="comment">/** </span>
00557 <span class="comment"> * The given lock was busy</span>
00558 <span class="comment"> * @warning always use this test, as platform-specific variances may meet this</span>
00559 <span class="comment"> * more than one error code </span>
00560 <span class="comment"> */</span>
<a name="l00561"></a><a class="code" href="group__APR__STATUS__IS.html#ga44">00561</a> #define APR_STATUS_IS_EBUSY(s)          ((s) == APR_EBUSY)
00562 <span class="comment"></span>
00563 <span class="comment">/** @} */</span>
00564 <span class="comment"></span>
00565 <span class="comment">/** </span>
00566 <span class="comment"> * @addtogroup APR_Error APR Error Values</span>
00567 <span class="comment"> * @{</span>
00568 <span class="comment"> */</span>
00569 <span class="comment">/* APR CANONICAL ERROR VALUES */</span><span class="comment"></span>
00570 <span class="comment">/** @see APR_STATUS_IS_EACCES */</span>
00571 #ifdef EACCES
00572 #define APR_EACCES EACCES
00573 #else
<a name="l00574"></a><a class="code" href="group__APR__Error.html#ga45">00574</a> #define APR_EACCES         (APR_OS_START_CANONERR + 1)
00575 #endif
00576 <span class="comment"></span>
00577 <span class="comment">/** @see APR_STATUS_IS_EXIST */</span>
00578 #ifdef EEXIST
00579 #define APR_EEXIST EEXIST
00580 #else
<a name="l00581"></a><a class="code" href="group__APR__Error.html#ga46">00581</a> #define APR_EEXIST         (APR_OS_START_CANONERR + 2)
00582 #endif
00583 <span class="comment"></span>
00584 <span class="comment">/** @see APR_STATUS_IS_ENAMETOOLONG */</span>
00585 #ifdef ENAMETOOLONG
00586 #define APR_ENAMETOOLONG ENAMETOOLONG
00587 #else
<a name="l00588"></a><a class="code" href="group__APR__Error.html#ga47">00588</a> #define APR_ENAMETOOLONG   (APR_OS_START_CANONERR + 3)
00589 #endif
00590 <span class="comment"></span>
00591 <span class="comment">/** @see APR_STATUS_IS_ENOENT */</span>
00592 #ifdef ENOENT
00593 #define APR_ENOENT ENOENT
00594 #else
<a name="l00595"></a><a class="code" href="group__APR__Error.html#ga48">00595</a> #define APR_ENOENT         (APR_OS_START_CANONERR + 4)
00596 #endif
00597 <span class="comment"></span>
00598 <span class="comment">/** @see APR_STATUS_IS_ENOTDIR */</span>
00599 #ifdef ENOTDIR
00600 #define APR_ENOTDIR ENOTDIR
00601 #else
<a name="l00602"></a><a class="code" href="group__APR__Error.html#ga49">00602</a> #define APR_ENOTDIR        (APR_OS_START_CANONERR + 5)
00603 #endif
00604 <span class="comment"></span>
00605 <span class="comment">/** @see APR_STATUS_IS_ENOSPC */</span>
00606 #ifdef ENOSPC
00607 #define APR_ENOSPC ENOSPC
00608 #else
<a name="l00609"></a><a class="code" href="group__APR__Error.html#ga50">00609</a> #define APR_ENOSPC         (APR_OS_START_CANONERR + 6)
00610 #endif
00611 <span class="comment"></span>
00612 <span class="comment">/** @see APR_STATUS_IS_ENOMEM */</span>
00613 #ifdef ENOMEM
00614 #define APR_ENOMEM ENOMEM
00615 #else
<a name="l00616"></a><a class="code" href="group__APR__Error.html#ga51">00616</a> #define APR_ENOMEM         (APR_OS_START_CANONERR + 7)
00617 #endif
00618 <span class="comment"></span>
00619 <span class="comment">/** @see APR_STATUS_IS_EMFILE */</span>
00620 #ifdef EMFILE
00621 #define APR_EMFILE EMFILE
00622 #else
<a name="l00623"></a><a class="code" href="group__APR__Error.html#ga52">00623</a> #define APR_EMFILE         (APR_OS_START_CANONERR + 8)
00624 #endif
00625 <span class="comment"></span>
00626 <span class="comment">/** @see APR_STATUS_IS_ENFILE */</span>
00627 #ifdef ENFILE
00628 #define APR_ENFILE ENFILE
00629 #else
<a name="l00630"></a><a class="code" href="group__APR__Error.html#ga53">00630</a> #define APR_ENFILE         (APR_OS_START_CANONERR + 9)
00631 #endif
00632 <span class="comment"></span>
00633 <span class="comment">/** @see APR_STATUS_IS_EBADF */</span>
00634 #ifdef EBADF
00635 #define APR_EBADF EBADF
00636 #else
<a name="l00637"></a><a class="code" href="group__APR__Error.html#ga54">00637</a> #define APR_EBADF          (APR_OS_START_CANONERR + 10)
00638 #endif
00639 <span class="comment"></span>
00640 <span class="comment">/** @see APR_STATUS_IS_EINVAL */</span>
00641 #ifdef EINVAL
00642 #define APR_EINVAL EINVAL
00643 #else
<a name="l00644"></a><a class="code" href="group__APR__Error.html#ga55">00644</a> #define APR_EINVAL         (APR_OS_START_CANONERR + 11)
00645 #endif
00646 <span class="comment"></span>
00647 <span class="comment">/** @see APR_STATUS_IS_ESPIPE */</span>
00648 #ifdef ESPIPE
00649 #define APR_ESPIPE ESPIPE
00650 #else
<a name="l00651"></a><a class="code" href="group__APR__Error.html#ga56">00651</a> #define APR_ESPIPE         (APR_OS_START_CANONERR + 12)
00652 #endif
00653 <span class="comment"></span>
00654 <span class="comment">/** </span>
00655 <span class="comment"> * @see APR_STATUS_IS_EAGAIN </span>
00656 <span class="comment"> * @warning use APR_STATUS_IS_EAGAIN instead of just testing this value</span>
00657 <span class="comment"> */</span>
00658 #ifdef EAGAIN
00659 #define APR_EAGAIN EAGAIN
00660 #elif defined(EWOULDBLOCK)
00661 #define APR_EAGAIN EWOULDBLOCK
00662 #else
<a name="l00663"></a><a class="code" href="group__APR__Error.html#ga57">00663</a> #define APR_EAGAIN         (APR_OS_START_CANONERR + 13)
00664 #endif
00665 <span class="comment"></span>
00666 <span class="comment">/** @see APR_STATUS_IS_EINTR */</span>
00667 #ifdef EINTR
00668 #define APR_EINTR EINTR
00669 #else
<a name="l00670"></a><a class="code" href="group__APR__Error.html#ga58">00670</a> #define APR_EINTR          (APR_OS_START_CANONERR + 14)
00671 #endif
00672 <span class="comment"></span>
00673 <span class="comment">/** @see APR_STATUS_IS_ENOTSOCK */</span>
00674 #ifdef ENOTSOCK
00675 #define APR_ENOTSOCK ENOTSOCK
00676 #else
<a name="l00677"></a><a class="code" href="group__APR__Error.html#ga59">00677</a> #define APR_ENOTSOCK       (APR_OS_START_CANONERR + 15)
00678 #endif
00679 <span class="comment"></span>
00680 <span class="comment">/** @see APR_STATUS_IS_ECONNREFUSED */</span>
00681 #ifdef ECONNREFUSED
00682 #define APR_ECONNREFUSED ECONNREFUSED
00683 #else
<a name="l00684"></a><a class="code" href="group__APR__Error.html#ga60">00684</a> #define APR_ECONNREFUSED   (APR_OS_START_CANONERR + 16)
00685 #endif
00686 <span class="comment"></span>
00687 <span class="comment">/** @see APR_STATUS_IS_EINPROGRESS */</span>
00688 #ifdef EINPROGRESS
00689 #define APR_EINPROGRESS EINPROGRESS
00690 #else
<a name="l00691"></a><a class="code" href="group__APR__Error.html#ga61">00691</a> #define APR_EINPROGRESS    (APR_OS_START_CANONERR + 17)
00692 #endif
00693 <span class="comment"></span>
00694 <span class="comment">/** </span>
00695 <span class="comment"> * @see APR_STATUS_IS_ECONNABORTED</span>
00696 <span class="comment"> * @warning use APR_STATUS_IS_ECONNABORTED instead of just testing this value</span>
00697 <span class="comment"> */</span>
00698 
00699 #ifdef ECONNABORTED
00700 #define APR_ECONNABORTED ECONNABORTED
00701 #else
<a name="l00702"></a><a class="code" href="group__APR__Error.html#ga62">00702</a> #define APR_ECONNABORTED   (APR_OS_START_CANONERR + 18)
00703 #endif
00704 <span class="comment"></span>
00705 <span class="comment">/** @see APR_STATUS_IS_ECONNRESET */</span>
00706 #ifdef ECONNRESET
00707 #define APR_ECONNRESET ECONNRESET
00708 #else
<a name="l00709"></a><a class="code" href="group__APR__Error.html#ga63">00709</a> #define APR_ECONNRESET     (APR_OS_START_CANONERR + 19)
00710 #endif
00711 <span class="comment"></span>
00712 <span class="comment">/** @see APR_STATUS_IS_ETIMEDOUT </span>
00713 <span class="comment"> *  @deprecated */</span>
00714 #ifdef ETIMEDOUT
00715 #define APR_ETIMEDOUT ETIMEDOUT
00716 #else
<a name="l00717"></a><a class="code" href="group__APR__Error.html#ga64">00717</a> #define APR_ETIMEDOUT      (APR_OS_START_CANONERR + 20)
00718 #endif
00719 <span class="comment"></span>
00720 <span class="comment">/** @see APR_STATUS_IS_EHOSTUNREACH */</span>
00721 #ifdef EHOSTUNREACH
00722 #define APR_EHOSTUNREACH EHOSTUNREACH
00723 #else
<a name="l00724"></a><a class="code" href="group__APR__Error.html#ga65">00724</a> #define APR_EHOSTUNREACH   (APR_OS_START_CANONERR + 21)
00725 #endif
00726 <span class="comment"></span>
00727 <span class="comment">/** @see APR_STATUS_IS_ENETUNREACH */</span>
00728 #ifdef ENETUNREACH
00729 #define APR_ENETUNREACH ENETUNREACH
00730 #else
<a name="l00731"></a><a class="code" href="group__APR__Error.html#ga66">00731</a> #define APR_ENETUNREACH    (APR_OS_START_CANONERR + 22)
00732 #endif
00733 <span class="comment"></span>
00734 <span class="comment">/** @see APR_STATUS_IS_EFTYPE */</span>
00735 #ifdef EFTYPE
00736 #define APR_EFTYPE EFTYPE
00737 #else
<a name="l00738"></a><a class="code" href="group__APR__Error.html#ga67">00738</a> #define APR_EFTYPE        (APR_OS_START_CANONERR + 23)
00739 #endif
00740 <span class="comment"></span>
00741 <span class="comment">/** @see APR_STATUS_IS_EPIPE */</span>
00742 #ifdef EPIPE
00743 #define APR_EPIPE EPIPE
00744 #else
<a name="l00745"></a><a class="code" href="group__APR__Error.html#ga68">00745</a> #define APR_EPIPE         (APR_OS_START_CANONERR + 24)
00746 #endif
00747 <span class="comment"></span>
00748 <span class="comment">/** @see APR_STATUS_IS_EXDEV */</span>
00749 #ifdef EXDEV
00750 #define APR_EXDEV EXDEV
00751 #else
<a name="l00752"></a><a class="code" href="group__APR__Error.html#ga69">00752</a> #define APR_EXDEV         (APR_OS_START_CANONERR + 25)
00753 #endif
00754 <span class="comment"></span>
00755 <span class="comment">/** @see APR_STATUS_IS_ENOTEMPTY */</span>
00756 #ifdef ENOTEMPTY
00757 #define APR_ENOTEMPTY ENOTEMPTY
00758 #else
<a name="l00759"></a><a class="code" href="group__APR__Error.html#ga70">00759</a> #define APR_ENOTEMPTY     (APR_OS_START_CANONERR + 26)
00760 #endif
00761 <span class="comment"></span>
00762 <span class="comment">/** @} */</span>
00763 
00764 #if defined(OS2) &amp;&amp; !defined(DOXYGEN)
00765 
00766 #define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
00767 #define APR_TO_OS_ERROR(e)   (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
00768 
00769 #define INCL_DOSERRORS
00770 #define INCL_DOS
00771 
00772 <span class="comment">/* Leave these undefined.</span>
00773 <span class="comment"> * OS2 doesn't rely on the errno concept.</span>
00774 <span class="comment"> * The API calls always return a result codes which</span>
00775 <span class="comment"> * should be filtered through APR_FROM_OS_ERROR().</span>
00776 <span class="comment"> *</span>
00777 <span class="comment"> * #define apr_get_os_error()   (APR_FROM_OS_ERROR(GetLastError()))</span>
00778 <span class="comment"> * #define apr_set_os_error(e)  (SetLastError(APR_TO_OS_ERROR(e)))</span>
00779 <span class="comment"> */</span>
00780 
00781 <span class="comment">/* A special case, only socket calls require this;</span>
00782 <span class="comment"> */</span>
00783 #define apr_get_netos_error()   (APR_FROM_OS_ERROR(errno))
00784 #define apr_set_netos_error(e)  (errno = APR_TO_OS_ERROR(e))
00785 
00786 <span class="comment">/* And this needs to be greped away for good:</span>
00787 <span class="comment"> */</span>
00788 #define APR_OS2_STATUS(e) (APR_FROM_OS_ERROR(e))
00789 
00790 <span class="comment">/* These can't sit in a private header, so in spite of the extra size, </span>
00791 <span class="comment"> * they need to be made available here.</span>
00792 <span class="comment"> */</span>
00793 #define SOCBASEERR              10000
00794 #define SOCEPERM                (SOCBASEERR+1)             <span class="comment">/* Not owner */</span>
00795 #define SOCESRCH                (SOCBASEERR+3)             <span class="comment">/* No such process */</span>
00796 #define SOCEINTR                (SOCBASEERR+4)             <span class="comment">/* Interrupted system call */</span>
00797 #define SOCENXIO                (SOCBASEERR+6)             <span class="comment">/* No such device or address */</span>
00798 #define SOCEBADF                (SOCBASEERR+9)             <span class="comment">/* Bad file number */</span>
00799 #define SOCEACCES               (SOCBASEERR+13)            <span class="comment">/* Permission denied */</span>
00800 #define SOCEFAULT               (SOCBASEERR+14)            <span class="comment">/* Bad address */</span>
00801 #define SOCEINVAL               (SOCBASEERR+22)            <span class="comment">/* Invalid argument */</span>
00802 #define SOCEMFILE               (SOCBASEERR+24)            <span class="comment">/* Too many open files */</span>
00803 #define SOCEPIPE                (SOCBASEERR+32)            <span class="comment">/* Broken pipe */</span>
00804 #define SOCEOS2ERR              (SOCBASEERR+100)           <span class="comment">/* OS/2 Error */</span>
00805 #define SOCEWOULDBLOCK          (SOCBASEERR+35)            <span class="comment">/* Operation would block */</span>
00806 #define SOCEINPROGRESS          (SOCBASEERR+36)            <span class="comment">/* Operation now in progress */</span>
00807 #define SOCEALREADY             (SOCBASEERR+37)            <span class="comment">/* Operation already in progress */</span>
00808 #define SOCENOTSOCK             (SOCBASEERR+38)            <span class="comment">/* Socket operation on non-socket */</span>
00809 #define SOCEDESTADDRREQ         (SOCBASEERR+39)            <span class="comment">/* Destination address required */</span>
00810 #define SOCEMSGSIZE             (SOCBASEERR+40)            <span class="comment">/* Message too long */</span>
00811 #define SOCEPROTOTYPE           (SOCBASEERR+41)            <span class="comment">/* Protocol wrong type for socket */</span>
00812 #define SOCENOPROTOOPT          (SOCBASEERR+42)            <span class="comment">/* Protocol not available */</span>
00813 #define SOCEPROTONOSUPPORT      (SOCBASEERR+43)            <span class="comment">/* Protocol not supported */</span>
00814 #define SOCESOCKTNOSUPPORT      (SOCBASEERR+44)            <span class="comment">/* Socket type not supported */</span>
00815 #define SOCEOPNOTSUPP           (SOCBASEERR+45)            <span class="comment">/* Operation not supported on socket */</span>
00816 #define SOCEPFNOSUPPORT         (SOCBASEERR+46)            <span class="comment">/* Protocol family not supported */</span>
00817 #define SOCEAFNOSUPPORT         (SOCBASEERR+47)            <span class="comment">/* Address family not supported by protocol family */</span>
00818 #define SOCEADDRINUSE           (SOCBASEERR+48)            <span class="comment">/* Address already in use */</span>
00819 #define SOCEADDRNOTAVAIL        (SOCBASEERR+49)            <span class="comment">/* Can't assign requested address */</span>
00820 #define SOCENETDOWN             (SOCBASEERR+50)            <span class="comment">/* Network is down */</span>
00821 #define SOCENETUNREACH          (SOCBASEERR+51)            <span class="comment">/* Network is unreachable */</span>
00822 #define SOCENETRESET            (SOCBASEERR+52)            <span class="comment">/* Network dropped connection on reset */</span>
00823 #define SOCECONNABORTED         (SOCBASEERR+53)            <span class="comment">/* Software caused connection abort */</span>
00824 #define SOCECONNRESET           (SOCBASEERR+54)            <span class="comment">/* Connection reset by peer */</span>
00825 #define SOCENOBUFS              (SOCBASEERR+55)            <span class="comment">/* No buffer space available */</span>
00826 #define SOCEISCONN              (SOCBASEERR+56)            <span class="comment">/* Socket is already connected */</span>
00827 #define SOCENOTCONN             (SOCBASEERR+57)            <span class="comment">/* Socket is not connected */</span>
00828 #define SOCESHUTDOWN            (SOCBASEERR+58)            <span class="comment">/* Can't send after socket shutdown */</span>
00829 #define SOCETOOMANYREFS         (SOCBASEERR+59)            <span class="comment">/* Too many references: can't splice */</span>
00830 #define SOCETIMEDOUT            (SOCBASEERR+60)            <span class="comment">/* Connection timed out */</span>
00831 #define SOCECONNREFUSED         (SOCBASEERR+61)            <span class="comment">/* Connection refused */</span>
00832 #define SOCELOOP                (SOCBASEERR+62)            <span class="comment">/* Too many levels of symbolic links */</span>
00833 #define SOCENAMETOOLONG         (SOCBASEERR+63)            <span class="comment">/* File name too long */</span>
00834 #define SOCEHOSTDOWN            (SOCBASEERR+64)            <span class="comment">/* Host is down */</span>
00835 #define SOCEHOSTUNREACH         (SOCBASEERR+65)            <span class="comment">/* No route to host */</span>
00836 #define SOCENOTEMPTY            (SOCBASEERR+66)            <span class="comment">/* Directory not empty */</span>
00837 
00838 <span class="comment">/* APR CANONICAL ERROR TESTS */</span>
00839 #define APR_STATUS_IS_EACCES(s)         ((s) == APR_EACCES \
00840                 || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED \
00841                 || (s) == APR_OS_START_SYSERR + ERROR_SHARING_VIOLATION)
00842 #define APR_STATUS_IS_EEXIST(s)         ((s) == APR_EEXIST \
00843                 || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED \
00844                 || (s) == APR_OS_START_SYSERR + ERROR_FILE_EXISTS \
00845                 || (s) == APR_OS_START_SYSERR + ERROR_ALREADY_EXISTS \
00846                 || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED)
00847 #define APR_STATUS_IS_ENAMETOOLONG(s)   ((s) == APR_ENAMETOOLONG \
00848                 || (s) == APR_OS_START_SYSERR + ERROR_FILENAME_EXCED_RANGE \
00849                 || (s) == APR_OS_START_SYSERR + SOCENAMETOOLONG)
00850 #define APR_STATUS_IS_ENOENT(s)         ((s) == APR_ENOENT \
00851                 || (s) == APR_OS_START_SYSERR + ERROR_FILE_NOT_FOUND \
00852                 || (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
00853                 || (s) == APR_OS_START_SYSERR + ERROR_NO_MORE_FILES \
00854                 || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED)
00855 #define APR_STATUS_IS_ENOTDIR(s)        ((s) == APR_ENOTDIR)
00856 #define APR_STATUS_IS_ENOSPC(s)         ((s) == APR_ENOSPC \
00857                 || (s) == APR_OS_START_SYSERR + ERROR_DISK_FULL)
00858 #define APR_STATUS_IS_ENOMEM(s)         ((s) == APR_ENOMEM)
00859 #define APR_STATUS_IS_EMFILE(s)         ((s) == APR_EMFILE \
00860                 || (s) == APR_OS_START_SYSERR + ERROR_TOO_MANY_OPEN_FILES)
00861 #define APR_STATUS_IS_ENFILE(s)         ((s) == APR_ENFILE)
00862 #define APR_STATUS_IS_EBADF(s)          ((s) == APR_EBADF \
00863                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE)
00864 #define APR_STATUS_IS_EINVAL(s)         ((s) == APR_EINVAL \
00865                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_PARAMETER \
00866                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_FUNCTION)
00867 #define APR_STATUS_IS_ESPIPE(s)         ((s) == APR_ESPIPE \
00868                 || (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
00869 #define APR_STATUS_IS_EAGAIN(s)         ((s) == APR_EAGAIN \
00870                 || (s) == APR_OS_START_SYSERR + ERROR_NO_DATA \
00871                 || (s) == APR_OS_START_SYSERR + SOCEWOULDBLOCK \
00872                 || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION)
00873 #define APR_STATUS_IS_EINTR(s)          ((s) == APR_EINTR \
00874                 || (s) == APR_OS_START_SYSERR + SOCEINTR)
00875 #define APR_STATUS_IS_ENOTSOCK(s)       ((s) == APR_ENOTSOCK \
00876                 || (s) == APR_OS_START_SYSERR + SOCENOTSOCK)
00877 #define APR_STATUS_IS_ECONNREFUSED(s)   ((s) == APR_ECONNREFUSED \
00878                 || (s) == APR_OS_START_SYSERR + SOCECONNREFUSED)
00879 #define APR_STATUS_IS_EINPROGRESS(s)    ((s) == APR_EINPROGRESS \
00880                 || (s) == APR_OS_START_SYSERR + SOCEINPROGRESS)
00881 #define APR_STATUS_IS_ECONNABORTED(s)   ((s) == APR_ECONNABORTED \
00882                 || (s) == APR_OS_START_SYSERR + SOCECONNABORTED)
00883 #define APR_STATUS_IS_ECONNRESET(s)     ((s) == APR_ECONNRESET \
00884                 || (s) == APR_OS_START_SYSERR + SOCECONNRESET)
00885 <span class="comment">// XXX deprecated</span>
00886 #define APR_STATUS_IS_ETIMEDOUT(s)         ((s) == APR_ETIMEDOUT \
00887                 || (s) == APR_OS_START_SYSERR + SOCETIMEDOUT)    
00888 #undef APR_STATUS_IS_TIMEUP
00889 #define APR_STATUS_IS_TIMEUP(s)         ((s) == APR_TIMEUP \
00890                 || (s) == APR_OS_START_SYSERR + SOCETIMEDOUT)    
00891 #define APR_STATUS_IS_EHOSTUNREACH(s)   ((s) == APR_EHOSTUNREACH \
00892                 || (s) == APR_OS_START_SYSERR + SOCEHOSTUNREACH)
00893 #define APR_STATUS_IS_ENETUNREACH(s)    ((s) == APR_ENETUNREACH \
00894                 || (s) == APR_OS_START_SYSERR + SOCENETUNREACH)
00895 #define APR_STATUS_IS_EFTYPE(s)         ((s) == APR_EFTYPE)
00896 #define APR_STATUS_IS_EPIPE(s)          ((s) == APR_EPIPE \
00897                 || (s) == APR_OS_START_SYSERR + ERROR_BROKEN_PIPE \
00898                 || (s) == APR_OS_START_SYSERR + SOCEPIPE)
00899 #define APR_STATUS_IS_EXDEV(s)          ((s) == APR_EXDEV \
00900                 || (s) == APR_OS_START_SYSERR + ERROR_NOT_SAME_DEVICE)
00901 #define APR_STATUS_IS_ENOTEMPTY(s)      ((s) == APR_ENOTEMPTY \
00902                 || (s) == APR_OS_START_SYSERR + ERROR_DIR_NOT_EMPTY \
00903                 || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED)
00904 
00905 <span class="comment">/*</span>
00906 <span class="comment">    Sorry, too tired to wrap this up for OS2... feel free to</span>
00907 <span class="comment">    fit the following into their best matches.</span>
00908 <span class="comment"></span>
00909 <span class="comment">    { ERROR_NO_SIGNAL_SENT,     ESRCH           },</span>
00910 <span class="comment">    { SOCEALREADY,              EALREADY        },</span>
00911 <span class="comment">    { SOCEDESTADDRREQ,          EDESTADDRREQ    },</span>
00912 <span class="comment">    { SOCEMSGSIZE,              EMSGSIZE        },</span>
00913 <span class="comment">    { SOCEPROTOTYPE,            EPROTOTYPE      },</span>
00914 <span class="comment">    { SOCENOPROTOOPT,           ENOPROTOOPT     },</span>
00915 <span class="comment">    { SOCEPROTONOSUPPORT,       EPROTONOSUPPORT },</span>
00916 <span class="comment">    { SOCESOCKTNOSUPPORT,       ESOCKTNOSUPPORT },</span>
00917 <span class="comment">    { SOCEOPNOTSUPP,            EOPNOTSUPP      },</span>
00918 <span class="comment">    { SOCEPFNOSUPPORT,          EPFNOSUPPORT    },</span>
00919 <span class="comment">    { SOCEAFNOSUPPORT,          EAFNOSUPPORT    },</span>
00920 <span class="comment">    { SOCEADDRINUSE,            EADDRINUSE      },</span>
00921 <span class="comment">    { SOCEADDRNOTAVAIL,         EADDRNOTAVAIL   },</span>
00922 <span class="comment">    { SOCENETDOWN,              ENETDOWN        },</span>
00923 <span class="comment">    { SOCENETRESET,             ENETRESET       },</span>
00924 <span class="comment">    { SOCENOBUFS,               ENOBUFS         },</span>
00925 <span class="comment">    { SOCEISCONN,               EISCONN         },</span>
00926 <span class="comment">    { SOCENOTCONN,              ENOTCONN        },</span>
00927 <span class="comment">    { SOCESHUTDOWN,             ESHUTDOWN       },</span>
00928 <span class="comment">    { SOCETOOMANYREFS,          ETOOMANYREFS    },</span>
00929 <span class="comment">    { SOCELOOP,                 ELOOP           },</span>
00930 <span class="comment">    { SOCEHOSTDOWN,             EHOSTDOWN       },</span>
00931 <span class="comment">    { SOCENOTEMPTY,             ENOTEMPTY       },</span>
00932 <span class="comment">    { SOCEPIPE,                 EPIPE           }</span>
00933 <span class="comment">*/</span>
00934 
00935 #elif defined(WIN32) &amp;&amp; !defined(DOXYGEN) <span class="comment">/* !defined(OS2) */</span>
00936 
00937 #define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
00938 #define APR_TO_OS_ERROR(e)   (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
00939 
00940 #define apr_get_os_error()   (APR_FROM_OS_ERROR(GetLastError()))
00941 #define apr_set_os_error(e)  (SetLastError(APR_TO_OS_ERROR(e)))
00942 
00943 <span class="comment">/* A special case, only socket calls require this:</span>
00944 <span class="comment"> */</span>
00945 #define apr_get_netos_error()   (APR_FROM_OS_ERROR(WSAGetLastError()))
00946 #define apr_set_netos_error(e)   (WSASetLastError(APR_TO_OS_ERROR(e)))
00947 
00948 <span class="comment">/* APR CANONICAL ERROR TESTS */</span>
00949 #define APR_STATUS_IS_EACCES(s)         ((s) == APR_EACCES \
00950                 || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED \
00951                 || (s) == APR_OS_START_SYSERR + ERROR_CANNOT_MAKE \
00952                 || (s) == APR_OS_START_SYSERR + ERROR_CURRENT_DIRECTORY \
00953                 || (s) == APR_OS_START_SYSERR + ERROR_DRIVE_LOCKED \
00954                 || (s) == APR_OS_START_SYSERR + ERROR_FAIL_I24 \
00955                 || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION \
00956                 || (s) == APR_OS_START_SYSERR + ERROR_LOCK_FAILED \
00957                 || (s) == APR_OS_START_SYSERR + ERROR_NOT_LOCKED \
00958                 || (s) == APR_OS_START_SYSERR + ERROR_NETWORK_ACCESS_DENIED \
00959                 || (s) == APR_OS_START_SYSERR + ERROR_SHARING_VIOLATION)
00960 #define APR_STATUS_IS_EEXIST(s)         ((s) == APR_EEXIST \
00961                 || (s) == APR_OS_START_SYSERR + ERROR_FILE_EXISTS \
00962                 || (s) == APR_OS_START_SYSERR + ERROR_ALREADY_EXISTS)
00963 #define APR_STATUS_IS_ENAMETOOLONG(s)   ((s) == APR_ENAMETOOLONG \
00964                 || (s) == APR_OS_START_SYSERR + ERROR_FILENAME_EXCED_RANGE \
00965                 || (s) == APR_OS_START_SYSERR + WSAENAMETOOLONG)
00966 #define APR_STATUS_IS_ENOENT(s)         ((s) == APR_ENOENT \
00967                 || (s) == APR_OS_START_SYSERR + ERROR_FILE_NOT_FOUND \
00968                 || (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
00969                 || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED \
00970                 || (s) == APR_OS_START_SYSERR + ERROR_NO_MORE_FILES)
00971 #define APR_STATUS_IS_ENOTDIR(s)        ((s) == APR_ENOTDIR \
00972                 || (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
00973                 || (s) == APR_OS_START_SYSERR + ERROR_BAD_NETPATH \
00974                 || (s) == APR_OS_START_SYSERR + ERROR_BAD_NET_NAME \
00975                 || (s) == APR_OS_START_SYSERR + ERROR_BAD_PATHNAME \
00976                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_DRIVE)
00977 #define APR_STATUS_IS_ENOSPC(s)         ((s) == APR_ENOSPC \
00978                 || (s) == APR_OS_START_SYSERR + ERROR_DISK_FULL)
00979 #define APR_STATUS_IS_ENOMEM(s)         ((s) == APR_ENOMEM \
00980                 || (s) == APR_OS_START_SYSERR + ERROR_ARENA_TRASHED \
00981                 || (s) == APR_OS_START_SYSERR + ERROR_NOT_ENOUGH_MEMORY \
00982                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_BLOCK \
00983                 || (s) == APR_OS_START_SYSERR + ERROR_NOT_ENOUGH_QUOTA \
00984                 || (s) == APR_OS_START_SYSERR + ERROR_OUTOFMEMORY)
00985 #define APR_STATUS_IS_EMFILE(s)         ((s) == APR_EMFILE \
00986                 || (s) == APR_OS_START_SYSERR + ERROR_TOO_MANY_OPEN_FILES)
00987 #define APR_STATUS_IS_ENFILE(s)         ((s) == APR_ENFILE)
00988 #define APR_STATUS_IS_EBADF(s)          ((s) == APR_EBADF \
00989                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE \
00990                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_TARGET_HANDLE)
00991 #define APR_STATUS_IS_EINVAL(s)         ((s) == APR_EINVAL \
00992                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_ACCESS \
00993                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_DATA \
00994                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_FUNCTION \
00995                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE \
00996                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_PARAMETER \
00997                 || (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
00998 #define APR_STATUS_IS_ESPIPE(s)         ((s) == APR_ESPIPE \
00999                 || (s) == APR_OS_START_SYSERR + ERROR_SEEK_ON_DEVICE \
01000                 || (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
01001 #define APR_STATUS_IS_EAGAIN(s)         ((s) == APR_EAGAIN \
01002                 || (s) == APR_OS_START_SYSERR + ERROR_NO_DATA \
01003                 || (s) == APR_OS_START_SYSERR + ERROR_NO_PROC_SLOTS \
01004                 || (s) == APR_OS_START_SYSERR + ERROR_NESTING_NOT_ALLOWED \
01005                 || (s) == APR_OS_START_SYSERR + ERROR_MAX_THRDS_REACHED \
01006                 || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION \
01007                 || (s) == APR_OS_START_SYSERR + WSAEWOULDBLOCK)
01008 #define APR_STATUS_IS_EINTR(s)          ((s) == APR_EINTR \
01009                 || (s) == APR_OS_START_SYSERR + WSAEINTR)
01010 #define APR_STATUS_IS_ENOTSOCK(s)       ((s) == APR_ENOTSOCK \
01011                 || (s) == APR_OS_START_SYSERR + WSAENOTSOCK)
01012 #define APR_STATUS_IS_ECONNREFUSED(s)   ((s) == APR_ECONNREFUSED \
01013                 || (s) == APR_OS_START_SYSERR + WSAECONNREFUSED)
01014 #define APR_STATUS_IS_EINPROGRESS(s)    ((s) == APR_EINPROGRESS \
01015                 || (s) == APR_OS_START_SYSERR + WSAEINPROGRESS)
01016 #define APR_STATUS_IS_ECONNABORTED(s)   ((s) == APR_ECONNABORTED \
01017                 || (s) == APR_OS_START_SYSERR + WSAECONNABORTED)
01018 #define APR_STATUS_IS_ECONNRESET(s)     ((s) == APR_ECONNRESET \
01019                 || (s) == APR_OS_START_SYSERR + ERROR_NETNAME_DELETED \
01020                 || (s) == APR_OS_START_SYSERR + WSAECONNRESET)
01021 <span class="comment">// XXX deprecated</span>
01022 #define APR_STATUS_IS_ETIMEDOUT(s)         ((s) == APR_ETIMEDOUT \
01023                 || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
01024                 || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
01025 #undef APR_STATUS_IS_TIMEUP
01026 #define APR_STATUS_IS_TIMEUP(s)         ((s) == APR_TIMEUP \
01027                 || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
01028                 || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
01029 #define APR_STATUS_IS_EHOSTUNREACH(s)   ((s) == APR_EHOSTUNREACH \
01030                 || (s) == APR_OS_START_SYSERR + WSAEHOSTUNREACH)
01031 #define APR_STATUS_IS_ENETUNREACH(s)    ((s) == APR_ENETUNREACH \
01032                 || (s) == APR_OS_START_SYSERR + WSAENETUNREACH)
01033 #define APR_STATUS_IS_EFTYPE(s)         ((s) == APR_EFTYPE \
01034                 || (s) == APR_OS_START_SYSERR + ERROR_EXE_MACHINE_TYPE_MISMATCH \
01035                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_DLL \
01036                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_MODULETYPE \
01037                 || (s) == APR_OS_START_SYSERR + ERROR_BAD_EXE_FORMAT \
01038                 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_EXE_SIGNATURE \
01039                 || (s) == APR_OS_START_SYSERR + ERROR_FILE_CORRUPT \
01040                 || (s) == APR_OS_START_SYSERR + ERROR_BAD_FORMAT)
01041 #define APR_STATUS_IS_EPIPE(s)          ((s) == APR_EPIPE \
01042                 || (s) == APR_OS_START_SYSERR + ERROR_BROKEN_PIPE)
01043 #define APR_STATUS_IS_EXDEV(s)          ((s) == APR_EXDEV \
01044                 || (s) == APR_OS_START_SYSERR + ERROR_NOT_SAME_DEVICE)
01045 #define APR_STATUS_IS_ENOTEMPTY(s)      ((s) == APR_ENOTEMPTY \
01046                 || (s) == APR_OS_START_SYSERR + ERROR_DIR_NOT_EMPTY)
01047 
01048 #elif defined(NETWARE) &amp;&amp; !defined(DOXYGEN) <span class="comment">/* !defined(OS2) &amp;&amp; !defined(WIN32) */</span>
01049 
01050 #define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
01051 #define APR_TO_OS_ERROR(e)   (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
01052 
01053 #define apr_get_os_error()    (errno)
01054 #define apr_set_os_error(e)   (errno = (e))
01055 
01056 <span class="comment">/* A special case, only socket calls require this: */</span>
01057 #define apr_get_netos_error()   (APR_FROM_OS_ERROR(WSAGetLastError()))
01058 #define apr_set_netos_error(e)  (WSASetLastError(APR_TO_OS_ERROR(e)))
01059 
01060 <span class="comment">/* APR CANONICAL ERROR TESTS */</span>
01061 #define APR_STATUS_IS_EACCES(s)         ((s) == APR_EACCES)
01062 #define APR_STATUS_IS_EEXIST(s)         ((s) == APR_EEXIST)
01063 #define APR_STATUS_IS_ENAMETOOLONG(s)   ((s) == APR_ENAMETOOLONG)
01064 #define APR_STATUS_IS_ENOENT(s)         ((s) == APR_ENOENT)
01065 #define APR_STATUS_IS_ENOTDIR(s)        ((s) == APR_ENOTDIR)
01066 #define APR_STATUS_IS_ENOSPC(s)         ((s) == APR_ENOSPC)
01067 #define APR_STATUS_IS_ENOMEM(s)         ((s) == APR_ENOMEM)
01068 #define APR_STATUS_IS_EMFILE(s)         ((s) == APR_EMFILE)
01069 #define APR_STATUS_IS_ENFILE(s)         ((s) == APR_ENFILE)
01070 #define APR_STATUS_IS_EBADF(s)          ((s) == APR_EBADF)
01071 #define APR_STATUS_IS_EINVAL(s)         ((s) == APR_EINVAL)
01072 #define APR_STATUS_IS_ESPIPE(s)         ((s) == APR_ESPIPE)
01073 
01074 #define APR_STATUS_IS_EAGAIN(s)         ((s) == APR_EAGAIN \
01075                 || (s) ==                       EWOULDBLOCK \
01076                 || (s) == APR_OS_START_SYSERR + WSAEWOULDBLOCK)
01077 #define APR_STATUS_IS_EINTR(s)          ((s) == APR_EINTR \
01078                 || (s) == APR_OS_START_SYSERR + WSAEINTR)
01079 #define APR_STATUS_IS_ENOTSOCK(s)       ((s) == APR_ENOTSOCK \
01080                 || (s) == APR_OS_START_SYSERR + WSAENOTSOCK)
01081 #define APR_STATUS_IS_ECONNREFUSED(s)   ((s) == APR_ECONNREFUSED \
01082                 || (s) == APR_OS_START_SYSERR + WSAECONNREFUSED)
01083 #define APR_STATUS_IS_EINPROGRESS(s)    ((s) == APR_EINPROGRESS \
01084                 || (s) == APR_OS_START_SYSERR + WSAEINPROGRESS)
01085 #define APR_STATUS_IS_ECONNABORTED(s)   ((s) == APR_ECONNABORTED \
01086                 || (s) == APR_OS_START_SYSERR + WSAECONNABORTED)
01087 #define APR_STATUS_IS_ECONNRESET(s)     ((s) == APR_ECONNRESET \
01088                 || (s) == APR_OS_START_SYSERR + WSAECONNRESET)
01089 <span class="comment">// XXX deprecated</span>
01090 #define APR_STATUS_IS_ETIMEDOUT(s)       ((s) == APR_ETIMEDOUT \
01091                 || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
01092                 || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
01093 #undef APR_STATUS_IS_TIMEUP
01094 #define APR_STATUS_IS_TIMEUP(s)         ((s) == APR_TIMEUP \
01095                 || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
01096                 || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
01097 #define APR_STATUS_IS_EHOSTUNREACH(s)   ((s) == APR_EHOSTUNREACH \
01098                 || (s) == APR_OS_START_SYSERR + WSAEHOSTUNREACH)
01099 #define APR_STATUS_IS_ENETUNREACH(s)    ((s) == APR_ENETUNREACH \
01100                 || (s) == APR_OS_START_SYSERR + WSAENETUNREACH)
01101 #define APR_STATUS_IS_ENETDOWN(s)       ((s) == APR_OS_START_SYSERR + WSAENETDOWN)
01102 #define APR_STATUS_IS_EFTYPE(s)         ((s) == APR_EFTYPE)
01103 #define APR_STATUS_IS_EPIPE(s)          ((s) == APR_EPIPE)
01104 #define APR_STATUS_IS_EXDEV(s)          ((s) == APR_EXDEV)
01105 #define APR_STATUS_IS_ENOTEMPTY(s)      ((s) == APR_ENOTEMPTY)
01106 
01107 #else <span class="comment">/* !defined(NETWARE) &amp;&amp; !defined(OS2) &amp;&amp; !defined(WIN32) */</span>
01108 
01109 <span class="comment">/*</span>
01110 <span class="comment"> *  os error codes are clib error codes</span>
01111 <span class="comment"> */</span>
<a name="l01112"></a><a class="code" href="group__apr__errno.html#ga3">01112</a> #define APR_FROM_OS_ERROR(e)  (e)
<a name="l01113"></a><a class="code" href="group__apr__errno.html#ga5">01113</a> #define APR_TO_OS_ERROR(e)    (e)
01114 
<a name="l01115"></a><a class="code" href="group__apr__errno.html#ga6">01115</a> #define apr_get_os_error()    (errno)
<a name="l01116"></a><a class="code" href="group__apr__errno.html#ga7">01116</a> #define apr_set_os_error(e)   (errno = (e))
01117 
01118 <span class="comment">/* A special case, only socket calls require this:</span>
01119 <span class="comment"> */</span>
<a name="l01120"></a><a class="code" href="group__apr__errno.html#ga8">01120</a> #define apr_get_netos_error() (errno)
<a name="l01121"></a><a class="code" href="group__apr__errno.html#ga9">01121</a> #define apr_set_netos_error(e) (errno = (e))
01122 <span class="comment"></span>
01123 <span class="comment">/** </span>
01124 <span class="comment"> * @addtogroup APR_STATUS_IS</span>
01125 <span class="comment"> * @{</span>
01126 <span class="comment"> */</span>
01127 <span class="comment"></span>
01128 <span class="comment">/** permission denied */</span>
<a name="l01129"></a><a class="code" href="group__APR__STATUS__IS.html#ga45">01129</a> #define APR_STATUS_IS_EACCES(s)         ((s) == APR_EACCES)<span class="comment"></span>
01130 <span class="comment">/** file exists */</span>
<a name="l01131"></a><a class="code" href="group__APR__STATUS__IS.html#ga46">01131</a> #define APR_STATUS_IS_EEXIST(s)         ((s) == APR_EEXIST)<span class="comment"></span>
01132 <span class="comment">/** path name is too long */</span>
<a name="l01133"></a><a class="code" href="group__APR__STATUS__IS.html#ga47">01133</a> #define APR_STATUS_IS_ENAMETOOLONG(s)   ((s) == APR_ENAMETOOLONG)<span class="comment"></span>
01134 <span class="comment">/** no such file or directory */</span>
<a name="l01135"></a><a class="code" href="group__APR__STATUS__IS.html#ga48">01135</a> #define APR_STATUS_IS_ENOENT(s)         ((s) == APR_ENOENT)<span class="comment"></span>
01136 <span class="comment">/** not a directory */</span>
<a name="l01137"></a><a class="code" href="group__APR__STATUS__IS.html#ga49">01137</a> #define APR_STATUS_IS_ENOTDIR(s)        ((s) == APR_ENOTDIR)<span class="comment"></span>
01138 <span class="comment">/** no space left on device */</span>
01139 #ifdef EDQUOT
01140 #define APR_STATUS_IS_ENOSPC(s)         ((s) == APR_ENOSPC \
01141                                       || (s) == EDQUOT)
01142 #else
<a name="l01143"></a><a class="code" href="group__APR__STATUS__IS.html#ga50">01143</a> #define APR_STATUS_IS_ENOSPC(s)         ((s) == APR_ENOSPC)
01144 #endif<span class="comment"></span>
01145 <span class="comment">/** not enough memory */</span>
<a name="l01146"></a><a class="code" href="group__APR__STATUS__IS.html#ga51">01146</a> #define APR_STATUS_IS_ENOMEM(s)         ((s) == APR_ENOMEM)<span class="comment"></span>
01147 <span class="comment">/** too many open files */</span>
<a name="l01148"></a><a class="code" href="group__APR__STATUS__IS.html#ga52">01148</a> #define APR_STATUS_IS_EMFILE(s)         ((s) == APR_EMFILE)<span class="comment"></span>
01149 <span class="comment">/** file table overflow */</span>
<a name="l01150"></a><a class="code" href="group__APR__STATUS__IS.html#ga53">01150</a> #define APR_STATUS_IS_ENFILE(s)         ((s) == APR_ENFILE)<span class="comment"></span>
01151 <span class="comment">/** bad file # */</span>
<a name="l01152"></a><a class="code" href="group__APR__STATUS__IS.html#ga54">01152</a> #define APR_STATUS_IS_EBADF(s)          ((s) == APR_EBADF)<span class="comment"></span>
01153 <span class="comment">/** invalid argument */</span>
<a name="l01154"></a><a class="code" href="group__APR__STATUS__IS.html#ga55">01154</a> #define APR_STATUS_IS_EINVAL(s)         ((s) == APR_EINVAL)<span class="comment"></span>
01155 <span class="comment">/** illegal seek */</span>
<a name="l01156"></a><a class="code" href="group__APR__STATUS__IS.html#ga56">01156</a> #define APR_STATUS_IS_ESPIPE(s)         ((s) == APR_ESPIPE)
01157 <span class="comment"></span>
01158 <span class="comment">/** operation would block */</span>
01159 #if !defined(EWOULDBLOCK) || !defined(EAGAIN)
<a name="l01160"></a><a class="code" href="group__APR__STATUS__IS.html#ga57">01160</a> #define APR_STATUS_IS_EAGAIN(s)         ((s) == APR_EAGAIN)
01161 #elif (EWOULDBLOCK == EAGAIN)
01162 #define APR_STATUS_IS_EAGAIN(s)         ((s) == APR_EAGAIN)
01163 #else
01164 #define APR_STATUS_IS_EAGAIN(s)         ((s) == APR_EAGAIN \
01165                                       || (s) == EWOULDBLOCK)
01166 #endif
01167 <span class="comment"></span>
01168 <span class="comment">/** interrupted system call */</span>
<a name="l01169"></a><a class="code" href="group__APR__STATUS__IS.html#ga58">01169</a> #define APR_STATUS_IS_EINTR(s)          ((s) == APR_EINTR)<span class="comment"></span>
01170 <span class="comment">/** socket operation on a non-socket */</span>
<a name="l01171"></a><a class="code" href="group__APR__STATUS__IS.html#ga59">01171</a> #define APR_STATUS_IS_ENOTSOCK(s)       ((s) == APR_ENOTSOCK)<span class="comment"></span>
01172 <span class="comment">/** Connection Refused */</span>
<a name="l01173"></a><a class="code" href="group__APR__STATUS__IS.html#ga60">01173</a> #define APR_STATUS_IS_ECONNREFUSED(s)   ((s) == APR_ECONNREFUSED)<span class="comment"></span>
01174 <span class="comment">/** operation now in progress */</span>
<a name="l01175"></a><a class="code" href="group__APR__STATUS__IS.html#ga61">01175</a> #define APR_STATUS_IS_EINPROGRESS(s)    ((s) == APR_EINPROGRESS)
01176 <span class="comment"></span>
01177 <span class="comment">/** </span>
01178 <span class="comment"> * Software caused connection abort </span>
01179 <span class="comment"> * @remark</span>
01180 <span class="comment"> * EPROTO on certain older kernels really means ECONNABORTED, so we need to </span>
01181 <span class="comment"> * ignore it for them.  See discussion in new-httpd archives nh.9701 &amp; nh.9603</span>
01182 <span class="comment"> *</span>
01183 <span class="comment"> * There is potentially a bug in Solaris 2.x x&lt;6, and other boxes that </span>
01184 <span class="comment"> * implement tcp sockets in userland (i.e. on top of STREAMS).  On these</span>
01185 <span class="comment"> * systems, EPROTO can actually result in a fatal loop.  See PR#981 for </span>
01186 <span class="comment"> * example.  It's hard to handle both uses of EPROTO.</span>
01187 <span class="comment"> */</span>
01188 #ifdef EPROTO
01189 #define APR_STATUS_IS_ECONNABORTED(s)    ((s) == APR_ECONNABORTED \
01190                                        || (s) == EPROTO)
01191 #else
<a name="l01192"></a><a class="code" href="group__APR__STATUS__IS.html#ga62">01192</a> #define APR_STATUS_IS_ECONNABORTED(s)    ((s) == APR_ECONNABORTED)
01193 #endif
01194 <span class="comment"></span>
01195 <span class="comment">/** Connection Reset by peer */</span>
<a name="l01196"></a><a class="code" href="group__APR__STATUS__IS.html#ga63">01196</a> #define APR_STATUS_IS_ECONNRESET(s)      ((s) == APR_ECONNRESET)<span class="comment"></span>
01197 <span class="comment">/** Operation timed out</span>
01198 <span class="comment"> *  @deprecated */</span>
<a name="l01199"></a><a class="code" href="group__APR__STATUS__IS.html#ga64">01199</a> #define APR_STATUS_IS_ETIMEDOUT(s)      ((s) == APR_ETIMEDOUT)<span class="comment"></span>
01200 <span class="comment">/** no route to host */</span>
<a name="l01201"></a><a class="code" href="group__APR__STATUS__IS.html#ga65">01201</a> #define APR_STATUS_IS_EHOSTUNREACH(s)    ((s) == APR_EHOSTUNREACH)<span class="comment"></span>
01202 <span class="comment">/** network is unreachable */</span>
<a name="l01203"></a><a class="code" href="group__APR__STATUS__IS.html#ga66">01203</a> #define APR_STATUS_IS_ENETUNREACH(s)     ((s) == APR_ENETUNREACH)<span class="comment"></span>
01204 <span class="comment">/** inappropiate file type or format */</span>
<a name="l01205"></a><a class="code" href="group__APR__STATUS__IS.html#ga67">01205</a> #define APR_STATUS_IS_EFTYPE(s)          ((s) == APR_EFTYPE)<span class="comment"></span>
01206 <span class="comment">/** broken pipe */</span>
<a name="l01207"></a><a class="code" href="group__APR__STATUS__IS.html#ga68">01207</a> #define APR_STATUS_IS_EPIPE(s)           ((s) == APR_EPIPE)<span class="comment"></span>
01208 <span class="comment">/** cross device link */</span>
<a name="l01209"></a><a class="code" href="group__APR__STATUS__IS.html#ga69">01209</a> #define APR_STATUS_IS_EXDEV(s)           ((s) == APR_EXDEV)<span class="comment"></span>
01210 <span class="comment">/** Directory Not Empty */</span>
<a name="l01211"></a><a class="code" href="group__APR__STATUS__IS.html#ga70">01211</a> #define APR_STATUS_IS_ENOTEMPTY(s)       ((s) == APR_ENOTEMPTY || \
01212                                           (s) == APR_EEXIST)<span class="comment"></span>
01213 <span class="comment">/** @} */</span>
01214 
01215 #endif <span class="comment">/* !defined(NETWARE) &amp;&amp; !defined(OS2) &amp;&amp; !defined(WIN32) */</span>
01216 <span class="comment"></span>
01217 <span class="comment">/** @} */</span>
01218 
01219 #ifdef __cplusplus
01220 }
01221 #endif
01222 
01223 #endif  <span class="comment">/* ! APR_ERRNO_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>