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.13: 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> &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.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>include/apreq_param.h File Reference</h1>Request parsing and parameter API. <a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="apreq_8h-source.html">apreq.h</a>&quot;</code><br>
<code>#include &quot;<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>&quot;</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 &nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#f407c2ab726bc8bc34a1b1924a4f327a">apreq_param_is_tainted</a> (const <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#967919466da31283c6d668c58fe5223c">apreq_param_tainted_on</a> (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#e76641d443483db5274624f948e1c347">apreq_param_tainted_off</a> (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <a class="el" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#be765ec55aebc8409ddd6d3db44ff917">apreq_param_charset_set</a> (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> *p, <a class="el" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">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#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#be2a7a47df83a5667fe2834bfc03f15a">apreq_param_charset_get</a> (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> *p)</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__param_8h.html#121453693ef7c6af821ae723b6dbe34b">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> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#25c915d3d0fd1694d2c538f108646560">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#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, 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#gaa72b2253f6f3032cefea5712a27540e">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#gaa72b2253f6f3032cefea5712a27540e">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#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#eea075c59169992492f6f5c40b9b8a70">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#gf137f28edcf9a086cd6bc36c20d7cdfb">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#gaa72b2253f6f3032cefea5712a27540e">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#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> vlen)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#4b8b032f9d2ae8e0a6e95b6dd95b5aa9">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#gf137f28edcf9a086cd6bc36c20d7cdfb">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#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#0aa638519951d85d1faf7bf6ba986226">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#gf137f28edcf9a086cd6bc36c20d7cdfb">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#gd7ea82d6608a4a633fc3775694ab71e4">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> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#76c7e698fd45f3f3e07db60fcba15e52">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#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, 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#gd7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *t, const char *key)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#0f1db12120bb2307f5e33186f094b0d6">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#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, 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#gd7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *t, const char *key, <a class="el" href="apreq_8h.html#c3784c04255e92629350505d35b0473e">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#gd7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#e449c4a1890767d1e9a50c78ea42769c">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#gd7ea82d6608a4a633fc3775694ab71e4">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#gf137f28edcf9a086cd6bc36c20d7cdfb">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> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#1be07e7c4c8a687203ccc0d38ec3aedd">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#gd7ea82d6608a4a633fc3775694ab71e4">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="be2a7a47df83a5667fe2834bfc03f15a"></a><!-- doxytag: member="apreq_param.h::apreq_param_charset_get" ref="be2a7a47df83a5667fe2834bfc03f15a" 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#6607dfa756796989c15014870b48c8cd">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> *&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><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="be765ec55aebc8409ddd6d3db44ff917"></a><!-- doxytag: member="apreq_param.h::apreq_param_charset_set" ref="be765ec55aebc8409ddd6d3db44ff917" 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#6607dfa756796989c15014870b48c8cd">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> *&nbsp;</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#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>&nbsp;</td>
          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><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="eea075c59169992492f6f5c40b9b8a70"></a><!-- doxytag: member="apreq_param.h::apreq_param_decode" ref="eea075c59169992492f6f5c40b9b8a70" 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#gf76ee4543247e9fb3f3546203e590a6c">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> **&nbsp;</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#gf137f28edcf9a086cd6bc36c20d7cdfb">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>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#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>&nbsp;</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#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>&nbsp;</td>
          <td class="paramname"> <em>vlen</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></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>&nbsp;</td><td>points to the decoded parameter on success </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>Pool from which the param is allocated. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>word</em>&nbsp;</td><td>Start of the name=value pair. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nlen</em>&nbsp;</td><td>Length of urlencoded name. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vlen</em>&nbsp;</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#73a69e21acc2cf849310a421ab43d2ba">APREQ_ERROR_BADSEQ</a> or <a class="el" href="apreq__error_8h.html#04b6a01738a1ee7fd1ecc79d256e721f">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="4b8b032f9d2ae8e0a6e95b6dd95b5aa9"></a><!-- doxytag: member="apreq_param.h::apreq_param_encode" ref="4b8b032f9d2ae8e0a6e95b6dd95b5aa9" 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#gf137f28edcf9a086cd6bc36c20d7cdfb">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 <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&nbsp;</td>
          <td class="paramname"> <em>param</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></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>&nbsp;</td><td>Pool which allocates the returned string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</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="f407c2ab726bc8bc34a1b1924a4f327a"></a><!-- doxytag: member="apreq_param.h::apreq_param_is_tainted" ref="f407c2ab726bc8bc34a1b1924a4f327a" 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> *&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><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="25c915d3d0fd1694d2c538f108646560"></a><!-- doxytag: member="apreq_param.h::apreq_param_make" ref="25c915d3d0fd1694d2c538f108646560" 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#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</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#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>&nbsp;</td>
          <td class="paramname"> <em>nlen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</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#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>&nbsp;</td>
          <td class="paramname"> <em>vlen</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
