httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject svn commit: r168155 [8/27] - in /httpd/site/trunk: docs/apreq/docs/libapreq2/ xdocs/apreq/docs/libapreq2/
Date Wed, 04 May 2005 17:40:16 GMT
Added: httpd/site/trunk/docs/apreq/docs/libapreq2/apreq__parser_8h.html
URL: http://svn.apache.org/viewcvs/httpd/site/trunk/docs/apreq/docs/libapreq2/apreq__parser_8h.html?rev=168155&view=auto
==============================================================================
--- httpd/site/trunk/docs/apreq/docs/libapreq2/apreq__parser_8h.html (added)
+++ httpd/site/trunk/docs/apreq/docs/libapreq2/apreq__parser_8h.html Wed May  4 10:40:10 2005
@@ -0,0 +1,877 @@
+<html>
+<head>
+  <link rel="stylesheet" type="text/css" href="dox.css" />
+  <title>libapreq2-2.05-dev: 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.4.2 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
+<div class="nav">
+<a class="el" href="dir_000000.html">include</a></div>
+<h1>apreq_parser.h File Reference</h1>Request body parser API. <a href="#_details">More...</a>
+<p>
+<code>#include "<a class="el" href="apreq__param_8h-source.html">apreq_param.h</a>"</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>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#a0">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#a1">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#a2">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#a3">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 <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#a4">apreq_hook_t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <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#a5">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/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#a6">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/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#a7">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 <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a> <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#a8">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/" href="http://apr.apache.org/docs/apr/group__apr__tables.html#gga0">apr_table_t</a> *t, <a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a> <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#a9">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/" href="http://apr.apache.org/docs/apr-util/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#a10">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#a11">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#a12">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#a13">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#a14">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#a15">apreq_parser_make</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#gga0">apr_pool_t</a> *pool, <a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#gga2">apr_bucket_alloc_t</a> *ba, const char *content_type, <a class="el" href="apreq__parser_8h.html#a6">apreq_parser_function_t</a> pfn, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#gga7">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#a16">apreq_hook_make</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#gga0">apr_pool_t</a> *pool, <a class="el" href="apreq__parser_8h.html#a7">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/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#a17">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#a6">apreq_parser_function_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#a18">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/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__parser_8h.html#a19">apreq_register_parser</a> (const char *enctype, <a class="el" href="apreq__parser_8h.html#a6">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#a20">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#a21">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#a22">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="a3" doxytag="apreq_parser.h::APREQ_DECLARE_HOOK"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">#define APREQ_DECLARE_HOOK          </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">f&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment">APREQ_DECLARE_NONSTD(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>) \
+                                (f) (<a class="code" href="apreq__parser_8h.html#a1">APREQ_HOOK_ARGS</a>)
+</pre></div>Declares an API hook.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a2" doxytag="apreq_parser.h::APREQ_DECLARE_PARSER"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">#define APREQ_DECLARE_PARSER          </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">f&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment">APREQ_DECLARE_NONSTD(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>) \
+                                (f) (<a class="code" href="apreq__parser_8h.html#a0">APREQ_PARSER_ARGS</a>)
+</pre></div>Declares a API parser.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a1" doxytag="apreq_parser.h::APREQ_HOOK_ARGS"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">#define APREQ_HOOK_ARGS          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb
+</pre></div>Hook arguments     </td>
+  </tr>
+</table>
+<a class="anchor" name="a0" doxytag="apreq_parser.h::APREQ_PARSER_ARGS"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">#define APREQ_PARSER_ARGS          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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/" href="http://apr.apache.org/docs/apr/group__apr__tables.html#gga0">apr_table_t</a> *t,             \
+                           <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb
+</pre></div>Parser arguments.     </td>
+  </tr>
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="a7" doxytag="apreq_parser.h::apreq_hook_function_t"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">typedef <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>(* <a class="el" href="apreq__parser_8h.html#a7">apreq_hook_function_t</a>)(APREQ_HOOK_ARGS)          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+The callback function of a hook. See <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a>.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a4" doxytag="apreq_parser.h::apreq_hook_t"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">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>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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#a17">apreq_parser_add_hook()</a>.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a6" doxytag="apreq_parser.h::apreq_parser_function_t"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">typedef <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a>(* <a class="el" href="apreq__parser_8h.html#a6">apreq_parser_function_t</a>)(APREQ_PARSER_ARGS)          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+The callback function implementing a request body parser.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a5" doxytag="apreq_parser.h::apreq_parser_t"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">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>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+A request body parser instance.     </td>
+  </tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a22" doxytag="apreq_parser.h::APREQ_DECLARE_HOOK"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">APREQ_DECLARE_HOOK           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">apreq_hook_find_param&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Special purpose utility for locating a parameter during parsing. The hook's ctx shoud be initialized to a const char *, which is a pointer to the desired param name. The hook's ctx will be reassigned to the first param found.<p>
+<dl compact><dt><b>Remarks:</b></dt><dd>When used, this should always be the first hook invoked, so add it manually as parser-&gt;hook instead of using apreq_parser_add_hook. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a21" doxytag="apreq_parser.h::APREQ_DECLARE_HOOK"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">APREQ_DECLARE_HOOK           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">apreq_hook_discard_brigade&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Calls apr_brigade_cleanup on the incoming brigade after passing the brigade to any subsequent hooks.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a20" doxytag="apreq_parser.h::APREQ_DECLARE_HOOK"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">APREQ_DECLARE_HOOK           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">apreq_hook_disable_uploads&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns APREQ_ERROR_GENERAL. Effectively disables mfd parser if a file-upload field is present.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a14" doxytag="apreq_parser.h::APREQ_DECLARE_HOOK"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">APREQ_DECLARE_HOOK           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">apreq_hook_apr_xml_parser&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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/" href="http://apr.apache.org/docs/apr-util/structapr__xml__doc.html">apr_xml_doc</a> **) to retrieve the parsed document.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a13" doxytag="apreq_parser.h::APREQ_DECLARE_PARSER"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">APREQ_DECLARE_PARSER           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">apreq_parse_generic&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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> **).     </td>
+  </tr>
+</table>
+<a class="anchor" name="a12" doxytag="apreq_parser.h::APREQ_DECLARE_PARSER"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">APREQ_DECLARE_PARSER           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">apreq_parse_multipart&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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#a8">apreq_parser_run()</a> for more info on rejected data.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a11" doxytag="apreq_parser.h::APREQ_DECLARE_PARSER"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">APREQ_DECLARE_PARSER           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">apreq_parse_urlencoded&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+RFC 2396 application/x-www-form-urlencoded parser.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a10" doxytag="apreq_parser.h::APREQ_DECLARE_PARSER"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">APREQ_DECLARE_PARSER           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">apreq_parse_headers&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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#a8">apreq_parser_run()</a> for more info on rejected data.     </td>
+  </tr>
+</table>
+<a class="anchor" name="a16" doxytag="apreq_parser.h::apreq_hook_make"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"><a class="el" href="structapreq__hook__t.html">apreq_hook_t</a>* apreq_hook_make           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#gga0">apr_pool_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>pool</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="apreq__parser_8h.html#a7">apreq_hook_function_t</a>&nbsp;</td>
+          <td class="mdname" nowrap> <em>hook</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>next</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ctx</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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 compact><dt><b>Returns:</b></dt><dd>New hook. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a9" doxytag="apreq_parser.h::apreq_hook_run"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">static <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a> <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a> apreq_hook_run           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">struct <a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="structapreq__param__t.html">apreq_param_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>param</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>bb</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"><code> [static]</code></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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 compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS on success. All other values represent errors. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a18" doxytag="apreq_parser.h::apreq_parser"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"><a class="el" href="apreq__parser_8h.html#a6">apreq_parser_function_t</a> apreq_parser           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const char *&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap> <em>enctype</em>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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 compact><dt><b>Returns:</b></dt><dd>The parser function, or NULL if the enctype is unrecognized. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a17" doxytag="apreq_parser.h::apreq_parser_add_hook"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a> apreq_parser_add_hook           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>h</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a15" doxytag="apreq_parser.h::apreq_parser_make"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"><a class="el" href="structapreq__parser__t.html">apreq_parser_t</a>* apreq_parser_make           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#gga0">apr_pool_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>pool</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#gga2">apr_bucket_alloc_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ba</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>content_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="apreq__parser_8h.html#a6">apreq_parser_function_t</a>&nbsp;</td>
+          <td class="mdname" nowrap> <em>pfn</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#gga7">apr_size_t</a>&nbsp;</td>
+          <td class="mdname" nowrap> <em>brigade_limit</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>temp_dir</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="structapreq__hook__t.html">apreq_hook_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>hook</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ctx</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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 asssociate 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 compact><dt><b>Returns:</b></dt><dd>New parser. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a8" doxytag="apreq_parser.h::apreq_parser_run"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">static <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a> <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a> apreq_parser_run           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">struct <a class="el" href="structapreq__parser__t.html">apreq_parser_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>psr</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__tables.html#gga0">apr_table_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>bb</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"><code> [static]</code></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<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 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>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a19" doxytag="apreq_parser.h::apreq_register_parser"></a><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#gga0">apr_status_t</a> apreq_register_parser           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>enctype</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="apreq__parser_8h.html#a6">apreq_parser_function_t</a>&nbsp;</td>
+          <td class="mdname" nowrap> <em>pfn</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Register a new parsing function with a MIME enctype. Registered parsers are added to <a class="el" href="apreq__parser_8h.html#a18">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 compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS or error. </dd></dl>
+    </td>
+  </tr>
+</table>
+<div id="footer">
+<p class="apache">
+Copyright &copy; 2003-2005 <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.4.2 on 4 May 2005</span>
+</p>
+</div>
+</body>
+</html>

