You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by bu...@apache.org on 2012/05/06 16:18:10 UTC

svn commit: r816029 [7/23] - in /websites/staging/httpd/trunk/content: ./ apreq/ apreq/docs/ apreq/docs/libapreq2/ contributors/ css/ dev/ dev/images/ dev/whiteboard/ docs-project/ docs/ images/ info/ info/css-security/ library/ mod_fcgid/ mod_ftp/ mod...

Added: websites/staging/httpd/trunk/content/apreq/docs/libapreq2/apreq__parser_8h.html
==============================================================================
--- websites/staging/httpd/trunk/content/apreq/docs/libapreq2/apreq__parser_8h.html (added)
+++ websites/staging/httpd/trunk/content/apreq/docs/libapreq2/apreq__parser_8h.html Sun May  6 14:18:02 2012
@@ -0,0 +1,711 @@
+<html>
+<head>
+  <link rel="stylesheet" type="text/css" href="dox.css" />
+  <title>libapreq2-2.13: libapreq2: include/apreq_parser.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_parser.h File Reference</h1>Request body parser API. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;<a class="el" href="apreq__param_8h-source.html">apreq_param.h</a>&quot;</code><br>
+
+<p>
+<a href="apreq__parser_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__hook__t.html">apreq_hook_t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapreq__parser__t.html">apreq_parser_t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapreq__hook__find__param__ctx__t.html">apreq_hook_find_param_ctx_t</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#f39d2adfdd09c2fe0c8c6a3c1ea1437e">APREQ_PARSER_ARGS</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#61c8b1c319752bde3cc35e98247707bf">APREQ_HOOK_ARGS</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#855c07ea7fc9e240c8620d29eea4a019">APREQ_DECLARE_PARSER</a>(f)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#baa196498d8cf959e07b4c84d5264f7f">APREQ_DECLARE_HOOK</a>(f)</td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#2c35885676cec315fc7dea19a6d1d870">apreq_hook_t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#de5e15a40b9e1ec626ee56c494c7cdbb">apreq_parser_t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <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__parser_8h.html#98c4415da3f11cf5ced76bd3c6540e65">apreq_parser_function_t</a> )(APREQ_PARSER_ARGS)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <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__parser_8h.html#6841a882a8a33203233506bd6754585a">apreq_hook_function_t</a> )(APREQ_HOOK_ARGS)</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <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__parser_8h.html#3c00aa3a31daba2c06110d5fc8edf1fe">apreq_parser_run</a> (struct <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *psr, <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, <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/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE <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__parser_8h.html#14d03a414fc4a0663af55fbb1f532bab">apreq_hook_run</a> (struct <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *h, <a class="el" href="structapreq__param__t.html">apreq_param_t</a> *param, <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/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#6fd1ffe554941172fce54217c35f9db3">APREQ_DECLARE_PARSER</a> (apreq_parse_headers)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#ec4b20f646ea57ad84d6a3391c548838">APREQ_DECLARE_PARSER</a> (apreq_parse_urlencoded)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#3bb6d9580fcbaf11cef33072ed3b14cb">APREQ_DECLARE_PARSER</a> (apreq_parse_multipart)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#2833122bb6995f056a96df80a9f5a45f">APREQ_DECLARE_PARSER</a> (apreq_parse_generic)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#dda61d873abf1c0ed1857bda405baa49">APREQ_DECLARE_HOOK</a> (apreq_hook_apr_xml_parser)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#562191171c5df0a83360435d0fe1a667">apreq_parser_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> *pool, <a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#g9a30babfeb6e290db124d8f9b69e49e4">apr_bucket_alloc_t</a> *ba, const char *content_type, <a class="el" href="apreq__parser_8h.html#98c4415da3f11cf5ced76bd3c6540e65">apreq_parser_function_t</a> pfn, <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#gaa72b2253f
 6f3032cefea5712a27540e">apr_size_t</a> brigade_limit, const char *temp_dir, <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *hook, void *ctx)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#3cf15457eea6991b36f47f6139ab163c">apreq_hook_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> *pool, <a class="el" href="apreq__parser_8h.html#6841a882a8a33203233506bd6754585a">apreq_hook_function_t</a> hook, <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *next, void *ctx)</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__parser_8h.html#97972c08b20917465b745c8b8eec95ed">apreq_parser_add_hook</a> (<a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *p, <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *h)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="apreq__parser_8h.html#98c4415da3f11cf5ced76bd3c6540e65">apreq_parser_function_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#73013ecad087f14075d319a4a983dd82">apreq_parser</a> (const char *enctype)</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__parser_8h.html#595f05be3d241a5b339fd6ef948bfbc8">apreq_register_parser</a> (const char *enctype, <a class="el" href="apreq__parser_8h.html#98c4415da3f11cf5ced76bd3c6540e65">apreq_parser_function_t</a> pfn)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#162c74d59738663d7cb2109ee0b87c0a">APREQ_DECLARE_HOOK</a> (apreq_hook_disable_uploads)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#d169b0ac7b7b1a66d3df3ae66c96a16c">APREQ_DECLARE_HOOK</a> (apreq_hook_discard_brigade)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#5deeed0646b3d61cafe4eb5b6e40b16c">APREQ_DECLARE_HOOK</a> (apreq_hook_find_param)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Request body parser API. 
