Sophie

Sophie

distrib > Fedora > 20 > x86_64 > media > updates > by-pkgid > c579c38484b8ffa244858626df1128ca > files > 137

libhtp-doc-0.5.6-3.fc20.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>HTP: htp_private.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">HTP
   &#160;<span id="projectnumber">0.5</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_5edaa2d740570af18be6e40ef0aff597.html">htp</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">htp_private.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;ctype.h&gt;</code><br/>
<code>#include &lt;errno.h&gt;</code><br/>
<code>#include &lt;iconv.h&gt;</code><br/>
<code>#include &lt;inttypes.h&gt;</code><br/>
<code>#include &lt;stdarg.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;unistd.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="htp_8h_source.html">htp.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="htp__config__private_8h_source.html">htp_config_private.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="htp__connection__parser__private_8h_source.html">htp_connection_parser_private.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="htp__connection__private_8h_source.html">htp_connection_private.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="htp__list__private_8h_source.html">htp_list_private.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="htp__multipart__private_8h_source.html">htp_multipart_private.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="htp__table__private_8h_source.html">htp_table_private.h</a>&quot;</code><br/>
</div>
<p><a href="htp__private_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a876ce77f3c672c7162658151e648389e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a876ce77f3c672c7162658151e648389e">CR</a>&#160;&#160;&#160;'\r'</td></tr>
<tr class="separator:a876ce77f3c672c7162658151e648389e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a350c9d6cb81908d59427ee96844d1a9c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a350c9d6cb81908d59427ee96844d1a9c">LF</a>&#160;&#160;&#160;'\n'</td></tr>
<tr class="separator:a350c9d6cb81908d59427ee96844d1a9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29c67bed9658016a901d99d71011700a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a29c67bed9658016a901d99d71011700a">HTP_FIELD_LIMIT_HARD</a>&#160;&#160;&#160;18000</td></tr>
<tr class="separator:a29c67bed9658016a901d99d71011700a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fd5c36dacc1521d41f9e4955038da0a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a4fd5c36dacc1521d41f9e4955038da0a">HTP_FIELD_LIMIT_SOFT</a>&#160;&#160;&#160;9000</td></tr>
<tr class="separator:a4fd5c36dacc1521d41f9e4955038da0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace800f6da4de3bb31504180690d743e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ace800f6da4de3bb31504180690d743e0">HTP_VALID_STATUS_MIN</a>&#160;&#160;&#160;100</td></tr>
<tr class="separator:ace800f6da4de3bb31504180690d743e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae96c608f3d54bc3d2c24fc99cbede431"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ae96c608f3d54bc3d2c24fc99cbede431">HTP_VALID_STATUS_MAX</a>&#160;&#160;&#160;999</td></tr>
<tr class="separator:ae96c608f3d54bc3d2c24fc99cbede431"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae4a3e37c2a1e728db9f80cca8e53c6fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ae4a3e37c2a1e728db9f80cca8e53c6fa">htp_connp_REQ_IDLE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:ae4a3e37c2a1e728db9f80cca8e53c6fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfb131d9a3925c753f4beffad0f07e84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#acfb131d9a3925c753f4beffad0f07e84">htp_connp_REQ_LINE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:acfb131d9a3925c753f4beffad0f07e84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a801f66183cf5693361eca92d66607314"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a801f66183cf5693361eca92d66607314">htp_connp_REQ_PROTOCOL</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a801f66183cf5693361eca92d66607314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7b83f68a53afa0a16e0d78300b63a46"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#af7b83f68a53afa0a16e0d78300b63a46">htp_connp_REQ_HEADERS</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:af7b83f68a53afa0a16e0d78300b63a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e8c194c19ebdaaa21fe107e328e3a75"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a3e8c194c19ebdaaa21fe107e328e3a75">htp_connp_REQ_CONNECT_CHECK</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a3e8c194c19ebdaaa21fe107e328e3a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6178cc04104e5e5e469489f5e77c04d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ac6178cc04104e5e5e469489f5e77c04d">htp_connp_REQ_CONNECT_WAIT_RESPONSE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:ac6178cc04104e5e5e469489f5e77c04d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad207aff5c7e4a68d2a539ffd9e3fd623"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ad207aff5c7e4a68d2a539ffd9e3fd623">htp_connp_REQ_BODY_DETERMINE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:ad207aff5c7e4a68d2a539ffd9e3fd623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5ab1e26414167266d8d0b98eb712723"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#aa5ab1e26414167266d8d0b98eb712723">htp_connp_REQ_BODY_IDENTITY</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:aa5ab1e26414167266d8d0b98eb712723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78975b59c610a8b5cd834b6c7ad7524b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a78975b59c610a8b5cd834b6c7ad7524b">htp_connp_REQ_BODY_CHUNKED_LENGTH</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a78975b59c610a8b5cd834b6c7ad7524b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac07a4f5062908c573d2b78f6f3ddc743"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ac07a4f5062908c573d2b78f6f3ddc743">htp_connp_REQ_BODY_CHUNKED_DATA</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:ac07a4f5062908c573d2b78f6f3ddc743"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24a112bbe8db96d22a8d421a6ea6ac74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a24a112bbe8db96d22a8d421a6ea6ac74">htp_connp_REQ_BODY_CHUNKED_DATA_END</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a24a112bbe8db96d22a8d421a6ea6ac74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2702260435d65d58ff1ef824cfdc1091"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a2702260435d65d58ff1ef824cfdc1091">htp_connp_REQ_FINALIZE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a2702260435d65d58ff1ef824cfdc1091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a984918ce8cdd5c6d42c74294a1c7cc18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a984918ce8cdd5c6d42c74294a1c7cc18">htp_connp_REQ_IGNORE_DATA_AFTER_HTTP_0_9</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a984918ce8cdd5c6d42c74294a1c7cc18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b95d113c24de4c93db72889c738275d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a1b95d113c24de4c93db72889c738275d">htp_connp_RES_IDLE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a1b95d113c24de4c93db72889c738275d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45043cdc1b581e62abbf2423be76ea2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a45043cdc1b581e62abbf2423be76ea2a">htp_connp_RES_LINE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a45043cdc1b581e62abbf2423be76ea2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92faf3d17df2d54dd67bd7fbe80fb525"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a92faf3d17df2d54dd67bd7fbe80fb525">htp_connp_RES_HEADERS</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a92faf3d17df2d54dd67bd7fbe80fb525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bf0430de9af721db6e03c90ec63adf6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a5bf0430de9af721db6e03c90ec63adf6">htp_connp_RES_BODY_DETERMINE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a5bf0430de9af721db6e03c90ec63adf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35978034dd65239e911dd33f7c751332"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a35978034dd65239e911dd33f7c751332">htp_connp_RES_BODY_IDENTITY_CL_KNOWN</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a35978034dd65239e911dd33f7c751332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c9732ce72c12038353a4483475e180c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a2c9732ce72c12038353a4483475e180c">htp_connp_RES_BODY_IDENTITY_STREAM_CLOSE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a2c9732ce72c12038353a4483475e180c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab601564fadb2bb9ff37cd75b448a03d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ab601564fadb2bb9ff37cd75b448a03d7">htp_connp_RES_BODY_CHUNKED_LENGTH</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:ab601564fadb2bb9ff37cd75b448a03d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae160ab80f3c9d3c3aad67b7a34a498ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ae160ab80f3c9d3c3aad67b7a34a498ab">htp_connp_RES_BODY_CHUNKED_DATA</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:ae160ab80f3c9d3c3aad67b7a34a498ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a028530726a98edc10fc5adf8a050b349"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a028530726a98edc10fc5adf8a050b349">htp_connp_RES_BODY_CHUNKED_DATA_END</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a028530726a98edc10fc5adf8a050b349"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a779958ef7d3b3742be8b13170c0a8977"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a779958ef7d3b3742be8b13170c0a8977">htp_connp_RES_FINALIZE</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a779958ef7d3b3742be8b13170c0a8977"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02add732118572070ba289abd8a4cd66"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a02add732118572070ba289abd8a4cd66">htp_parse_request_line_generic</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a02add732118572070ba289abd8a4cd66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53bf758c818ba5d2554eba3ba380fb36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a53bf758c818ba5d2554eba3ba380fb36">htp_parse_request_line_generic_ex</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, int nul_terminates)</td></tr>
<tr class="separator:a53bf758c818ba5d2554eba3ba380fb36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a942dcbfae19b6ceb5c070cb84dc50bce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a942dcbfae19b6ceb5c070cb84dc50bce">htp_parse_request_header_generic</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="structhtp__header__t.html">htp_header_t</a> *h, unsigned char *data, size_t len)</td></tr>
<tr class="separator:a942dcbfae19b6ceb5c070cb84dc50bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a3399cfc120ef7bc532821f41bbc7e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a4a3399cfc120ef7bc532821f41bbc7e0">htp_process_request_header_generic</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *, unsigned char *data, size_t len)</td></tr>
<tr class="separator:a4a3399cfc120ef7bc532821f41bbc7e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84210ba8a498e578ab7f99914911b8e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a84210ba8a498e578ab7f99914911b8e5">htp_parse_request_line_apache_2_2</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a84210ba8a498e578ab7f99914911b8e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56dfd3147fee6124ab7c7a1e58b5ff27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a56dfd3147fee6124ab7c7a1e58b5ff27">htp_process_request_header_apache_2_2</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *, unsigned char *data, size_t len)</td></tr>
<tr class="separator:a56dfd3147fee6124ab7c7a1e58b5ff27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94a11f3a575e297f071076f396fe3117"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a94a11f3a575e297f071076f396fe3117">htp_parse_response_line_generic</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a94a11f3a575e297f071076f396fe3117"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbf864cbe06ef50937cb271c79261d18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#acbf864cbe06ef50937cb271c79261d18">htp_parse_response_header_generic</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="structhtp__header__t.html">htp_header_t</a> *h, unsigned char *data, size_t len)</td></tr>
<tr class="separator:acbf864cbe06ef50937cb271c79261d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c9e1963cfe2008b92889c5e1e4f0bb1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a7c9e1963cfe2008b92889c5e1e4f0bb1">htp_process_response_header_generic</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, unsigned char *data, size_t len)</td></tr>
<tr class="separator:a7c9e1963cfe2008b92889c5e1e4f0bb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76675e7e250e24c1ac47c49b4181aff8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a76675e7e250e24c1ac47c49b4181aff8">htp_tx_state_response_complete_ex</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx, int hybrid_mode)</td></tr>
<tr class="separator:a76675e7e250e24c1ac47c49b4181aff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad43c81727dd2888a32e4fc692b472249"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ad43c81727dd2888a32e4fc692b472249">htp_convert_method_to_number</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *)</td></tr>
<tr class="separator:ad43c81727dd2888a32e4fc692b472249"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01068fcd4418a90ea81a2ad5e4eb8c81"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a01068fcd4418a90ea81a2ad5e4eb8c81">htp_is_lws</a> (int c)</td></tr>
<tr class="separator:a01068fcd4418a90ea81a2ad5e4eb8c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a238c39a6d7fd7f35735f9c97a1b2aa66"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a238c39a6d7fd7f35735f9c97a1b2aa66">htp_is_separator</a> (int c)</td></tr>
<tr class="separator:a238c39a6d7fd7f35735f9c97a1b2aa66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd9999e11e39f8434023b786416fdc43"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#acd9999e11e39f8434023b786416fdc43">htp_is_text</a> (int c)</td></tr>
<tr class="separator:acd9999e11e39f8434023b786416fdc43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a0e47fdda476b38045a7d3406fb51ee"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a7a0e47fdda476b38045a7d3406fb51ee">htp_is_token</a> (int c)</td></tr>
<tr class="separator:a7a0e47fdda476b38045a7d3406fb51ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5e02fbff064b8409e1307bd30fffab8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#aa5e02fbff064b8409e1307bd30fffab8">htp_chomp</a> (unsigned char *data, size_t *len)</td></tr>
<tr class="separator:aa5e02fbff064b8409e1307bd30fffab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8154aaa13d12e1fea9b066e0881bd125"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a8154aaa13d12e1fea9b066e0881bd125">htp_is_space</a> (int c)</td></tr>
<tr class="separator:a8154aaa13d12e1fea9b066e0881bd125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a237aaf4069198820e21015a9efb28ed6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a237aaf4069198820e21015a9efb28ed6">htp_parse_protocol</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *protocol)</td></tr>
<tr class="separator:a237aaf4069198820e21015a9efb28ed6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa515e1e25cc42162e95469b4d6c575c9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#aa515e1e25cc42162e95469b4d6c575c9">htp_is_line_empty</a> (unsigned char *data, size_t len)</td></tr>
<tr class="separator:aa515e1e25cc42162e95469b4d6c575c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b599459708fac234b83e8d8fe58b258"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a8b599459708fac234b83e8d8fe58b258">htp_is_line_whitespace</a> (unsigned char *data, size_t len)</td></tr>
<tr class="separator:a8b599459708fac234b83e8d8fe58b258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6328d9ce315c36afc0a3396f28b482a5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a6328d9ce315c36afc0a3396f28b482a5">htp_connp_is_line_folded</a> (unsigned char *data, size_t len)</td></tr>
<tr class="separator:a6328d9ce315c36afc0a3396f28b482a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e2d1a484a0504ed6475a9d89a6608a3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a9e2d1a484a0504ed6475a9d89a6608a3">htp_is_folding_char</a> (int c)</td></tr>
<tr class="separator:a9e2d1a484a0504ed6475a9d89a6608a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ec198a62babe0db3d63024ec9d5118"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a90ec198a62babe0db3d63024ec9d5118">htp_connp_is_line_terminator</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, unsigned char *data, size_t len)</td></tr>
<tr class="separator:a90ec198a62babe0db3d63024ec9d5118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1497c1d24aca2e016fc04475d48616c7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a1497c1d24aca2e016fc04475d48616c7">htp_connp_is_line_ignorable</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, unsigned char *data, size_t len)</td></tr>
<tr class="separator:a1497c1d24aca2e016fc04475d48616c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a330b435a16a1f366eed76bf7b7bddba6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a330b435a16a1f366eed76bf7b7bddba6">htp_parse_uri</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *input, <a class="el" href="structhtp__uri__t.html">htp_uri_t</a> **uri)</td></tr>
<tr class="separator:a330b435a16a1f366eed76bf7b7bddba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedc19799e102c068dfce83c4ccd0961a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#aedc19799e102c068dfce83c4ccd0961a">htp_parse_hostport</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *authority, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **hostname, int *port, int *invalid)</td></tr>
<tr class="separator:aedc19799e102c068dfce83c4ccd0961a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a145d256c0c6a6fff2bfb3dbb02ae656b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a145d256c0c6a6fff2bfb3dbb02ae656b">htp_parse_header_hostport</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *authority, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **hostname, int *port, uint64_t *flags)</td></tr>
<tr class="separator:a145d256c0c6a6fff2bfb3dbb02ae656b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31cca701d490472a8cdb778a6c0e6560"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a31cca701d490472a8cdb778a6c0e6560">htp_validate_hostname</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *hostname)</td></tr>
<tr class="separator:a31cca701d490472a8cdb778a6c0e6560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fbfa6b24b1c5ffb1f1d9de3d3834c6c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a8fbfa6b24b1c5ffb1f1d9de3d3834c6c">htp_parse_uri_hostport</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *input, <a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *uri)</td></tr>
<tr class="separator:a8fbfa6b24b1c5ffb1f1d9de3d3834c6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b18b82f32e1f78aede068a2aafc4632"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a0b18b82f32e1f78aede068a2aafc4632">htp_normalize_parsed_uri</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx, <a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *parsed_uri_incomplete, <a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *parsed_uri)</td></tr>
<tr class="separator:a0b18b82f32e1f78aede068a2aafc4632"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e8991ba87da71aa0b14c2955da46b25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a7e8991ba87da71aa0b14c2955da46b25">htp_normalize_hostname_inplace</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *input)</td></tr>
<tr class="separator:a7e8991ba87da71aa0b14c2955da46b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68a568e948b5a609fb4900152498142b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a68a568e948b5a609fb4900152498142b">htp_replace_hostname</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *parsed_uri, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *hostname)</td></tr>
<tr class="separator:a68a568e948b5a609fb4900152498142b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7cca7a4e5e553b0a1da8d305dd7bae6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ae7cca7a4e5e553b0a1da8d305dd7bae6">htp_is_uri_unreserved</a> (unsigned char c)</td></tr>
<tr class="separator:ae7cca7a4e5e553b0a1da8d305dd7bae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a854ce501c5216103458afecdadb82d0b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a854ce501c5216103458afecdadb82d0b">htp_decode_path_inplace</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *path)</td></tr>
<tr class="separator:a854ce501c5216103458afecdadb82d0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2d18313ab65aaed7a524b589369912c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#af2d18313ab65aaed7a524b589369912c">htp_uriencoding_normalize_inplace</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *s)</td></tr>
<tr class="separator:af2d18313ab65aaed7a524b589369912c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a353bcc0a6c767d5f2880b9707ebf2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a35a353bcc0a6c767d5f2880b9707ebf2">htp_prenormalize_uri_path_inplace</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *s, int *flags, int case_insensitive, int backslash, int decode_separators, int remove_consecutive)</td></tr>
<tr class="separator:a35a353bcc0a6c767d5f2880b9707ebf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3b688cf78f951a218afde6d2bb3b763"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ae3b688cf78f951a218afde6d2bb3b763">htp_normalize_uri_path_inplace</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *s)</td></tr>
<tr class="separator:ae3b688cf78f951a218afde6d2bb3b763"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac19fd0827df78d7618a6360a0a9e2ac2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ac19fd0827df78d7618a6360a0a9e2ac2">htp_utf8_decode_path_inplace</a> (<a class="el" href="structhtp__cfg__t.html">htp_cfg_t</a> *cfg, <a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *path)</td></tr>
<tr class="separator:ac19fd0827df78d7618a6360a0a9e2ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ad702e0957be72f80dc27900f83ec7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a75ad702e0957be72f80dc27900f83ec7">htp_utf8_validate_path</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *path)</td></tr>
<tr class="separator:a75ad702e0957be72f80dc27900f83ec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50d9fb619fe71bfee3ab812d96ba0b6c"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a50d9fb619fe71bfee3ab812d96ba0b6c">htp_parse_content_length</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *b)</td></tr>
<tr class="separator:a50d9fb619fe71bfee3ab812d96ba0b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe97fa5fa00905db42afe94366adcc6a"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#abe97fa5fa00905db42afe94366adcc6a">htp_parse_chunked_length</a> (unsigned char *data, size_t len)</td></tr>
<tr class="separator:abe97fa5fa00905db42afe94366adcc6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae73f7889b2bec1d7c2605c154cc4ecda"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ae73f7889b2bec1d7c2605c154cc4ecda">htp_parse_positive_integer_whitespace</a> (unsigned char *data, size_t len, int base)</td></tr>
<tr class="separator:ae73f7889b2bec1d7c2605c154cc4ecda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ad81779ba8a5a89d48455078d5aedc9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a2ad81779ba8a5a89d48455078d5aedc9">htp_parse_status</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *status)</td></tr>
<tr class="separator:a2ad81779ba8a5a89d48455078d5aedc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ce81b909ad3720c21dc675f35b95767"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a0ce81b909ad3720c21dc675f35b95767">htp_parse_authorization_digest</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="structhtp__header__t.html">htp_header_t</a> *auth_header)</td></tr>
<tr class="separator:a0ce81b909ad3720c21dc675f35b95767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83f1fbe81d55cb3ef6402bc069b5baca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a83f1fbe81d55cb3ef6402bc069b5baca">htp_parse_authorization_basic</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="structhtp__header__t.html">htp_header_t</a> *auth_header)</td></tr>
<tr class="separator:a83f1fbe81d55cb3ef6402bc069b5baca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac27d9ef825468ab08cf316b9b527a8cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ac27d9ef825468ab08cf316b9b527a8cc">htp_print_log</a> (FILE *stream, <a class="el" href="structhtp__log__t.html">htp_log_t</a> *log)</td></tr>
<tr class="separator:ac27d9ef825468ab08cf316b9b527a8cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dfe07ee3d981b6bfaaf6c88d01224b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a1dfe07ee3d981b6bfaaf6c88d01224b0">fprint_bstr</a> (FILE *stream, const char *name, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *b)</td></tr>
<tr class="separator:a1dfe07ee3d981b6bfaaf6c88d01224b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ec8330cb428004d467f69e7c6acdb84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a0ec8330cb428004d467f69e7c6acdb84">fprint_raw_data</a> (FILE *stream, const char *name, const void *data, size_t len)</td></tr>
<tr class="separator:a0ec8330cb428004d467f69e7c6acdb84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bd7382b55286e62a10aac00bc630af1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a9bd7382b55286e62a10aac00bc630af1">fprint_raw_data_ex</a> (FILE *stream, const char *name, const void *data, size_t offset, size_t len)</td></tr>
<tr class="separator:a9bd7382b55286e62a10aac00bc630af1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81fca26cac57032120c6796bda2a660c"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a81fca26cac57032120c6796bda2a660c">htp_connp_in_state_as_string</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a81fca26cac57032120c6796bda2a660c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af31ead38ae0851c906b72d93d9a29d5a"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#af31ead38ae0851c906b72d93d9a29d5a">htp_connp_out_state_as_string</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:af31ead38ae0851c906b72d93d9a29d5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7745dfd28ae341b34cde2bb1f333b1b8"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a7745dfd28ae341b34cde2bb1f333b1b8">htp_tx_request_progress_as_string</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:a7745dfd28ae341b34cde2bb1f333b1b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9469285f23ba429b8358c9385ccd6eef"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a9469285f23ba429b8358c9385ccd6eef">htp_tx_response_progress_as_string</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:a9469285f23ba429b8358c9385ccd6eef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a556b54577b8787f15a9d98955ba6b1a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a556b54577b8787f15a9d98955ba6b1a7">htp_unparse_uri_noencode</a> (<a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *uri)</td></tr>
<tr class="separator:a556b54577b8787f15a9d98955ba6b1a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a989808ba8cacae96e9c5e0e052a73a3c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a989808ba8cacae96e9c5e0e052a73a3c">htp_treat_response_line_as_body</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:a989808ba8cacae96e9c5e0e052a73a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9186694fa6cb9d4985d3c66698f0968"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ae9186694fa6cb9d4985d3c66698f0968">htp_req_run_hook_body_data</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="structhtp__tx__data__t.html">htp_tx_data_t</a> *d)</td></tr>
<tr class="separator:ae9186694fa6cb9d4985d3c66698f0968"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa60cc60143dfb38260549c4df5219727"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#aa60cc60143dfb38260549c4df5219727">htp_res_run_hook_body_data</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="structhtp__tx__data__t.html">htp_tx_data_t</a> *d)</td></tr>
<tr class="separator:aa60cc60143dfb38260549c4df5219727"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e9f7160e5042d277db88170780998dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a4e9f7160e5042d277db88170780998dd">htp_ch_urlencoded_callback_request_body_data</a> (<a class="el" href="structhtp__tx__data__t.html">htp_tx_data_t</a> *d)</td></tr>
<tr class="separator:a4e9f7160e5042d277db88170780998dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4a784badfbaddb77f6f6e1582fee11e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ac4a784badfbaddb77f6f6e1582fee11e">htp_ch_urlencoded_callback_request_headers</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:ac4a784badfbaddb77f6f6e1582fee11e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ad3aba77f1ebdcc30f1dea10068386f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a2ad3aba77f1ebdcc30f1dea10068386f">htp_ch_urlencoded_callback_request_line</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:a2ad3aba77f1ebdcc30f1dea10068386f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ec64e252d77945deded415a91bae392"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a7ec64e252d77945deded415a91bae392">htp_ch_multipart_callback_request_body_data</a> (<a class="el" href="structhtp__tx__data__t.html">htp_tx_data_t</a> *d)</td></tr>
<tr class="separator:a7ec64e252d77945deded415a91bae392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5828725587fa5f395faa80e7d2059194"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a5828725587fa5f395faa80e7d2059194">htp_ch_multipart_callback_request_headers</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:a5828725587fa5f395faa80e7d2059194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2d2ad08d21713822f1d32dc58881caf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#aa2d2ad08d21713822f1d32dc58881caf">htp_php_parameter_processor</a> (<a class="el" href="structhtp__param__t.html">htp_param_t</a> *p)</td></tr>
<tr class="separator:aa2d2ad08d21713822f1d32dc58881caf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31718600e56773087712711de6710492"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a31718600e56773087712711de6710492">htp_transcode_params</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="structhtp__table__t.html">htp_table_t</a> **params, int destroy_old)</td></tr>
<tr class="separator:a31718600e56773087712711de6710492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86a9a18ddecb35422b934bf270bfccbd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a86a9a18ddecb35422b934bf270bfccbd">htp_transcode_bstr</a> (iconv_t cd, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *input, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **output)</td></tr>
<tr class="separator:a86a9a18ddecb35422b934bf270bfccbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8aeab7a6f7948a8ee81cc37dbcbe28c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#aa8aeab7a6f7948a8ee81cc37dbcbe28c">htp_parse_single_cookie_v0</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, unsigned char *data, size_t len)</td></tr>
<tr class="separator:aa8aeab7a6f7948a8ee81cc37dbcbe28c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13fe2f6ba397741dd91abeaafce2c5e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a13fe2f6ba397741dd91abeaafce2c5e6">htp_parse_cookies_v0</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a13fe2f6ba397741dd91abeaafce2c5e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8acc6c49e7f95eb1cbdf088dc5df9ae4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a8acc6c49e7f95eb1cbdf088dc5df9ae4">htp_parse_authorization</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a8acc6c49e7f95eb1cbdf088dc5df9ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ca5d553420839786a3102bc3ab3cb80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a0ca5d553420839786a3102bc3ab3cb80">htp_extract_quoted_string_as_bstr</a> (unsigned char *data, size_t len, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **out, size_t *endoffset)</td></tr>
<tr class="separator:a0ca5d553420839786a3102bc3ab3cb80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af27fd03498aa68a9c02ed3f3172cd5c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structhtp__header__t.html">htp_header_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#af27fd03498aa68a9c02ed3f3172cd5c3">htp_connp_header_parse</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *, unsigned char *, size_t)</td></tr>
<tr class="separator:af27fd03498aa68a9c02ed3f3172cd5c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3742fd84a15ebfa867623dd7bf26c0e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a3742fd84a15ebfa867623dd7bf26c0e9">htp_parse_ct_header</a> (<a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *header, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **ct)</td></tr>
<tr class="separator:a3742fd84a15ebfa867623dd7bf26c0e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af19c954da72e0921d9e3ae2e79bccfb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#af19c954da72e0921d9e3ae2e79bccfb5">htp_connp_req_receiver_finalize_clear</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:af19c954da72e0921d9e3ae2e79bccfb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa608348db7f36d05e7cb77790387b279"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#aa608348db7f36d05e7cb77790387b279">htp_connp_res_receiver_finalize_clear</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:aa608348db7f36d05e7cb77790387b279"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9256c1eaab954ec27241d1ad51067b55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a9256c1eaab954ec27241d1ad51067b55">htp_tx_finalize</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:a9256c1eaab954ec27241d1ad51067b55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88c6e5a1d12435394c5bad42cf6fbe5b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a88c6e5a1d12435394c5bad42cf6fbe5b">htp_tx_is_complete</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:a88c6e5a1d12435394c5bad42cf6fbe5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a094a6a35a7a937d160a2785e2e6e3269"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a094a6a35a7a937d160a2785e2e6e3269">htp_tx_state_request_complete_partial</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:a094a6a35a7a937d160a2785e2e6e3269"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae33f3c887843a95a8a6650ed2c737dc6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#ae33f3c887843a95a8a6650ed2c737dc6">htp_connp_tx_remove</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, <a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:ae33f3c887843a95a8a6650ed2c737dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d9bedcb7fd819340ebd8e8271263191"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a0d9bedcb7fd819340ebd8e8271263191">htp_tx_destroy_incomplete</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx)</td></tr>
<tr class="separator:a0d9bedcb7fd819340ebd8e8271263191"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13e830ded4af725cc7160b1406023d89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a13e830ded4af725cc7160b1406023d89">htp_tx_req_process_body_data_ex</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx, const void *data, size_t len)</td></tr>
<tr class="separator:a13e830ded4af725cc7160b1406023d89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a219a0b24ed95d84a3fb9ad7c07cac511"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a219a0b24ed95d84a3fb9ad7c07cac511">htp_tx_res_process_body_data_ex</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx, const void *data, size_t len)</td></tr>
<tr class="separator:a219a0b24ed95d84a3fb9ad7c07cac511"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14e44933747475b68b36ea4b4ec7f1eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a14e44933747475b68b36ea4b4ec7f1eb">htp_tx_urldecode_uri_inplace</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *input)</td></tr>
<tr class="separator:a14e44933747475b68b36ea4b4ec7f1eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3290cc3c0233d21dd5c3e8e97883ea18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__private_8h.html#a3290cc3c0233d21dd5c3e8e97883ea18">htp_tx_urldecode_params_inplace</a> (<a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *tx, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *input)</td></tr>
<tr class="separator:a3290cc3c0233d21dd5c3e8e97883ea18"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Ivan Ristic <a href="#" onclick="location.href='mai'+'lto:'+'iva'+'nr'+'@we'+'bk'+'rea'+'to'+'r.c'+'om'; return false;">ivanr<span style="display: none;">.nosp@m.</span>@web<span style="display: none;">.nosp@m.</span>kreat<span style="display: none;">.nosp@m.</span>or.c<span style="display: none;">.nosp@m.</span>om</a> </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a876ce77f3c672c7162658151e648389e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CR&#160;&#160;&#160;'\r'</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a29c67bed9658016a901d99d71011700a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTP_FIELD_LIMIT_HARD&#160;&#160;&#160;18000</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4fd5c36dacc1521d41f9e4955038da0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTP_FIELD_LIMIT_SOFT&#160;&#160;&#160;9000</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae96c608f3d54bc3d2c24fc99cbede431"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTP_VALID_STATUS_MAX&#160;&#160;&#160;999</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ace800f6da4de3bb31504180690d743e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTP_VALID_STATUS_MIN&#160;&#160;&#160;100</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a350c9d6cb81908d59427ee96844d1a9c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LF&#160;&#160;&#160;'\n'</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a1dfe07ee3d981b6bfaaf6c88d01224b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fprint_bstr </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0ec8330cb428004d467f69e7c6acdb84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fprint_raw_data </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9bd7382b55286e62a10aac00bc630af1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fprint_raw_data_ex </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7ec64e252d77945deded415a91bae392"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_ch_multipart_callback_request_body_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__data__t.html">htp_tx_data_t</a> *&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Finalize Multipart processing.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on success, HTP_ERROR on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a5828725587fa5f395faa80e7d2059194"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_ch_multipart_callback_request_headers </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Inspect request headers and register the Multipart request data hook if it contains a multipart/form-data body.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK if a new parser has been setup, HTP_DECLINED if the MIME type is not appropriate for this parser, and HTP_ERROR on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a4e9f7160e5042d277db88170780998dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_ch_urlencoded_callback_request_body_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__data__t.html">htp_tx_data_t</a> *&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This callback function feeds request body data to a Urlencoded parser and, later, feeds the parsed parameters to the correct structures.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on success, HTP_ERROR on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ac4a784badfbaddb77f6f6e1582fee11e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_ch_urlencoded_callback_request_headers </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determine if the request has a Urlencoded body, and, if it does, create and attach an instance of the Urlencoded parser to the transaction.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK if a new parser has been setup, HTP_DECLINED if the MIME type is not appropriate for this parser, and HTP_ERROR on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a2ad3aba77f1ebdcc30f1dea10068386f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_ch_urlencoded_callback_request_line </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses request query string, if present.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">raw_data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">raw_len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK if query string was parsed, HTP_DECLINED if there was no query string, and HTP_ERROR on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="aa5e02fbff064b8409e1307bd30fffab8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_chomp </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Remove all line terminators (LF or CRLF) from the end of the line provided as input.</p>
<dl class="section return"><dt>Returns</dt><dd>0 if nothing was removed, 1 if one or more LF characters were removed, or 2 if one or more CR and/or LF characters were removed. </dd></dl>

