httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject svn commit: r168155 [15/27] - in /httpd/site/trunk: docs/apreq/docs/libapreq2/ xdocs/apreq/docs/libapreq2/
Date Wed, 04 May 2005 17:40:16 GMT
Modified: httpd/site/trunk/xdocs/apreq/docs/libapreq2/apreq_8h.html
URL: http://svn.apache.org/viewcvs/httpd/site/trunk/xdocs/apreq/docs/libapreq2/apreq_8h.html?rev=168155&r1=168154&r2=168155&view=diff
==============================================================================
--- httpd/site/trunk/xdocs/apreq/docs/libapreq2/apreq_8h.html (original)
+++ httpd/site/trunk/xdocs/apreq/docs/libapreq2/apreq_8h.html Wed May  4 10:40:10 2005
@@ -1,7 +1,7 @@
 <html>
 <head>
   <link rel="stylesheet" type="text/css" href="dox.css" />
-  <title>libapreq2-2.04-dev: libapreq2: src/apreq.h File Reference</title> 
+  <title>libapreq2-2.05-dev: libapreq2: include/apreq.h File Reference</title> 
 </head>
 <body>
 <div id="page-header">
@@ -10,200 +10,134 @@
 <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.3.8 -->
-<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="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>
-<h1>src/apreq.h File Reference</h1>Common functions, structures and macros. <a href="#_details">More...</a>
+<!-- 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.h File Reference</h1>Main header file... <a href="#_details">More...</a>
 <p>
 <code>#include "<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__tables_8h.html">apr_tables.h</a>"</code><br>
-<code>#include "<a class="elRef" 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>"</code><br>
-<code>#include "<a class="elRef" 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>"</code><br>
 <code>#include &lt;stddef.h&gt;</code><br>
 
 <p>
