<html> <head> <link rel="stylesheet" type="text/css" href="dox.css" /> <title>libapreq2-2.13: libapreq2: include/apreq_param.h Source File</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.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</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="examples.html"><span>Examples</span></a></li> </ul> </div> <h1>include/apreq_param.h</h1><a href="apreq__param_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment">** Licensed to the Apache Software Foundation (ASF) under one or more</span> <a name="l00003"></a>00003 <span class="comment">** contributor license agreements. See the NOTICE file distributed with</span> <a name="l00004"></a>00004 <span class="comment">** this work for additional information regarding copyright ownership.</span> <a name="l00005"></a>00005 <span class="comment">** The ASF licenses this file to You under the Apache License, Version 2.0</span> <a name="l00006"></a>00006 <span class="comment">** (the "License"); you may not use this file except in compliance with</span> <a name="l00007"></a>00007 <span class="comment">** the License. You may obtain a copy of the License at</span> <a name="l00008"></a>00008 <span class="comment">**</span> <a name="l00009"></a>00009 <span class="comment">** http://www.apache.org/licenses/LICENSE-2.0</span> <a name="l00010"></a>00010 <span class="comment">**</span> <a name="l00011"></a>00011 <span class="comment">** Unless required by applicable law or agreed to in writing, software</span> <a name="l00012"></a>00012 <span class="comment">** distributed under the License is distributed on an "AS IS" BASIS,</span> <a name="l00013"></a>00013 <span class="comment">** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> <a name="l00014"></a>00014 <span class="comment">** See the License for the specific language governing permissions and</span> <a name="l00015"></a>00015 <span class="comment">** limitations under the License.</span> <a name="l00016"></a>00016 <span class="comment">*/</span> <a name="l00017"></a>00017 <a name="l00018"></a>00018 <span class="preprocessor">#ifndef APREQ_PARAM_H</span> <a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_PARAM_H</span> <a name="l00020"></a>00020 <span class="preprocessor"></span> <a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="apreq_8h.html" title="Main header file...Define the generic APREQ_ macros and common data structures.">apreq.h</a>"</span> <a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="codeRef" 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>"</span> <a name="l00023"></a>00023 <a name="l00024"></a>00024 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { <a name="l00026"></a>00026 <span class="preprocessor">#endif</span> <a name="l00027"></a>00027 <span class="preprocessor"></span> <a name="l00028"></a>00028 <a name="l00037"></a><a class="code" href="structapreq__param__t.html">00037</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structapreq__param__t.html">apreq_param_t</a> { <a name="l00038"></a><a class="code" href="structapreq__param__t.html#bb8ddaeb79c4d96691289520a2a4777f">00038</a> <a class="codeRef" 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> *<a class="code" href="structapreq__param__t.html#bb8ddaeb79c4d96691289520a2a4777f">info</a>; <a name="l00039"></a><a class="code" href="structapreq__param__t.html#03674c98f355545deeb3fcbe109d8c9a">00039</a> <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *<a class="code" href="structapreq__param__t.html#03674c98f355545deeb3fcbe109d8c9a">upload</a>; <a name="l00040"></a><a class="code" href="structapreq__param__t.html#802bd45ab5afd0784d730e0dbb01aa71">00040</a> <span class="keywordtype">unsigned</span> <a class="code" href="structapreq__param__t.html#802bd45ab5afd0784d730e0dbb01aa71">flags</a>; <a name="l00041"></a><a class="code" href="structapreq__param__t.html#f710878750c677daa9cd61868434d67f">00041</a> <span class="keyword">const</span> <a class="code" href="structapreq__value__t.html" title="libapreq&#39;s pre-extensible string type">apreq_value_t</a> <a class="code" href="structapreq__param__t.html#f710878750c677daa9cd61868434d67f">v</a>; <a name="l00042"></a>00042 } <a class="code" href="structapreq__param__t.html">apreq_param_t</a>; <a name="l00043"></a>00043 <a name="l00044"></a>00044 <a name="l00046"></a>00046 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gada0f3e7bf27ea51795c2c27c20aee84">APR_INLINE</a> <a name="l00047"></a><a class="code" href="apreq__param_8h.html#f407c2ab726bc8bc34a1b1924a4f327a">00047</a> <span class="keywordtype">unsigned</span> <a class="code" href="apreq__param_8h.html#f407c2ab726bc8bc34a1b1924a4f327a">apreq_param_is_tainted</a>(<span class="keyword">const</span> <a class="code" href="structapreq__param__t.html">apreq_param_t</a> *p) { <a name="l00048"></a>00048 <span class="keywordflow">return</span> <a class="code" href="apreq_8h.html#07141b4d0c7daa6d5aba5ff33d52a31f">APREQ_FLAGS_GET</a>(p-><a class="code" href="structapreq__param__t.html#802bd45ab5afd0784d730e0dbb01aa71">flags</a>, APREQ_TAINTED); <a name="l00049"></a>00049 } <a name="l00050"></a>00050 <a name="l00052"></a>00052 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gada0f3e7bf27ea51795c2c27c20aee84">APR_INLINE</a> <a name="l00053"></a><a class="code" href="apreq__param_8h.html#967919466da31283c6d668c58fe5223c">00053</a> <span class="keywordtype">void</span> <a class="code" href="apreq__param_8h.html#967919466da31283c6d668c58fe5223c">apreq_param_tainted_on</a>(<a class="code" href="structapreq__param__t.html">apreq_param_t</a> *p) { <a name="l00054"></a>00054 <a class="code" href="apreq_8h.html#df8584e758a62fe0a79023821c359222">APREQ_FLAGS_ON</a>(p-><a class="code" href="structapreq__param__t.html#802bd45ab5afd0784d730e0dbb01aa71">flags</a>, APREQ_TAINTED); <a name="l00055"></a>00055 } <a name="l00056"></a>00056 <a name="l00058"></a>00058 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gada0f3e7bf27ea51795c2c27c20aee84">APR_INLINE</a> <a name="l00059"></a><a class="code" href="apreq__param_8h.html#e76641d443483db5274624f948e1c347">00059</a> <span class="keywordtype">void</span> <a class="code" href="apreq__param_8h.html#e76641d443483db5274624f948e1c347">apreq_param_tainted_off</a>(<a class="code" href="structapreq__param__t.html">apreq_param_t</a> *p) { <a name="l00060"></a>00060 <a class="code" href="apreq_8h.html#5bcc4e81747b13b7bfbb946648453f9e">APREQ_FLAGS_OFF</a>(p-><a class="code" href="structapreq__param__t.html#802bd45ab5afd0784d730e0dbb01aa71">flags</a>, APREQ_TAINTED); <a name="l00061"></a>00061 } <a name="l00062"></a>00062 <a name="l00064"></a>00064 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gada0f3e7bf27ea51795c2c27c20aee84">APR_INLINE</a> <a name="l00065"></a><a class="code" href="apreq__param_8h.html#be765ec55aebc8409ddd6d3db44ff917">00065</a> <a class="code" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a> <a class="code" href="apreq__param_8h.html#be765ec55aebc8409ddd6d3db44ff917">apreq_param_charset_set</a>(<a class="code" href="structapreq__param__t.html">apreq_param_t</a> *p, <a class="code" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a> c) { <a name="l00066"></a>00066 <a class="code" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a> old = (<a class="code" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>) <a name="l00067"></a>00067 <a class="code" href="apreq_8h.html#07141b4d0c7daa6d5aba5ff33d52a31f">APREQ_FLAGS_GET</a>(p-><a class="code" href="structapreq__param__t.html#802bd45ab5afd0784d730e0dbb01aa71">flags</a>, APREQ_CHARSET); <a name="l00068"></a>00068 <a class="code" href="apreq_8h.html#817a3e293b1ae4210ee68871d6b67e1f">APREQ_FLAGS_SET</a>(p-><a class="code" href="structapreq__param__t.html#802bd45ab5afd0784d730e0dbb01aa71">flags</a>, APREQ_CHARSET, c); <a name="l00069"></a>00069 <span class="keywordflow">return</span> old; <a name="l00070"></a>00070 } <a name="l00071"></a>00071 <a name="l00073"></a>00073 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gada0f3e7bf27ea51795c2c27c20aee84">APR_INLINE</a> <a name="l00074"></a><a class="code" href="apreq__param_8h.html#be2a7a47df83a5667fe2834bfc03f15a">00074</a> <a class="code" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a> <a class="code" href="apreq__param_8h.html#be2a7a47df83a5667fe2834bfc03f15a">apreq_param_charset_get</a>(<a class="code" href="structapreq__param__t.html">apreq_param_t</a> *p) { <a name="l00075"></a>00075 <span class="keywordflow">return</span> (<a class="code" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>)<a class="code" href="apreq_8h.html#07141b4d0c7daa6d5aba5ff33d52a31f">APREQ_FLAGS_GET</a>(p-><a class="code" href="structapreq__param__t.html#802bd45ab5afd0784d730e0dbb01aa71">flags</a>, APREQ_CHARSET); <a name="l00076"></a>00076 } <a name="l00077"></a>00077 <a name="l00078"></a>00078 <a name="l00080"></a>00080 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gada0f3e7bf27ea51795c2c27c20aee84">APR_INLINE</a> <a name="l00081"></a><a class="code" href="apreq__param_8h.html#121453693ef7c6af821ae723b6dbe34b">00081</a> <a class="code" href="structapreq__param__t.html">apreq_param_t</a> *<a class="code" href="apreq__param_8h.html#121453693ef7c6af821ae723b6dbe34b">apreq_value_to_param</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *val) <a name="l00082"></a>00082 { <a name="l00083"></a>00083 <span class="keyword">union </span>{ <span class="keyword">const</span> <span class="keywordtype">char</span> *in; <span class="keywordtype">char</span> *out; } deconst; <a name="l00084"></a>00084 <a name="l00085"></a>00085 deconst.in = val; <a name="l00086"></a>00086 <span class="keywordflow">return</span> <a class="code" href="apreq_8h.html#6355f965e8eabf742537bfd8da534376">apreq_attr_to_type</a>(<a class="code" href="structapreq__param__t.html">apreq_param_t</a>, v, <a name="l00087"></a>00087 <a class="code" href="apreq_8h.html#6355f965e8eabf742537bfd8da534376">apreq_attr_to_type</a>(<a class="code" href="structapreq__value__t.html" title="libapreq&#39;s pre-extensible string type">apreq_value_t</a>, data, deconst.out)); <a name="l00088"></a>00088 } <a name="l00089"></a>00089 <a name="l00090"></a>00090 <a name="l00091"></a>00091 <a name="l00093"></a>00093 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="code" href="structapreq__param__t.html">apreq_param_t</a> *) <a class="code" href="apreq__param_8h.html#25c915d3d0fd1694d2c538f108646560">apreq_param_make</a>(<a class="codeRef" 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, <a name="l00094"></a>00094 const <span class="keywordtype">char</span> *name, <a name="l00095"></a>00095 const <a class="codeRef" 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 name="l00096"></a>00096 const <span class="keywordtype">char</span> *val, <a name="l00097"></a>00097 const <a class="codeRef" 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); <a name="l00098"></a>00098 <a name="l00115"></a>00115 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" 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>) <a class="code" href="apreq__param_8h.html#eea075c59169992492f6f5c40b9b8a70">apreq_param_decode</a>(<a class="code" href="structapreq__param__t.html">apreq_param_t</a> **param, <a name="l00116"></a>00116 <a class="codeRef" 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 name="l00117"></a>00117 const <span class="keywordtype">char</span> *word, <a name="l00118"></a>00118 <a class="codeRef" 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 name="l00119"></a>00119 <a class="codeRef" 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); <a name="l00120"></a>00120 <a name="l00127"></a>00127 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<span class="keywordtype">char</span> *) <a class="code" href="apreq__param_8h.html#4b8b032f9d2ae8e0a6e95b6dd95b5aa9">apreq_param_encode</a>(<a class="codeRef" 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 name="l00128"></a>00128 const <a class="code" href="structapreq__param__t.html">apreq_param_t</a> *param); <a name="l00129"></a>00129 <a name="l00141"></a>00141 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" 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>) <a class="code" href="apreq__param_8h.html#0aa638519951d85d1faf7bf6ba986226">apreq_parse_query_string</a>(<a class="codeRef" 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 name="l00142"></a>00142 <a class="codeRef" 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, <a name="l00143"></a>00143 const <span class="keywordtype">char</span> *qs); <a name="l00144"></a>00144 <a name="l00145"></a>00145 <a name="l00157"></a>00157 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" 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> *) <a class="code" href="apreq__param_8h.html#76c7e698fd45f3f3e07db60fcba15e52">apreq_params_as_array</a>(<a class="codeRef" 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, <a name="l00158"></a>00158 const <a class="codeRef" 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, <a name="l00159"></a>00159 const <span class="keywordtype">char</span> *key); <a name="l00160"></a>00160 <a name="l00175"></a>00175 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(const <span class="keywordtype">char</span> *) <a class="code" href="apreq__param_8h.html#0f1db12120bb2307f5e33186f094b0d6">apreq_params_as_string</a>(<a class="codeRef" 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, <a name="l00176"></a>00176 const <a class="codeRef" 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, <a name="l00177"></a>00177 const <span class="keywordtype">char</span> *key, <a name="l00178"></a>00178 <a class="code" href="apreq_8h.html#c3784c04255e92629350505d35b0473e">apreq_join_t</a> mode); <a name="l00179"></a>00179 <a name="l00187"></a>00187 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(const <a class="codeRef" 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> *) <a class="code" href="apreq__param_8h.html#e449c4a1890767d1e9a50c78ea42769c">apreq_uploads</a>(const <a class="codeRef" 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 name="l00188"></a>00188 <a class="codeRef" 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 name="l00189"></a>00189 <a name="l00198"></a>00198 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(const <a class="code" href="structapreq__param__t.html">apreq_param_t</a> *) <a class="code" href="apreq__param_8h.html#1be07e7c4c8a687203ccc0d38ec3aedd">apreq_upload</a>(const <a class="codeRef" 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 name="l00199"></a>00199 const <span class="keywordtype">char</span> *name); <a name="l00200"></a>00200 <a name="l00201"></a>00201 <a name="l00202"></a>00202 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00203"></a>00203 <span class="preprocessor"></span>} <a name="l00204"></a>00204 <span class="preprocessor">#endif</span> <a name="l00205"></a>00205 <span class="preprocessor"></span> <a name="l00206"></a>00206 <span class="preprocessor">#endif </span><span class="comment">/* APREQ_PARAM_H */</span> <a name="l00207"></a>00207 <a name="l00208"></a>00208 <a name="l00209"></a>00209 </pre></div></div> <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.6 on 25 Nov 2010</span> </p> </div> </body> </html>