</div>
</div>
<a class="anchor" id="af27fd03498aa68a9c02ed3f3172cd5c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhtp__header__t.html">htp_header_t</a>* htp_connp_header_parse </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a81fca26cac57032120c6796bda2a660c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* htp_connp_in_state_as_string </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6328d9ce315c36afc0a3396f28b482a5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_connp_is_line_folded </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines if the given line is a continuation (of some previous line).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 for false and true, respectively. Returns -1 on error (NULL pointer or length zero). </dd></dl>

</div>
</div>
<a class="anchor" id="a1497c1d24aca2e016fc04475d48616c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_connp_is_line_ignorable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines if the given line can be ignored when it appears before a request.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>

</div>
</div>
<a class="anchor" id="a90ec198a62babe0db3d63024ec9d5118"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_connp_is_line_terminator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines if the given line is a request terminator.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>

</div>
</div>
<a class="anchor" id="af31ead38ae0851c906b72d93d9a29d5a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* htp_connp_out_state_as_string </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac07a4f5062908c573d2b78f6f3ddc743"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_BODY_CHUNKED_DATA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Processes a chunk of data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a24a112bbe8db96d22a8d421a6ea6ac74"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_BODY_CHUNKED_DATA_END </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Consumes bytes until the end of the current line.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a78975b59c610a8b5cd834b6c7ad7524b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_BODY_CHUNKED_LENGTH </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Extracts chunk length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="ad207aff5c7e4a68d2a539ffd9e3fd623"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_BODY_DETERMINE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines presence (and encoding) of a request body.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="aa5ab1e26414167266d8d0b98eb712723"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_BODY_IDENTITY </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Processes identity request body.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a3e8c194c19ebdaaa21fe107e328e3a75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_CONNECT_CHECK </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Performs a check for a CONNECT transaction to decide whether inbound parsing needs to be suspended.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK if the request does not use CONNECT, HTP_DATA_OTHER if inbound parsing needs to be suspended until we hear from the other side </dd></dl>