-<a href="apreq_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<a href="apreq_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__value__t.html">apreq_value_t</a></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0" doxytag="apreq.h::APREQ_DECLARE"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_DECLARE</b>(d)&nbsp;&nbsp;&nbsp;<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga122">APR_DECLARE</a>(d)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">libapreq's pre-extensible string type  <a href="structapreq__value__t.html#_details">More...</a><br></td></tr>
-<tr><td colspan=2><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="apreq.h::APREQ_DECLARE" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>APREQ_DECLARE</b>(d)&nbsp;&nbsp;&nbsp;<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga122">APR_DECLARE</a>(d)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1" doxytag="apreq.h::APREQ_DECLARE_NONSTD"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_DECLARE_NONSTD</b>(d)&nbsp;&nbsp;&nbsp;<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga123">APR_DECLARE_NONSTD</a>(d)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="apreq.h::APREQ_DECLARE_NONSTD" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>APREQ_DECLARE_NONSTD</b>(d)&nbsp;&nbsp;&nbsp;<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga123">APR_DECLARE_NONSTD</a>(d)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2" doxytag="apreq.h::APREQ_DECLARE_DATA"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_DECLARE_DATA</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="apreq.h::APREQ_DECLARE_DATA" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>APREQ_DECLARE_DATA</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3" doxytag="apreq.h::APREQ_DEFAULT_READ_BLOCK_SIZE"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_DEFAULT_READ_BLOCK_SIZE</b>&nbsp;&nbsp;&nbsp;(64  * 1024)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="apreq.h::APREQ_URL_ENCTYPE" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>APREQ_URL_ENCTYPE</b>&nbsp;&nbsp;&nbsp;"application/x-www-form-urlencoded"</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4" doxytag="apreq.h::APREQ_DEFAULT_READ_LIMIT"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_DEFAULT_READ_LIMIT</b>&nbsp;&nbsp;&nbsp;(64 * 1024 * 1024)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="apreq.h::APREQ_MFD_ENCTYPE" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>APREQ_MFD_ENCTYPE</b>&nbsp;&nbsp;&nbsp;"multipart/form-data"</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5" doxytag="apreq.h::APREQ_DEFAULT_BRIGADE_LIMIT"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_DEFAULT_BRIGADE_LIMIT</b>&nbsp;&nbsp;&nbsp;(256 * 1024)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="apreq.h::APREQ_XML_ENCTYPE" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>APREQ_XML_ENCTYPE</b>&nbsp;&nbsp;&nbsp;"application/xml"</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6" doxytag="apreq.h::APREQ_DEFAULT_NELTS"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_DEFAULT_NELTS</b>&nbsp;&nbsp;&nbsp;8</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="apreq.h::APREQ_NELTS" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>APREQ_NELTS</b>&nbsp;&nbsp;&nbsp;8</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7" doxytag="apreq.h::APREQ_FLAGS_OFF"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_FLAGS_OFF</b>(f, name)&nbsp;&nbsp;&nbsp;((f) &amp;= ~(name##_MASK &lt;&lt; name##_BIT))</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="apreq.h::APREQ_READ_AHEAD" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>APREQ_READ_AHEAD</b>&nbsp;&nbsp;&nbsp;(64 * 1024)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8" doxytag="apreq.h::APREQ_FLAGS_ON"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_FLAGS_ON</b>(f, name)&nbsp;&nbsp;&nbsp;((f) |=  (name##_MASK &lt;&lt; name##_BIT))</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a8">APREQ_MAX_BRIGADE_LEN</a>&nbsp;&nbsp;&nbsp;(256 * 1024)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9" doxytag="apreq.h::APREQ_FLAGS_GET"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_FLAGS_GET</b>(f, name)&nbsp;&nbsp;&nbsp;(((f) &gt;&gt; name##_BIT) &amp; name##_MASK)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="apreq.h::apreq_attr_to_type" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>apreq_attr_to_type</b>(T, A, P)&nbsp;&nbsp;&nbsp;( (T*) ((char*)(P)-offsetof(T,A)) )</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_FLAGS_SET</b>(f, name, value)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a10">apreq_char_to_value</a>(ptr)&nbsp;&nbsp;&nbsp;apreq_attr_to_type(<a class="el" href="structapreq__value__t.html">apreq_value_t</a>, data, ptr)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a11" doxytag="apreq.h::APREQ_CHARSET_BIT"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_CHARSET_BIT</b>&nbsp;&nbsp;&nbsp;0</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a11" doxytag="apreq.h::apreq_strtoval" ></a>
-#define&nbsp;</td><td class="memItemRight" valign=bottom><b>apreq_strtoval</b>(ptr)&nbsp;&nbsp;&nbsp;apreq_char_to_value(ptr)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a12" doxytag="apreq.h::APREQ_CHARSET_MASK"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_CHARSET_MASK</b>&nbsp;&nbsp;&nbsp;255</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a12">apreq_strlen</a>(ptr)&nbsp;&nbsp;&nbsp;(apreq_strtoval(ptr)-&gt;size)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a13" doxytag="apreq.h::APREQ_TAINTED_BIT"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_TAINTED_BIT</b>&nbsp;&nbsp;&nbsp;8</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a13">APREQ_BRIGADE_SETASIDE</a>(bb, p)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a14" doxytag="apreq.h::APREQ_TAINTED_MASK"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_TAINTED_MASK</b>&nbsp;&nbsp;&nbsp;1</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a14">APREQ_BRIGADE_COPY</a>(d, s)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a15" doxytag="apreq.h::APREQ_COOKIE_VERSION_BIT"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_COOKIE_VERSION_BIT</b>&nbsp;&nbsp;&nbsp;11</td></tr>
 
-<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a15" doxytag="apreq.h::apreq_value_t" ></a>
-typedef <a class="el" href="structapreq__value__t.html">apreq_value_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a15">apreq_value_t</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a16" doxytag="apreq.h::APREQ_COOKIE_VERSION_MASK"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_COOKIE_VERSION_MASK</b>&nbsp;&nbsp;&nbsp;3</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">libapreq's pre-extensible string type <br></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a16" doxytag="apreq.h::apreq_value_merge_t" ></a>
-typedef <a class="el" href="structapreq__value__t.html">apreq_value_t</a> *(&nbsp;</td><td class="memItemRight" valign=bottom><b>apreq_value_merge_t</b> )(<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *p, const <a class="elRef" 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> *a)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a17" doxytag="apreq.h::APREQ_COOKIE_SECURE_BIT"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_COOKIE_SECURE_BIT</b>&nbsp;&nbsp;&nbsp;13</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a17" doxytag="apreq.h::apreq_value_copy_t" ></a>
-typedef <a class="el" href="structapreq__value__t.html">apreq_value_t</a> *(&nbsp;</td><td class="memItemRight" valign=bottom><b>apreq_value_copy_t</b> )(<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *p, const <a class="el" href="structapreq__value__t.html">apreq_value_t</a> *v)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a18" doxytag="apreq.h::APREQ_COOKIE_SECURE_MASK"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APREQ_COOKIE_SECURE_MASK</b>&nbsp;&nbsp;&nbsp;1</td></tr>
 
-<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a47">apreq_join_t</a> { <a class="el" href="apreq_8h.html#a47a18">APREQ_JOIN_AS_IS</a>, 
-<a class="el" href="apreq_8h.html#a47a19">APREQ_JOIN_ENCODE</a>, 
-<a class="el" href="apreq_8h.html#a47a20">APREQ_JOIN_DECODE</a>, 
-<a class="el" href="apreq_8h.html#a47a21">APREQ_JOIN_QUOTE</a>
- }</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a19" doxytag="apreq.h::apreq_attr_to_type"></a>
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>apreq_attr_to_type</b>(T, A, P)&nbsp;&nbsp;&nbsp;( (T*) ((char*)(P)-offsetof(T,A)) )</td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a48">apreq_match_t</a> { <a class="el" href="apreq_8h.html#a48a22">APREQ_MATCH_FULL</a>, 
-<a class="el" href="apreq_8h.html#a48a23">APREQ_MATCH_PARTIAL</a>
- }</td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a20" doxytag="apreq.h::apreq_value_t"></a>
+typedef <a class="el" href="structapreq__value__t.html">apreq_value_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#a20">apreq_value_t</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a49">apreq_expires_t</a> { <a class="el" href="apreq_8h.html#a49a24">APREQ_EXPIRES_HTTP</a>, 
-<a class="el" href="apreq_8h.html#a49a25">APREQ_EXPIRES_NSCOOKIE</a>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">libapreq's pre-extensible string type <br></td></tr>
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#a37">apreq_charset_t</a> { <b>APREQ_CHARSET_ASCII</b> = 0, 
+<b>APREQ_CHARSET_LATIN1</b> = 1, 
+<b>APREQ_CHARSET_CP1252</b> = 2, 
+<b>APREQ_CHARSET_UTF8</b> = 8
  }</td></tr>
 
