<html> <head> <link rel="stylesheet" type="text/css" href="dox.css" /> <title>libapreq2-2.12: libapreq2: include/apreq_param.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.5.2 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <h1>include/apreq_param.h File Reference</h1>Request parsing and parameter API. <a href="#_details">More...</a> <p> <code>#include "<a class="el" href="apreq_8h-source.html">apreq.h</a>"</code><br> <code>#include "<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/apr__buckets_8h.html">apr_buckets.h</a>"</code><br> <p> <a href="apreq__param_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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structapreq__param__t.html">apreq_param_t</a></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#bac6dac9f29c659ac43b2588d1a01c68">apreq_param_is_tainted</a> (const <a class="el" href="structapreq__param__t.html">apreq_param_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">static APR_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#63412e3d56bcc82b65672141dbb81a43">apreq_param_tainted_on</a> (<a class="el" href="structapreq__param__t.html">apreq_param_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">static APR_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#c4caea9761e7c4b698dd11fd5a28dc74">apreq_param_tainted_off</a> (<a class="el" href="structapreq__param__t.html">apreq_param_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">static APR_INLINE <a class="el" href="apreq_8h.html#634446af852308ac3d8d1757bc739115">apreq_charset_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#63c378f4acf06965c68b9eef80e9784d">apreq_param_charset_set</a> (<a class="el" href="structapreq__param__t.html">apreq_param_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>, <a class="el" href="apreq_8h.html#634446af852308ac3d8d1757bc739115">apreq_charset_t</a> c)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="el" href="apreq_8h.html#634446af852308ac3d8d1757bc739115">apreq_charset_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#7b732394e86bc5a8b47d59978e6fef99">apreq_param_charset_get</a> (<a class="el" href="structapreq__param__t.html">apreq_param_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">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__param_8h.html#ac3261db400da628886fcba39936a063">apreq_value_to_param</a> (const char *val)</td></tr> <tr><td class="memItemLeft" nowrap 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__param_8h.html#4b65c4fbcc5bdffd8d00b467d68a12f9">apreq_param_make</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> *<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>, const char *name, 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__platform.html#gg8a24b3f35155b04b2618e814d442709c">apr_size_t</a> nlen, const char *val, 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__platform.html#gg8a24b3f35155b04b2618e814d442709c">apr_size_t</a> vlen)</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__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#6180eef617ae941497ee78e40e5e6342">apreq_param_decode</a> (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> **param, <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 *word, <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> nlen, <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> vlen)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#02630e21751e52a581617abf10281b2f">apreq_param_encode</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 <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *param)</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__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#b916a32c498eb9cd0afa0a08fa1719e0">apreq_parse_query_string</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, <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, const char *qs)</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/structapr__array__header__t.html">apr_array_header_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#7c124a132cbf38676d0b7cf4a7ae583b">apreq_params_as_array</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> *<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>, 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, 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">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#92d8df1c7a7b04ec535b6c6fa8bea64d">apreq_params_as_string</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> *<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>, 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, 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>, <a class="el" href="apreq_8h.html#a26db627cceece7744dacb2cf29a6328">apreq_join_t</a> mode)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#93a38cd9efe828ef983b37ec52a9c80d">apreq_uploads</a> (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> *body, <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">const <a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#2e68b957b89e25d529edf98d7703812f">apreq_upload</a> (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> *body, const char *name)</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Request parsing and parameter API. <p> <hr><h2>Function Documentation</h2> <a class="anchor" name="7b732394e86bc5a8b47d59978e6fef99"></a><!-- doxytag: member="apreq_param.h::apreq_param_charset_get" ref="7b732394e86bc5a8b47d59978e6fef99" args="(apreq_param_t *p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static APR_INLINE <a class="el" href="apreq_8h.html#634446af852308ac3d8d1757bc739115">apreq_charset_t</a> apreq_param_charset_get </td> <td>(</td> <td class="paramtype"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td> <td class="paramname"> <em>p</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the character encoding for this parameter. </div> </div><p> <a class="anchor" name="63c378f4acf06965c68b9eef80e9784d"></a><!-- doxytag: member="apreq_param.h::apreq_param_charset_set" ref="63c378f4acf06965c68b9eef80e9784d" args="(apreq_param_t *p, apreq_charset_t c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static APR_INLINE <a class="el" href="apreq_8h.html#634446af852308ac3d8d1757bc739115">apreq_charset_t</a> apreq_param_charset_set </td> <td>(</td> <td class="paramtype"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td> <td class="paramname"> <em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="apreq_8h.html#634446af852308ac3d8d1757bc739115">apreq_charset_t</a> </td> <td class="paramname"> <em>c</em></td><td> </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> Sets the character encoding for this parameter. </div> </div><p> <a class="anchor" name="6180eef617ae941497ee78e40e5e6342"></a><!-- doxytag: member="apreq_param.h::apreq_param_decode" ref="6180eef617ae941497ee78e40e5e6342" args="(apreq_param_t **param, apr_pool_t *pool, const char *word, apr_size_t nlen, apr_size_t vlen)" --> <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__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_param_decode </td> <td>(</td> <td class="paramtype"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> ** </td> <td class="paramname"> <em>param</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> * </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>word</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> </td> <td class="paramname"> <em>nlen</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> </td> <td class="paramname"> <em>vlen</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Url-decodes a name=value pair into a param.<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>param</em> </td><td>points to the decoded parameter on success </td></tr> <tr><td valign="top"></td><td valign="top"><em>pool</em> </td><td>Pool from which the param is allocated. </td></tr> <tr><td valign="top"></td><td valign="top"><em>word</em> </td><td>Start of the name=value pair. </td></tr> <tr><td valign="top"></td><td valign="top"><em>nlen</em> </td><td>Length of urlencoded name. </td></tr> <tr><td valign="top"></td><td valign="top"><em>vlen</em> </td><td>Length of urlencoded value.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS on success. <p> <a class="el" href="apreq__error_8h.html#1ca7fd544bfb795c632bb105cfc2c0fd">APREQ_ERROR_BADSEQ</a> or <a class="el" href="apreq__error_8h.html#6b3acd6dfc132e3ea8ac310bf63aba04">APREQ_ERROR_BADCHAR</a> on malformed input.</dd></dl> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Unless vlen == 0, this function assumes there is exactly one character ('=') which separates the pair. </dd></dl> </div> </div><p> <a class="anchor" name="02630e21751e52a581617abf10281b2f"></a><!-- doxytag: member="apreq_param.h::apreq_param_encode" ref="02630e21751e52a581617abf10281b2f" args="(apr_pool_t *pool, const apreq_param_t *param)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* apreq_param_encode </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> * </td> <td class="paramname"> <em>pool</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td> <td class="paramname"> <em>param</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Url-encodes the param into a name-value pair. <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> </td><td>Pool which allocates the returned string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>param</em> </td><td>Param to encode. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>name-value pair representing the param. </dd></dl> </div> </div><p> <a class="anchor" name="bac6dac9f29c659ac43b2588d1a01c68"></a><!-- doxytag: member="apreq_param.h::apreq_param_is_tainted" ref="bac6dac9f29c659ac43b2588d1a01c68" args="(const apreq_param_t *p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static APR_INLINE unsigned apreq_param_is_tainted </td> <td>(</td> <td class="paramtype">const <a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td> <td class="paramname"> <em>p</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the taint flag is set, 0 otherwise. </dd></dl> </div> </div><p> <a class="anchor" name="4b65c4fbcc5bdffd8d00b467d68a12f9"></a><!-- doxytag: member="apreq_param.h::apreq_param_make" ref="4b65c4fbcc5bdffd8d00b467d68a12f9" args="(apr_pool_t *p, const char *name, const apr_size_t nlen, const char *val, const apr_size_t vlen)" --> <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_make </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> * </td> <td class="paramname"> <em>p</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 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__platform.html#gg8a24b3f35155b04b2618e814d442709c">apr_size_t</a> </td> <td class="paramname"> <em>nlen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>val</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__platform.html#gg8a24b3f35155b04b2618e814d442709c">apr_size_t</a> </td> <td class="paramname"> <em>vlen</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> creates a param from name/value information </div> </div><p> <a class="anchor" name="c4caea9761e7c4b698dd11fd5a28dc74"></a><!-- doxytag: member="apreq_param.h::apreq_param_tainted_off" ref="c4caea9761e7c4b698dd11fd5a28dc74" args="(apreq_param_t *p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static APR_INLINE void apreq_param_tainted_off </td> <td>(</td> <td class="paramtype"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td> <td class="paramname"> <em>p</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Turns off the taint flag. </div> </div><p> <a class="anchor" name="63412e3d56bcc82b65672141dbb81a43"></a><!-- doxytag: member="apreq_param.h::apreq_param_tainted_on" ref="63412e3d56bcc82b65672141dbb81a43" args="(apreq_param_t *p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static APR_INLINE void apreq_param_tainted_on </td> <td>(</td> <td class="paramtype"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> * </td> <td class="paramname"> <em>p</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Sets the tainted flag. </div> </div><p> <a class="anchor" name="7c124a132cbf38676d0b7cf4a7ae583b"></a><!-- doxytag: member="apreq_param.h::apreq_params_as_array" ref="7c124a132cbf38676d0b7cf4a7ae583b" args="(apr_pool_t *p, const apr_table_t *t, const char *key)" --> <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/structapr__array__header__t.html">apr_array_header_t</a>* apreq_params_as_array </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> * </td> <td class="paramname"> <em>p</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> * </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>key</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Returns an array of parameters (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> *) matching the given key. The key is case-insensitive. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>Allocates the returned array. </td></tr> <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the parameter table returned by <a class="el" href="apreq__module_8h.html#f944a86b25bd66da0bb185d73a6044b4">apreq_args()</a>, <a class="el" href="apreq__module_8h.html#712989686a218cdf196a56a9966f5546">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#43428b806ff04191103b82958a080dd5">apreq_params()</a> </td></tr> <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>Null-terminated search key, case insensitive. key==NULL fetches all parameters. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>an array of apreq_param_t* (pointers) </dd></dl> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Also parses the request if necessary. </dd></dl> </div> </div><p> <a class="anchor" name="92d8df1c7a7b04ec535b6c6fa8bea64d"></a><!-- doxytag: member="apreq_param.h::apreq_params_as_string" ref="92d8df1c7a7b04ec535b6c6fa8bea64d" args="(apr_pool_t *p, const apr_table_t *t, const char *key, apreq_join_t mode)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* apreq_params_as_string </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> * </td> <td class="paramname"> <em>p</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> * </td> <td class="paramname"> <em>t</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 class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="apreq_8h.html#a26db627cceece7744dacb2cf29a6328">apreq_join_t</a> </td> <td class="paramname"> <em>mode</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Returns a ", " -joined string containing all parameters for the requested key, an empty string if none are found. The key 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>p</em> </td><td>Allocates the return string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the parameter table returned by <a class="el" href="apreq__module_8h.html#f944a86b25bd66da0bb185d73a6044b4">apreq_args()</a>, <a class="el" href="apreq__module_8h.html#712989686a218cdf196a56a9966f5546">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#43428b806ff04191103b82958a080dd5">apreq_params()</a> </td></tr> <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>Null-terminated parameter name, case insensitive. key==NULL fetches all values. </td></tr> <tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>Join type- see <a class="el" href="apreq__util_8h.html#d1c7e78620dd2b0563b1c1df592e43e7">apreq_join()</a>. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the joined string or NULL on error </dd></dl> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Also parses the request if necessary. </dd></dl> </div> </div><p> <a class="anchor" name="b916a32c498eb9cd0afa0a08fa1719e0"></a><!-- doxytag: member="apreq_param.h::apreq_parse_query_string" ref="b916a32c498eb9cd0afa0a08fa1719e0" args="(apr_pool_t *pool, apr_table_t *t, const char *qs)" --> <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__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_parse_query_string </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> * </td> <td class="paramname"> <em>pool</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__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> * </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>qs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Parse a url-encoded string into a param table. <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> </td><td>pool used to allocate the param data. </td></tr> <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>table to which the params are added. </td></tr> <tr><td valign="top"></td><td valign="top"><em>qs</em> </td><td>Query string to url-decode. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if successful, error otherwise. </dd></dl> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This function uses [&;] as the set of tokens to delineate words, and will treat a word w/o '=' as a name-value pair with value-length = 0. </dd></dl> </div> </div><p> <a class="anchor" name="2e68b957b89e25d529edf98d7703812f"></a><!-- doxytag: member="apreq_param.h::apreq_upload" ref="2e68b957b89e25d529edf98d7703812f" args="(const apr_table_t *body, const char *name)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structapreq__param__t.html">apreq_param_t</a>* apreq_upload </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> * </td> <td class="paramname"> <em>body</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the first param in req->body which has both param->v.name matching key (case insensitive) and param->upload != NULL. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>body</em> </td><td>parameter table returned by <a class="el" href="apreq__module_8h.html#712989686a218cdf196a56a9966f5546">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#43428b806ff04191103b82958a080dd5">apreq_params()</a> </td></tr> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Parameter name. key == NULL returns first upload. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Corresponding upload, NULL if none found. </dd></dl> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Will parse the request as necessary. </dd></dl> </div> </div><p> <a class="anchor" name="93a38cd9efe828ef983b37ec52a9c80d"></a><!-- doxytag: member="apreq_param.h::apreq_uploads" ref="93a38cd9efe828ef983b37ec52a9c80d" args="(const apr_table_t *body, apr_pool_t *pool)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">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>* apreq_uploads </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> * </td> <td class="paramname"> <em>body</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> * </td> <td class="paramname"> <em>pool</em></td><td> </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 of all params in req->body with non-NULL upload brigades. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>body</em> </td><td>parameter table returned by <a class="el" href="apreq__module_8h.html#712989686a218cdf196a56a9966f5546">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#43428b806ff04191103b82958a080dd5">apreq_params()</a> </td></tr> <tr><td valign="top"></td><td valign="top"><em>pool</em> </td><td>Pool which allocates the table struct. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Upload table. </dd></dl> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Will parse the request if necessary. </dd></dl> </div> </div><p> <a class="anchor" name="ac3261db400da628886fcba39936a063"></a><!-- doxytag: member="apreq_param.h::apreq_value_to_param" ref="ac3261db400da628886fcba39936a063" args="(const char *val)" --> <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_value_to_param </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>val</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Upgrades args and body table values to <a class="el" href="structapreq__param__t.html">apreq_param_t</a> structs. </div> </div><p> <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.5.2 on 6 Mar 2009</span> </p> </div> </body> </html>