</div>
</div>
<a class="anchor" id="ac6178cc04104e5e5e469489f5e77c04d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_CONNECT_WAIT_RESPONSE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines whether inbound parsing, which was suspended after encountering a CONNECT transaction, can proceed (after receiving the response).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK if the parser can resume parsing, HTP_DATA_OTHER if it needs to continue waiting. </dd></dl>

</div>
</div>
<a class="anchor" id="a2702260435d65d58ff1ef824cfdc1091"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_FINALIZE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af7b83f68a53afa0a16e0d78300b63a46"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_HEADERS </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses request headers.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="ae4a3e37c2a1e728db9f80cca8e53c6fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_IDLE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The idle state is where the parser will end up after a transaction is processed. If there is more data available, a new request will be started.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a984918ce8cdd5c6d42c74294a1c7cc18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_IGNORE_DATA_AFTER_HTTP_0_9 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acfb131d9a3925c753f4beffad0f07e84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_LINE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses request line.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a801f66183cf5693361eca92d66607314"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_REQ_PROTOCOL </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines request protocol.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="af19c954da72e0921d9e3ae2e79bccfb5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_req_receiver_finalize_clear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Finalizes an existing data receiver hook by sending any outstanding data to it. The hook is then removed so that it receives no more data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK, or a value returned from a callback. </dd></dl>