-<tr><td colspan=2><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structapreq__value__t.html">apreq_value_t</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a26">apreq_make_value</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *p, const char *name, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> nlen, const char *val, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> vlen)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structapreq__value__t.html">apreq_value_t</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a27">apreq_copy_value</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *p, const <a class="el" href="structapreq__value__t.html">apreq_value_t</a> *val)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structapreq__value__t.html">apreq_value_t</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a28">apreq_merge_values</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *p, const <a class="elRef" 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)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align=right valign=top>const char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a29">apreq_enctype</a> (void *env)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align=right valign=top>const char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a30">apreq_join</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *p, const char *sep, const <a class="elRef" 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, <a class="el" href="apreq_8h.html#a47">apreq_join_t</a> mode)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a31">apreq_memmem</a> (char *hay, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> hlen, const char *ndl, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> nlen, const <a class="el" href="apreq_8h.html#a48">apreq_match_t</a> type)</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/apr_8h.html#ga8">apr_ssize_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a32">apreq_index</a> (const char *hay, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> hlen, const char *ndl, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> nlen, const <a class="el" href="apreq_8h.html#a48">apreq_match_t</a> type)</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/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a33">apreq_quote</a> (char *dest, const char *src, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> slen)</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/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a34">apreq_quote_once</a> (char *dest, const char *src, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> slen)</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/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a35">apreq_encode</a> (char *dest, const char *src, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> slen)</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/apr_8h.html#ga8">apr_ssize_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a36">apreq_decode</a> (char *dest, const char *src, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> slen)</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/apr__errno_8h.html#ga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a37">apreq_decodev</a> (char *d, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> *dlen, struct iovec *v, int nelts)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a38">apreq_escape</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *p, const char *src, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> slen)</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/apr_8h.html#ga8">apr_ssize_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a39">apreq_unescape</a> (char *str)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a40">apreq_expires</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *p, const char *time_str, const <a class="el" href="apreq_8h.html#a49">apreq_expires_t</a> type)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#a38">apreq_join_t</a> { <a class="el" href="apreq_8h.html#a38a25">APREQ_JOIN_AS_IS</a>, 
+<a class="el" href="apreq_8h.html#a38a26">APREQ_JOIN_ENCODE</a>, 
+<a class="el" href="apreq_8h.html#a38a27">APREQ_JOIN_DECODE</a>, 
+<a class="el" href="apreq_8h.html#a38a28">APREQ_JOIN_QUOTE</a>
+ }</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/apr_8h.html#ga5">apr_int64_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a41">apreq_atoi64f</a> (const char *s)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#a39">apreq_match_t</a> { <a class="el" href="apreq_8h.html#a39a29">APREQ_MATCH_FULL</a>, 
+<a class="el" href="apreq_8h.html#a39a30">APREQ_MATCH_PARTIAL</a>
+ }</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/apr_8h.html#ga5">apr_int64_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a42">apreq_atoi64t</a> (const char *s)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#a40">apreq_expires_t</a> { <a class="el" href="apreq_8h.html#a40a31">APREQ_EXPIRES_HTTP</a>, 
+<a class="el" href="apreq_8h.html#a40a32">APREQ_EXPIRES_NSCOOKIE</a>
+ }</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/apr__errno_8h.html#ga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a43">apreq_brigade_fwrite</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__file__io_8h.html#ga2">apr_file_t</a> *f, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga9">apr_off_t</a> *wlen, <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 colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a33" doxytag="apreq.h::apreq_value_table_add"></a>
+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> void&nbsp;</td><td class="memItemRight" valign="bottom"><b>apreq_value_table_add</b> (const <a class="el" href="structapreq__value__t.html">apreq_value_t</a> *v, <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)</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/apr__errno_8h.html#ga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a44">apreq_file_mktemp</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__file__io_8h.html#ga2">apr_file_t</a> **fp, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *pool, const char *path)</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_8h.html#a34">apreq_initialize</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)</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/apr__file__io_8h.html#ga2">apr_file_t</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a45">apreq_brigade_spoolfile</a> (<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"><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_8h.html#a35">apreq_pre_initialize</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)</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/apr__errno_8h.html#ga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="apreq_8h.html#a46">apreq_header_attribute</a> (const char *hdr, const char *name, const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> nlen, const char **val, <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> *vlen)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" 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_8h.html#a36">apreq_post_initialize</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)</td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-Common functions, structures and macros. 
+Main header file... 
 <p>
