Sophie

Sophie

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

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_table.c 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_table.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="htp__private_8h_source.html">htp_private.h</a>&quot;</code><br/>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a80ff6b5f23273fa08d13d8d2d0efc4a0"><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__table_8c.html#a80ff6b5f23273fa08d13d8d2d0efc4a0">htp_table_add</a> (<a class="el" href="structhtp__table__t.html">htp_table_t</a> *table, const <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *key, const void *element)</td></tr>
<tr class="separator:a80ff6b5f23273fa08d13d8d2d0efc4a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad325b4502a5e8b81759dba779eacdf25"><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__table_8c.html#ad325b4502a5e8b81759dba779eacdf25">htp_table_addn</a> (<a class="el" href="structhtp__table__t.html">htp_table_t</a> *table, const <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *key, const void *element)</td></tr>
<tr class="separator:ad325b4502a5e8b81759dba779eacdf25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1452a5b06e4945d71716c7c72d91efea"><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__table_8c.html#a1452a5b06e4945d71716c7c72d91efea">htp_table_addk</a> (<a class="el" href="structhtp__table__t.html">htp_table_t</a> *table, const <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *key, const void *element)</td></tr>
<tr class="separator:a1452a5b06e4945d71716c7c72d91efea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac14ab63ac2bc19ac3f61d324b484dd2e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#ac14ab63ac2bc19ac3f61d324b484dd2e">htp_table_clear</a> (<a class="el" href="structhtp__table__t.html">htp_table_t</a> *table)</td></tr>
<tr class="separator:ac14ab63ac2bc19ac3f61d324b484dd2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a413789ed8a002742ac02e9ef238ae653"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#a413789ed8a002742ac02e9ef238ae653">htp_table_clear_ex</a> (<a class="el" href="structhtp__table__t.html">htp_table_t</a> *table)</td></tr>
<tr class="separator:a413789ed8a002742ac02e9ef238ae653"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eb7f8a9d51ad2d6358c87162b7585d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#a4eb7f8a9d51ad2d6358c87162b7585d4">htp_table_create</a> (size_t size)</td></tr>
<tr class="separator:a4eb7f8a9d51ad2d6358c87162b7585d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a408659a54a7dd0e715be8bab67a107e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#a408659a54a7dd0e715be8bab67a107e6">htp_table_destroy</a> (<a class="el" href="structhtp__table__t.html">htp_table_t</a> *table)</td></tr>
<tr class="separator:a408659a54a7dd0e715be8bab67a107e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f147b2c5067fe3862f23c0c56492702"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#a0f147b2c5067fe3862f23c0c56492702">htp_table_destroy_ex</a> (<a class="el" href="structhtp__table__t.html">htp_table_t</a> *table)</td></tr>
<tr class="separator:a0f147b2c5067fe3862f23c0c56492702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac852ef60754016fac1c214ea1d771025"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#ac852ef60754016fac1c214ea1d771025">htp_table_get</a> (const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *table, const <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *key)</td></tr>
<tr class="separator:ac852ef60754016fac1c214ea1d771025"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9af397f9e822cad4b9cd89c46ff0391"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#ab9af397f9e822cad4b9cd89c46ff0391">htp_table_get_c</a> (const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *table, const char *ckey)</td></tr>
<tr class="separator:ab9af397f9e822cad4b9cd89c46ff0391"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2c2702311ce4bbb7614133098c50b4e"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#aa2c2702311ce4bbb7614133098c50b4e">htp_table_get_index</a> (const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *table, size_t idx, <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> **key)</td></tr>
<tr class="separator:aa2c2702311ce4bbb7614133098c50b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83786554bfb029211749edad007c9b28"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#a83786554bfb029211749edad007c9b28">htp_table_get_mem</a> (const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *table, const void *key, size_t key_len)</td></tr>
<tr class="separator:a83786554bfb029211749edad007c9b28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1f72cd85c808b758b6efd6ea0351524"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="htp__table_8c.html#aa1f72cd85c808b758b6efd6ea0351524">htp_table_size</a> (const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *table)</td></tr>
<tr class="separator:aa1f72cd85c808b758b6efd6ea0351524"><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="a80ff6b5f23273fa08d13d8d2d0efc4a0"></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_table_add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>element</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a new element to the table. The key will be copied, and the copy managed by the table. The table keeps a pointer to the element. It is the callers responsibility to ensure the pointer remains valid.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">element</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="a1452a5b06e4945d71716c7c72d91efea"></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_table_addk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>element</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a new element to the table. The key provided will be only referenced and the caller remains responsible to keep it alive until after the table is destroyed. The table keeps a pointer to the element. It is the callers responsibility to ensure the pointer remains valid.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">element</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="ad325b4502a5e8b81759dba779eacdf25"></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_table_addn </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>element</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a new element to the table. The key provided will be adopted and managed by the table. You should not keep a copy of the pointer to the key unless you're certain that the table will live longer that the copy. The table keeps a pointer to the element. It is the callers responsibility to ensure the pointer remains valid.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">element</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="ac14ab63ac2bc19ac3f61d324b484dd2e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_table_clear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Remove all elements from the table. This function handles keys according to the active allocation strategy. If the elements need freeing, you need to free them before invoking this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a413789ed8a002742ac02e9ef238ae653"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_table_clear_ex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Remove all elements from the table without freeing any of the keys, even if the table is using an allocation strategy where keys belong to it. This function is useful if all the keys have been adopted by some other structure.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4eb7f8a9d51ad2d6358c87162b7585d4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhtp__table__t.html">htp_table_t</a>* htp_table_create </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a new table structure. The table will grow automatically as needed, but you are required to provide a starting size.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The starting size. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Newly created table instance, or NULL on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a408659a54a7dd0e715be8bab67a107e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_table_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Destroy a table. This function handles the keys according to the active allocation strategy. If the elements need freeing, you need to free them before invoking this function. After the table has been destroyed, the pointer is set to NULL.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0f147b2c5067fe3862f23c0c56492702"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void htp_table_destroy_ex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Destroy the given table, but don't free the keys. even if they are managed by the table. Use this method when the responsibility for the keys has been transferred elsewhere. After the table has been destroyed, the pointer is set to NULL.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac852ef60754016fac1c214ea1d771025"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* htp_table_get </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6">bstr</a> *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve the first element that matches the given bstr key.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Matched element, or NULL if no elements match the key. </dd></dl>

</div>
</div>
<a class="anchor" id="ab9af397f9e822cad4b9cd89c46ff0391"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* htp_table_get_c </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ckey</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve the first element that matches the given NUL-terminated key.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ckey</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Matched element, or NULL if no elements match the key. </dd></dl>

</div>
</div>
<a class="anchor" id="aa2c2702311ce4bbb7614133098c50b4e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* htp_table_get_index </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</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>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve key and element at the given index.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td></td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">key</td><td>Pointer in which the key will be returned. Can be NULL. </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="a83786554bfb029211749edad007c9b28"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* htp_table_get_mem </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>key_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve table key defined by the provided pointer and length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key_len</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Matched element, or NULL if no elements match the key. </dd></dl>

</div>
</div>
<a class="anchor" id="aa1f72cd85c808b758b6efd6ea0351524"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t htp_table_size </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structhtp__table__t.html">htp_table_t</a> *&#160;</td>
          <td class="paramname"><em>table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return the size of the table.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table size </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>