</div>
</div>
<a class="anchor" id="ae160ab80f3c9d3c3aad67b7a34a498ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_BODY_CHUNKED_DATA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Processes a chunk of data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a028530726a98edc10fc5adf8a050b349"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_BODY_CHUNKED_DATA_END </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Consumes bytes until the end of the current line.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="ab601564fadb2bb9ff37cd75b448a03d7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_BODY_CHUNKED_LENGTH </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Extracts chunk length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a5bf0430de9af721db6e03c90ec63adf6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_BODY_DETERMINE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines presence (and encoding) of a response body.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a35978034dd65239e911dd33f7c751332"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_BODY_IDENTITY_CL_KNOWN </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Processes an identity response body of known length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a2c9732ce72c12038353a4483475e180c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_BODY_IDENTITY_STREAM_CLOSE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Processes identity response body of unknown length. In this case, we assume the response body consumes all data until the end of the stream.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a779958ef7d3b3742be8b13170c0a8977"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_FINALIZE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a92faf3d17df2d54dd67bd7fbe80fb525"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_HEADERS </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses response headers.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a1b95d113c24de4c93db72889c738275d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_IDLE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The response idle state will initialize response processing, as well as finalize each transactions after we are done with it.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="a45043cdc1b581e62abbf2423be76ea2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_RES_LINE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses response line.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on state change, HTP_ERROR on error, or HTP_DATA when more data is needed. </dd></dl>

