Sophie

Sophie

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

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_connection_parser.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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">htp_connection_parser.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a href="htp__connection__parser_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="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a152d24bca0733a89934abe4f57a981b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a152d24bca0733a89934abe4f57a981b8">htp_connp_clear_error</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a152d24bca0733a89934abe4f57a981b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc7723b7ab867bfde9d5ef78c1faf446"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#acc7723b7ab867bfde9d5ef78c1faf446">htp_connp_close</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, const <a class="el" href="htp__core_8h.html#a26dd949491d83777aea7905224110162">htp_time_t</a> *timestamp)</td></tr>
<tr class="separator:acc7723b7ab867bfde9d5ef78c1faf446"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af87403d33d361ee171e6e098a233ef3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#af87403d33d361ee171e6e098a233ef3d">htp_connp_create</a> (<a class="el" href="structhtp__cfg__t.html">htp_cfg_t</a> *cfg)</td></tr>
<tr class="separator:af87403d33d361ee171e6e098a233ef3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf70632a3c2d55aca4a1b1c187aafb08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#aaf70632a3c2d55aca4a1b1c187aafb08">htp_connp_destroy</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:aaf70632a3c2d55aca4a1b1c187aafb08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8716f61f158d3d39552dbdaccc4157f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a8716f61f158d3d39552dbdaccc4157f2">htp_connp_destroy_all</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a8716f61f158d3d39552dbdaccc4157f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01a5e294c8fda405b1942f4d051e4ce1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structhtp__conn__t.html">htp_conn_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a01a5e294c8fda405b1942f4d051e4ce1">htp_connp_get_connection</a> (const <a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a01a5e294c8fda405b1942f4d051e4ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a789bb620392745356b5968d091ddd87b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a789bb620392745356b5968d091ddd87b">htp_connp_get_in_tx</a> (const <a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a789bb620392745356b5968d091ddd87b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bcf1c791756866aa98c978b97579beb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structhtp__log__t.html">htp_log_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a1bcf1c791756866aa98c978b97579beb">htp_connp_get_last_error</a> (const <a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a1bcf1c791756866aa98c978b97579beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d35a41420267ba5b72153fbd41ab594"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a9d35a41420267ba5b72153fbd41ab594">htp_connp_get_out_tx</a> (const <a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a9d35a41420267ba5b72153fbd41ab594"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad01cf540f53fe5c0db9411447abe5092"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#ad01cf540f53fe5c0db9411447abe5092">htp_connp_get_user_data</a> (const <a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:ad01cf540f53fe5c0db9411447abe5092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f18bc1870a26ca9389cb2ebd63940f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a9f18bc1870a26ca9389cb2ebd63940f2">htp_connp_open</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, const char *client_addr, int client_port, const char *server_addr, int server_port, <a class="el" href="htp__core_8h.html#a26dd949491d83777aea7905224110162">htp_time_t</a> *timestamp)</td></tr>
<tr class="separator:a9f18bc1870a26ca9389cb2ebd63940f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab19d778e835e2a00358e76739b7c5f68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#ab19d778e835e2a00358e76739b7c5f68">htp_connp_set_user_data</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, const void *user_data)</td></tr>
<tr class="separator:ab19d778e835e2a00358e76739b7c5f68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2212edc93dc47fd615a30297f8faad60"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a2212edc93dc47fd615a30297f8faad60">htp_connp_req_data</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, const <a class="el" href="htp__core_8h.html#a26dd949491d83777aea7905224110162">htp_time_t</a> *timestamp, const void *data, size_t len)</td></tr>
<tr class="separator:a2212edc93dc47fd615a30297f8faad60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabff53178e69819d0ea8509557c0ef29"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#aabff53178e69819d0ea8509557c0ef29">htp_connp_req_data_consumed</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:aabff53178e69819d0ea8509557c0ef29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bf7c40f55013deddf338b903e4310a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a7bf7c40f55013deddf338b903e4310a4">htp_connp_res_data</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp, const <a class="el" href="htp__core_8h.html#a26dd949491d83777aea7905224110162">htp_time_t</a> *timestamp, const void *data, size_t len)</td></tr>
<tr class="separator:a7bf7c40f55013deddf338b903e4310a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91550144cfb2fe87ba258050716cc705"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#a91550144cfb2fe87ba258050716cc705">htp_connp_res_data_consumed</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:a91550144cfb2fe87ba258050716cc705"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f11134051280a0127eaa26c63b0c4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__connection__parser_8h.html#ae9f11134051280a0127eaa26c63b0c4d">htp_connp_tx_create</a> (<a class="el" href="structhtp__connp__t.html">htp_connp_t</a> *connp)</td></tr>
<tr class="separator:ae9f11134051280a0127eaa26c63b0c4d"><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">Function Documentation</h2>
<a class="anchor" id="a152d24bca0733a89934abe4f57a981b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_connp_clear_error </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>Clears the most recent error, if any.</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="acc7723b7ab867bfde9d5ef78c1faf446"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_connp_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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="htp__core_8h.html#a26dd949491d83777aea7905224110162">htp_time_t</a> *&#160;</td>
          <td class="paramname"><em>timestamp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Closes the connection associated with the supplied 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">timestamp</td><td>Optional. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af87403d33d361ee171e6e098a233ef3d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhtp__connp__t.html">htp_connp_t</a>* htp_connp_create </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><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Creates a new connection parser using the provided configuration. Because the configuration structure is used directly, in a multithreaded environment you are not allowed to change the structure, ever. If you have a need to change configuration on per-connection basis, make a copy of the configuration structure to go along with every connection parser.</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>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>New connection parser instance, or NULL on error. </dd></dl>

</div>
</div>
<a class="anchor" id="aaf70632a3c2d55aca4a1b1c187aafb08"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_connp_destroy </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>Destroys the connection parser and its data structures, leaving all the data (connection, transactions, etc) intact.</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="a8716f61f158d3d39552dbdaccc4157f2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_connp_destroy_all </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>Destroys the connection parser, its data structures, as well as the connection and its transactions.</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="a01a5e294c8fda405b1942f4d051e4ce1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhtp__conn__t.html">htp_conn_t</a>* htp_connp_get_connection </td>
          <td>(</td>
          <td class="paramtype">const <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>Returns the connection associated with the connection 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><a class="el" href="structhtp__conn__t.html">htp_conn_t</a> instance, or NULL if one is not available. </dd></dl>

</div>
</div>
<a class="anchor" id="a789bb620392745356b5968d091ddd87b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a>* htp_connp_get_in_tx </td>
          <td>(</td>
          <td class="paramtype">const <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>Retrieves the pointer to the active inbound transaction. In connection parsing mode there can be many open transactions, and up to 2 active transactions at any one time. This is due to HTTP pipelining. Can be NULL.</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>Active inbound transaction, or NULL if there isn't one. </dd></dl>

</div>
</div>
<a class="anchor" id="a1bcf1c791756866aa98c978b97579beb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhtp__log__t.html">htp_log_t</a>* htp_connp_get_last_error </td>
          <td>(</td>
          <td class="paramtype">const <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>Returns the last error that occurred with this connection parser. Do note, however, that the value in this field will only be valid immediately after an error condition, but it is not guaranteed to remain valid if the parser is invoked again.</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>A pointer to an <a class="el" href="structhtp__log__t.html">htp_log_t</a> instance if there is an error, or NULL if there isn't. </dd></dl>

</div>
</div>
<a class="anchor" id="a9d35a41420267ba5b72153fbd41ab594"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a>* htp_connp_get_out_tx </td>
          <td>(</td>
          <td class="paramtype">const <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>Retrieves the pointer to the active outbound transaction. In connection parsing mode there can be many open transactions, and up to 2 active transactions at any one time. This is due to HTTP pipelining. Can be NULL.</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>Active outbound transaction, or NULL if there isn't one. </dd></dl>

</div>
</div>
<a class="anchor" id="ad01cf540f53fe5c0db9411447abe5092"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* htp_connp_get_user_data </td>
          <td>(</td>
          <td class="paramtype">const <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>Retrieve the user data associated with this connection 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>User data, or NULL if there isn't any. </dd></dl>

</div>
</div>
<a class="anchor" id="a9f18bc1870a26ca9389cb2ebd63940f2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_connp_open </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">const char *&#160;</td>
          <td class="paramname"><em>client_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>client_port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>server_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>server_port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="htp__core_8h.html#a26dd949491d83777aea7905224110162">htp_time_t</a> *&#160;</td>
          <td class="paramname"><em>timestamp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Opens connection.</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">client_addr</td><td>Client address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">client_port</td><td>Client port </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">server_addr</td><td>Server address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">server_port</td><td>Server port </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">timestamp</td><td>Optional. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2212edc93dc47fd615a30297f8faad60"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_connp_req_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">const <a class="el" href="htp__core_8h.html#a26dd949491d83777aea7905224110162">htp_time_t</a> *&#160;</td>
          <td class="paramname"><em>timestamp</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">
<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">timestamp</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_STREAM_DATA, HTP_STREAM_ERROR or STEAM_STATE_DATA_OTHER (see QUICK_START). HTP_STREAM_CLOSED and HTP_STREAM_TUNNEL are also possible. </dd></dl>

</div>
</div>
<a class="anchor" id="aabff53178e69819d0ea8509557c0ef29"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t htp_connp_req_data_consumed </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>Returns the number of bytes consumed from the most recent inbound data chunk. Normally, an invocation of <a class="el" href="htp__request_8c.html#a2212edc93dc47fd615a30297f8faad60">htp_connp_req_data()</a> will consume all data from the supplied buffer, but there are circumstances where only partial consumption is possible. In such cases HTP_STREAM_DATA_OTHER will be returned. Consumed bytes are no longer necessary, but the remainder of the buffer will be need to be saved for later.</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>The number of bytes consumed from the last data chunk sent for inbound processing.</dd></dl>
<p>Returns how many bytes from the current data chunks were consumed so far.</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>The number of bytes consumed. </dd></dl>

</div>
</div>
<a class="anchor" id="a7bf7c40f55013deddf338b903e4310a4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int htp_connp_res_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">const <a class="el" href="htp__core_8h.html#a26dd949491d83777aea7905224110162">htp_time_t</a> *&#160;</td>
          <td class="paramname"><em>timestamp</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">
<p>Process a chunk of outbound (server or response) 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>
    <tr><td class="paramdir">[in]</td><td class="paramname">timestamp</td><td>Optional. </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 state change, HTP_ERROR on error, or HTP_DATA when more data is needed </dd></dl>

</div>
</div>
<a class="anchor" id="a91550144cfb2fe87ba258050716cc705"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t htp_connp_res_data_consumed </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>Returns the number of bytes consumed from the most recent outbound data chunk. Normally, an invocation of <a class="el" href="htp__connection__parser_8h.html#a7bf7c40f55013deddf338b903e4310a4">htp_connp_res_data()</a> will consume all data from the supplied buffer, but there are circumstances where only partial consumption is possible. In such cases HTP_STREAM_DATA_OTHER will be returned. Consumed bytes are no longer necessary, but the remainder of the buffer will be need to be saved for later.</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>The number of bytes consumed from the last data chunk sent for outbound processing. </dd></dl>

</div>
</div>
<a class="anchor" id="ab19d778e835e2a00358e76739b7c5f68"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_connp_set_user_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">const void *&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Associate user data with the supplied 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">user_data</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae9f11134051280a0127eaa26c63b0c4d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhtp__tx__t.html">htp_tx_t</a>* htp_connp_tx_create </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>Create a new transaction using the connection parser provided.</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>Transaction instance on success, NULL on failure. </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>