blob: 1d0dd59a3247e57aa85b143638e7546d34992de7 [file] [log] [blame]
<!-- HTML header for doxygen 1.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libapreq2-2.17: include/apreq_param.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="customdoxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr style="height: 56px;">
<!--
<td id="projectlogo"><img alt="Logo" src="feather.png"/></td>
-->
<!--
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libapreq2
< !--BEGIN PROJECT_NUMBER-- >&#160;<span id="projectnumber">2.17</span>< !--END PROJECT_NUMBER-- >
</div>
< !--BEGIN PROJECT_BRIEF-- ><div id="projectbrief"></div>< !--END PROJECT_BRIEF-- >
</td>
-->
<td>
<div id="page-header">
<p class="menu">
<a href="https://www.apache.org/">Apache Software Foundation</a> &gt;
<a href="https://httpd.apache.org">HTTP Server Project</a> &gt;
<a href="https://httpd.apache.org/apreq/">Request Library Subproject</a>
</p>
<p class="apache">Apache HTTP Server Request Library - 2.17</p>
<img alt="" src="feather.png" />
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<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&amp;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> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">apreq_param.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>Request parsing and parameter API.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="apreq_8h_source.html">apreq.h</a>&quot;</code><br />
<code>#include &quot;<a class="elRef" href="http://apr.apache.org/docs/apr-util/1.6/apr__buckets_8h.html">apr_buckets.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for apreq_param.h:</div>
<div class="dyncontent">
<div class="center"><img src="apreq__param_8h__incl.png" border="0" usemap="#ainclude_2apreq__param_8h" alt=""/></div>
<map name="ainclude_2apreq__param_8h" id="ainclude_2apreq__param_8h">
<area shape="rect" title="Request parsing and parameter API." alt="" coords="85,5,255,32"/>
<area shape="rect" href="apreq_8h.html" title="Main header file..." alt="" coords="77,80,148,107"/>
<area shape="rect" target="_parent" href="http://apr.apache.org/docs/apr-util/1.6/apr__buckets_8h.html.html" title=" " alt="" coords="173,80,285,107"/>
<area shape="rect" target="_parent" href="http://apr.apache.org/docs/apr/1.7/apr__tables_8h.html.html" title=" " alt="" coords="5,155,108,181"/>
<area shape="rect" title=" " alt="" coords="133,155,207,181"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="apreq__param_8h__dep__incl.png" border="0" usemap="#ainclude_2apreq__param_8hdep" alt=""/></div>
<map name="ainclude_2apreq__param_8hdep" id="ainclude_2apreq__param_8hdep">
<area shape="rect" title="Request parsing and parameter API." alt="" coords="96,5,267,32"/>
<area shape="rect" href="apreq__parser_8h.html" title="Request body parser API." alt="" coords="97,80,266,107"/>
<area shape="rect" href="apreq__module_8h.html" title="Module API." alt="" coords="92,155,271,181"/>
<area shape="rect" href="apreq__module__apache_8h_source.html" title=" " alt="" coords="5,229,168,271"/>
<area shape="rect" href="apreq__module__apache2_8h_source.html" title=" " alt="" coords="192,229,363,271"/>
</map>
</div>
</div>
<p><a href="apreq__param_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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapreq__param__t.html">apreq_param_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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:ad7b3956f0310dec4b970ad7135aeabd7"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structapreq__param__t.html">apreq_param_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#ad7b3956f0310dec4b970ad7135aeabd7">apreq_param_t</a></td></tr>
<tr class="separator:ad7b3956f0310dec4b970ad7135aeabd7"><td class="memSeparator" colspan="2">&#160;</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:af407c2ab726bc8bc34a1b1924a4f327a"><td class="memItemLeft" align="right" valign="top">static APR_INLINE unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#af407c2ab726bc8bc34a1b1924a4f327a">apreq_param_is_tainted</a> (const <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *p)</td></tr>
<tr class="separator:af407c2ab726bc8bc34a1b1924a4f327a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a967919466da31283c6d668c58fe5223c"><td class="memItemLeft" align="right" valign="top">static APR_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#a967919466da31283c6d668c58fe5223c">apreq_param_tainted_on</a> (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> *p)</td></tr>
<tr class="separator:a967919466da31283c6d668c58fe5223c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae76641d443483db5274624f948e1c347"><td class="memItemLeft" align="right" valign="top">static APR_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#ae76641d443483db5274624f948e1c347">apreq_param_tainted_off</a> (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> *p)</td></tr>
<tr class="separator:ae76641d443483db5274624f948e1c347"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe765ec55aebc8409ddd6d3db44ff917"><td class="memItemLeft" align="right" valign="top">static APR_INLINE <a class="el" href="apreq_8h.html#a6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#abe765ec55aebc8409ddd6d3db44ff917">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#a6607dfa756796989c15014870b48c8cd">apreq_charset_t</a> c)</td></tr>
<tr class="separator:abe765ec55aebc8409ddd6d3db44ff917"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe2a7a47df83a5667fe2834bfc03f15a"><td class="memItemLeft" align="right" valign="top">static APR_INLINE <a class="el" href="apreq_8h.html#a6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#abe2a7a47df83a5667fe2834bfc03f15a">apreq_param_charset_get</a> (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> *p)</td></tr>
<tr class="separator:abe2a7a47df83a5667fe2834bfc03f15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a121453693ef7c6af821ae723b6dbe34b"><td class="memItemLeft" align="right" valign="top">static APR_INLINE <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#a121453693ef7c6af821ae723b6dbe34b">apreq_value_to_param</a> (const char *val)</td></tr>
<tr class="separator:a121453693ef7c6af821ae723b6dbe34b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25c915d3d0fd1694d2c538f108646560"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#a25c915d3d0fd1694d2c538f108646560">apreq_param_make</a> (<a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const char *name, const apr_size_t nlen, const char *val, const apr_size_t vlen)</td></tr>
<tr class="separator:a25c915d3d0fd1694d2c538f108646560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea075c59169992492f6f5c40b9b8a70"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#aeea075c59169992492f6f5c40b9b8a70">apreq_param_decode</a> (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> **param, <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool, const char *word, apr_size_t nlen, apr_size_t vlen)</td></tr>
<tr class="separator:aeea075c59169992492f6f5c40b9b8a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b8b032f9d2ae8e0a6e95b6dd95b5aa9"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#a4b8b032f9d2ae8e0a6e95b6dd95b5aa9">apreq_param_encode</a> (<a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool, const <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *param)</td></tr>
<tr class="separator:a4b8b032f9d2ae8e0a6e95b6dd95b5aa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aa638519951d85d1faf7bf6ba986226"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#a0aa638519951d85d1faf7bf6ba986226">apreq_parse_query_string</a> (<a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool, <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *t, const char *qs)</td></tr>
<tr class="separator:a0aa638519951d85d1faf7bf6ba986226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76c7e698fd45f3f3e07db60fcba15e52"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/structapr__array__header__t.html">apr_array_header_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#a76c7e698fd45f3f3e07db60fcba15e52">apreq_params_as_array</a> (<a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *t, const char *key)</td></tr>
<tr class="separator:a76c7e698fd45f3f3e07db60fcba15e52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f1db12120bb2307f5e33186f094b0d6"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#a0f1db12120bb2307f5e33186f094b0d6">apreq_params_as_string</a> (<a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *t, const char *key, <a class="el" href="apreq_8h.html#ac3784c04255e92629350505d35b0473e">apreq_join_t</a> mode)</td></tr>
<tr class="separator:a0f1db12120bb2307f5e33186f094b0d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae449c4a1890767d1e9a50c78ea42769c"><td class="memItemLeft" align="right" valign="top">const <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#ae449c4a1890767d1e9a50c78ea42769c">apreq_uploads</a> (const <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *body, <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr>
<tr class="separator:ae449c4a1890767d1e9a50c78ea42769c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1be07e7c4c8a687203ccc0d38ec3aedd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__param_8h.html#a1be07e7c4c8a687203ccc0d38ec3aedd">apreq_upload</a> (const <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *body, const char *name)</td></tr>
<tr class="separator:a1be07e7c4c8a687203ccc0d38ec3aedd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Request parsing and parameter API. </p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="ad7b3956f0310dec4b970ad7135aeabd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7b3956f0310dec4b970ad7135aeabd7">&#9670;&nbsp;</a></span>apreq_param_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structapreq__param__t.html">apreq_param_t</a> <a class="el" href="structapreq__param__t.html">apreq_param_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Common data structure for params and file uploads </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="abe2a7a47df83a5667fe2834bfc03f15a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe2a7a47df83a5667fe2834bfc03f15a">&#9670;&nbsp;</a></span>apreq_param_charset_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="apreq_8h.html#a6607dfa756796989c15014870b48c8cd">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> *&#160;</td>
<td class="paramname"><em>p</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>Gets the character encoding for this parameter. </p>
</div>
</div>
<a id="abe765ec55aebc8409ddd6d3db44ff917"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe765ec55aebc8409ddd6d3db44ff917">&#9670;&nbsp;</a></span>apreq_param_charset_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 <a class="el" href="apreq_8h.html#a6607dfa756796989c15014870b48c8cd">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> *&#160;</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#a6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>&#160;</td>
<td class="paramname"><em>c</em>&#160;</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>Sets the character encoding for this parameter. </p>
</div>
</div>
<a id="aeea075c59169992492f6f5c40b9b8a70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeea075c59169992492f6f5c40b9b8a70">&#9670;&nbsp;</a></span>apreq_param_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">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> **&#160;</td>
<td class="paramname"><em>param</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>word</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_size_t&#160;</td>
<td class="paramname"><em>nlen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_size_t&#160;</td>
<td class="paramname"><em>vlen</em>&#160;</td>
</tr>
<tr>
<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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">param</td><td>points to the decoded parameter on success </td></tr>
<tr><td class="paramname">pool</td><td>Pool from which the param is allocated. </td></tr>
<tr><td class="paramname">word</td><td>Start of the name=value pair. </td></tr>
<tr><td class="paramname">nlen</td><td>Length of urlencoded name. </td></tr>
<tr><td class="paramname">vlen</td><td>Length of urlencoded value.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS on success. </dd>
<dd>
<a class="el" href="apreq__error_8h.html#a73a69e21acc2cf849310a421ab43d2ba">APREQ_ERROR_BADSEQ</a> or <a class="el" href="apreq__error_8h.html#a04b6a01738a1ee7fd1ecc79d256e721f">APREQ_ERROR_BADCHAR</a> on malformed input.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>Unless vlen == 0, this function assumes there is exactly one character ('=') which separates the pair. </dd></dl>
</div>
</div>
<a id="a4b8b032f9d2ae8e0a6e95b6dd95b5aa9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b8b032f9d2ae8e0a6e95b6dd95b5aa9">&#9670;&nbsp;</a></span>apreq_param_encode()</h2>
<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" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&#160;</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> *&#160;</td>
<td class="paramname"><em>param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Url-encodes the param into a name-value pair. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>Pool which allocates the returned string. </td></tr>
<tr><td class="paramname">param</td><td>Param to encode. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>name-value pair representing the param. </dd></dl>
</div>
</div>
<a id="af407c2ab726bc8bc34a1b1924a4f327a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af407c2ab726bc8bc34a1b1924a4f327a">&#9670;&nbsp;</a></span>apreq_param_is_tainted()</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_param_is_tainted </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&#160;</td>
<td class="paramname"><em>p</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">
<dl class="section return"><dt>Returns</dt><dd>1 if the taint flag is set, 0 otherwise. </dd></dl>
</div>
</div>
<a id="a25c915d3d0fd1694d2c538f108646560"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25c915d3d0fd1694d2c538f108646560">&#9670;&nbsp;</a></span>apreq_param_make()</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_make </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&#160;</td>
<td class="paramname"><em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const apr_size_t&#160;</td>
<td class="paramname"><em>nlen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>val</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const apr_size_t&#160;</td>
<td class="paramname"><em>vlen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>creates a param from name/value information </p>
</div>
</div>
<a id="ae76641d443483db5274624f948e1c347"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae76641d443483db5274624f948e1c347">&#9670;&nbsp;</a></span>apreq_param_tainted_off()</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 void apreq_param_tainted_off </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&#160;</td>
<td class="paramname"><em>p</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>Turns off the taint flag. </p>
</div>
</div>
<a id="a967919466da31283c6d668c58fe5223c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a967919466da31283c6d668c58fe5223c">&#9670;&nbsp;</a></span>apreq_param_tainted_on()</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 void apreq_param_tainted_on </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&#160;</td>
<td class="paramname"><em>p</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>Sets the tainted flag. </p>
</div>
</div>
<a id="a76c7e698fd45f3f3e07db60fcba15e52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76c7e698fd45f3f3e07db60fcba15e52">&#9670;&nbsp;</a></span>apreq_params_as_array()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/structapr__array__header__t.html">apr_array_header_t</a>* apreq_params_as_array </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&#160;</td>
<td class="paramname"><em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&#160;</td>
<td class="paramname"><em>t</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em>&#160;</td>
</tr>
<tr>
<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. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">p</td><td>Allocates the returned array. </td></tr>
<tr><td class="paramname">t</td><td>the parameter table returned by <a class="el" href="apreq__module_8h.html#ade74830e449fa5bb24694ffc3b8374ca">apreq_args()</a>, <a class="el" href="apreq__module_8h.html#ae928689622d094025a8efb8c6c17d680">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#a0dff48fd4e83399a07853abe9d67c251">apreq_params()</a> </td></tr>
<tr><td class="paramname">key</td><td>Null-terminated search key, case insensitive. key==NULL fetches all parameters. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>an array of apreq_param_t* (pointers) </dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>Also parses the request if necessary. </dd></dl>
</div>
</div>
<a id="a0f1db12120bb2307f5e33186f094b0d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f1db12120bb2307f5e33186f094b0d6">&#9670;&nbsp;</a></span>apreq_params_as_string()</h2>
<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" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&#160;</td>
<td class="paramname"><em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&#160;</td>
<td class="paramname"><em>t</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</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#ac3784c04255e92629350505d35b0473e">apreq_join_t</a>&#160;</td>
<td class="paramname"><em>mode</em>&#160;</td>
</tr>
<tr>
<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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">p</td><td>Allocates the return string. </td></tr>
<tr><td class="paramname">t</td><td>the parameter table returned by <a class="el" href="apreq__module_8h.html#ade74830e449fa5bb24694ffc3b8374ca">apreq_args()</a>, <a class="el" href="apreq__module_8h.html#ae928689622d094025a8efb8c6c17d680">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#a0dff48fd4e83399a07853abe9d67c251">apreq_params()</a> </td></tr>
<tr><td class="paramname">key</td><td>Null-terminated parameter name, case insensitive. key==NULL fetches all values. </td></tr>
<tr><td class="paramname">mode</td><td>Join type- see <a class="el" href="apreq__util_8h.html#a1aa668dc806fce4bd0fef348d1601930">apreq_join()</a>. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the joined string or NULL on error </dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>Also parses the request if necessary. </dd></dl>
</div>
</div>
<a id="a0aa638519951d85d1faf7bf6ba986226"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0aa638519951d85d1faf7bf6ba986226">&#9670;&nbsp;</a></span>apreq_parse_query_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apreq_parse_query_string </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&#160;</td>
<td class="paramname"><em>t</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>qs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse a url-encoded string into a param table. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>pool used to allocate the param data. </td></tr>
<tr><td class="paramname">t</td><td>table to which the params are added. </td></tr>
<tr><td class="paramname">qs</td><td>Query string to url-decode. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS if successful, error otherwise. </dd></dl>
<dl class="section remark"><dt>Remarks</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>
<a id="a1be07e7c4c8a687203ccc0d38ec3aedd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1be07e7c4c8a687203ccc0d38ec3aedd">&#9670;&nbsp;</a></span>apreq_upload()</h2>
<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" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&#160;</td>
<td class="paramname"><em>body</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<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. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">body</td><td>parameter table returned by <a class="el" href="apreq__module_8h.html#ae928689622d094025a8efb8c6c17d680">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#a0dff48fd4e83399a07853abe9d67c251">apreq_params()</a> </td></tr>
<tr><td class="paramname">name</td><td>Parameter name. key == NULL returns first upload. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Corresponding upload, NULL if none found. </dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>Will parse the request as necessary. </dd></dl>
</div>
</div>
<a id="ae449c4a1890767d1e9a50c78ea42769c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae449c4a1890767d1e9a50c78ea42769c">&#9670;&nbsp;</a></span>apreq_uploads()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a>* apreq_uploads </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__tables.html#gad7ea82d6608a4a633fc3775694ab71e4">apr_table_t</a> *&#160;</td>
<td class="paramname"><em>body</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://apr.apache.org/docs/apr/1.7/group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&#160;</td>
<td class="paramname"><em>pool</em>&#160;</td>
</tr>
<tr>
<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. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">body</td><td>parameter table returned by <a class="el" href="apreq__module_8h.html#ae928689622d094025a8efb8c6c17d680">apreq_body()</a> or <a class="el" href="apreq__module_8h.html#a0dff48fd4e83399a07853abe9d67c251">apreq_params()</a> </td></tr>
<tr><td class="paramname">pool</td><td>Pool which allocates the table struct. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Upload table. </dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>Will parse the request if necessary. </dd></dl>
</div>
</div>
<a id="a121453693ef7c6af821ae723b6dbe34b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a121453693ef7c6af821ae723b6dbe34b">&#9670;&nbsp;</a></span>apreq_value_to_param()</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_value_to_param </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>val</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>Upgrades args and body table values to <a class="el" href="structapreq__param__t.html">apreq_param_t</a> structs. </p>
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<hr class="footer"/>
<table class="footer">
<td>
<address class="footer_left"><small>
Copyright &copy; 2003-2022 <a href="https://www.apache.org">The Apache Software Foundation</a>.<br/>
See <a href="apreq_license.html">LICENSE</a>.
</small></address>
</td>
<td>
<address class="footer"><small>
Generated on Sat Sep 3 2022 17:23:06 for libapreq2 by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</td>
</table>
</body>
</html>