</div>
</div>
<a class="anchor" id="aa608348db7f36d05e7cb77790387b279"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_connp_res_receiver_finalize_clear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Finalizes an existing data receiver hook by sending any outstanding data to it. The hook is then removed so that it receives no more data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK, or a value returned from a callback. </dd></dl>

</div>
</div>
<a class="anchor" id="ae33f3c887843a95a8a6650ed2c737dc6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_connp_tx_remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Removes references to the supplied transaction.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tx</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad43c81727dd2888a32e4fc692b472249"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_convert_method_to_number </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>method</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Converts request method, given as a string, into a number.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">method</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Method number of M_UNKNOWN </dd></dl>

</div>
</div>
<a class="anchor" id="a854ce501c5216103458afecdadb82d0b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_decode_path_inplace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Decode a request path according to the settings in the provided configuration structure.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cfg</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tx</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0ca5d553420839786a3102bc3ab3cb80"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_extract_quoted_string_as_bstr </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>endoffset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses the provided memory region, extracting the double-quoted string.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">out</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">endoffset</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on success, HTP_DECLINED if the input is not well formed, and HTP_ERROR on fatal errors. </dd></dl>

</div>
</div>
<a class="anchor" id="a9e2d1a484a0504ed6475a9d89a6608a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_is_folding_char </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa515e1e25cc42162e95469b4d6c575c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_is_line_empty </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is the given line empty? This function expects the line to have a terminating LF.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>

