The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<html>
<head>
  <link rel="stylesheet" type="text/css" href="dox.css" />
  <title>libapreq2-2.12: libapreq2: include/apreq.h File Reference</title> 
</head>
<body>
<div id="page-header">
<p class="menu">
   <a href="http://www.apache.org/">Apache Software Foundation</a> &gt; <a href="http://httpd.apache.org">HTTP Server Project</a> &gt;
<a href="http://httpd.apache.org/apreq/">Request Library Subproject</a></p>
<p class="apache">Apache HTTP Server Request Library</p>
<img alt="" src="feather.gif" /></div>
<!-- Generated by Doxygen 1.5.2 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li class="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>Globals</span></a></li>
  </ul>
</div>
<h1>include/apreq.h File Reference</h1>Main header file... <a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/apr__tables_8h.html">apr_tables.h</a>&quot;</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">
<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 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">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#556c7afa0862221393d99ad2009d5573">APREQ_DECLARE</a>(d)&nbsp;&nbsp;&nbsp;<a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___m_c.html#ggb046f205cb0c9a3bb104fac8d26fb6cd">APR_DECLARE</a>(d)</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#d0d41b6ef95a91ffeba604a9c362d4a0">APREQ_DECLARE_NONSTD</a>(d)&nbsp;&nbsp;&nbsp;APR_DECLARE_NONSTD(d)</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#bbc00f59a8eba6ac0fb5c47035e9e600">APREQ_DECLARE_DATA</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_8h.html#f64b0d4a0a39eec6249b0990b6328457">APREQ_DEFAULT_READ_BLOCK_SIZE</a>&nbsp;&nbsp;&nbsp;(64  * 1024)</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#73c29189f741fb83ade5b4b7f4e8c2d6">APREQ_DEFAULT_READ_LIMIT</a>&nbsp;&nbsp;&nbsp;(64 * 1024 * 1024)</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#93e0b72fb65f5856ed2067e39d00f3b3">APREQ_DEFAULT_BRIGADE_LIMIT</a>&nbsp;&nbsp;&nbsp;(256 * 1024)</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#8dbf808c309804b72c2ca14efce76cf0">APREQ_DEFAULT_NELTS</a>&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#c0a32ded2f13208529721ebe7354d635">APREQ_FLAGS_OFF</a>(f, name)&nbsp;&nbsp;&nbsp;((f) &amp;= ~(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#39c379f0b425aa9c1ebaa849a0af4299">APREQ_FLAGS_ON</a>(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#184d7699d412702ae8cecf1a31574922">APREQ_FLAGS_GET</a>(f, name)&nbsp;&nbsp;&nbsp;(((f) &gt;&gt; name##_BIT) &amp; name##_MASK)</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#65dcca5633e0d67a13c9db43739ab7fb">APREQ_FLAGS_SET</a>(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#aa4a424f223081f61133a63ba5342eb4">APREQ_CHARSET_BIT</a>&nbsp;&nbsp;&nbsp;0</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#de1fec789af2f7724454814c8e1ed9da">APREQ_CHARSET_MASK</a>&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#d85dc71cbb7c617208b48544424d0ac4">APREQ_TAINTED_BIT</a>&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#a39f8309b89462b7717a6ca26c27ee61">APREQ_TAINTED_MASK</a>&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#c476d0bb89a7309a2d0acb558391e14d">APREQ_COOKIE_VERSION_BIT</a>&nbsp;&nbsp;&nbsp;11</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#ca5e56b76b16c2c64ee6ee84ddeb7651">APREQ_COOKIE_VERSION_MASK</a>&nbsp;&nbsp;&nbsp;3</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#27126294cdd0a1d7e60436c1bd3d3f3d">APREQ_COOKIE_SECURE_BIT</a>&nbsp;&nbsp;&nbsp;13</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#190e740a4aa128d7550938274437d5a0">APREQ_COOKIE_SECURE_MASK</a>&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#c01926d3b46471c3de5b30b8873a5335">apreq_attr_to_type</a>(T, A, P)&nbsp;&nbsp;&nbsp;( (T*) ((char*)(P)-offsetof(T,A)) )</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#634446af852308ac3d8d1757bc739115">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 class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#a26db627cceece7744dacb2cf29a6328">apreq_join_t</a> { <a class="el" href="apreq_8h.html#a26db627cceece7744dacb2cf29a6328ad87f2edbcdbd91e42ba13d8a0340b76">APREQ_JOIN_AS_IS</a>, 
<a class="el" href="apreq_8h.html#a26db627cceece7744dacb2cf29a6328cac98124ea65c0ef666e10498ee2da42">APREQ_JOIN_ENCODE</a>, 
<a class="el" href="apreq_8h.html#a26db627cceece7744dacb2cf29a6328ca0b3147e55a2aa1ec104573c8f8fcad">APREQ_JOIN_DECODE</a>, 
<a class="el" href="apreq_8h.html#a26db627cceece7744dacb2cf29a6328282c99e7cf9bb891b62fb6e7961a327f">APREQ_JOIN_QUOTE</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#e40c148b9e3268e34981d69082b3be33">apreq_match_t</a> { <a class="el" href="apreq_8h.html#e40c148b9e3268e34981d69082b3be33a6c2b3b3bebde576cc0615a1d4ab9418">APREQ_MATCH_FULL</a>, 
<a class="el" href="apreq_8h.html#e40c148b9e3268e34981d69082b3be333a83d390e2c5f4504928eb5ad0b01ad7">APREQ_MATCH_PARTIAL</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#dce8f675f28f392553584593aa02c30c">apreq_expires_t</a> { <a class="el" href="apreq_8h.html#dce8f675f28f392553584593aa02c30c57dcdfaab676713137cea23a768a1cb3">APREQ_EXPIRES_HTTP</a>, 
<a class="el" href="apreq_8h.html#dce8f675f28f392553584593aa02c30cc8055cf937924e3ea79c6bf73d00e89f">APREQ_EXPIRES_NSCOOKIE</a>
 }</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static APR_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#a7195b9d484911cc58cd317ffba93e40">apreq_value_table_add</a> (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/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">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/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#5d20f05c4b90a1a5dd7cb1794c03386d">apreq_initialize</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">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/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#d373757bd9469ac56e573a9cfa21d401">apreq_pre_initialize</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">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/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="apreq_8h.html#2c8690086565e77aa984e17ba66b1c66">apreq_post_initialize</a> (<a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Main header file... 
