<html>
<head>
<link rel="stylesheet" type="text/css" href="dox.css" />
<title>libapreq2-2.16: 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> > <a href="http://httpd.apache.org">HTTP Server Project</a> >
<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.8.20 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#define-members">Macros</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">apreq_module.h File Reference<div class="ingroups"><a class="el" href="group__libapreq2.html">Apache Request Library</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Module API.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include "<a class="el" href="apreq__cookie_8h_source.html">apreq_cookie.h</a>"</code><br />
<code>#include "<a class="el" href="apreq__parser_8h_source.html">apreq_parser.h</a>"</code><br />
<code>#include "<a class="el" href="apreq__error_8h_source.html">apreq_error.h</a>"</code><br />
</div>
<p><a href="apreq__module_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structapreq__module__t.html">apreq_module_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Vtable describing the necessary module functions. <a href="structapreq__module__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a7d6d0550f527e18c8cfab702e65daf3b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a7d6d0550f527e18c8cfab702e65daf3b">APREQ_MODULE</a>(pre, mmn)</td></tr>
<tr class="separator:a7d6d0550f527e18c8cfab702e65daf3b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5b5398d109fb933fb0367ef947e7c7b6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a5b5398d109fb933fb0367ef947e7c7b6">apreq_cookie</a>(req, name)   <a class="el" href="apreq__module_8h.html#a63dfa7b7b303d061fe56c7109528d430">apreq_jar_get</a>(req, name)</td></tr>
<tr class="separator:a5b5398d109fb933fb0367ef947e7c7b6"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:acc662f2b62f1d13f6c9e03536f565952"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#acc662f2b62f1d13f6c9e03536f565952">apreq_handle_t</a></td></tr>
<tr class="separator:acc662f2b62f1d13f6c9e03536f565952"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab584b3f1216e609ba8082d081cfb5659"><td class="memItemLeft" align="right" valign="top"><a id="ab584b3f1216e609ba8082d081cfb5659"></a>
typedef struct <a class="el" href="structapreq__module__t.html">apreq_module_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#ab584b3f1216e609ba8082d081cfb5659">apreq_module_t</a></td></tr>
<tr class="memdesc:ab584b3f1216e609ba8082d081cfb5659"><td class="mdescLeft"> </td><td class="mdescRight">Vtable describing the necessary module functions. <br /></td></tr>
<tr class="separator:ab584b3f1216e609ba8082d081cfb5659"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a08dedd0ec5b291dad6b58644896eb2ed"><td class="memItemLeft" align="right" valign="top">static APR_INLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a08dedd0ec5b291dad6b58644896eb2ed">apreq_module_status_is_error</a> (apr_status_t s)</td></tr>
<tr class="separator:a08dedd0ec5b291dad6b58644896eb2ed"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2652c9a9b0e0f4162051fc3904ac480a"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a2652c9a9b0e0f4162051fc3904ac480a">apreq_jar</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const apr_table_t **t)</td></tr>
<tr class="separator:a2652c9a9b0e0f4162051fc3904ac480a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ade74830e449fa5bb24694ffc3b8374ca"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#ade74830e449fa5bb24694ffc3b8374ca">apreq_args</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const apr_table_t **t)</td></tr>
<tr class="separator:ade74830e449fa5bb24694ffc3b8374ca"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae928689622d094025a8efb8c6c17d680"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#ae928689622d094025a8efb8c6c17d680">apreq_body</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const apr_table_t **t)</td></tr>
<tr class="separator:ae928689622d094025a8efb8c6c17d680"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a63dfa7b7b303d061fe56c7109528d430"><td class="memItemLeft" align="right" valign="top">static APR_INLINE <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a63dfa7b7b303d061fe56c7109528d430">apreq_jar_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *name)</td></tr>
<tr class="separator:a63dfa7b7b303d061fe56c7109528d430"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aeadd074ee9dd8095d857820ce15f1701"><td class="memItemLeft" align="right" valign="top">static APR_INLINE <a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#aeadd074ee9dd8095d857820ce15f1701">apreq_args_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *name)</td></tr>
<tr class="separator:aeadd074ee9dd8095d857820ce15f1701"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7c4cb1c2b91f5539b2231d09ebea2239"><td class="memItemLeft" align="right" valign="top">static APR_INLINE <a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a7c4cb1c2b91f5539b2231d09ebea2239">apreq_body_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *name)</td></tr>
<tr class="separator:a7c4cb1c2b91f5539b2231d09ebea2239"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a136584883dac2b5c76052bed1c4e61dc"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a136584883dac2b5c76052bed1c4e61dc">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 class="separator:a136584883dac2b5c76052bed1c4e61dc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6842f8b5a1d1f9115ba8ff7b1da1e78b"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a6842f8b5a1d1f9115ba8ff7b1da1e78b">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 class="separator:a6842f8b5a1d1f9115ba8ff7b1da1e78b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0c24fc39ad03c54839a9cb03dc00dc28"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a0c24fc39ad03c54839a9cb03dc00dc28">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 class="separator:a0c24fc39ad03c54839a9cb03dc00dc28"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab368191aa61cd0386e824c1a6dbd6e49"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#ab368191aa61cd0386e824c1a6dbd6e49">apreq_brigade_limit_set</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, apr_size_t bytes)</td></tr>
<tr class="separator:ab368191aa61cd0386e824c1a6dbd6e49"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad98e3dac181ac837159581812229d8e3"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#ad98e3dac181ac837159581812229d8e3">apreq_brigade_limit_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, apr_size_t *bytes)</td></tr>
<tr class="separator:ad98e3dac181ac837159581812229d8e3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a97d4d8090e7847ace598c7a65b309564"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a97d4d8090e7847ace598c7a65b309564">apreq_read_limit_set</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, apr_uint64_t bytes)</td></tr>
<tr class="separator:a97d4d8090e7847ace598c7a65b309564"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab5cc462231ee5e4389ceb46eab1e456f"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#ab5cc462231ee5e4389ceb46eab1e456f">apreq_read_limit_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, apr_uint64_t *bytes)</td></tr>
<tr class="separator:ab5cc462231ee5e4389ceb46eab1e456f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afc1b7d33062581140fd16b859b06d24a"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#afc1b7d33062581140fd16b859b06d24a">apreq_temp_dir_set</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *path)</td></tr>
<tr class="separator:afc1b7d33062581140fd16b859b06d24a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a51c4bd2bc98e9355f8595341ba6aff0b"><td class="memItemLeft" align="right" valign="top">static APR_INLINE apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a51c4bd2bc98e9355f8595341ba6aff0b">apreq_temp_dir_get</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char **path)</td></tr>
<tr class="separator:a51c4bd2bc98e9355f8595341ba6aff0b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3f9b9c725672298c86b081aaa258fbdc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a3f9b9c725672298c86b081aaa258fbdc">apreq_handle_cgi</a> (apr_pool_t *pool)</td></tr>
<tr class="separator:a3f9b9c725672298c86b081aaa258fbdc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abeaaad6c03b54ca963f9f14a3031e912"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#abeaaad6c03b54ca963f9f14a3031e912">apreq_handle_custom</a> (apr_pool_t *pool, const char *query_string, const char *cookie, <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *parser, apr_uint64_t read_limit, apr_bucket_brigade *in)</td></tr>
<tr class="separator:abeaaad6c03b54ca963f9f14a3031e912"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a08c59b5f07fb36080bb4d62e68bfeddf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a08c59b5f07fb36080bb4d62e68bfeddf">apreq_param</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, const char *key)</td></tr>
<tr class="separator:a08c59b5f07fb36080bb4d62e68bfeddf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0dff48fd4e83399a07853abe9d67c251"><td class="memItemLeft" align="right" valign="top">apr_table_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a0dff48fd4e83399a07853abe9d67c251">apreq_params</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, apr_pool_t *p)</td></tr>
<tr class="separator:a0dff48fd4e83399a07853abe9d67c251"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7435376b1f543c604d8326de3157e075"><td class="memItemLeft" align="right" valign="top">apr_table_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__module_8h.html#a7435376b1f543c604d8326de3157e075">apreq_cookies</a> (<a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> *req, apr_pool_t *p)</td></tr>
<tr class="separator:a7435376b1f543c604d8326de3157e075"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Module API. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a5b5398d109fb933fb0367ef947e7c7b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b5398d109fb933fb0367ef947e7c7b6">◆ </a></span>apreq_cookie</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define apreq_cookie</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">req, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">name </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>   <a class="el" href="apreq__module_8h.html#a63dfa7b7b303d061fe56c7109528d430">apreq_jar_get</a>(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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>request handle. </td></tr>
<tr><td class="paramname">name</td><td>desired cookie name</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The first matching cookie or NULL. </dd></dl>
</div>
</div>
<a id="a7d6d0550f527e18c8cfab702e65daf3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d6d0550f527e18c8cfab702e65daf3b">◆ </a></span>APREQ_MODULE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APREQ_MODULE</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">pre, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">mmn </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">const</span> apreq_module_t \</div>
<div class="line"> pre##_module = { #pre, mmn, \</div>
<div class="line"> pre##_jar, pre##_args, pre##_body, \</div>
<div class="line"> pre##_jar_get, pre##_args_get, pre##_body_get, \</div>
<div class="line"> pre##_parser_get, pre##_parser_set, pre##_hook_add, \</div>
<div class="line"> pre##_brigade_limit_get, pre##_brigade_limit_set, \</div>
<div class="line"> pre##_read_limit_get, pre##_read_limit_set, \</div>
<div class="line"> pre##_temp_dir_get, pre##_temp_dir_set, \</div>
<div class="line"> }</div>
</div><!-- fragment --><p>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 module functions.">apreq_module_t</a> structure.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pre</td><td>Prefix to define new module. All attributes of the <a class="el" href="structapreq__module__t.html" title="Vtable describing the necessary module functions.">apreq_module_t</a> struct are defined with this as their prefix. The generated struct is named by appending "_module" to the prefix. </td></tr>
<tr><td class="paramname">mmn</td><td>Magic number (i.e. version number) of this module. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="acc662f2b62f1d13f6c9e03536f565952"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc662f2b62f1d13f6c9e03536f565952">◆ </a></span>apreq_handle_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> <a class="el" href="structapreq__handle__t.html">apreq_handle_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>An apreq handle associated with a module. The structure may have variable size, because the module may append its own data structures after it. </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ade74830e449fa5bb24694ffc3b8374ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade74830e449fa5bb24694ffc3b8374ca">◆ </a></span>apreq_args()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_args </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const apr_table_t ** </td>
<td class="paramname"><em>t</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expose the parsed "query string" associated to this handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle </td></tr>
<tr><td class="paramname">t</td><td>The resulting table, which will either be NULL or a valid table object on return.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or a module-specific error status code. </dd></dl>
</div>
</div>
<a id="aeadd074ee9dd8095d857820ce15f1701"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeadd074ee9dd8095d857820ce15f1701">◆ </a></span>apreq_args_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<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> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fetch the first query string param with the given name.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle </td></tr>
<tr><td class="paramname">name</td><td>Case-insensitive param name.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>First matching param, or NULL if none match. </dd></dl>
</div>
</div>
<a id="ae928689622d094025a8efb8c6c17d680"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae928689622d094025a8efb8c6c17d680">◆ </a></span>apreq_body()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_body </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const apr_table_t ** </td>
<td class="paramname"><em>t</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expose the parsed "request body" associated to this handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle </td></tr>
<tr><td class="paramname">t</td><td>The resulting table, which will either be NULL or a valid table object on return.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or a module-specific error status code. </dd></dl>
</div>
</div>
<a id="a7c4cb1c2b91f5539b2231d09ebea2239"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c4cb1c2b91f5539b2231d09ebea2239">◆ </a></span>apreq_body_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<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> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fetch the first body param with the given name.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle </td></tr>
<tr><td class="paramname">name</td><td>Case-insensitive cookie name.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>First matching param, or NULL if none match. </dd></dl>
</div>
</div>
<a id="ad98e3dac181ac837159581812229d8e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad98e3dac181ac837159581812229d8e3">◆ </a></span>apreq_brigade_limit_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_brigade_limit_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_size_t * </td>
<td class="paramname"><em>bytes</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the active brigade limit.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The handle. </td></tr>
<tr><td class="paramname">bytes</td><td>Pointer to resulting (current) limit.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or a module-specific error, which may leave bytes undefined. </dd></dl>
</div>
</div>
<a id="ab368191aa61cd0386e824c1a6dbd6e49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab368191aa61cd0386e824c1a6dbd6e49">◆ </a></span>apreq_brigade_limit_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_brigade_limit_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_size_t </td>
<td class="paramname"><em>bytes</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the active brigade limit.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The handle. </td></tr>
<tr><td class="paramname">bytes</td><td>New limit to use.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or module-specific error. </dd></dl>
</div>
</div>
<a id="a7435376b1f543c604d8326de3157e075"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7435376b1f543c604d8326de3157e075">◆ </a></span>apreq_cookies()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">apr_table_t* apreq_cookies </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_pool_t * </td>
<td class="paramname"><em>p</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a table containing all request cookies.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>the apreq request handle </td></tr>
<tr><td class="paramname">p</td><td>Allocates the returned table. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3f9b9c725672298c86b081aaa258fbdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f9b9c725672298c86b081aaa258fbdc">◆ </a></span>apreq_handle_cgi()</h2>
<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">apr_pool_t * </td>
<td class="paramname"><em>pool</em></td><td>)</td>
<td></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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>Pool associated to this handle.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>New handle; can only be NULL if the pool allocation failed.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>The handle gets cached in the pool's userdata, so subsequent calls will retrieve the original cached handle. </dd></dl>
</div>
</div>
<a id="abeaaad6c03b54ca963f9f14a3031e912"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abeaaad6c03b54ca963f9f14a3031e912">◆ </a></span>apreq_handle_custom()</h2>
<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">apr_pool_t * </td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>query_string</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </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> * </td>
<td class="paramname"><em>parser</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_uint64_t </td>
<td class="paramname"><em>read_limit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_bucket_brigade * </td>
<td class="paramname"><em>in</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></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 Apache 2 nor CGI).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>allocates the parse data, </td></tr>
<tr><td class="paramname">query_string</td><td>parsed into args table </td></tr>
<tr><td class="paramname">cookie</td><td>value of the request "Cookie" header </td></tr>
<tr><td class="paramname">parser</td><td>parses the request body </td></tr>
<tr><td class="paramname">read_limit</td><td>maximum bytes to read from the body </td></tr>
<tr><td class="paramname">in</td><td>brigade containing the request body</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new handle; can only be NULL if the pool allocation failed. </dd></dl>
</div>
</div>
<a id="a0c24fc39ad03c54839a9cb03dc00dc28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c24fc39ad03c54839a9cb03dc00dc28">◆ </a></span>apreq_hook_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_hook_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </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> * </td>
<td class="paramname"><em>hook</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a parser hook for this request.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle </td></tr>
<tr><td class="paramname">hook</td><td>Hook to add.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or module-specific error. </dd></dl>
</div>
</div>
<a id="a2652c9a9b0e0f4162051fc3904ac480a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2652c9a9b0e0f4162051fc3904ac480a">◆ </a></span>apreq_jar()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_jar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const apr_table_t ** </td>
<td class="paramname"><em>t</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expose the parsed "cookie" header associated to this handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle </td></tr>
<tr><td class="paramname">t</td><td>The resulting table, which will either be NULL or a valid table object on return.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or a module-specific error status code. </dd></dl>
</div>
</div>
<a id="a63dfa7b7b303d061fe56c7109528d430"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63dfa7b7b303d061fe56c7109528d430">◆ </a></span>apreq_jar_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<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> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fetch the first cookie with the given name.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle </td></tr>
<tr><td class="paramname">name</td><td>Case-insensitive cookie name.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>First matching cookie, or NULL if none match. </dd></dl>
</div>
</div>
<a id="a08dedd0ec5b291dad6b58644896eb2ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08dedd0ec5b291dad6b58644896eb2ed">◆ </a></span>apreq_module_status_is_error()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE unsigned apreq_module_status_is_error </td>
<td>(</td>
<td class="paramtype">apr_status_t </td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Defines the module-specific status codes which are commonly considered to be non-fatal.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>status code returned by an <a class="el" href="structapreq__module__t.html" title="Vtable describing the necessary module functions.">apreq_module_t</a> method.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if s is fatal, 0 otherwise. </dd></dl>
</div>
</div>
<a id="a08c59b5f07fb36080bb4d62e68bfeddf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08c59b5f07fb36080bb4d62e68bfeddf">◆ </a></span>apreq_param()</h2>
<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> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>key</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>request handle. </td></tr>
<tr><td class="paramname">key</td><td>desired parameter name</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The first matching parameter (with args searched first) or NULL. </dd></dl>
</div>
</div>
<a id="a0dff48fd4e83399a07853abe9d67c251"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dff48fd4e83399a07853abe9d67c251">◆ </a></span>apreq_params()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">apr_table_t* apreq_params </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_pool_t * </td>
<td class="paramname"><em>p</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a table containing key-value pairs for the full request (args + body).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>request handle </td></tr>
<tr><td class="paramname">p</td><td>allocates the returned table.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table representing all available params; is never NULL. </dd></dl>
</div>
</div>
<a id="a136584883dac2b5c76052bed1c4e61dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a136584883dac2b5c76052bed1c4e61dc">◆ </a></span>apreq_parser_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_parser_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </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> ** </td>
<td class="paramname"><em>parser</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fetch the active body parser.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle </td></tr>
<tr><td class="paramname">parser</td><td>Points to the active parser on return.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or module-specific error. </dd></dl>
</div>
</div>
<a id="a6842f8b5a1d1f9115ba8ff7b1da1e78b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6842f8b5a1d1f9115ba8ff7b1da1e78b">◆ </a></span>apreq_parser_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_parser_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </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> * </td>
<td class="paramname"><em>parser</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the body parser for this request.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle </td></tr>
<tr><td class="paramname">parser</td><td>New parser to use.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or module-specific error. </dd></dl>
</div>
</div>
<a id="ab5cc462231ee5e4389ceb46eab1e456f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5cc462231ee5e4389ceb46eab1e456f">◆ </a></span>apreq_read_limit_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_read_limit_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_uint64_t * </td>
<td class="paramname"><em>bytes</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the active read limit.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The request handle. </td></tr>
<tr><td class="paramname">bytes</td><td>Pointer to resulting (current) limit.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or a module-specific error, which may leave bytes undefined. </dd></dl>
</div>
</div>
<a id="a97d4d8090e7847ace598c7a65b309564"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97d4d8090e7847ace598c7a65b309564">◆ </a></span>apreq_read_limit_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_read_limit_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_uint64_t </td>
<td class="paramname"><em>bytes</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the active read limit.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The handle. </td></tr>
<tr><td class="paramname">bytes</td><td>New limit to use.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or a module-specific error. </dd></dl>
</div>
</div>
<a id="a51c4bd2bc98e9355f8595341ba6aff0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51c4bd2bc98e9355f8595341ba6aff0b">◆ </a></span>apreq_temp_dir_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_temp_dir_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char ** </td>
<td class="paramname"><em>path</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the active temp directory.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The handle. </td></tr>
<tr><td class="paramname">path</td><td>Resulting path to temp dir.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</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>
<a id="afc1b7d33062581140fd16b859b06d24a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc1b7d33062581140fd16b859b06d24a">◆ </a></span>apreq_temp_dir_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE apr_status_t apreq_temp_dir_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__handle__t.html">apreq_handle_t</a> * </td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>path</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the active temp directory.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>The handle. </td></tr>
<tr><td class="paramname">path</td><td>New path to use; may be NULL.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or a module-specific error . </dd></dl>
</div>
</div>
</div><!-- contents -->
<div id="footer">
<p class="apache">
Copyright © 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.8.20 on Wed Mar 10 2021</span>
</p>
</div>
</body>
</html>