</div>
</div>
<a class="anchor" id="a8b599459708fac234b83e8d8fe58b258"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_is_line_whitespace </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Does line consist entirely of whitespace characters?</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>

</div>
</div>
<a class="anchor" id="a01068fcd4418a90ea81a2ad5e4eb8c81"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_is_lws </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is character a linear white space character?</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>

</div>
</div>
<a class="anchor" id="a238c39a6d7fd7f35735f9c97a1b2aa66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_is_separator </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is character a separator character?</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>

</div>
</div>
<a class="anchor" id="a8154aaa13d12e1fea9b066e0881bd125"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_is_space </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is character a white space character?</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>

</div>
</div>
<a class="anchor" id="acd9999e11e39f8434023b786416fdc43"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_is_text </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is character a text character?</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>

</div>
</div>
<a class="anchor" id="a7a0e47fdda476b38045a7d3406fb51ee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_is_token </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is character a token character?</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>

</div>
</div>
<a class="anchor" id="ae7cca7a4e5e553b0a1da8d305dd7bae6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_is_uri_unreserved </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7e8991ba87da71aa0b14c2955da46b25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a>* htp_normalize_hostname_inplace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>hostname</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Normalize request hostname. Convert all characters to lowercase and remove trailing dots from the end, if present.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">hostname</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Normalized hostname. </dd></dl>