-The objects in <a class="el" href="apreq_8h.html">apreq.h</a> are used in various contexts:<p>
-<ul>
-<li><a class="el" href="structapreq__value__t.html">apreq_value_t</a> - the base struct for params &amp; cookies</li><li>string &lt;-&gt; array converters</li><li>substring search functions</li><li>simple encoders &amp; decoders for urlencoded strings</li><li>simple time, date, &amp; file-size converters</li></ul>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="a14" doxytag="apreq.h::APREQ_BRIGADE_COPY" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+Define the generic APREQ_ macros and common data structures. <hr><h2>Define Documentation</h2>
+<a class="anchor" name="a10" doxytag="apreq.h::APREQ_FLAGS_SET"></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_BRIGADE_COPY          </td>
+          <td class="md" nowrap valign="top">#define APREQ_FLAGS_SET          </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">d,         <tr>
+          <td class="md" nowrap valign="top">f,         <tr>
           <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>s&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><pre class="fragment"><div><span class="keywordflow">do</span> {                                \
-    <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;                                                  \
-    <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/apr__buckets_8h.html#ga81">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/apr__buckets_8h.html#ga79">APR_BRIGADE_SENTINEL</a>(s);    \
-         e = <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#ga89">APR_BUCKET_NEXT</a>(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> *c;                                              \
-        <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#ga110">apr_bucket_copy</a>(e, &amp;c);                                     \
-        <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#ga84">APR_BRIGADE_INSERT_TAIL</a>(d, c);                              \
-    }                                                               \
-} <span class="keywordflow">while</span> (0)
-</div></pre>Copy a brigade. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>d</em>&nbsp;</td><td>(destination) Copied buckets are appended to this brigade. </td></tr>
-    <tr><td></td><td valign=top><em>s</em>&nbsp;</td><td>(source) Brigade to copy from. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Remarks:</b></dt><dd>s == d produces Undefined Behavior. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a13" doxytag="apreq.h::APREQ_BRIGADE_SETASIDE" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"> #define APREQ_BRIGADE_SETASIDE          </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">bb,         <tr>
+          <td class="md"></td>
+          <td class="md" nowrap>name,         <tr>
           <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>p&nbsp;</td>
+          <td class="md"></td>
+          <td class="md" nowrap>value&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap></td>
@@ -212,78 +146,7 @@
     </td>
   </tr>
 </table>
-<table cellspacing=5 cellpadding=0 border=0>
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-<b>Value:</b><pre class="fragment"><div><span class="keywordflow">do</span> {                               \
-    <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;                                                      \
-    <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/apr__buckets_8h.html#ga81">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/apr__buckets_8h.html#ga79">APR_BRIGADE_SENTINEL</a>(bb);      \
-         e = <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#ga89">APR_BUCKET_NEXT</a>(e))                                        \
-    {                                                                   \
-        <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#ga108">apr_bucket_setaside</a>(e, p);                                      \
-    }                                                                   \
-} <span class="keywordflow">while</span> (0)
-</div></pre>Set aside all buckets in the brigade. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>bb</em>&nbsp;</td><td>Brigade. </td></tr>
-    <tr><td></td><td valign=top><em>p</em>&nbsp;</td><td>Setaside buckets into this pool. </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a10" doxytag="apreq.h::apreq_char_to_value" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"> #define apreq_char_to_value          </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">ptr&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;apreq_attr_to_type(<a class="el" href="structapreq__value__t.html">apreq_value_t</a>, data, ptr)</td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Converts (char *) to (<a class="el" href="structapreq__value__t.html">apreq_value_t</a> *). The char * is assumed to point at the data attribute of an <a class="el" href="structapreq__value__t.html">apreq_value_t</a> struct.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>ptr</em>&nbsp;</td><td>points at the data field of an <a class="el" href="structapreq__value__t.html">apreq_value_t</a> struct. </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a8" doxytag="apreq.h::APREQ_MAX_BRIGADE_LEN" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"> #define APREQ_MAX_BRIGADE_LEN&nbsp;&nbsp;&nbsp;(256 * 1024)          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
+<table cellspacing="5" cellpadding="0" border="0">
   <tr>
     <td>
       &nbsp;
@@ -291,27 +154,25 @@
     <td>
 
 <p>
