The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<html>
<head>
  <link rel="stylesheet" type="text/css" href="dox.css" />
  <title>libapreq2-2.12: libapreq2: include/apreq_module.h File Reference</title> 
</head>
<body>
<div id="page-header">
<p class="menu">
   <a href="http://www.apache.org/">Apache Software Foundation</a> &gt; <a href="http://httpd.apache.org">HTTP Server Project</a> &gt;
<a href="http://httpd.apache.org/apreq/">Request Library Subproject</a></p>
<p class="apache">Apache HTTP Server Request Library</p>
<img alt="" src="feather.gif" /></div>
<!-- Generated by Doxygen 1.5.2 -->
<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 class="current"><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>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>Globals</span></a></li>
  </ul>
</div>
<h1>include/apreq_module.h File Reference</h1>Module API. <a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="apreq__cookie_8h-source.html">apreq_cookie.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="apreq__parser_8h-source.html">apreq_parser.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="apreq__error_8h-source.html">apreq_error.h</a>&quot;</code><br>

<p>
<a href="apreq__module_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapreq__module__t.html">apreq_module_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vtable describing the necessary environment functions.  <a href="structapreq__module__t.html#_details">More...</a><br></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="apreq__module_8h.html#96830d465412c2c8f641ac742382ecec">APREQ_MODULE</a>(pre, mmn)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#78e05beddc5d335d3c2bc30eb30a4986">apreq_cookie</a>(req, name)&nbsp;&nbsp;&nbsp;apreq_jar_get(req, name)</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#56fbaf1314946cc098e1dfd98e9e9cb7">apreq_module_status_is_error</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> s)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#7140953f033551df94c276c4254d31b8">apreq_jar</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> **t)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#f944a86b25bd66da0bb185d73a6044b4">apreq_args</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> **t)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#712989686a218cdf196a56a9966f5546">apreq_body</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> **t)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#f20c031c5c37ca1644a613ccc8d9527c">apreq_jar_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#d39911b6ba5364008c96394e17871c18">apreq_args_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#9b623b1d070c18683b6bbc7fe34402aa">apreq_body_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#28b4c0bdb7af6e234f4808db1ebbca62">apreq_parser_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> **parser)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#f52492547133e02d793258fbc9859f77">apreq_parser_set</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *parser)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#828931dcc30bb57c44faeb3579c6b53e">apreq_hook_add</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *hook)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a12aea1e35e109882ce050579e934cf5">apreq_brigade_limit_set</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg8a24b3f35155b04b2618e814d442709c">apr_size_t</a> bytes)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#29294cc182b76b7b67dc7cb8483635ba">apreq_brigade_limit_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg8a24b3f35155b04b2618e814d442709c">apr_size_t</a> *bytes)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#c19e1f787660cbf52a6e3ca3da3b5a9c">apreq_read_limit_set</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg0313bd6a35829c6519a69a9a29435a13">apr_uint64_t</a> bytes)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#6108801436d99af776a009f1f7d02229">apreq_read_limit_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg0313bd6a35829c6519a69a9a29435a13">apr_uint64_t</a> *bytes)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#8d1f1ac49c06f7f44266ced26d98b183">apreq_temp_dir_set</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *path)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#1ef14a149803c4474a789294aac6f28c">apreq_temp_dir_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char **path)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#d47430f4c60771eacf8b6a968a9bfc67">apreq_handle_cgi</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#3fa6753f412604b78847a8b398badc18">apreq_handle_custom</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool, const char *query_string, const char *cookie, <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *parser, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg0313bd6a35829c6519a69a9a29435a13">apr_uint64_t</a> read_limit, <a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *in)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#c69e5296f6f326debc53d1f69cbca499">apreq_param</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *<a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___m_c.html#gg41c836d1cb3f7a0911a475bc7cf90078">key</a>)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#43428b806ff04191103b82958a080dd5">apreq_params</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *<a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___m_c.html#gg1694c2a3936b5c65143864201d1e044a">p</a>)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a1d548c6cc5f8e344d6d2b0a2ab990ec">apreq_cookies</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *<a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___m_c.html#gg1694c2a3936b5c65143864201d1e044a">p</a>)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Module API. 
<p>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="78e05beddc5d335d3c2bc30eb30a4986"></a><!-- doxytag: member="apreq_module.h::apreq_cookie" ref="78e05beddc5d335d3c2bc30eb30a4986" args="(req, name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define apreq_cookie          </td>
          <td>(</td>
          <td class="paramtype">req,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;apreq_jar_get(req, name)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the first cookie with the specified name. The match is case-insensitive.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>request handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>desired cookie name</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The first matching parameter (with args searched first) or NULL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="96830d465412c2c8f641ac742382ecec"></a><!-- doxytag: member="apreq_module.h::APREQ_MODULE" ref="96830d465412c2c8f641ac742382ecec" args="(pre, mmn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_MODULE          </td>
          <td>(</td>
          <td class="paramtype">pre,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mmn&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">const</span> <a class="code" href="structapreq__module__t.html" title="Vtable describing the necessary environment functions.">apreq_module_t</a>     \
  pre##_module = { #pre, mmn,                           \
  pre##_jar,        pre##_args,       pre##_body,       \
  pre##_jar_get,    pre##_args_get,   pre##_body_get,   \
  pre##_parser_get, pre##_parser_set, pre##_hook_add,   \
  pre##_brigade_limit_get, pre##_brigade_limit_set,     \
  pre##_read_limit_get,    pre##_read_limit_set,        \
  pre##_temp_dir_get,      pre##_temp_dir_set,          \
  }
</pre></div>Convenience macro for defining a module by mapping a function prefix to an associated <a class="el" href="structapreq__module__t.html" title="Vtable describing the necessary environment functions.">apreq_module_t</a> structure.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pre</em>&nbsp;</td><td>Prefix to define new environment. All attributes of the apreq_env_module_t struct are defined with this as their prefix. The generated struct is named by appending "_module" to the prefix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mmn</em>&nbsp;</td><td>Magic number (i.e. version number) of this environment. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="f944a86b25bd66da0bb185d73a6044b4"></a><!-- doxytag: member="apreq_module.h::apreq_args" ref="f944a86b25bd66da0bb185d73a6044b4" args="(apreq_handle_t *req, const apr_table_t **t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_args           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> **&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Expose the parsed "query string" associated to this handle.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The resulting table, which will either be NULL or a valid table object on return.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or a module-specific error status code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="d39911b6ba5364008c96394e17871c18"></a><!-- doxytag: member="apreq_module.h::apreq_args_get" ref="d39911b6ba5364008c96394e17871c18" args="(apreq_handle_t *req, const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="el" href="structapreq__param__t.html">apreq_param_t</a>* apreq_args_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fetch the first query string param with the given name.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Case-insensitive param name.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>First matching param, or NULL if none match. </dd></dl>

</div>
</div><p>
<a class="anchor" name="712989686a218cdf196a56a9966f5546"></a><!-- doxytag: member="apreq_module.h::apreq_body" ref="712989686a218cdf196a56a9966f5546" args="(apreq_handle_t *req, const apr_table_t **t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_body           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> **&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Expose the parsed "request body" associated to this handle.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The resulting table, which will either be NULL or a valid table object on return.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or a module-specific error status code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9b623b1d070c18683b6bbc7fe34402aa"></a><!-- doxytag: member="apreq_module.h::apreq_body_get" ref="9b623b1d070c18683b6bbc7fe34402aa" args="(apreq_handle_t *req, const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="el" href="structapreq__param__t.html">apreq_param_t</a>* apreq_body_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fetch the first body param with the given name.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Case-insensitive cookie name.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>First matching param, or NULL if none match. </dd></dl>

</div>
</div><p>
<a class="anchor" name="29294cc182b76b7b67dc7cb8483635ba"></a><!-- doxytag: member="apreq_module.h::apreq_brigade_limit_get" ref="29294cc182b76b7b67dc7cb8483635ba" args="(apreq_handle_t *req, apr_size_t *bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_brigade_limit_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg8a24b3f35155b04b2618e814d442709c">apr_size_t</a> *&nbsp;</td>
          <td class="paramname"> <em>bytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the active brigade limit.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes</em>&nbsp;</td><td>Pointer to resulting (current) limit.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or a module-specific error, which may leave bytes undefined. </dd></dl>

</div>
</div><p>
<a class="anchor" name="a12aea1e35e109882ce050579e934cf5"></a><!-- doxytag: member="apreq_module.h::apreq_brigade_limit_set" ref="a12aea1e35e109882ce050579e934cf5" args="(apreq_handle_t *req, apr_size_t bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_brigade_limit_set           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg8a24b3f35155b04b2618e814d442709c">apr_size_t</a>&nbsp;</td>
          <td class="paramname"> <em>bytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the active brigade limit.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes</em>&nbsp;</td><td>New limit to use.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or module-specific error. </dd></dl>

</div>
</div><p>
<a class="anchor" name="a1d548c6cc5f8e344d6d2b0a2ab990ec"></a><!-- doxytag: member="apreq_module.h::apreq_cookies" ref="a1d548c6cc5f8e344d6d2b0a2ab990ec" args="(apreq_handle_t *req, apr_pool_t *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a>* apreq_cookies           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>p</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>
Returns a table containing all request cookies.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>the apreq request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>Allocates the returned table. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d47430f4c60771eacf8b6a968a9bfc67"></a><!-- doxytag: member="apreq_module.h::apreq_handle_cgi" ref="d47430f4c60771eacf8b6a968a9bfc67" args="(apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a>* apreq_handle_cgi           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create an apreq handle which is suitable for a CGI program. It reads input from stdin and writes output to stdout.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>Pool associated to this handle.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>New handle; can only be NULL if the pool allocation failed.</dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The handle gets cached in the pool's userdata, so subsequent calls will retrieve the original cached handle. </dd></dl>

</div>
</div><p>
<a class="anchor" name="3fa6753f412604b78847a8b398badc18"></a><!-- doxytag: member="apreq_module.h::apreq_handle_custom" ref="3fa6753f412604b78847a8b398badc18" args="(apr_pool_t *pool, const char *query_string, const char *cookie, apreq_parser_t *parser, apr_uint64_t read_limit, apr_bucket_brigade *in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a>* apreq_handle_custom           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>query_string</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>cookie</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *&nbsp;</td>
          <td class="paramname"> <em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg0313bd6a35829c6519a69a9a29435a13">apr_uint64_t</a>&nbsp;</td>
          <td class="paramname"> <em>read_limit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *&nbsp;</td>
          <td class="paramname"> <em>in</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>
Create a custom apreq handle which knows only some static values. Useful if you want to test the parser code or if you have got data from a custom source (neither <a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/namespace_apache.html">Apache</a> 2 nor CGI).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>allocates the parse data, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>query_string</em>&nbsp;</td><td>parsed into args table </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cookie</em>&nbsp;</td><td>value of the request "Cookie" header </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>parser</em>&nbsp;</td><td>parses the request body </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>read_limit</em>&nbsp;</td><td>maximum bytes to read from the body </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>brigade containing the request body</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>new handle; can only be NULL if the pool allocation failed. </dd></dl>

</div>
</div><p>
<a class="anchor" name="828931dcc30bb57c44faeb3579c6b53e"></a><!-- doxytag: member="apreq_module.h::apreq_hook_add" ref="828931dcc30bb57c44faeb3579c6b53e" args="(apreq_handle_t *req, apreq_hook_t *hook)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_hook_add           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td>
          <td class="paramname"> <em>hook</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a parser hook for this request.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>hook</em>&nbsp;</td><td>Hook to add.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or module-specific error. </dd></dl>

</div>
</div><p>
<a class="anchor" name="7140953f033551df94c276c4254d31b8"></a><!-- doxytag: member="apreq_module.h::apreq_jar" ref="7140953f033551df94c276c4254d31b8" args="(apreq_handle_t *req, const apr_table_t **t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_jar           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> **&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Expose the parsed "cookie" header associated to this handle.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The resulting table, which will either be NULL or a valid table object on return.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or a module-specific error status code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="f20c031c5c37ca1644a613ccc8d9527c"></a><!-- doxytag: member="apreq_module.h::apreq_jar_get" ref="f20c031c5c37ca1644a613ccc8d9527c" args="(apreq_handle_t *req, const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a>* apreq_jar_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fetch the first cookie with the given name.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Case-insensitive cookie name.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>First matching cookie, or NULL if none match. </dd></dl>

</div>
</div><p>
<a class="anchor" name="56fbaf1314946cc098e1dfd98e9e9cb7"></a><!-- doxytag: member="apreq_module.h::apreq_module_status_is_error" ref="56fbaf1314946cc098e1dfd98e9e9cb7" args="(apr_status_t s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE unsigned apreq_module_status_is_error           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td>
          <td class="paramname"> <em>s</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Defines the module-specific status codes which are commonly considered to be non-fatal.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>status code returned by an <a class="el" href="structapreq__module__t.html" title="Vtable describing the necessary environment functions.">apreq_module_t</a> method.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if s is fatal, 0 otherwise. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c69e5296f6f326debc53d1f69cbca499"></a><!-- doxytag: member="apreq_module.h::apreq_param" ref="c69e5296f6f326debc53d1f69cbca499" args="(apreq_handle_t *req, const char *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structapreq__param__t.html">apreq_param_t</a>* apreq_param           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</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>
Find the first query string parameter or body parameter with the specified name. The match is case-insensitive.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>request handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>desired parameter name</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The first matching parameter (with args searched first) or NULL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="43428b806ff04191103b82958a080dd5"></a><!-- doxytag: member="apreq_module.h::apreq_params" ref="43428b806ff04191103b82958a080dd5" args="(apreq_handle_t *req, apr_pool_t *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a>* apreq_params           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>p</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>
Returns a table containing key-value pairs for the full request (args + body).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>allocates the returned table.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>table representing all available params; is never NULL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="28b4c0bdb7af6e234f4808db1ebbca62"></a><!-- doxytag: member="apreq_module.h::apreq_parser_get" ref="28b4c0bdb7af6e234f4808db1ebbca62" args="(apreq_handle_t *req, const apreq_parser_t **parser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_parser_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> **&nbsp;</td>
          <td class="paramname"> <em>parser</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fetch the active body parser.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>parser</em>&nbsp;</td><td>Points to the active parser on return.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or module-specific error. </dd></dl>

</div>
</div><p>
<a class="anchor" name="f52492547133e02d793258fbc9859f77"></a><!-- doxytag: member="apreq_module.h::apreq_parser_set" ref="f52492547133e02d793258fbc9859f77" args="(apreq_handle_t *req, apreq_parser_t *parser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_parser_set           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *&nbsp;</td>
          <td class="paramname"> <em>parser</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the body parser for this request.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>parser</em>&nbsp;</td><td>New parser to use.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or module-specific error. </dd></dl>

</div>
</div><p>
<a class="anchor" name="6108801436d99af776a009f1f7d02229"></a><!-- doxytag: member="apreq_module.h::apreq_read_limit_get" ref="6108801436d99af776a009f1f7d02229" args="(apreq_handle_t *req, apr_uint64_t *bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_read_limit_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg0313bd6a35829c6519a69a9a29435a13">apr_uint64_t</a> *&nbsp;</td>
          <td class="paramname"> <em>bytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the active read limit.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The request handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes</em>&nbsp;</td><td>Pointer to resulting (current) limit.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or a module-specific error, which may leave bytes undefined. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c19e1f787660cbf52a6e3ca3da3b5a9c"></a><!-- doxytag: member="apreq_module.h::apreq_read_limit_set" ref="c19e1f787660cbf52a6e3ca3da3b5a9c" args="(apreq_handle_t *req, apr_uint64_t bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_read_limit_set           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gg0313bd6a35829c6519a69a9a29435a13">apr_uint64_t</a>&nbsp;</td>
          <td class="paramname"> <em>bytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the active read limit.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes</em>&nbsp;</td><td>New limit to use.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or a module-specific error. </dd></dl>

</div>
</div><p>
<a class="anchor" name="1ef14a149803c4474a789294aac6f28c"></a><!-- doxytag: member="apreq_module.h::apreq_temp_dir_get" ref="1ef14a149803c4474a789294aac6f28c" args="(apreq_handle_t *req, const char **path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_temp_dir_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the active temp directory.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>Resulting path to temp dir.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS implies path is valid, but may also be NULL. Any other return value is module-specific, and may leave path undefined. </dd></dl>

</div>
</div><p>
<a class="anchor" name="8d1f1ac49c06f7f44266ced26d98b183"></a><!-- doxytag: member="apreq_module.h::apreq_temp_dir_set" ref="8d1f1ac49c06f7f44266ced26d98b183" args="(apreq_handle_t *req, const char *path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_temp_dir_set           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the active temp directory.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>req</em>&nbsp;</td><td>The handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>New path to use; may be NULL.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or a module-specific error . </dd></dl>

</div>
</div><p>
<div id="footer">
<p class="apache">
Copyright &copy; 2003-2006 <a href="http://www.apache.org">The Apache Software Foundation</a>.<br/>
See <a href="apreq_license.html">LICENSE</a>.</p>
<p class="menu">
<span style="color:#aaa">page generated by <a href="http://www.doxygen.org/"><code>doxygen</code></a>
version 1.5.2 on 6 Mar 2009</span>
</p>
</div>
</body>
</html>