+<p>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="baa196498d8cf959e07b4c84d5264f7f"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_HOOK" ref="baa196498d8cf959e07b4c84d5264f7f" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define APREQ_DECLARE_HOOK          </td>
+          <td>(</td>
+          <td class="paramtype">f&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="apreq_8h.html#8a1e7333187fdbc476473ac72d2ff38b">APREQ_DECLARE_NONSTD</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>) \
+                                (f) (<a class="code" href="apreq__parser_8h.html#61c8b1c319752bde3cc35e98247707bf">APREQ_HOOK_ARGS</a>)
+</pre></div>Declares an API hook. 
+</div>
+</div><p>
+<a class="anchor" name="855c07ea7fc9e240c8620d29eea4a019"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_PARSER" ref="855c07ea7fc9e240c8620d29eea4a019" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define APREQ_DECLARE_PARSER          </td>
+          <td>(</td>
+          <td class="paramtype">f&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="apreq_8h.html#8a1e7333187fdbc476473ac72d2ff38b">APREQ_DECLARE_NONSTD</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>) \
+                                (f) (<a class="code" href="apreq__parser_8h.html#f39d2adfdd09c2fe0c8c6a3c1ea1437e">APREQ_PARSER_ARGS</a>)
+</pre></div>Declares a API parser. 
+</div>
+</div><p>
+<a class="anchor" name="61c8b1c319752bde3cc35e98247707bf"></a><!-- doxytag: member="apreq_parser.h::APREQ_HOOK_ARGS" ref="61c8b1c319752bde3cc35e98247707bf" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define APREQ_HOOK_ARGS          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="structapreq__hook__t.html">apreq_hook_t</a> *hook,         \
+                           <a class="code" href="structapreq__param__t.html">apreq_param_t</a> *param,       \
+                           <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> *bb
+</pre></div>Hook arguments 
+</div>
+</div><p>
+<a class="anchor" name="f39d2adfdd09c2fe0c8c6a3c1ea1437e"></a><!-- doxytag: member="apreq_parser.h::APREQ_PARSER_ARGS" ref="f39d2adfdd09c2fe0c8c6a3c1ea1437e" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define APREQ_PARSER_ARGS          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="structapreq__parser__t.html">apreq_parser_t</a> *parser,     \
+                           <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 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> *bb
+</pre></div>Parser arguments. 
+</div>
+</div><p>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="6841a882a8a33203233506bd6754585a"></a><!-- doxytag: member="apreq_parser.h::apreq_hook_function_t" ref="6841a882a8a33203233506bd6754585a" args=")(APREQ_HOOK_ARGS)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <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>(* <a class="el" href="apreq__parser_8h.html#6841a882a8a33203233506bd6754585a">apreq_hook_function_t</a>)(APREQ_HOOK_ARGS)          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+The callback function of a hook. See <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a>. 
+</div>
+</div><p>
+<a class="anchor" name="2c35885676cec315fc7dea19a6d1d870"></a><!-- doxytag: member="apreq_parser.h::apreq_hook_t" ref="2c35885676cec315fc7dea19a6d1d870" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+A hook is called by the parser whenever data arrives in a file upload parameter of the request body. You may associate any number of hooks with a parser instance with <a class="el" href="apreq__parser_8h.html#97972c08b20917465b745c8b8eec95ed">apreq_parser_add_hook()</a>. 
+</div>
+</div><p>
+<a class="anchor" name="98c4415da3f11cf5ced76bd3c6540e65"></a><!-- doxytag: member="apreq_parser.h::apreq_parser_function_t" ref="98c4415da3f11cf5ced76bd3c6540e65" args=")(APREQ_PARSER_ARGS)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <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>(* <a class="el" href="apreq__parser_8h.html#98c4415da3f11cf5ced76bd3c6540e65">apreq_parser_function_t</a>)(APREQ_PARSER_ARGS)          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+The callback function implementing a request body parser. 
+</div>
+</div><p>
+<a class="anchor" name="de5e15a40b9e1ec626ee56c494c7cdbb"></a><!-- doxytag: member="apreq_parser.h::apreq_parser_t" ref="de5e15a40b9e1ec626ee56c494c7cdbb" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+A request body parser instance. 
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="5deeed0646b3d61cafe4eb5b6e40b16c"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_HOOK" ref="5deeed0646b3d61cafe4eb5b6e40b16c" args="(apreq_hook_find_param)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APREQ_DECLARE_HOOK           </td>
+          <td>(</td>
+          <td class="paramtype">apreq_hook_find_param&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Special purpose utility for locating a parameter during parsing. The hook's ctx shoud be initialized to an <a class="el" href="structapreq__hook__find__param__ctx__t.html">apreq_hook_find_param_ctx_t</a> *, with the name attribute set to the sought parameter name, the param attribute set to NULL, and the prev attribute set to the address of the previous hook. The param attribute will be reassigned to the first param found, and once that happens this hook is immediately removed from the chain.<p>
+<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>When used, this should always be the first hook invoked, so add it manually with ctx-&gt;prev = &amp;parser-&gt;hook instead of using apreq_parser_add_hook. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d169b0ac7b7b1a66d3df3ae66c96a16c"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_HOOK" ref="d169b0ac7b7b1a66d3df3ae66c96a16c" args="(apreq_hook_discard_brigade)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APREQ_DECLARE_HOOK           </td>
+          <td>(</td>
+          <td class="paramtype">apreq_hook_discard_brigade&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calls apr_brigade_cleanup on the incoming brigade after passing the brigade to any subsequent hooks. 
+</div>
+</div><p>
+<a class="anchor" name="162c74d59738663d7cb2109ee0b87c0a"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_HOOK" ref="162c74d59738663d7cb2109ee0b87c0a" args="(apreq_hook_disable_uploads)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APREQ_DECLARE_HOOK           </td>
+          <td>(</td>
+          <td class="paramtype">apreq_hook_disable_uploads&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns APREQ_ERROR_GENERAL. Effectively disables mfd parser if a file-upload field is present. 
+</div>
+</div><p>
+<a class="anchor" name="dda61d873abf1c0ed1857bda405baa49"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_HOOK" ref="dda61d873abf1c0ed1857bda405baa49" args="(apreq_hook_apr_xml_parser)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APREQ_DECLARE_HOOK           </td>
+          <td>(</td>
+          <td class="paramtype">apreq_hook_apr_xml_parser&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+apr_xml_parser hook. It will parse until EOS appears. The parsed document isn't available until parsing has completed successfully. The hook's ctx pointer may be cast as (<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/structapr__xml__doc.html">apr_xml_doc</a> **) to retrieve the parsed document. 
+</div>
+</div><p>
+<a class="anchor" name="2833122bb6995f056a96df80a9f5a45f"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_PARSER" ref="2833122bb6995f056a96df80a9f5a45f" args="(apreq_parse_generic)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APREQ_DECLARE_PARSER           </td>
+          <td>(</td>
+          <td class="paramtype">apreq_parse_generic&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Generic parser. No table entries will be added to the req-&gt;body table by this parser. The parser creates a dummy <a class="el" href="structapreq__param__t.html">apreq_param_t</a> to pass to any configured hooks. If no hooks are configured, the dummy param's bb slot will contain a copy of the request body. It can be retrieved by casting the parser's ctx pointer to (<a class="el" href="structapreq__param__t.html">apreq_param_t</a> **). 
+</div>
+</div><p>
+<a class="anchor" name="3bb6d9580fcbaf11cef33072ed3b14cb"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_PARSER" ref="3bb6d9580fcbaf11cef33072ed3b14cb" args="(apreq_parse_multipart)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APREQ_DECLARE_PARSER           </td>
+          <td>(</td>
+          <td class="paramtype">apreq_parse_multipart&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+RFC 2388 multipart/form-data (and XForms 1.0 multipart/related) parser. It will reject any buckets representing preamble and postamble text (this is normal behavior, not an error condition). See <a class="el" href="apreq__parser_8h.html#3c00aa3a31daba2c06110d5fc8edf1fe">apreq_parser_run()</a> for more info on rejected data. 
+</div>
+</div><p>
+<a class="anchor" name="ec4b20f646ea57ad84d6a3391c548838"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_PARSER" ref="ec4b20f646ea57ad84d6a3391c548838" args="(apreq_parse_urlencoded)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APREQ_DECLARE_PARSER           </td>
+          <td>(</td>
+          <td class="paramtype">apreq_parse_urlencoded&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+RFC 2396 application/x-www-form-urlencoded parser. 
+</div>
+</div><p>
+<a class="anchor" name="6fd1ffe554941172fce54217c35f9db3"></a><!-- doxytag: member="apreq_parser.h::APREQ_DECLARE_PARSER" ref="6fd1ffe554941172fce54217c35f9db3" args="(apreq_parse_headers)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APREQ_DECLARE_PARSER           </td>
+          <td>(</td>
+          <td class="paramtype">apreq_parse_headers&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+RFC 822 Header parser. It will reject all data after the first CRLF CRLF sequence (an empty line). See <a class="el" href="apreq__parser_8h.html#3c00aa3a31daba2c06110d5fc8edf1fe">apreq_parser_run()</a> for more info on rejected data. 
+</div>
+</div><p>
+<a class="anchor" name="3cf15457eea6991b36f47f6139ab163c"></a><!-- doxytag: member="apreq_parser.h::apreq_hook_make" ref="3cf15457eea6991b36f47f6139ab163c" args="(apr_pool_t *pool, apreq_hook_function_t hook, apreq_hook_t *next, void *ctx)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="structapreq__hook__t.html">apreq_hook_t</a>* apreq_hook_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>pool</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="apreq__parser_8h.html#6841a882a8a33203233506bd6754585a">apreq_hook_function_t</a>&nbsp;</td>
+          <td class="paramname"> <em>hook</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>next</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>ctx</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Construct a hook.<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>pool</em>&nbsp;</td><td>used to allocate the hook. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hook</em>&nbsp;</td><td>The hook function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>next</em>&nbsp;</td><td>List of other hooks for this hook to call on. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Hook's internal scratch pad. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>New hook. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="14d03a414fc4a0663af55fbb1f532bab"></a><!-- doxytag: member="apreq_parser.h::apreq_hook_run" ref="14d03a414fc4a0663af55fbb1f532bab" args="(struct apreq_hook_t *h, apreq_param_t *param, apr_bucket_brigade *bb)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static APR_INLINE <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_hook_run           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></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="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> *&nbsp;</td>
+          <td class="paramname"> <em>bb</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>
+Run the hook with the current parameter and the incoming bucket brigade. The hook may modify the brigade if necessary. Once all hooks have completed, the contents of the brigade will be added to the parameter's bb attribute. <dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS on success. All other values represent errors. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="73013ecad087f14075d319a4a983dd82"></a><!-- doxytag: member="apreq_parser.h::apreq_parser" ref="73013ecad087f14075d319a4a983dd82" args="(const char *enctype)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="apreq__parser_8h.html#98c4415da3f11cf5ced76bd3c6540e65">apreq_parser_function_t</a> apreq_parser           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>enctype</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fetch the default parser function associated with the given MIME type. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>enctype</em>&nbsp;</td><td>The desired enctype (can also be a full "Content-Type" header). </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The parser function, or NULL if the enctype is unrecognized. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="97972c08b20917465b745c8b8eec95ed"></a><!-- doxytag: member="apreq_parser.h::apreq_parser_add_hook" ref="97972c08b20917465b745c8b8eec95ed" args="(apreq_parser_t *p, apreq_hook_t *h)" -->
+<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_parser_add_hook           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structapreq__parser__t.html">apreq_parser_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="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a new hook to the end of the parser's hook list.<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>Parser. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Hook to append. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="562191171c5df0a83360435d0fe1a667"></a><!-- doxytag: member="apreq_parser.h::apreq_parser_make" ref="562191171c5df0a83360435d0fe1a667" args="(apr_pool_t *pool, apr_bucket_alloc_t *ba, const char *content_type, apreq_parser_function_t pfn, apr_size_t brigade_limit, const char *temp_dir, apreq_hook_t *hook, void *ctx)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="structapreq__parser__t.html">apreq_parser_t</a>* apreq_parser_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>pool</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#g9a30babfeb6e290db124d8f9b69e49e4">apr_bucket_alloc_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>ba</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>content_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="apreq__parser_8h.html#98c4415da3f11cf5ced76bd3c6540e65">apreq_parser_function_t</a>&nbsp;</td>
+          <td class="paramname"> <em>pfn</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>brigade_limit</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>temp_dir</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>hook</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>ctx</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Construct a parser.<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>pool</em>&nbsp;</td><td>Pool used to allocate the parser. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ba</em>&nbsp;</td><td>bucket allocator used to create bucket brigades </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>content_type</em>&nbsp;</td><td>Content-type that this parser can deal with. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pfn</em>&nbsp;</td><td>The parser function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>brigade_limit</em>&nbsp;</td><td>the maximum in-memory bytes a brigade may use </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>temp_dir</em>&nbsp;</td><td>the directory used by the parser for temporary files </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hook</em>&nbsp;</td><td>Hooks to associate this parser with. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Parser's internal scratch pad. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>New parser. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3c00aa3a31daba2c06110d5fc8edf1fe"></a><!-- doxytag: member="apreq_parser.h::apreq_parser_run" ref="3c00aa3a31daba2c06110d5fc8edf1fe" args="(struct apreq_parser_t *psr, apr_table_t *t, apr_bucket_brigade *bb)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static APR_INLINE <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_parser_run           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>psr</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"><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/structapr__bucket__brigade.html">apr_bucket_brigade</a> *&nbsp;</td>
+          <td class="paramname"> <em>bb</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>
+Parse the incoming brigade into a table. Parsers normally consume all the buckets of the brigade during parsing. However parsers may leave "rejected" data in the brigade, even during a successful parse, so callers may need to clean up the brigade themselves (in particular, rejected buckets should not be passed back to the parser again). <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>bb == NULL is valid: the parser should return its public status: APR_INCOMPLETE, APR_SUCCESS, or an error code. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="595f05be3d241a5b339fd6ef948bfbc8"></a><!-- doxytag: member="apreq_parser.h::apreq_register_parser" ref="595f05be3d241a5b339fd6ef948bfbc8" args="(const char *enctype, apreq_parser_function_t pfn)" -->
+<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_register_parser           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>enctype</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="apreq__parser_8h.html#98c4415da3f11cf5ced76bd3c6540e65">apreq_parser_function_t</a>&nbsp;</td>
+          <td class="paramname"> <em>pfn</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Register a new parsing function with a MIME enctype. Registered parsers are added to <a class="el" href="apreq__parser_8h.html#73013ecad087f14075d319a4a983dd82">apreq_parser()</a>'s internal lookup table.<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>enctype</em>&nbsp;</td><td>The MIME type. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pfn</em>&nbsp;</td><td>The function to use during parsing. Setting parser == NULL will remove an existing parser.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or error. </dd></dl>
+
+</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 3 Dec 2010</span>
+</p>
+</div>
+</body>
+</html>

Added: websites/staging/httpd/trunk/content/apreq/docs/libapreq2/apreq__util_8h-source.html
==============================================================================
--- websites/staging/httpd/trunk/content/apreq/docs/libapreq2/apreq__util_8h-source.html (added)
+++ websites/staging/httpd/trunk/content/apreq/docs/libapreq2/apreq__util_8h-source.html Sun May  6 14:18:02 2012
@@ -0,0 +1,202 @@
+<html>
+<head>
+  <link rel="stylesheet" type="text/css" href="dox.css" />
+  <title>libapreq2-2.13: libapreq2: include/apreq_util.h Source File</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>
+<h1>include/apreq_util.h</h1><a href="apreq__util_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_UTIL_H</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_UTIL_H</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/apr__file__io_8h.html">apr_file_io.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 <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="l00024"></a>00024 
+<a name="l00025"></a>00025 <span class="preprocessor">#ifdef  __cplusplus</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
+<a name="l00027"></a>00027 <span class="preprocessor">#endif</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00053"></a>00053 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<span class="keywordtype">char</span> *) <a class="code" href="apreq__util_8h.html#1aa668dc806fce4bd0fef348d1601930">apreq_join</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="l00054"></a>00054                                  const <span class="keywordtype">char</span> *sep,
+<a name="l00055"></a>00055                                  const <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> *arr,
+<a name="l00056"></a>00056                                  <a class="code" href="apreq_8h.html#c3784c04255e92629350505d35b0473e">apreq_join_t</a> mode);
+<a name="l00057"></a>00057 
+<a name="l00070"></a>00070 <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__platform.html#g215ebb88932bee220b766263ebbfe6fa">apr_ssize_t</a>) <a class="code" href="apreq__util_8h.html#c72c51ffe478faa804eaea5f68276dd8">apreq_index</a>(const <span class="keywordtype">char</span>* hay, <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> hlen,
+<a name="l00071"></a>00071                                        const <span class="keywordtype">char</span>* ndl, <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="l00072"></a>00072                                        const <a class="code" href="apreq_8h.html#590d7bfd9cd294f652d388c4f37fc8d5">apreq_match_t</a> type);
+<a name="l00073"></a>00073 
+<a name="l00086"></a>00086 <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__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#b4aa9bed839bb576444f464666e0bd85">apreq_quote</a>(<span class="keywordtype">char</span> *dest, const <span class="keywordtype">char</span> *src,
+<a name="l00087"></a>00087                                       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> slen);
+<a name="l00088"></a>00088 
+<a name="l00102"></a>00102 <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__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#fef8b7af9d36b0f7ec24e9d0f64a29a7">apreq_quote_once</a>(<span class="keywordtype">char</span> *dest, const <span class="keywordtype">char</span> *src,
+<a name="l00103"></a>00103                                            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> slen);
+<a name="l00104"></a>00104 
+<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__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#034ccdfdcf751be6c0f8c2a1d30c2ae6">apreq_encode</a>(<span class="keywordtype">char</span> *dest, const <span class="keywordtype">char</span> *src,
+<a name="l00116"></a>00116                                        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> slen);
+<a name="l00117"></a>00117 
+<a name="l00129"></a>00129 <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__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#801aa204656988ff4aa32cec6dd80e5a">apreq_cp1252_to_utf8</a>(<span class="keywordtype">char</span> *dest,
+<a name="l00130"></a>00130                                                const <span class="keywordtype">char</span> *src, <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> slen);
+<a name="l00131"></a>00131 
+<a name="l00143"></a>00143 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="code" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>) <a class="code" href="apreq__util_8h.html#e11e0b3e2304a2e8c30aaa464ea78037">apreq_charset_divine</a>(const <span class="keywordtype">char</span> *src,
+<a name="l00144"></a>00144                                                     <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> slen);
+<a name="l00145"></a>00145 
+<a name="l00166"></a>00166 <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__util_8h.html#3c1d46b8c0e7991ae1ced0178c2f4738">apreq_decode</a>(<span class="keywordtype">char</span> *dest, <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> *dlen,
+<a name="l00167"></a>00167                                          const <span class="keywordtype">char</span> *src, <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> slen);
+<a name="l00168"></a>00168 
+<a name="l00189"></a>00189 <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__util_8h.html#13a090a30a4d05353caabab92a67179d">apreq_decodev</a>(<span class="keywordtype">char</span> *dest, <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> *dlen,
+<a name="l00190"></a>00190                                           struct iovec *v, <span class="keywordtype">int</span> nelts);
+<a name="l00191"></a>00191 
+<a name="l00204"></a>00204 static APR_INLINE
+<a name="l00205"></a><a class="code" href="apreq__util_8h.html#785be2ceae273b0a7b2ffda223b2ebae">00205</a> <span class="keywordtype">char</span> *<a class="code" href="apreq__util_8h.html#785be2ceae273b0a7b2ffda223b2ebae">apreq_escape</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, const <span class="keywordtype">char</span> *src, 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> slen)
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207     <span class="keywordtype">char</span> *rv;
+<a name="l00208"></a>00208 
+<a name="l00209"></a>00209     <span class="keywordflow">if</span> (src == NULL)
+<a name="l00210"></a>00210         <span class="keywordflow">return</span> NULL;
+<a name="l00211"></a>00211 
+<a name="l00212"></a>00212     rv = (<span class="keywordtype">char</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__pools.html#g85f1e193c31d109affda72f9a92c6915">apr_palloc</a>(p, 3 * slen + 1);
+<a name="l00213"></a>00213     <a class="code" href="apreq__util_8h.html#034ccdfdcf751be6c0f8c2a1d30c2ae6">apreq_encode</a>(rv, src, slen);
+<a name="l00214"></a>00214     <span class="keywordflow">return</span> rv;
+<a name="l00215"></a>00215 }
+<a name="l00216"></a>00216 
+<a name="l00224"></a><a class="code" href="apreq__util_8h.html#979c0af9322189581bde4644eec5fd41">00224</a> <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 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#g215ebb88932bee220b766263ebbfe6fa">apr_ssize_t</a> <a class="code" href="apreq__util_8h.html#979c0af9322189581bde4644eec5fd41">apreq_unescape</a>(<span class="keywordtype">char</span> *str)
+<a name="l00225"></a>00225 {
+<a name="l00226"></a>00226     <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> len;
+<a name="l00227"></a>00227     <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> rv = <a class="code" href="apreq__util_8h.html#3c1d46b8c0e7991ae1ced0178c2f4738">apreq_decode</a>(str, &amp;len, str, strlen(str));
+<a name="l00228"></a>00228     <span class="keywordflow">if</span> (rv == <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#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>)
+<a name="l00229"></a>00229         <span class="keywordflow">return</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#g215ebb88932bee220b766263ebbfe6fa">apr_ssize_t</a>)len;
+<a name="l00230"></a>00230     <span class="keywordflow">else</span>
+<a name="l00231"></a>00231         <span class="keywordflow">return</span> -1;
+<a name="l00232"></a>00232 }
+<a name="l00233"></a>00233 
+<a name="l00245"></a>00245 <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__platform.html#g616cbaaadee33420d47071209fc30052">apr_int64_t</a>) <a class="code" href="apreq__util_8h.html#69acb9425572cb8f694d49277160b1f7">apreq_atoi64f</a>(const <span class="keywordtype">char</span> *s);
+<a name="l00246"></a>00246 
+<a name="l00258"></a>00258 <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__platform.html#g616cbaaadee33420d47071209fc30052">apr_int64_t</a>) <a class="code" href="apreq__util_8h.html#4e838a92724aa7d9be0b978dc5c4e50c">apreq_atoi64t</a>(const <span class="keywordtype">char</span> *s);
+<a name="l00259"></a>00259 
+<a name="l00277"></a>00277 <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__util_8h.html#3bbe5ee2d1537c6a9f30d0fed9f5f1e1">apreq_brigade_fwrite</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__file__io.html#ga46e4763ac375ea3c7a43ba6f6099e22">apr_file_t</a> *f,
+<a name="l00278"></a>00278                                                  <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#g5e189bcae807cf93466aa5c905726edd">apr_off_t</a> *wlen,
+<a name="l00279"></a>00279                                                  <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> *bb);
+<a name="l00296"></a>00296 <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__util_8h.html#b266a81c528de92654eb37f9890c4a7d">apreq_file_mktemp</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__file__io.html#ga46e4763ac375ea3c7a43ba6f6099e22">apr_file_t</a> **fp,
+<a name="l00297"></a>00297                                               <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="l00298"></a>00298                                               const <span class="keywordtype">char</span> *path);
+<a name="l00299"></a>00299 
+<a name="l00309"></a>00309 static APR_INLINE
+<a name="l00310"></a><a class="code" href="apreq__util_8h.html#91f3144692934b2daf54fb3c9ca7b180">00310</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__util_8h.html#91f3144692934b2daf54fb3c9ca7b180">apreq_brigade_setaside</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> *bb, <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="l00311"></a>00311 {
+<a name="l00312"></a>00312     <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.html">apr_bucket</a> *e;
+<a name="l00313"></a>00313     <span class="keywordflow">for</span> (e = <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/group___a_p_r___util___bucket___brigades.html#gb5826a11eb6ba90786a94282f806c230">APR_BRIGADE_FIRST</a>(bb); e != <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/group___a_p_r___util___bucket___brigades.html#g858da66dccab1e063415678bb115788a">APR_BRIGADE_SENTINEL</a>(bb);
+<a name="l00314"></a>00314          e = <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/group___a_p_r___util___bucket___brigades.html#g7171f690b203d548a5b6ae0b079068d8">APR_BUCKET_NEXT</a>(e))
+<a name="l00315"></a>00315     {
+<a name="l00316"></a>00316         <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> rv = <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/group___a_p_r___util___bucket___brigades.html#gb00941ffd472982693eb415a964de7af">apr_bucket_setaside</a>(e, p);
+<a name="l00317"></a>00317         <span class="keywordflow">if</span> (rv != <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#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>)
+<a name="l00318"></a>00318             <span class="keywordflow">return</span> rv;
+<a name="l00319"></a>00319     }
+<a name="l00320"></a>00320     <span class="keywordflow">return</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__errno.html#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>;
+<a name="l00321"></a>00321 }
+<a name="l00322"></a>00322 
+<a name="l00323"></a>00323 
+<a name="l00336"></a>00336 <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="l00337"></a><a class="code" href="apreq__util_8h.html#b4def9e77622cf22cfa427e7fbf2ac45">00337</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__util_8h.html#b4def9e77622cf22cfa427e7fbf2ac45">apreq_brigade_copy</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> *d, <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> *s) {
+<a name="l00338"></a>00338     <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.html">apr_bucket</a> *e;
+<a name="l00339"></a>00339     <span class="keywordflow">for</span> (e = <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/group___a_p_r___util___bucket___brigades.html#gb5826a11eb6ba90786a94282f806c230">APR_BRIGADE_FIRST</a>(s); e != <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/group___a_p_r___util___bucket___brigades.html#g858da66dccab1e063415678bb115788a">APR_BRIGADE_SENTINEL</a>(s);
+<a name="l00340"></a>00340          e = <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/group___a_p_r___util___bucket___brigades.html#g7171f690b203d548a5b6ae0b079068d8">APR_BUCKET_NEXT</a>(e))
+<a name="l00341"></a>00341     {
+<a name="l00342"></a>00342         <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.html">apr_bucket</a> *c;
+<a name="l00343"></a>00343         <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> rv = <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/group___a_p_r___util___bucket___brigades.html#gb33cc08b7f064d06397f312e427279c3">apr_bucket_copy</a>(e, &amp;c);
+<a name="l00344"></a>00344         <span class="keywordflow">if</span> (rv != <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#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>)
+<a name="l00345"></a>00345             <span class="keywordflow">return</span> rv;
+<a name="l00346"></a>00346 
+<a name="l00347"></a>00347         <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/group___a_p_r___util___bucket___brigades.html#g5447595f8374296c5ffe208db39b2f5d">APR_BRIGADE_INSERT_TAIL</a>(d, c);
+<a name="l00348"></a>00348     }
+<a name="l00349"></a>00349     <span class="keywordflow">return</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__errno.html#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>;
+<a name="l00350"></a>00350 }
+<a name="l00351"></a>00351 
+<a name="l00363"></a>00363 <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="l00364"></a><a class="code" href="apreq__util_8h.html#a23561a0d169b50454a815926ccc0ba5">00364</a> <span class="keywordtype">void</span> <a class="code" href="apreq__util_8h.html#a23561a0d169b50454a815926ccc0ba5">apreq_brigade_move</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> *d, <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> *s,
+<a name="l00365"></a>00365                         <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.html">apr_bucket</a> *e)
+<a name="l00366"></a>00366 {
+<a name="l00367"></a>00367     <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.html">apr_bucket</a> *f;
+<a name="l00368"></a>00368 
+<a name="l00369"></a>00369     <span class="keywordflow">if</span> (e != <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/group___a_p_r___util___bucket___brigades.html#g858da66dccab1e063415678bb115788a">APR_BRIGADE_SENTINEL</a>(s)) {
+<a name="l00370"></a>00370         f = <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__ring.html#gcacd9cfca24feb7ff754d4008422efcb">APR_RING_FIRST</a>(&amp;s-&gt;list);
+<a name="l00371"></a>00371         <span class="keywordflow">if</span> (f == e) <span class="comment">/* zero buckets to be moved */</span>
+<a name="l00372"></a>00372             <span class="keywordflow">return</span>;
+<a name="l00373"></a>00373 
+<a name="l00374"></a>00374         <span class="comment">/* obtain the last bucket to be moved */</span>
+<a name="l00375"></a>00375         e = <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__ring.html#g82d45623d505d59ea5619cf8f63d0ebb">APR_RING_PREV</a>(e, link);
+<a name="l00376"></a>00376 
+<a name="l00377"></a>00377         <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__ring.html#g1d725b0a9ea7ff88f771e37ec130c13b">APR_RING_UNSPLICE</a>(f, e, link);
+<a name="l00378"></a>00378         <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__ring.html#g592e71a7cf219fc70f4fc47c60ef4c64">APR_RING_SPLICE_HEAD</a>(&amp;d-&gt;list, f, e, <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.html">apr_bucket</a>, link);
+<a name="l00379"></a>00379     }
+<a name="l00380"></a>00380     <span class="keywordflow">else</span> {
+<a name="l00381"></a>00381         <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/group___a_p_r___util___bucket___brigades.html#g7cecbc89be912ce9ab24c889eb8f955b">APR_BRIGADE_CONCAT</a>(d, s);
+<a name="l00382"></a>00382     }
+<a name="l00383"></a>00383 }
+<a name="l00384"></a>00384 
+<a name="l00385"></a>00385 
+<a name="l00399"></a>00399 <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__util_8h.html#8195b6a32954928a6088e7cea077dd75">apreq_header_attribute</a>(const <span class="keywordtype">char</span> *hdr,
+<a name="l00400"></a>00400                                                    const <span class="keywordtype">char</span> *name,
+<a name="l00401"></a>00401                                                    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="l00402"></a>00402                                                    const <span class="keywordtype">char</span> **val,
+<a name="l00403"></a>00403                                                    <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="l00404"></a>00404 
+<a name="l00405"></a>00405 
+<a name="l00423"></a>00423 <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__util_8h.html#4ddf563c9902474bdedbf014e24aafc8">apreq_brigade_concat</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="l00424"></a>00424                                                  const <span class="keywordtype">char</span> *temp_dir,
+<a name="l00425"></a>00425                                                  <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> brigade_limit,
+<a name="l00426"></a>00426                                                  <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> *out,
+<a name="l00427"></a>00427                                                  <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> *in);
+<a name="l00428"></a>00428 
+<a name="l00437"></a>00437 <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__file__io.html#ga46e4763ac375ea3c7a43ba6f6099e22">apr_file_t</a> *)<a class="code" href="apreq__util_8h.html#ec0de2141b6b742a1468667eb8f8158e">apreq_brigade_spoolfile</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> *bb);
+<a name="l00438"></a>00438 
+<a name="l00439"></a>00439 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00440"></a>00440 <span class="preprocessor"></span> }
+<a name="l00441"></a>00441 <span class="preprocessor">#endif</span>
+<a name="l00442"></a>00442 <span class="preprocessor"></span>
+<a name="l00443"></a>00443 <span class="preprocessor">#endif </span><span class="comment">/* APREQ_UTIL_H */</span>
+</pre></div></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 3 Dec 2010</span>
+</p>
+</div>
+</body>
+</html>