-Maximum amount of heap space a brigade may use before switching to file buckets     </td>
+<b>Value:</b><div class="fragment"><pre class="fragment">((f) = (((f) &amp; ~(name##_MASK &lt;&lt; name##_BIT))        \
+            | ((name##_MASK &amp; (value)) &lt;&lt; name##_BIT)))
+</pre></div>    </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="apreq.h::apreq_strlen" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+<hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="a37" doxytag="apreq.h::apreq_charset_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"> #define apreq_strlen          </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">ptr&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(apreq_strtoval(ptr)-&gt;size)</td>
+          <td class="md" nowrap valign="top">enum <a class="el" href="apreq_8h.html#a37">apreq_charset_t</a>          </td>
         </tr>
       </table>
     </td>
   </tr>
 </table>
-<table cellspacing=5 cellpadding=0 border=0>
+<table cellspacing="5" cellpadding="0" border="0">
   <tr>
     <td>
       &nbsp;
@@ -319,29 +180,22 @@
     <td>
 
 <p>
-Computes the length of the string, but unlike strlen(), it permits embedded null characters.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>ptr</em>&nbsp;</td><td>points at the data field of an <a class="el" href="structapreq__value__t.html">apreq_value_t</a> struct. </td></tr>
-  </table>
-</dl>
-    </td>
+Character encodings.     </td>
   </tr>
 </table>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="a49" doxytag="apreq.h::apreq_expires_t" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a40" doxytag="apreq.h::apreq_expires_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"> enum <a class="el" href="apreq_8h.html#a49">apreq_expires_t</a>          </td>
+          <td class="md" nowrap valign="top">enum <a class="el" href="apreq_8h.html#a40">apreq_expires_t</a>          </td>
         </tr>
       </table>
     </td>
   </tr>
 </table>
-<table cellspacing=5 cellpadding=0 border=0>
+<table cellspacing="5" cellpadding="0" border="0">
   <tr>
     <td>
       &nbsp;
@@ -350,29 +204,29 @@
 
 <p>
 Expiration date format <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border=0 cellspacing=2 cellpadding=0>
-<tr><td valign=top><em><a class="anchor" name="a49a24" doxytag="APREQ_EXPIRES_HTTP" ></a>APREQ_EXPIRES_HTTP</em>&nbsp;</td><td>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="a40a31" doxytag="APREQ_EXPIRES_HTTP"></a>APREQ_EXPIRES_HTTP</em>&nbsp;</td><td>
 Use date formatting consistent with RFC 2616 </td></tr>
-<tr><td valign=top><em><a class="anchor" name="a49a25" doxytag="APREQ_EXPIRES_NSCOOKIE" ></a>APREQ_EXPIRES_NSCOOKIE</em>&nbsp;</td><td>
+<tr><td valign="top"><em><a class="anchor" name="a40a32" doxytag="APREQ_EXPIRES_NSCOOKIE"></a>APREQ_EXPIRES_NSCOOKIE</em>&nbsp;</td><td>
 Use format consistent with Netscape's Cookie Spec </td></tr>
 </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a47" doxytag="apreq.h::apreq_join_t" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a38" doxytag="apreq.h::apreq_join_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"> enum <a class="el" href="apreq_8h.html#a47">apreq_join_t</a>          </td>
+          <td class="md" nowrap valign="top">enum <a class="el" href="apreq_8h.html#a38">apreq_join_t</a>          </td>
         </tr>
       </table>
     </td>
   </tr>
 </table>
-<table cellspacing=5 cellpadding=0 border=0>
+<table cellspacing="5" cellpadding="0" border="0">
   <tr>
     <td>
       &nbsp;
@@ -381,33 +235,33 @@
 
 <p>
 Join type <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border=0 cellspacing=2 cellpadding=0>
-<tr><td valign=top><em><a class="anchor" name="a47a18" doxytag="APREQ_JOIN_AS_IS" ></a>APREQ_JOIN_AS_IS</em>&nbsp;</td><td>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="a38a25" doxytag="APREQ_JOIN_AS_IS"></a>APREQ_JOIN_AS_IS</em>&nbsp;</td><td>
 Join the strings without modification </td></tr>
-<tr><td valign=top><em><a class="anchor" name="a47a19" doxytag="APREQ_JOIN_ENCODE" ></a>APREQ_JOIN_ENCODE</em>&nbsp;</td><td>
+<tr><td valign="top"><em><a class="anchor" name="a38a26" doxytag="APREQ_JOIN_ENCODE"></a>APREQ_JOIN_ENCODE</em>&nbsp;</td><td>
 Url-encode the strings before joining them </td></tr>
-<tr><td valign=top><em><a class="anchor" name="a47a20" doxytag="APREQ_JOIN_DECODE" ></a>APREQ_JOIN_DECODE</em>&nbsp;</td><td>
+<tr><td valign="top"><em><a class="anchor" name="a38a27" doxytag="APREQ_JOIN_DECODE"></a>APREQ_JOIN_DECODE</em>&nbsp;</td><td>
 Url-decode the strings before joining them </td></tr>
-<tr><td valign=top><em><a class="anchor" name="a47a21" doxytag="APREQ_JOIN_QUOTE" ></a>APREQ_JOIN_QUOTE</em>&nbsp;</td><td>
+<tr><td valign="top"><em><a class="anchor" name="a38a28" doxytag="APREQ_JOIN_QUOTE"></a>APREQ_JOIN_QUOTE</em>&nbsp;</td><td>
 Quote the strings, backslashing existing quote marks. </td></tr>
 </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a48" doxytag="apreq.h::apreq_match_t" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a39" doxytag="apreq.h::apreq_match_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"> enum <a class="el" href="apreq_8h.html#a48">apreq_match_t</a>          </td>
+          <td class="md" nowrap valign="top">enum <a class="el" href="apreq_8h.html#a39">apreq_match_t</a>          </td>
         </tr>
       </table>
     </td>
   </tr>
 </table>
-<table cellspacing=5 cellpadding=0 border=0>
+<table cellspacing="5" cellpadding="0" border="0">
   <tr>
     <td>
       &nbsp;
@@ -416,10 +270,10 @@
 
 <p>
 Match type <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border=0 cellspacing=2 cellpadding=0>
-<tr><td valign=top><em><a class="anchor" name="a48a22" doxytag="APREQ_MATCH_FULL" ></a>APREQ_MATCH_FULL</em>&nbsp;</td><td>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="a39a29" doxytag="APREQ_MATCH_FULL"></a>APREQ_MATCH_FULL</em>&nbsp;</td><td>
 Full match only. </td></tr>
-<tr><td valign=top><em><a class="anchor" name="a48a23" doxytag="APREQ_MATCH_PARTIAL" ></a>APREQ_MATCH_PARTIAL</em>&nbsp;</td><td>
+<tr><td valign="top"><em><a class="anchor" name="a39a30" doxytag="APREQ_MATCH_PARTIAL"></a>APREQ_MATCH_PARTIAL</em>&nbsp;</td><td>
 Partial matches are ok. </td></tr>
 </table>
 </dl>
@@ -427,16 +281,16 @@
   </tr>
 </table>
 <hr><h2>Function Documentation</h2>
-<a class="anchor" name="a41" doxytag="apreq.h::apreq_atoi64f" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a34" doxytag="apreq.h::apreq_initialize"></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/apr_8h.html#ga5">apr_int64_t</a> apreq_atoi64f           </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__errno.html#gga0">apr_status_t</a> apreq_initialize           </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>s</em>          </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="mdname1" valign="top" nowrap> <em>pool</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap></td>
         </tr>
@@ -444,7 +298,7 @@
     </td>
   </tr>
 </table>
-<table cellspacing=5 cellpadding=0 border=0>
+<table cellspacing="5" cellpadding="0" border="0">
   <tr>
     <td>
       &nbsp;
@@ -452,25 +306,26 @@
     <td>
 
 <p>
-Converts file sizes (KMG) to bytes <dl compact><dt><b>Parameters:</b></dt><dd>
+Initialize libapreq2. Applications (except apache modules using mod_apreq) should call this exactly once before they use any libapreq2 modules. If you want to modify the list of default parsers with <a class="el" href="apreq__parser_8h.html#a19">apreq_register_parser()</a>, please use <a class="el" href="apreq_8h.html#a35">apreq_pre_initialize()</a> and <a class="el" href="apreq_8h.html#a36">apreq_post_initialize()</a> instead.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>s</em>&nbsp;</td><td>file size matching m/^+[KMG]b?$/i </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>a base pool persisting while libapreq2 is used </td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Returns:</b></dt><dd>64-bit integer representation of s. </dd></dl>
+<dl compact><dt><b>Remarks:</b></dt><dd>after you detroy the pool, you have to call this function again with a new pool if you still plan to use libapreq2 </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a42" doxytag="apreq.h::apreq_atoi64t" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a36" doxytag="apreq.h::apreq_post_initialize"></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/apr_8h.html#ga5">apr_int64_t</a> apreq_atoi64t           </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__errno.html#gga0">apr_status_t</a> apreq_post_initialize           </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>s</em>          </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="mdname1" valign="top" nowrap> <em>pool</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap></td>
         </tr>
@@ -478,56 +333,7 @@
     </td>
   </tr>
 </table>
-<table cellspacing=5 cellpadding=0 border=0>
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Converts time strings (YMDhms) to seconds <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>s</em>&nbsp;</td><td>time string matching m/^\+?+[YMDhms]$/ </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>64-bit integer representation of s as seconds. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a43" doxytag="apreq.h::apreq_brigade_fwrite" ></a><p>
-<table class="mdTable" width="100%" 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/apr__errno_8h.html#ga0">apr_status_t</a> apreq_brigade_fwrite           </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/apr__file__io_8h.html#ga2">apr_file_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>f</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga9">apr_off_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>wlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></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></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
+<table cellspacing="5" cellpadding="0" border="0">
   <tr>
     <td>
       &nbsp;
@@ -535,27 +341,25 @@
     <td>
 
 <p>
-Writes brigade to a file. <dl compact><dt><b>Parameters:</b></dt><dd>
+Post-initialize libapreq2. Applications (except apache modules using mod_apreq2) should this exactly once before they use any libapreq2 modules for parsing.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>f</em>&nbsp;</td><td>File that gets the brigade. </td></tr>
-    <tr><td></td><td valign=top><em>wlen</em>&nbsp;</td><td>On a successful return, wlen holds the length of the brigade, which is the amount of data written to the file. </td></tr>
-    <tr><td></td><td valign=top><em>bb</em>&nbsp;</td><td>Bucket brigade. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>the same pool that was used in <a class="el" href="apreq_8h.html#a35">apreq_pre_initialize()</a>. </td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Remarks:</b></dt><dd>In the future, this function may do something intelligent with file buckets. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a45" doxytag="apreq.h::apreq_brigade_spoolfile" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a35" doxytag="apreq.h::apreq_pre_initialize"></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/apr__file__io_8h.html#ga2">apr_file_t</a>* apreq_brigade_spoolfile           </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__errno.html#gga0">apr_status_t</a> apreq_pre_initialize           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top"><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="mdname1" valign="top" nowrap> <em>bb</em>          </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="mdname1" valign="top" nowrap> <em>pool</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap></td>
         </tr>
@@ -563,156 +367,7 @@
     </td>
   </tr>
 </table>
-<table cellspacing=5 cellpadding=0 border=0>
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Gets the spoolfile associated to a brigade, if any. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>bb</em>&nbsp;</td><td>Brigade, usually associated to a file upload (<a class="el" href="structapreq__param__t.html">apreq_param_t</a>). </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>If the last bucket in the brigade is a file bucket, this function will return its associated file. Otherwise, this function returns NULL. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a27" doxytag="apreq.h::apreq_copy_value" ></a><p>
-<table class="mdTable" width="100%" 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__value__t.html">apreq_value_t</a>* apreq_copy_value           </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/apr__pools_8h.html#ga0">apr_pool_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>p</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="el" href="structapreq__value__t.html">apreq_value_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>val</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Makes a pool-allocated copy of the value. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>p</em>&nbsp;</td><td>Pool. </td></tr>
-    <tr><td></td><td valign=top><em>val</em>&nbsp;</td><td>Original value to copy. </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a36" doxytag="apreq.h::apreq_decode" ></a><p>
-<table class="mdTable" width="100%" 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/apr_8h.html#ga8">apr_ssize_t</a> apreq_decode           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>dest</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>slen</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Url-decodes a string. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>dest</em>&nbsp;</td><td>Location of url-encoded result string. Caller must ensure dest is large enough to hold the encoded string and trailing null character. </td></tr>
-    <tr><td></td><td valign=top><em>src</em>&nbsp;</td><td>Original string. </td></tr>
-    <tr><td></td><td valign=top><em>slen</em>&nbsp;</td><td>Length of original string. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>Length of url-decoded string in dest, or &lt; 0 on decoding (bad data) error. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a37" doxytag="apreq.h::apreq_decodev" ></a><p>
-<table class="mdTable" width="100%" 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/apr__errno_8h.html#ga0">apr_status_t</a> apreq_decodev           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>d</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>dlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>struct iovec *&nbsp;</td>
-          <td class="mdname" nowrap> <em>v</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>int&nbsp;</td>
-          <td class="mdname" nowrap> <em>nelts</em></td>
-        </tr>
-        <tr>
-          <td></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
+<table cellspacing="5" cellpadding="0" border="0">
   <tr>
     <td>
       &nbsp;
@@ -720,765 +375,23 @@
     <td>
 
 <p>
-Url-decodes an iovec array. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>dest</em>&nbsp;</td><td>Location of url-encoded result string. Caller must ensure dest is large enough to hold the encoded string and trailing null character. </td></tr>
-    <tr><td></td><td valign=top><em>dlen</em>&nbsp;</td><td>Resultant length of dest. </td></tr>
-    <tr><td></td><td valign=top><em>v</em>&nbsp;</td><td>Array of iovecs that represent the source string </td></tr>
-    <tr><td></td><td valign=top><em>nelts</em>&nbsp;</td><td>Number of iovecs in the array. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS on success, APR_INCOMPLETE if the iovec ends in the middle of an XX escape sequence, error otherwise. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a35" doxytag="apreq.h::apreq_encode" ></a><p>
-<table class="mdTable" width="100%" 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/apr_8h.html#ga7">apr_size_t</a> apreq_encode           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>dest</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>slen</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Url-encodes a string. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>dest</em>&nbsp;</td><td>Location of url-encoded result string. Caller must ensure it is large enough to hold the encoded string and trailing ''. </td></tr>
-    <tr><td></td><td valign=top><em>src</em>&nbsp;</td><td>Original string. </td></tr>
-    <tr><td></td><td valign=top><em>slen</em>&nbsp;</td><td>Length of original string. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>length of url-encoded string in dest. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a29" doxytag="apreq.h::apreq_enctype" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"> const char* apreq_enctype           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">void *&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>env</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>
-Fetches the enctype from the environment. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>env</em>&nbsp;</td><td>Environment. </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a38" doxytag="apreq.h::apreq_escape" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"> char* apreq_escape           </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/apr__pools_8h.html#ga0">apr_pool_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>p</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>slen</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Returns an url-encoded copy of a string. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>p</em>&nbsp;</td><td>Pool used to allocate the return value. </td></tr>
-    <tr><td></td><td valign=top><em>src</em>&nbsp;</td><td>Original string. </td></tr>
-    <tr><td></td><td valign=top><em>slen</em>&nbsp;</td><td>Length of original string. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Remarks:</b></dt><dd>Use this function insead of apreq_encode if its caller might otherwise overflow dest. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a40" doxytag="apreq.h::apreq_expires" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"> char* apreq_expires           </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/apr__pools_8h.html#ga0">apr_pool_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>p</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>time_str</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="el" href="apreq_8h.html#a49">apreq_expires_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>type</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Returns an RFC-822 formatted time string. Similar to ap_gm_timestr_822.<p>
+Pre-initialize libapreq2. Applications (except apache modules using mod_apreq2) should call this exactly once before they register custom parsers with libapreq2. mod_apreq2 does this automatically during the post-config phase, so modules that need call apreq_register_parser should create a post-config hook using APR_HOOK_MIDDLE.<p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>p</em>&nbsp;</td><td>Pool to allocate return string. </td></tr>
-    <tr><td></td><td valign=top><em>time_str</em>&nbsp;</td><td>YMDhms time units (from now) until expiry. Understands "now". </td></tr>
-    <tr><td></td><td valign=top><em>type</em>&nbsp;</td><td><a class="el" href="apreq_8h.html#a49a24">APREQ_EXPIRES_HTTP</a> for RFC822 dates, <a class="el" href="apreq_8h.html#a49a25">APREQ_EXPIRES_NSCOOKIE</a> for Netscape cookie dates. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>Date string, (time_str is offset from "now") formatted according to type. </dd></dl>
-<p>
-<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use apr_rfc822_date instead. <a class="el" href="apreq_8h.html#a49a25">APREQ_EXPIRES_NSCOOKIE</a> strings are formatted with a '-' (instead of a ' ') character at offsets 7 and 11. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a44" doxytag="apreq.h::apreq_file_mktemp" ></a><p>
-<table class="mdTable" width="100%" 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/apr__errno_8h.html#ga0">apr_status_t</a> apreq_file_mktemp           </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/apr__file__io_8h.html#ga2">apr_file_t</a> **&nbsp;</td>
-          <td class="mdname" nowrap> <em>fp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__pools_8h.html#ga0">apr_pool_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>pool</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>path</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Makes a temporary file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>fp</em>&nbsp;</td><td>Points to the temporary apr_file_t on success. </td></tr>
-    <tr><td></td><td valign=top><em>pool</em>&nbsp;</td><td>Pool to associate with the temp file. When the pool is destroyed, the temp file will be closed and deleted. </td></tr>
-    <tr><td></td><td valign=top><em>path</em>&nbsp;</td><td>The base directory which will contain the temp file. If param == NULL, the directory will be selected via tempnam(). See the tempnam manpage for details. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS on success; error code otherwise. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a46" doxytag="apreq.h::apreq_header_attribute" ></a><p>
-<table class="mdTable" width="100%" 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/apr__errno_8h.html#ga0">apr_status_t</a> apreq_header_attribute           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>hdr</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>nlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char **&nbsp;</td>
-          <td class="mdname" nowrap> <em>val</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>vlen</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Search a header string for the value of a particular named attribute. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>hdr</em>&nbsp;</td><td>Header string to scan. </td></tr>
-    <tr><td></td><td valign=top><em>name</em>&nbsp;</td><td>Name of attribute to search for. </td></tr>
-    <tr><td></td><td valign=top><em>nlen</em>&nbsp;</td><td>Length of name. </td></tr>
-    <tr><td></td><td valign=top><em>val</em>&nbsp;</td><td>Location of (first) matching value. </td></tr>
-    <tr><td></td><td valign=top><em>vlen</em>&nbsp;</td><td>Length of matching value. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if found, otherwise APR_NOTFOUND. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a32" doxytag="apreq.h::apreq_index" ></a><p>
-<table class="mdTable" width="100%" 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/apr_8h.html#ga8">apr_ssize_t</a> apreq_index           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>hay</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>ndl</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>nlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="el" href="apreq_8h.html#a48">apreq_match_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>type</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Returns offset of match string's location, or -1 if no match is found. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>hay</em>&nbsp;</td><td>Location of bytes to scan. </td></tr>
-    <tr><td></td><td valign=top><em>hlen</em>&nbsp;</td><td>Number of bytes available for scanning. </td></tr>
-    <tr><td></td><td valign=top><em>ndl</em>&nbsp;</td><td>Search string </td></tr>
-    <tr><td></td><td valign=top><em>nlen</em>&nbsp;</td><td>Length of search string. </td></tr>
-    <tr><td></td><td valign=top><em>type</em>&nbsp;</td><td>Match type. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>Offset of match string, or -1 if mo match is found. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a30" doxytag="apreq.h::apreq_join" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"> const char* apreq_join           </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/apr__pools_8h.html#ga0">apr_pool_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>p</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>sep</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="elRef" 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> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>arr</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="el" href="apreq_8h.html#a47">apreq_join_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mode</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Join an array of values. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>p</em>&nbsp;</td><td>Pool to allocate return value. </td></tr>
-    <tr><td></td><td valign=top><em>sep</em>&nbsp;</td><td>String that is inserted between the joined values. </td></tr>
-    <tr><td></td><td valign=top><em>arr</em>&nbsp;</td><td>Array of values. </td></tr>
-    <tr><td></td><td valign=top><em>mode</em>&nbsp;</td><td>Join type- see apreq_join_t. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Remarks:</b></dt><dd>Return string can be upgraded to an <a class="el" href="structapreq__value__t.html">apreq_value_t</a> with apreq_stroval. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a26" doxytag="apreq.h::apreq_make_value" ></a><p>
-<table class="mdTable" width="100%" 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__value__t.html">apreq_value_t</a>* apreq_make_value           </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/apr__pools_8h.html#ga0">apr_pool_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>p</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>nlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>val</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>vlen</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Construcs an <a class="el" href="structapreq__value__t.html">apreq_value_t</a> from the name/value info supplied by the arguments.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>p</em>&nbsp;</td><td>Pool for allocating the name and value. </td></tr>
-    <tr><td></td><td valign=top><em>name</em>&nbsp;</td><td>Name of value. </td></tr>
-    <tr><td></td><td valign=top><em>nlen</em>&nbsp;</td><td>Length of name. </td></tr>
-    <tr><td></td><td valign=top><em>val</em>&nbsp;</td><td>Value data. </td></tr>
-    <tr><td></td><td valign=top><em>vlen</em>&nbsp;</td><td>Length of val. </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="structapreq__value__t.html">apreq_value_t</a> allocated from pool, with v-&gt;data holding a copy of val, v-&gt;status = 0, and v-&gt;name pointing to a nul-terminated copy of name. </dd></dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a31" doxytag="apreq.h::apreq_memmem" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"> char* apreq_memmem           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>hay</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>ndl</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr_8h.html#ga7">apr_size_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>nlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>
-          <td class="md" nowrap>const <a class="el" href="apreq_8h.html#a48">apreq_match_t</a>&nbsp;</td>
-          <td class="mdname" nowrap> <em>type</em></td>
-        </tr>
-        <tr>
-          <td></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>
-Return a pointer to the match string, or NULL if no match is found. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td></td><td valign=top><em>hay</em>&nbsp;</td><td>Location of bytes to scan. </td></tr>
-    <tr><td></td><td valign=top><em>hlen</em>&nbsp;</td><td>Number of bytes available for scanning. </td></tr>
-    <tr><td></td><td valign=top><em>ndl</em>&nbsp;</td><td>Search string </td></tr>
-    <tr><td></td><td valign=top><em>nlen</em>&nbsp;</td><td>Length of search string. </td></tr>
-    <tr><td></td><td valign=top><em>type</em>&nbsp;</td><td>Match type. </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a28" doxytag="apreq.h::apreq_merge_values" ></a><p>
-<table class="mdTable" width="100%" 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__value__t.html">apreq_value_t</a>* apreq_merge_values           </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/apr__pools_8h.html#ga0">apr_pool_t</a> *&nbsp;</td>
-          <td class="mdname" nowrap> <em>p</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td></td>

[... 184 lines stripped ...]


Mime
View raw message