</div>
</div>
<a class="anchor" id="a0b18b82f32e1f78aede068a2aafc4632"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_normalize_parsed_uri </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *&#160;</td>
          <td class="paramname"><em>incomplete</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *&#160;</td>
          <td class="paramname"><em>normalized</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Normalize a previously-parsed request URI.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">incomplete</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">normalized</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK or HTP_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="ae3b688cf78f951a218afde6d2bb3b763"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_normalize_uri_path_inplace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Normalize URL path. This function implements the remove dot segments algorithm specified in RFC 3986, section 5.2.4.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8acc6c49e7f95eb1cbdf088dc5df9ae4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_parse_authorization </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses Authorization request header.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a83f1fbe81d55cb3ef6402bc069b5baca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_parse_authorization_basic </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__header__t.html">htp_header_t</a> *&#160;</td>
          <td class="paramname"><em>auth_header</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses Basic Authorization request header.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">auth_header</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0ce81b909ad3720c21dc675f35b95767"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_parse_authorization_digest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__header__t.html">htp_header_t</a> *&#160;</td>
          <td class="paramname"><em>auth_header</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses Digest Authorization request header.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">auth_header</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abe97fa5fa00905db42afe94366adcc6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t htp_parse_chunked_length </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses chunk length (positive hexadecimal number). White space is allowed before and after the number. An error will be returned if the chunk length is greater than INT32_MAX.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Chunk length, or a negative number on error. </dd></dl>

</div>
</div>
<a class="anchor" id="a50d9fb619fe71bfee3ab812d96ba0b6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t htp_parse_content_length </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses Content-Length string (positive decimal number). White space is allowed before and after the number.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Content-Length as a number, or -1 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="a13fe2f6ba397741dd91abeaafce2c5e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_parse_cookies_v0 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses the Cookie request header in v0 format.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on success, HTP_ERROR on error </dd></dl>

</div>
</div>
<a class="anchor" id="a3742fd84a15ebfa867623dd7bf26c0e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_parse_ct_header </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>header</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **&#160;</td>
          <td class="paramname"><em>ct</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a145d256c0c6a6fff2bfb3dbb02ae656b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_parse_header_hostport </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>hostport</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **&#160;</td>
          <td class="paramname"><em>hostname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t *&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses hostport provided in the Host header.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">hostport</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">hostname</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">port</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on success or HTP_ERROR error. </dd></dl>

</div>
</div>
<a class="anchor" id="aedc19799e102c068dfce83c4ccd0961a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_parse_hostport </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>hostport</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **&#160;</td>
          <td class="paramname"><em>hostname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>invalid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses an authority string, which consists of a hostname with an optional port number; username and password are not allowed and will not be handled.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">hostport</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">hostname</td><td>A bstring containing the hostname, or NULL if the hostname is invalid. If this value is not NULL, the caller assumes responsibility for memory management. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">port</td><td>Port number, or -1 if the port is not present or invalid. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">invalid</td><td>Set to 1 if any part of the authority is invalid. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on success, HTP_ERROR on memory allocation failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ae73f7889b2bec1d7c2605c154cc4ecda"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t htp_parse_positive_integer_whitespace </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>base</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>A somewhat forgiving parser for a positive integer in a given base. Only LWS is allowed before and after the number.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">base</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The parsed number on success; a negative number on error. </dd></dl>

</div>
</div>
<a class="anchor" id="a237aaf4069198820e21015a9efb28ed6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_parse_protocol </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>protocol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines protocol number from a textual representation (i.e., "HTTP/1.1"). This function will only understand a properly formatted protocol information. It does not try to be flexible.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">protocol</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Protocol version or PROTOCOL_UNKNOWN. </dd></dl>

</div>
</div>
<a class="anchor" id="a942dcbfae19b6ceb5c070cb84dc50bce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_parse_request_header_generic </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__header__t.html">htp_header_t</a> *&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Generic request header parser.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK or HTP_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="a84210ba8a498e578ab7f99914911b8e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_parse_request_line_apache_2_2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parse request line as Apache 2.2 does.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK or HTP_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="a02add732118572070ba289abd8a4cd66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_parse_request_line_generic </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Generic request line parser.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK or HTP_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="a53bf758c818ba5d2554eba3ba380fb36"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_parse_request_line_generic_ex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nul_terminates</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acbf864cbe06ef50937cb271c79261d18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_parse_response_header_generic </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__header__t.html">htp_header_t</a> *&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Generic response header parser.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP status </dd></dl>