<p>
Define the generic APREQ_ macros and common data structures. <hr><h2>Define Documentation</h2>
<a class="anchor" name="c01926d3b46471c3de5b30b8873a5335"></a><!-- doxytag: member="apreq.h::apreq_attr_to_type" ref="c01926d3b46471c3de5b30b8873a5335" args="(T, A, P)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define apreq_attr_to_type          </td>
          <td>(</td>
          <td class="paramtype">T,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">P&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;( (T*) ((char*)(P)-offsetof(T,A)) )</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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>T</em>&nbsp;</td><td>type </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>A</em>&nbsp;</td><td>attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>XXX </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="aa4a424f223081f61133a63ba5342eb4"></a><!-- doxytag: member="apreq.h::APREQ_CHARSET_BIT" ref="aa4a424f223081f61133a63ba5342eb4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_CHARSET_BIT&nbsp;&nbsp;&nbsp;0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Charset Bit <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="apreq_8h.html#c0a32ded2f13208529721ebe7354d635">APREQ_FLAGS_OFF</a> <p>
<a class="el" href="apreq_8h.html#39c379f0b425aa9c1ebaa849a0af4299">APREQ_FLAGS_ON</a> <p>
<a class="el" href="apreq_8h.html#184d7699d412702ae8cecf1a31574922">APREQ_FLAGS_GET</a> <p>
<a class="el" href="apreq_8h.html#65dcca5633e0d67a13c9db43739ab7fb">APREQ_FLAGS_SET</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="de1fec789af2f7724454814c8e1ed9da"></a><!-- doxytag: member="apreq.h::APREQ_CHARSET_MASK" ref="de1fec789af2f7724454814c8e1ed9da" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_CHARSET_MASK&nbsp;&nbsp;&nbsp;255          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Charset Mask <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="apreq_8h.html#c0a32ded2f13208529721ebe7354d635">APREQ_FLAGS_OFF</a> <p>
<a class="el" href="apreq_8h.html#39c379f0b425aa9c1ebaa849a0af4299">APREQ_FLAGS_ON</a> <p>
<a class="el" href="apreq_8h.html#184d7699d412702ae8cecf1a31574922">APREQ_FLAGS_GET</a> <p>
<a class="el" href="apreq_8h.html#65dcca5633e0d67a13c9db43739ab7fb">APREQ_FLAGS_SET</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="27126294cdd0a1d7e60436c1bd3d3f3d"></a><!-- doxytag: member="apreq.h::APREQ_COOKIE_SECURE_BIT" ref="27126294cdd0a1d7e60436c1bd3d3f3d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_COOKIE_SECURE_BIT&nbsp;&nbsp;&nbsp;13          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cookie's Secure Bit <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="apreq_8h.html#c0a32ded2f13208529721ebe7354d635">APREQ_FLAGS_OFF</a> <p>
<a class="el" href="apreq_8h.html#39c379f0b425aa9c1ebaa849a0af4299">APREQ_FLAGS_ON</a> <p>
<a class="el" href="apreq_8h.html#184d7699d412702ae8cecf1a31574922">APREQ_FLAGS_GET</a> <p>
<a class="el" href="apreq_8h.html#65dcca5633e0d67a13c9db43739ab7fb">APREQ_FLAGS_SET</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="190e740a4aa128d7550938274437d5a0"></a><!-- doxytag: member="apreq.h::APREQ_COOKIE_SECURE_MASK" ref="190e740a4aa128d7550938274437d5a0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_COOKIE_SECURE_MASK&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cookie's Secure Mask <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="apreq_8h.html#c0a32ded2f13208529721ebe7354d635">APREQ_FLAGS_OFF</a> <p>
<a class="el" href="apreq_8h.html#39c379f0b425aa9c1ebaa849a0af4299">APREQ_FLAGS_ON</a> <p>
<a class="el" href="apreq_8h.html#184d7699d412702ae8cecf1a31574922">APREQ_FLAGS_GET</a> <p>
<a class="el" href="apreq_8h.html#65dcca5633e0d67a13c9db43739ab7fb">APREQ_FLAGS_SET</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="c476d0bb89a7309a2d0acb558391e14d"></a><!-- doxytag: member="apreq.h::APREQ_COOKIE_VERSION_BIT" ref="c476d0bb89a7309a2d0acb558391e14d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_COOKIE_VERSION_BIT&nbsp;&nbsp;&nbsp;11          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cookier Version Bit <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="apreq_8h.html#c0a32ded2f13208529721ebe7354d635">APREQ_FLAGS_OFF</a> <p>
<a class="el" href="apreq_8h.html#39c379f0b425aa9c1ebaa849a0af4299">APREQ_FLAGS_ON</a> <p>
<a class="el" href="apreq_8h.html#184d7699d412702ae8cecf1a31574922">APREQ_FLAGS_GET</a> <p>
<a class="el" href="apreq_8h.html#65dcca5633e0d67a13c9db43739ab7fb">APREQ_FLAGS_SET</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="ca5e56b76b16c2c64ee6ee84ddeb7651"></a><!-- doxytag: member="apreq.h::APREQ_COOKIE_VERSION_MASK" ref="ca5e56b76b16c2c64ee6ee84ddeb7651" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_COOKIE_VERSION_MASK&nbsp;&nbsp;&nbsp;3          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cookie Version Mask <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="apreq_8h.html#c0a32ded2f13208529721ebe7354d635">APREQ_FLAGS_OFF</a> <p>
<a class="el" href="apreq_8h.html#39c379f0b425aa9c1ebaa849a0af4299">APREQ_FLAGS_ON</a> <p>
<a class="el" href="apreq_8h.html#184d7699d412702ae8cecf1a31574922">APREQ_FLAGS_GET</a> <p>
<a class="el" href="apreq_8h.html#65dcca5633e0d67a13c9db43739ab7fb">APREQ_FLAGS_SET</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="556c7afa0862221393d99ad2009d5573"></a><!-- doxytag: member="apreq.h::APREQ_DECLARE" ref="556c7afa0862221393d99ad2009d5573" args="(d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_DECLARE          </td>
          <td>(</td>
          <td class="paramtype">d&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;<a class="elRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___m_c.html#ggb046f205cb0c9a3bb104fac8d26fb6cd">APR_DECLARE</a>(d)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="apreq_8h.html#556c7afa0862221393d99ad2009d5573">APREQ_DECLARE(rettype)</a> apeq_func(args) <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2home_2joe_2src_2apache_2httpd_2apreq_2branches_2v2__12_2include_2apreq_8h-example.html#a16">/home/joe/src/apache/httpd/apreq/branches/v2_12/include/apreq.h</a>.</dl>
</div>
</div><p>
<a class="anchor" name="bbc00f59a8eba6ac0fb5c47035e9e600"></a><!-- doxytag: member="apreq.h::APREQ_DECLARE_DATA" ref="bbc00f59a8eba6ac0fb5c47035e9e600" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_DECLARE_DATA          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
extern APREQ_DECLARE_DATA type apr_variable;<br>
 APREQ_DECLARE_DATA type apr_variable = value; 
</div>
</div><p>
<a class="anchor" name="d0d41b6ef95a91ffeba604a9c362d4a0"></a><!-- doxytag: member="apreq.h::APREQ_DECLARE_NONSTD" ref="d0d41b6ef95a91ffeba604a9c362d4a0" args="(d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_DECLARE_NONSTD          </td>
          <td>(</td>
          <td class="paramtype">d&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;APR_DECLARE_NONSTD(d)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
APEQ_DECLARE_NONSTD(rettype) apr_func(args, ...); 
</div>
</div><p>
<a class="anchor" name="93e0b72fb65f5856ed2067e39d00f3b3"></a><!-- doxytag: member="apreq.h::APREQ_DEFAULT_BRIGADE_LIMIT" ref="93e0b72fb65f5856ed2067e39d00f3b3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_DEFAULT_BRIGADE_LIMIT&nbsp;&nbsp;&nbsp;(256 * 1024)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum number of bytes mod_apreq2 will let accumulate within the heap-buckets in a brigade. Excess data will be spooled to an appended file bucket <dl class="see" compact><dt><b>See also:</b></dt><dd>ap_set_brigade_read_limit </dd></dl>

</div>
</div><p>
<a class="anchor" name="8dbf808c309804b72c2ca14efce76cf0"></a><!-- doxytag: member="apreq.h::APREQ_DEFAULT_NELTS" ref="8dbf808c309804b72c2ca14efce76cf0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_DEFAULT_NELTS&nbsp;&nbsp;&nbsp;8          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Number of elements in the initial apr_table <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggaee266fb19b0453bbaa1c62f7514b1fb">apr_table_make</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="f64b0d4a0a39eec6249b0990b6328457"></a><!-- doxytag: member="apreq.h::APREQ_DEFAULT_READ_BLOCK_SIZE" ref="f64b0d4a0a39eec6249b0990b6328457" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_DEFAULT_READ_BLOCK_SIZE&nbsp;&nbsp;&nbsp;(64  * 1024)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read chucks of data in 64k blocks from the request 
</div>
</div><p>
<a class="anchor" name="73c29189f741fb83ade5b4b7f4e8c2d6"></a><!-- doxytag: member="apreq.h::APREQ_DEFAULT_READ_LIMIT" ref="73c29189f741fb83ade5b4b7f4e8c2d6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_DEFAULT_READ_LIMIT&nbsp;&nbsp;&nbsp;(64 * 1024 * 1024)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum number of bytes mod_apreq2 will send off to libapreq2 for parsing. mod_apreq2 will log this event and subsequently remove itself from the filter chain. <dl class="see" compact><dt><b>See also:</b></dt><dd>ap_set_read_limit </dd></dl>

</div>
</div><p>
<a class="anchor" name="184d7699d412702ae8cecf1a31574922"></a><!-- doxytag: member="apreq.h::APREQ_FLAGS_GET" ref="184d7699d412702ae8cecf1a31574922" args="(f, name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_FLAGS_GET          </td>
          <td>(</td>
          <td class="paramtype">f,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(((f) &gt;&gt; name##_BIT) &amp; name##_MASK)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get specified bit f in bitfield name 
</div>
</div><p>
<a class="anchor" name="c0a32ded2f13208529721ebe7354d635"></a><!-- doxytag: member="apreq.h::APREQ_FLAGS_OFF" ref="c0a32ded2f13208529721ebe7354d635" args="(f, name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_FLAGS_OFF          </td>
          <td>(</td>
          <td class="paramtype">f,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((f) &amp;= ~(name##_MASK &lt;&lt; name##_BIT))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check to see if specified bit f is off in bitfield name 
</div>
</div><p>
<a class="anchor" name="39c379f0b425aa9c1ebaa849a0af4299"></a><!-- doxytag: member="apreq.h::APREQ_FLAGS_ON" ref="39c379f0b425aa9c1ebaa849a0af4299" args="(f, name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_FLAGS_ON          </td>
          <td>(</td>
          <td class="paramtype">f,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((f) |=  (name##_MASK &lt;&lt; name##_BIT))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check to see if specified bit f is on in bitfield name 
</div>
</div><p>
<a class="anchor" name="65dcca5633e0d67a13c9db43739ab7fb"></a><!-- doxytag: member="apreq.h::APREQ_FLAGS_SET" ref="65dcca5633e0d67a13c9db43739ab7fb" args="(f, name, value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_FLAGS_SET          </td>
          <td>(</td>
          <td class="paramtype">f,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">name,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">value&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<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>Set specified bit f in bitfield name to value Note the below BIT/Mask defines are used sans the _BIT, _MASK because of the this define's ##_MASK, ##_BIT usage. Each come in a pair 
</div>
</div><p>
<a class="anchor" name="d85dc71cbb7c617208b48544424d0ac4"></a><!-- doxytag: member="apreq.h::APREQ_TAINTED_BIT" ref="d85dc71cbb7c617208b48544424d0ac4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_TAINTED_BIT&nbsp;&nbsp;&nbsp;8          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tainted Bit <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="apreq_8h.html#c0a32ded2f13208529721ebe7354d635">APREQ_FLAGS_OFF</a> <p>
<a class="el" href="apreq_8h.html#39c379f0b425aa9c1ebaa849a0af4299">APREQ_FLAGS_ON</a> <p>
<a class="el" href="apreq_8h.html#184d7699d412702ae8cecf1a31574922">APREQ_FLAGS_GET</a> <p>
<a class="el" href="apreq_8h.html#65dcca5633e0d67a13c9db43739ab7fb">APREQ_FLAGS_SET</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="a39f8309b89462b7717a6ca26c27ee61"></a><!-- doxytag: member="apreq.h::APREQ_TAINTED_MASK" ref="a39f8309b89462b7717a6ca26c27ee61" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APREQ_TAINTED_MASK&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tainted Mask <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="apreq_8h.html#c0a32ded2f13208529721ebe7354d635">APREQ_FLAGS_OFF</a> <p>
<a class="el" href="apreq_8h.html#39c379f0b425aa9c1ebaa849a0af4299">APREQ_FLAGS_ON</a> <p>
<a class="el" href="apreq_8h.html#184d7699d412702ae8cecf1a31574922">APREQ_FLAGS_GET</a> <p>
<a class="el" href="apreq_8h.html#65dcca5633e0d67a13c9db43739ab7fb">APREQ_FLAGS_SET</a> </dd></dl>

</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="634446af852308ac3d8d1757bc739115"></a><!-- doxytag: member="apreq.h::apreq_charset_t" ref="634446af852308ac3d8d1757bc739115" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="apreq_8h.html#634446af852308ac3d8d1757bc739115">apreq_charset_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Character encodings. 
</div>
</div><p>
<a class="anchor" name="dce8f675f28f392553584593aa02c30c"></a><!-- doxytag: member="apreq.h::apreq_expires_t" ref="dce8f675f28f392553584593aa02c30c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="apreq_8h.html#dce8f675f28f392553584593aa02c30c">apreq_expires_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Expiration date format <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="dce8f675f28f392553584593aa02c30c57dcdfaab676713137cea23a768a1cb3"></a><!-- doxytag: member="APREQ_EXPIRES_HTTP" ref="dce8f675f28f392553584593aa02c30c57dcdfaab676713137cea23a768a1cb3" args="" -->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="dce8f675f28f392553584593aa02c30cc8055cf937924e3ea79c6bf73d00e89f"></a><!-- doxytag: member="APREQ_EXPIRES_NSCOOKIE" ref="dce8f675f28f392553584593aa02c30cc8055cf937924e3ea79c6bf73d00e89f" args="" -->APREQ_EXPIRES_NSCOOKIE</em>&nbsp;</td><td>
Use format consistent with Netscape's Cookie Spec </td></tr>
</table>
</dl>

</div>
</div><p>
<a class="anchor" name="a26db627cceece7744dacb2cf29a6328"></a><!-- doxytag: member="apreq.h::apreq_join_t" ref="a26db627cceece7744dacb2cf29a6328" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="apreq_8h.html#a26db627cceece7744dacb2cf29a6328">apreq_join_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Join type <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="a26db627cceece7744dacb2cf29a6328ad87f2edbcdbd91e42ba13d8a0340b76"></a><!-- doxytag: member="APREQ_JOIN_AS_IS" ref="a26db627cceece7744dacb2cf29a6328ad87f2edbcdbd91e42ba13d8a0340b76" args="" -->APREQ_JOIN_AS_IS</em>&nbsp;</td><td>
Join the strings without modification </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a26db627cceece7744dacb2cf29a6328cac98124ea65c0ef666e10498ee2da42"></a><!-- doxytag: member="APREQ_JOIN_ENCODE" ref="a26db627cceece7744dacb2cf29a6328cac98124ea65c0ef666e10498ee2da42" args="" -->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="a26db627cceece7744dacb2cf29a6328ca0b3147e55a2aa1ec104573c8f8fcad"></a><!-- doxytag: member="APREQ_JOIN_DECODE" ref="a26db627cceece7744dacb2cf29a6328ca0b3147e55a2aa1ec104573c8f8fcad" args="" -->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="a26db627cceece7744dacb2cf29a6328282c99e7cf9bb891b62fb6e7961a327f"></a><!-- doxytag: member="APREQ_JOIN_QUOTE" ref="a26db627cceece7744dacb2cf29a6328282c99e7cf9bb891b62fb6e7961a327f" args="" -->APREQ_JOIN_QUOTE</em>&nbsp;</td><td>
Quote the strings, backslashing existing quote marks. </td></tr>
</table>
</dl>

</div>
</div><p>
<a class="anchor" name="e40c148b9e3268e34981d69082b3be33"></a><!-- doxytag: member="apreq.h::apreq_match_t" ref="e40c148b9e3268e34981d69082b3be33" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="apreq_8h.html#e40c148b9e3268e34981d69082b3be33">apreq_match_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Match type <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="e40c148b9e3268e34981d69082b3be33a6c2b3b3bebde576cc0615a1d4ab9418"></a><!-- doxytag: member="APREQ_MATCH_FULL" ref="e40c148b9e3268e34981d69082b3be33a6c2b3b3bebde576cc0615a1d4ab9418" args="" -->APREQ_MATCH_FULL</em>&nbsp;</td><td>
Full match only. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="e40c148b9e3268e34981d69082b3be333a83d390e2c5f4504928eb5ad0b01ad7"></a><!-- doxytag: member="APREQ_MATCH_PARTIAL" ref="e40c148b9e3268e34981d69082b3be333a83d390e2c5f4504928eb5ad0b01ad7" args="" -->APREQ_MATCH_PARTIAL</em>&nbsp;</td><td>
Partial matches are ok. </td></tr>
</table>
</dl>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="5d20f05c4b90a1a5dd7cb1794c03386d"></a><!-- doxytag: member="apreq.h::apreq_initialize" ref="5d20f05c4b90a1a5dd7cb1794c03386d" args="(apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_initialize           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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#1a91fcc48c6f653947f47f47991b3855">apreq_register_parser()</a>, please use <a class="el" href="apreq_8h.html#d373757bd9469ac56e573a9cfa21d401">apreq_pre_initialize()</a> and <a class="el" href="apreq_8h.html#2c8690086565e77aa984e17ba66b1c66">apreq_post_initialize()</a> instead.<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>a base pool persisting while libapreq2 is used </td></tr>
  </table>
</dl>
<dl class="remark" 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>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2home_2joe_2src_2apache_2httpd_2apreq_2branches_2v2__12_2include_2apreq_8h-example.html#a18">/home/joe/src/apache/httpd/apreq/branches/v2_12/include/apreq.h</a>.</dl>
</div>
</div><p>
<a class="anchor" name="2c8690086565e77aa984e17ba66b1c66"></a><!-- doxytag: member="apreq.h::apreq_post_initialize" ref="2c8690086565e77aa984e17ba66b1c66" args="(apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_post_initialize           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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 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#d373757bd9469ac56e573a9cfa21d401">apreq_pre_initialize()</a>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2home_2joe_2src_2apache_2httpd_2apreq_2branches_2v2__12_2include_2apreq_8h-example.html#a21">/home/joe/src/apache/httpd/apreq/branches/v2_12/include/apreq.h</a>.</dl>
</div>
</div><p>
<a class="anchor" name="d373757bd9469ac56e573a9cfa21d401"></a><!-- doxytag: member="apreq.h::apreq_pre_initialize" ref="d373757bd9469ac56e573a9cfa21d401" args="(apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gg4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apreq_pre_initialize           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gg06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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 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 class="remark" compact><dt><b>Remarks:</b></dt><dd>after you detroyed the pool, you have to call this function again with a new pool if you still plan to use libapreq2 </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2home_2joe_2src_2apache_2httpd_2apreq_2branches_2v2__12_2include_2apreq_8h-example.html#a20">/home/joe/src/apache/httpd/apreq/branches/v2_12/include/apreq.h</a>.</dl>
</div>
</div><p>
<a class="anchor" name="a7195b9d484911cc58cd317ffba93e40"></a><!-- doxytag: member="apreq.h::apreq_value_table_add" ref="a7195b9d484911cc58cd317ffba93e40" args="(const apreq_value_t *v, apr_table_t *t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static APR_INLINE void apreq_value_table_add           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structapreq__value__t.html">apreq_value_t</a> *&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__tables.html#ggfdafc0875a2cf6d44d17779ea91e4f1a">apr_table_t</a> *&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds the specified <a class="el" href="structapreq__value__t.html" title="libapreq's pre-extensible string type">apreq_value_t</a> to the apr_table_t.<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>v</em>&nbsp;</td><td>value to add </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>add v to this table</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>void</dd></dl>
@ see apr_table_t <dl class="see" compact><dt><b>See also:</b></dt><dd>apr_value_t </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2home_2joe_2src_2apache_2httpd_2apreq_2branches_2v2__12_2include_2apreq_8h-example.html#a11">/home/joe/src/apache/httpd/apreq/branches/v2_12/include/apreq.h</a>.</dl>
</div>
</div><p>
<div id="footer">
<p class="apache">
Copyright &copy; 2003-2006 <a href="http://www.apache.org">The Apache Software Foundation</a>.<br/>
See <a href="apreq_license.html">LICENSE</a>.</p>
<p class="menu">
<span style="color:#aaa">page generated by <a href="http://www.doxygen.org/"><code>doxygen</code></a>
version 1.5.2 on 6 Mar 2009</span>
</p>
</div>
</body>
</html>