Added: httpd/site/trunk/docs/apreq/docs/libapreq2/apreq__util_8h-source.html
URL: http://svn.apache.org/viewcvs/httpd/site/trunk/docs/apreq/docs/libapreq2/apreq__util_8h-source.html?rev=168155&view=auto
==============================================================================
--- httpd/site/trunk/docs/apreq/docs/libapreq2/apreq__util_8h-source.html (added)
+++ httpd/site/trunk/docs/apreq/docs/libapreq2/apreq__util_8h-source.html Wed May  4 10:40:10 2005
@@ -0,0 +1,183 @@
+<html>
+<head>
+  <link rel="stylesheet" type="text/css" href="dox.css" />
+  <title>libapreq2-2.05-dev: 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.4.2 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
+<div class="nav">
+<a class="el" href="dir_000000.html">include</a></div>
+<h1>apreq_util.h</h1><a href="apreq__util_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/*</span>
+00002 <span class="comment">**  Copyright 2003-2005  The Apache Software Foundation</span>
+00003 <span class="comment">**</span>
+00004 <span class="comment">**  Licensed under the Apache License, Version 2.0 (the "License");</span>
+00005 <span class="comment">**  you may not use this file except in compliance with the License.</span>
+00006 <span class="comment">**  You may obtain a copy of the License at</span>
+00007 <span class="comment">**</span>
+00008 <span class="comment">**      http://www.apache.org/licenses/LICENSE-2.0</span>
+00009 <span class="comment">**</span>
+00010 <span class="comment">**  Unless required by applicable law or agreed to in writing, software</span>
+00011 <span class="comment">**  distributed under the License is distributed on an "AS IS" BASIS,</span>
+00012 <span class="comment">**  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+00013 <span class="comment">**  See the License for the specific language governing permissions and</span>
+00014 <span class="comment">**  limitations under the License.</span>
+00015 <span class="comment">*/</span>
+00016 
+00017 <span class="preprocessor">#ifndef APREQ_UTIL_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_UTIL_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#include "<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__file__io_8h.html">apr_file_io.h</a>"</span>
+00021 <span class="preprocessor">#include "<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/apr__buckets_8h.html">apr_buckets.h</a>"</span>
+00022 <span class="preprocessor">#include "<a class="code" href="apreq_8h.html">apreq.h</a>"</span>
+00023 
+00024 <span class="preprocessor">#ifdef  __cplusplus</span>
+00025 <span class="preprocessor"></span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
+00026 <span class="preprocessor">#endif </span>
+00027 <span class="preprocessor"></span>
+00052 APREQ_DECLARE(<span class="keywordtype">char</span> *) <a class="code" href="apreq__util_8h.html#a0">apreq_join</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#ga0">apr_pool_t</a> *p, 
+00053                                  const <span class="keywordtype">char</span> *sep, 
+00054                                  const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/structapr__array__header__t.html">apr_array_header_t</a> *arr, 
+00055                                  <a class="code" href="apreq_8h.html#a38">apreq_join_t</a> mode);
+00056 
+00069 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga8">apr_ssize_t</a>) <a class="code" href="apreq__util_8h.html#a1">apreq_index</a>(const <span class="keywordtype">char</span>* hay, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> hlen, 
+00070                                        const <span class="keywordtype">char</span>* ndl, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> nlen, 
+00071                                        const <a class="code" href="apreq_8h.html#a39">apreq_match_t</a> type);
+00072 
+00085 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#a2">apreq_quote</a>(<span class="keywordtype">char</span> *dest, const <span class="keywordtype">char</span> *src, 
+00086                                       const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> slen);
+00087 
+00101 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#a3">apreq_quote_once</a>(<span class="keywordtype">char</span> *dest, const <span class="keywordtype">char</span> *src, 
+00102                                            const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> slen);
+00103 
+00114 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#a4">apreq_encode</a>(<span class="keywordtype">char</span> *dest, const <span class="keywordtype">char</span> *src, 
+00115                                        const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> slen);
+00116 
+00128 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#a5">apreq_cp1252_to_utf8</a>(<span class="keywordtype">char</span> *dest,
+00129                                                const <span class="keywordtype">char</span> *src, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> slen);
+00130 
+00151 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#a6">apreq_decode</a>(<span class="keywordtype">char</span> *dest, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> *dlen,
+00152                                          const <span class="keywordtype">char</span> *src, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> slen);
+00153 
+00174 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#a7">apreq_decodev</a>(<span class="keywordtype">char</span> *dest, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> *dlen,
+00175                                           struct iovec *v, <span class="keywordtype">int</span> nelts);
+00176 
+00189 static <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a>
+<a name="l00190"></a><a class="code" href="apreq__util_8h.html#a8">00190</a> <span class="keywordtype">char</span> *<a class="code" href="apreq__util_8h.html#a8">apreq_escape</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#ga0">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/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> slen)
+00191 {
+00192     <span class="keywordtype">char</span> *rv;
+00193 
+00194     <span class="keywordflow">if</span> (src == NULL)
+00195         <span class="keywordflow">return</span> NULL;
+00196 
+00197     rv = <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#ga12">apr_palloc</a>(p, 3 * slen + 1);
+00198     <a class="code" href="apreq__util_8h.html#a4">apreq_encode</a>(rv, src, slen);
+00199     <span class="keywordflow">return</span> rv;
+00200 }
+00201 
+<a name="l00209"></a><a class="code" href="apreq__util_8h.html#a9">00209</a> <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga8">apr_ssize_t</a> <a class="code" href="apreq__util_8h.html#a9">apreq_unescape</a>(<span class="keywordtype">char</span> *str)
+00210 {
+00211     <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> len;
+00212     <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a> rv = <a class="code" href="apreq__util_8h.html#a6">apreq_decode</a>(str, &amp;len, str, strlen(str));
+00213     <span class="keywordflow">if</span> (rv == <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga18">APR_SUCCESS</a>)
+00214         <span class="keywordflow">return</span> (<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga8">apr_ssize_t</a>)len;
+00215     <span class="keywordflow">else</span>
+00216         <span class="keywordflow">return</span> -1;
+00217 }
+00218 
+00230 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga5">apr_int64_t</a>) <a class="code" href="apreq__util_8h.html#a10">apreq_atoi64f</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);
+00231 
+00243 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga5">apr_int64_t</a>) <a class="code" href="apreq__util_8h.html#a11">apreq_atoi64t</a>(const <span class="keywordtype">char</span> *s);
+00244 
+00262 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#a12">apreq_brigade_fwrite</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__file__io.html#ga2">apr_file_t</a> *f,
+00263                                                  <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga9">apr_off_t</a> *wlen,
+00264                                                  <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb);
+00281 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#a13">apreq_file_mktemp</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__file__io.html#ga2">apr_file_t</a> **fp, 
+00282                                               <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#ga0">apr_pool_t</a> *pool,
+00283                                               const <span class="keywordtype">char</span> *path);
+00284 
+00294 static <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a>
+<a name="l00295"></a><a class="code" href="apreq__util_8h.html#a14">00295</a> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a> <a class="code" href="apreq__util_8h.html#a14">apreq_brigade_setaside</a>(<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#ga0">apr_pool_t</a> *p)
+00296 {
+00297     <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket.html">apr_bucket</a> *e;
+00298     <span class="keywordflow">for</span> (e = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga82">APR_BRIGADE_FIRST</a>(bb); e != <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga80">APR_BRIGADE_SENTINEL</a>(bb);
+00299          e = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga90">APR_BUCKET_NEXT</a>(e))
+00300     {
+00301         <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a> rv = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga109">apr_bucket_setaside</a>(e, p);
+00302         <span class="keywordflow">if</span> (rv != <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga18">APR_SUCCESS</a>)
+00303             <span class="keywordflow">return</span> rv;
+00304     }
+00305     <span class="keywordflow">return</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga18">APR_SUCCESS</a>;
+00306 }
+00307 
+00308 
+00321 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a>
+<a name="l00322"></a><a class="code" href="apreq__util_8h.html#a15">00322</a> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a> <a class="code" href="apreq__util_8h.html#a15">apreq_brigade_copy</a>(<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *d, <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *s) {
+00323     <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket.html">apr_bucket</a> *e;
+00324     <span class="keywordflow">for</span> (e = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga82">APR_BRIGADE_FIRST</a>(s); e != <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga80">APR_BRIGADE_SENTINEL</a>(s);
+00325          e = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga90">APR_BUCKET_NEXT</a>(e))
+00326     {
+00327         <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket.html">apr_bucket</a> *c;
+00328         <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a> rv = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga111">apr_bucket_copy</a>(e, &amp;c);
+00329         <span class="keywordflow">if</span> (rv != <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga18">APR_SUCCESS</a>)
+00330             <span class="keywordflow">return</span> rv;
+00331 
+00332         <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga85">APR_BRIGADE_INSERT_TAIL</a>(d, c);
+00333     }
+00334     <span class="keywordflow">return</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga18">APR_SUCCESS</a>;
+00335 }
+00336 
+00348 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a>
+<a name="l00349"></a><a class="code" href="apreq__util_8h.html#a16">00349</a> <span class="keywordtype">void</span> <a class="code" href="apreq__util_8h.html#a16">apreq_brigade_move</a>(<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *d, <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *s,
+00350                         <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket.html">apr_bucket</a> *e)
+00351 {
+00352     <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket.html">apr_bucket</a> *f;     
+00353 
+00354     <span class="keywordflow">if</span> (e != <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga80">APR_BRIGADE_SENTINEL</a>(s)) {
+00355         f = <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__ring.html#ga3">APR_RING_FIRST</a>(&amp;s-&gt;list);
+00356         <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__ring.html#ga20">APR_RING_UNSPLICE</a>(f, e, link);
+00357         <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__ring.html#ga14">APR_RING_SPLICE_HEAD</a>(&amp;d-&gt;list, f, e, <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket.html">apr_bucket</a>, link);
+00358     }
+00359     <span class="keywordflow">else</span> {
+00360         <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/group___a_p_r___util___bucket___brigades.html#ga86">APR_BRIGADE_CONCAT</a>(d, s);
+00361     }
+00362 }
+00363 
+00364 
+00378 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#a17">apreq_header_attribute</a>(const <span class="keywordtype">char</span> *hdr,
+00379                                                    const <span class="keywordtype">char</span> *name,
+00380                                                    const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> nlen,
+00381                                                    const <span class="keywordtype">char</span> **val,
+00382                                                    <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> *vlen);
+00383 
+00384 
+00402 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#a18">apreq_brigade_concat</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#ga0">apr_pool_t</a> *pool,
+00403                                                  const <span class="keywordtype">char</span> *temp_dir,
+00404                                                  <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a> brigade_limit,
+00405                                                  <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *out, 
+00406                                                  <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *in);
+00407 
+00416 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__file__io.html#ga2">apr_file_t</a> *)<a class="code" href="apreq__util_8h.html#a19">apreq_brigade_spoolfile</a>(<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/" href="http://apr.apache.org/docs/apr-util/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb);
+00417 
+00418 #ifdef __cplusplus
+00419  }
+00420 #endif
+00421 
+00422 #endif <span class="comment">/* APREQ_UTIL_H */</span>
+</pre></div><div id="footer">
+<p class="apache">
+Copyright &copy; 2003-2005 <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.4.2 on 4 May 2005</span>
+</p>
+</div>
+</body>
+</html>



Mime
View raw message