</div>
</div>
<a class="anchor" id="a94a11f3a575e297f071076f396fe3117"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_parse_response_line_generic </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Generic response line parser.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP status </dd></dl>

</div>
</div>
<a class="anchor" id="aa8aeab7a6f7948a8ee81cc37dbcbe28c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_parse_single_cookie_v0 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses a single v0 request cookie and places the results into tx-&gt;request_cookies.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on success, HTP_ERROR on error. </dd></dl>

</div>
</div>
<a class="anchor" id="a2ad81779ba8a5a89d48455078d5aedc9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_parse_status </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines the numerical value of a response status given as a string.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status code on success, or -1 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="a330b435a16a1f366eed76bf7b7bddba6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_parse_uri </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__uri__t.html">htp_uri_t</a> **&#160;</td>
          <td class="paramname"><em>uri</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses request URI, making no attempt to validate the contents.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uri</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_ERROR on memory allocation failure, HTP_OK otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a8fbfa6b24b1c5ffb1f1d9de3d3834c6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_parse_uri_hostport </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>hostport</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *&#160;</td>
          <td class="paramname"><em>uri</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses hostport provided in the URI.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">hostport</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uri</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on success or HTP_ERROR error. </dd></dl>

</div>
</div>
<a class="anchor" id="aa2d2ad08d21713822f1d32dc58881caf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_php_parameter_processor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__param__t.html">htp_param_t</a> *&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is a proof-of-concept processor that processes parameter names in a way <em>similar</em> to PHP. Whitespace at the beginning is removed, and the remaining whitespace characters are converted to underscores. Proper research of PHP's behavior is needed before we can claim to be emulating it.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">p</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK on success, HTP_ERROR on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a35a353bcc0a6c767d5f2880b9707ebf2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_prenormalize_uri_path_inplace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>case_insensitive</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>backslash</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>decode_separators</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>remove_consecutive</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac27d9ef825468ab08cf316b9b527a8cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_print_log </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__log__t.html">htp_log_t</a> *&#160;</td>
          <td class="paramname"><em>log</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a56dfd3147fee6124ab7c7a1e58b5ff27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_process_request_header_apache_2_2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Extract one request header. A header can span multiple lines, in which case they will be folded into one before parsing is attempted.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK or HTP_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="a4a3399cfc120ef7bc532821f41bbc7e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_process_request_header_generic </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Extract one request header. A header can span multiple lines, in which case they will be folded into one before parsing is attempted.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP_OK or HTP_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="a7c9e1963cfe2008b92889c5e1e4f0bb1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_process_response_header_generic </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Generic response header line(s) processor, which assembles folded lines into a single buffer before invoking the parsing function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HTP status </dd></dl>

</div>
</div>
<a class="anchor" id="a68a568e948b5a609fb4900152498142b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_replace_hostname </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *&#160;</td>
          <td class="paramname"><em>parsed_uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>hostname</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae9186694fa6cb9d4985d3c66698f0968"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_req_run_hook_body_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__tx__data__t.html">htp_tx_data_t</a> *&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Run the REQUEST_BODY_DATA hook.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa60cc60143dfb38260549c4df5219727"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_res_run_hook_body_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__tx__data__t.html">htp_tx_data_t</a> *&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Run the RESPONSE_BODY_DATA hook.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a86a9a18ddecb35422b934bf270bfccbd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_transcode_bstr </td>
          <td>(</td>
          <td class="paramtype">iconv_t&#160;</td>
          <td class="paramname"><em>cd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Transcode one bstr.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cd</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">output</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a31718600e56773087712711de6710492"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_transcode_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td>
          <td class="paramname"><em>connp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__table__t.html">htp_table_t</a> **&#160;</td>
          <td class="paramname"><em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>destroy_old</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Transcode all parameters supplied in the table.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">connp</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">params</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">destroy_old</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a989808ba8cacae96e9c5e0e052a73a3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_treat_response_line_as_body </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determine if the information provided on the response line is good enough. Browsers are lax when it comes to response line parsing. In most cases they will only look for the words "http" at the beginning.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">tx</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 for good enough or 0 for not good enough </dd></dl>

</div>
</div>
<a class="anchor" id="a0d9bedcb7fd819340ebd8e8271263191"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_tx_destroy_incomplete </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9256c1eaab954ec27241d1ad51067b55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_tx_finalize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a88c6e5a1d12435394c5bad42cf6fbe5b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_tx_is_complete </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a13e830ded4af725cc7160b1406023d89"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_tx_req_process_body_data_ex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7745dfd28ae341b34cde2bb1f333b1b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* htp_tx_request_progress_as_string </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a219a0b24ed95d84a3fb9ad7c07cac511"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_tx_res_process_body_data_ex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9469285f23ba429b8358c9385ccd6eef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* htp_tx_response_progress_as_string </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a094a6a35a7a937d160a2785e2e6e3269"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_tx_state_request_complete_partial </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a76675e7e250e24c1ac47c49b4181aff8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_tx_state_response_complete_ex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>hybrid_mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3290cc3c0233d21dd5c3e8e97883ea18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_tx_urldecode_params_inplace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>input</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a14e44933747475b68b36ea4b4ec7f1eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="htp__core_8h.html#ab8a71422665c0773654b9b4d96f01e31">htp_status_t</a> htp_tx_urldecode_uri_inplace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>input</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a556b54577b8787f15a9d98955ba6b1a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a>* htp_unparse_uri_noencode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__uri__t.html">htp_uri_t</a> *&#160;</td>
          <td class="paramname"><em>uri</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af2d18313ab65aaed7a524b589369912c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_uriencoding_normalize_inplace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac19fd0827df78d7618a6360a0a9e2ac2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_utf8_decode_path_inplace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__cfg__t.html">htp_cfg_t</a> *&#160;</td>
          <td class="paramname"><em>cfg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Decode a UTF-8 encoded path. Overlong characters will be decoded, invalid characters will be left as-is. Best-fit mapping will be used to convert UTF-8 into a single-byte stream.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cfg</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tx</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a75ad702e0957be72f80dc27900f83ec7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_utf8_validate_path </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td>
          <td class="paramname"><em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Validate a path that is quite possibly UTF-8 encoded.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">tx</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a31cca701d490472a8cdb778a6c0e6560"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_validate_hostname </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>hostname</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Implements relaxed (not strictly RFC) hostname validation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">hostname</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if the supplied hostname is valid; 0 if it is not. </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>