creates a param from name/value information 
</div>
</div><p>
<a class="anchor" name="e76641d443483db5274624f948e1c347"></a><!-- doxytag: member="apreq_param.h::apreq_param_tainted_off" ref="e76641d443483db5274624f948e1c347" 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> *&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Turns off the taint flag. 
</div>
</div><p>
<a class="anchor" name="967919466da31283c6d668c58fe5223c"></a><!-- doxytag: member="apreq_param.h::apreq_param_tainted_on" ref="967919466da31283c6d668c58fe5223c" 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> *&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the tainted flag. 
</div>
</div><p>
<a class="anchor" name="76c7e698fd45f3f3e07db60fcba15e52"></a><!-- doxytag: member="apreq_param.h::apreq_params_as_array" ref="76c7e698fd45f3f3e07db60fcba15e52" 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#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&nbsp;</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#gd7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&nbsp;</td>
          <td class="paramname"> <em>t</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></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>&nbsp;</td><td>Allocates the returned array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>the parameter table returned by <a class="el" href="apreq__module_8h.html#de74830e449fa5bb24694ffc3b8374ca">apreq_args()</a>, <a class="el" href="apreq__module_8h.html#e928689622d094025a8efb8c6c17d680">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#0dff48fd4e83399a07853abe9d67c251">apreq_params()</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</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="0f1db12120bb2307f5e33186f094b0d6"></a><!-- doxytag: member="apreq_param.h::apreq_params_as_string" ref="0f1db12120bb2307f5e33186f094b0d6" 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#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&nbsp;</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#gd7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</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#c3784c04255e92629350505d35b0473e">apreq_join_t</a>&nbsp;</td>
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></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>&nbsp;</td><td>Allocates the return string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>the parameter table returned by <a class="el" href="apreq__module_8h.html#de74830e449fa5bb24694ffc3b8374ca">apreq_args()</a>, <a class="el" href="apreq__module_8h.html#e928689622d094025a8efb8c6c17d680">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#0dff48fd4e83399a07853abe9d67c251">apreq_params()</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</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>&nbsp;</td><td>Join type- see <a class="el" href="apreq__util_8h.html#1aa668dc806fce4bd0fef348d1601930">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="0aa638519951d85d1faf7bf6ba986226"></a><!-- doxytag: member="apreq_param.h::apreq_parse_query_string" ref="0aa638519951d85d1faf7bf6ba986226" 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#gf76ee4543247e9fb3f3546203e590a6c">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#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&nbsp;</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#gd7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>qs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></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>&nbsp;</td><td>pool used to allocate the param data. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>table to which the params are added. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>qs</em>&nbsp;</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 [&amp;;] 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="1be07e7c4c8a687203ccc0d38ec3aedd"></a><!-- doxytag: member="apreq_param.h::apreq_upload" ref="1be07e7c4c8a687203ccc0d38ec3aedd" 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#gd7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&nbsp;</td>
          <td class="paramname"> <em>body</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the first param in req-&gt;body which has both param-&gt;v.name matching key (case insensitive) and param-&gt;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>&nbsp;</td><td>parameter table returned by <a class="el" href="apreq__module_8h.html#e928689622d094025a8efb8c6c17d680">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#0dff48fd4e83399a07853abe9d67c251">apreq_params()</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</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="e449c4a1890767d1e9a50c78ea42769c"></a><!-- doxytag: member="apreq_param.h::apreq_uploads" ref="e449c4a1890767d1e9a50c78ea42769c" 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#gd7ea82d6608a4a633fc3775694ab71e4">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#gd7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&nbsp;</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#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a table of all params in req-&gt;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>&nbsp;</td><td>parameter table returned by <a class="el" href="apreq__module_8h.html#e928689622d094025a8efb8c6c17d680">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#0dff48fd4e83399a07853abe9d67c251">apreq_params()</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</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="121453693ef7c6af821ae723b6dbe34b"></a><!-- doxytag: member="apreq_param.h::apreq_value_to_param" ref="121453693ef7c6af821ae723b6dbe34b" 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 *&nbsp;</td>
          <td class="paramname"> <em>val</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><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>
<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.6 on 25 Nov 2010</span>
</p>
</div>
</body>
</html>