Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > bdbf07027827e6ad7d9208f8a9eaea97 > files > 116

apr-docs-1.2.7-11.el5_6.5.x86_64.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: Error Codes</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
  </ul></div>
<h1>Error Codes<br>
<small>
[<a class="el" href="group___a_p_r.html">Apache Portability Runtime library</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___error.html">APR Error Values</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___s_t_a_t_u_s___i_s.html">Status Value Tests</a></td></tr>

<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#gf4c171b77aad16eb0bb6c4e295f24c5a">APR_FROM_OS_ERROR</a>(e)&nbsp;&nbsp;&nbsp;(e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#gf4c171b77aad16eb0bb6c4e295f24c5a">APR_FROM_OS_ERROR</a>(e)&nbsp;&nbsp;&nbsp;(e)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g92835abc27e5f4632acff01cfa853bdd">APR_TO_OS_ERROR</a>(e)&nbsp;&nbsp;&nbsp;(e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g92835abc27e5f4632acff01cfa853bdd">APR_TO_OS_ERROR</a>(e)&nbsp;&nbsp;&nbsp;(e)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#gd852aefcd93a832efbe20f187382978f">apr_get_os_error</a>()&nbsp;&nbsp;&nbsp;(errno)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#gf6ec549949cc370fd31991b817cb4141">apr_set_os_error</a>(e)&nbsp;&nbsp;&nbsp;(errno = (e))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g1d205deea1d352a31c6d426c5b4eba15">apr_get_netos_error</a>()&nbsp;&nbsp;&nbsp;(errno)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#gd6b5e3da6d2e83fc8300b8aa9de44f82">apr_set_netos_error</a>(e)&nbsp;&nbsp;&nbsp;(errno = (e))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#gae5b6d638d5e01965b1a344443f2333c">APR_OS_START_ERROR</a>&nbsp;&nbsp;&nbsp;20000</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g130270a4d860dbe21968d00c41f24be0">APR_OS_ERRSPACE_SIZE</a>&nbsp;&nbsp;&nbsp;50000</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g589b46df534e333d1ee3b766a3cb2f5e">APR_OS_START_STATUS</a>&nbsp;&nbsp;&nbsp;(APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g0928e38013d276f247cfefa14539b0a9">APR_OS_START_USERERR</a>&nbsp;&nbsp;&nbsp;(APR_OS_START_STATUS + APR_OS_ERRSPACE_SIZE)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g6b7f7dd380e15f6376496e109ae7f95b">APR_OS_START_USEERR</a>&nbsp;&nbsp;&nbsp;APR_OS_START_USERERR</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g583c345be1f623b6bb3d256a01edd401">APR_OS_START_CANONERR</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#gdae9436ac2cfec3d62ea5e787ad72810">APR_OS_START_EAIERR</a>&nbsp;&nbsp;&nbsp;(APR_OS_START_CANONERR + APR_OS_ERRSPACE_SIZE)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g114f33753445643a59767df6206df5dd">APR_OS_START_SYSERR</a>&nbsp;&nbsp;&nbsp;(APR_OS_START_EAIERR + APR_OS_ERRSPACE_SIZE)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#gcee25b6613915469848f4f22e80748ff">APR_SUCCESS</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a></td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__errno.html#g888320dcc175b33741fbca6dd02eb708">apr_strerror</a> (<a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> statcode, char *buf, apr_size_t bufsize)</td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="gf4c171b77aad16eb0bb6c4e295f24c5a"></a><!-- doxytag: member="apr_errno.h::APR_FROM_OS_ERROR" ref="gf4c171b77aad16eb0bb6c4e295f24c5a" args="(e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FROM_OS_ERROR          </td>
          <td>(</td>
          <td class="paramtype">e&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(e)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fold a platform specific error into an apr_status_t code. <dl compact><dt><b>Returns:</b></dt><dd>apr_status_t </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The platform os error code. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>macro implementation; the syserr argument may be evaluated multiple times. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf4c171b77aad16eb0bb6c4e295f24c5a"></a><!-- doxytag: member="apr_errno.h::APR_FROM_OS_ERROR" ref="gf4c171b77aad16eb0bb6c4e295f24c5a" args="(e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FROM_OS_ERROR          </td>
          <td>(</td>
          <td class="paramtype">e&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fold a platform specific error into an apr_status_t code. <dl compact><dt><b>Returns:</b></dt><dd>apr_status_t </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The platform os error code. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>macro implementation; the syserr argument may be evaluated multiple times. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1d205deea1d352a31c6d426c5b4eba15"></a><!-- doxytag: member="apr_errno.h::apr_get_netos_error" ref="g1d205deea1d352a31c6d426c5b4eba15" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define apr_get_netos_error          </td>
          <td>(</td>
&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(errno)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the last socket error, folded into apr_status_t, on all platforms <dl compact><dt><b>Remarks:</b></dt><dd>This retrieves errno or calls a GetLastSocketError() style function, and folds it with APR_FROM_OS_ERROR. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd852aefcd93a832efbe20f187382978f"></a><!-- doxytag: member="apr_errno.h::apr_get_os_error" ref="gd852aefcd93a832efbe20f187382978f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define apr_get_os_error          </td>
          <td>(</td>
&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(errno)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Returns:</b></dt><dd>apr_status_t the last platform error, folded into apr_status_t, on most platforms </dd></dl>
<dl compact><dt><b>Remarks:</b></dt><dd>This retrieves errno, or calls a GetLastError() style function, and folds it with APR_FROM_OS_ERROR. Some platforms (such as OS2) have no such mechanism, so this call may be unsupported. Do NOT use this call for socket errors from socket, send, recv etc! </dd></dl>

</div>
</div><p>
<a class="anchor" name="g130270a4d860dbe21968d00c41f24be0"></a><!-- doxytag: member="apr_errno.h::APR_OS_ERRSPACE_SIZE" ref="g130270a4d860dbe21968d00c41f24be0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_OS_ERRSPACE_SIZE&nbsp;&nbsp;&nbsp;50000          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
APR_OS_ERRSPACE_SIZE is the maximum number of errors you can fit into one of the error/status ranges below -- except for APR_OS_START_USERERR, which see. 
</div>
</div><p>
<a class="anchor" name="g583c345be1f623b6bb3d256a01edd401"></a><!-- doxytag: member="apr_errno.h::APR_OS_START_CANONERR" ref="g583c345be1f623b6bb3d256a01edd401" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_OS_START_CANONERR          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">(<a class="code" href="group__apr__errno.html#g0928e38013d276f247cfefa14539b0a9">APR_OS_START_USERERR</a> \
                                 + (<a class="code" href="group__apr__errno.html#g130270a4d860dbe21968d00c41f24be0">APR_OS_ERRSPACE_SIZE</a> * 10))
</pre></div>APR_OS_START_CANONERR is where APR versions of errno values are defined on systems which don't have the corresponding errno. 
</div>
</div><p>
<a class="anchor" name="gdae9436ac2cfec3d62ea5e787ad72810"></a><!-- doxytag: member="apr_errno.h::APR_OS_START_EAIERR" ref="gdae9436ac2cfec3d62ea5e787ad72810" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_OS_START_EAIERR&nbsp;&nbsp;&nbsp;(APR_OS_START_CANONERR + APR_OS_ERRSPACE_SIZE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
APR_OS_START_EAIERR folds EAI_ error codes from getaddrinfo() into apr_status_t values. 
</div>
</div><p>
<a class="anchor" name="gae5b6d638d5e01965b1a344443f2333c"></a><!-- doxytag: member="apr_errno.h::APR_OS_START_ERROR" ref="gae5b6d638d5e01965b1a344443f2333c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_OS_START_ERROR&nbsp;&nbsp;&nbsp;20000          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
APR_OS_START_ERROR is where the APR specific error values start. 
</div>
</div><p>
<a class="anchor" name="g589b46df534e333d1ee3b766a3cb2f5e"></a><!-- doxytag: member="apr_errno.h::APR_OS_START_STATUS" ref="g589b46df534e333d1ee3b766a3cb2f5e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_OS_START_STATUS&nbsp;&nbsp;&nbsp;(APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
APR_OS_START_STATUS is where the APR specific status codes start. 
</div>
</div><p>
<a class="anchor" name="g114f33753445643a59767df6206df5dd"></a><!-- doxytag: member="apr_errno.h::APR_OS_START_SYSERR" ref="g114f33753445643a59767df6206df5dd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_OS_START_SYSERR&nbsp;&nbsp;&nbsp;(APR_OS_START_EAIERR + APR_OS_ERRSPACE_SIZE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
APR_OS_START_SYSERR folds platform-specific system error values into apr_status_t values. 
</div>
</div><p>
<a class="anchor" name="g6b7f7dd380e15f6376496e109ae7f95b"></a><!-- doxytag: member="apr_errno.h::APR_OS_START_USEERR" ref="g6b7f7dd380e15f6376496e109ae7f95b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_OS_START_USEERR&nbsp;&nbsp;&nbsp;APR_OS_START_USERERR          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
APR_OS_START_USEERR is obsolete, defined for compatibility only. Use APR_OS_START_USERERR instead. 
</div>
</div><p>
<a class="anchor" name="g0928e38013d276f247cfefa14539b0a9"></a><!-- doxytag: member="apr_errno.h::APR_OS_START_USERERR" ref="g0928e38013d276f247cfefa14539b0a9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_OS_START_USERERR&nbsp;&nbsp;&nbsp;(APR_OS_START_STATUS + APR_OS_ERRSPACE_SIZE)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
APR_OS_START_USERERR are reserved for applications that use APR that layer their own error codes along with APR's. Note that the error immediately following this one is set ten times farther away than usual, so that users of apr have a lot of room in which to declare custom error codes. 
</div>
</div><p>
<a class="anchor" name="gd6b5e3da6d2e83fc8300b8aa9de44f82"></a><!-- doxytag: member="apr_errno.h::apr_set_netos_error" ref="gd6b5e3da6d2e83fc8300b8aa9de44f82" args="(e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define apr_set_netos_error          </td>
          <td>(</td>
          <td class="paramtype">e&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(errno = (e))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset the last socket error, unfolded from an apr_status_t <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The socket error folded in a prior call to <a class="el" href="group__apr__errno.html#gf4c171b77aad16eb0bb6c4e295f24c5a">APR_FROM_OS_ERROR()</a> </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>This is a macro implementation; the statcode argument may be evaluated multiple times. If the statcode was not created by apr_get_os_error or APR_FROM_OS_ERROR, the results are undefined. This macro sets errno, or calls a WSASetLastError() style function, unfolding socketcode with APR_TO_OS_ERROR. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf6ec549949cc370fd31991b817cb4141"></a><!-- doxytag: member="apr_errno.h::apr_set_os_error" ref="gf6ec549949cc370fd31991b817cb4141" args="(e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define apr_set_os_error          </td>
          <td>(</td>
          <td class="paramtype">e&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(errno = (e))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset the last platform error, unfolded from an apr_status_t, on some platforms <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The OS error folded in a prior call to <a class="el" href="group__apr__errno.html#gf4c171b77aad16eb0bb6c4e295f24c5a">APR_FROM_OS_ERROR()</a> </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>This is a macro implementation; the statcode argument may be evaluated multiple times. If the statcode was not created by apr_get_os_error or APR_FROM_OS_ERROR, the results are undefined. This macro sets errno, or calls a SetLastError() style function, unfolding statcode with APR_TO_OS_ERROR. Some platforms (such as OS2) have no such mechanism, so this call may be unsupported. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gcee25b6613915469848f4f22e80748ff"></a><!-- doxytag: member="apr_errno.h::APR_SUCCESS" ref="gcee25b6613915469848f4f22e80748ff" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_SUCCESS&nbsp;&nbsp;&nbsp;0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
no error. 
</div>
</div><p>
<a class="anchor" name="g92835abc27e5f4632acff01cfa853bdd"></a><!-- doxytag: member="apr_errno.h::APR_TO_OS_ERROR" ref="g92835abc27e5f4632acff01cfa853bdd" args="(e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_TO_OS_ERROR          </td>
          <td>(</td>
          <td class="paramtype">e&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(e)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Returns:</b></dt><dd>os_err_type Fold an apr_status_t code back to the native platform defined error. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The apr_status_t folded platform os error code. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>macro implementation; the statcode argument may be evaluated multiple times. If the statcode was not created by apr_get_os_error or APR_FROM_OS_ERROR, the results are undefined. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g92835abc27e5f4632acff01cfa853bdd"></a><!-- doxytag: member="apr_errno.h::APR_TO_OS_ERROR" ref="g92835abc27e5f4632acff01cfa853bdd" args="(e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_TO_OS_ERROR          </td>
          <td>(</td>
          <td class="paramtype">e&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Returns:</b></dt><dd>os_err_type Fold an apr_status_t code back to the native platform defined error. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The apr_status_t folded platform os error code. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>macro implementation; the statcode argument may be evaluated multiple times. If the statcode was not created by apr_get_os_error or APR_FROM_OS_ERROR, the results are undefined. </dd></dl>

</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="g4cf2ddae3efce70c508ac7fefc1c47f7"></a><!-- doxytag: member="apr_errno.h::apr_status_t" ref="g4cf2ddae3efce70c508ac7fefc1c47f7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int <a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type for specifying an error or status code. 
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g888320dcc175b33741fbca6dd02eb708"></a><!-- doxytag: member="apr_errno.h::apr_strerror" ref="g888320dcc175b33741fbca6dd02eb708" args="(apr_status_t statcode, char *buf, apr_size_t bufsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* apr_strerror           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td>
          <td class="paramname"> <em>statcode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>bufsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a human readable string describing the specified error. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>statcode</em>&nbsp;</td><td>The error code the get a string for. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>A buffer to hold the error string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bufsize</em>&nbsp;</td><td>Size of the buffer to hold the string. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue May 31 12:20:26 2011 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.4.7 </small></address>
</body>
</html>