Current File : //usr/share/doc/dbus/api/structDBusHashTable.html
<!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"/>
<title>D-Bus: DBusHashTable Struct Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">D-Bus
   &#160;<span id="projectnumber">1.8.20</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">DBusHashTable Struct Reference<div class="ingroups"><a class="el" href="group__DBusHashTableInternals.html">Hash table implementation details</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="DBusHashTable" -->
<p>Internals of <a class="el" href="structDBusHashTable.html" title="Internals of DBusHashTable.">DBusHashTable</a>.  
 <a href="structDBusHashTable.html#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb2b7bcba65da77f7ecf67da355ff770"></a><!-- doxytag: member="DBusHashTable::refcount" ref="acb2b7bcba65da77f7ecf67da355ff770" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#acb2b7bcba65da77f7ecf67da355ff770">refcount</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference count. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusHashEntry.html">DBusHashEntry</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#a1f974e2cb3038685b3edf493406ad99d">buckets</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to bucket array.  <a href="#a1f974e2cb3038685b3edf493406ad99d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af71877d64657c34a783caf6b82b016e9"></a><!-- doxytag: member="DBusHashTable::static_buckets" ref="af71877d64657c34a783caf6b82b016e9" args="[DBUS_SMALL_HASH_TABLE]" -->
<a class="el" href="structDBusHashEntry.html">DBusHashEntry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#af71877d64657c34a783caf6b82b016e9">static_buckets</a> [<a class="el" href="group__DBusHashTableInternals.html#ga4518324f3c3caacf5694065f4f6071d8">DBUS_SMALL_HASH_TABLE</a>]</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Bucket array used for small tables (to avoid mallocs and frees). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2dd2b9389d65d30e31e596dd786a9aa7"></a><!-- doxytag: member="DBusHashTable::n_buckets" ref="a2dd2b9389d65d30e31e596dd786a9aa7" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#a2dd2b9389d65d30e31e596dd786a9aa7">n_buckets</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of buckets allocated at **buckets. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affbf11a9c3dd72d55b7976891f7b4650"></a><!-- doxytag: member="DBusHashTable::n_entries" ref="affbf11a9c3dd72d55b7976891f7b4650" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#affbf11a9c3dd72d55b7976891f7b4650">n_entries</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of entries present in table. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29c408110c0d189d89b60c6c01cfb0cf"></a><!-- doxytag: member="DBusHashTable::hi_rebuild_size" ref="a29c408110c0d189d89b60c6c01cfb0cf" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#a29c408110c0d189d89b60c6c01cfb0cf">hi_rebuild_size</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enlarge table when n_entries gets to be this large. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae6ea7cb15d618866854b2b6bd468419"></a><!-- doxytag: member="DBusHashTable::lo_rebuild_size" ref="aae6ea7cb15d618866854b2b6bd468419" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#aae6ea7cb15d618866854b2b6bd468419">lo_rebuild_size</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Shrink table when n_entries gets below this. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#a2e7e7b92bb9633ab95cfaa592b89025c">down_shift</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift count used in hashing function.  <a href="#a2e7e7b92bb9633ab95cfaa592b89025c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec1230eebce3d256ca9ceebe372647e9"></a><!-- doxytag: member="DBusHashTable::mask" ref="aec1230eebce3d256ca9ceebe372647e9" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#aec1230eebce3d256ca9ceebe372647e9">mask</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask value used in hashing function. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28f326a2947b6be0b0b852db376a1092"></a><!-- doxytag: member="DBusHashTable::key_type" ref="a28f326a2947b6be0b0b852db376a1092" args="" -->
<a class="el" href="group__DBusHashTable.html#gab0ab9767ffa5b6720a13b3d741630852">DBusHashType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#a28f326a2947b6be0b0b852db376a1092">key_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of keys used in this table. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab98bafddf1b1ce1dad01c5595e278e35"></a><!-- doxytag: member="DBusHashTable::find_function" ref="ab98bafddf1b1ce1dad01c5595e278e35" args="" -->
<a class="el" href="group__DBusHashTableInternals.html#ga20a95a9ff37ad777575336e9e4fd8a10">DBusFindEntryFunction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#ab98bafddf1b1ce1dad01c5595e278e35">find_function</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for finding entries. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f6541574ea8e6bedd80773dce8e52a6"></a><!-- doxytag: member="DBusHashTable::free_key_function" ref="a5f6541574ea8e6bedd80773dce8e52a6" args="" -->
<a class="el" href="group__DBusMemory.html#ga061bcded226d76c7d7de35beaa165cb5">DBusFreeFunction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#a5f6541574ea8e6bedd80773dce8e52a6">free_key_function</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to free keys. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbb42b5326b9c79352b168eace1687ca"></a><!-- doxytag: member="DBusHashTable::free_value_function" ref="afbb42b5326b9c79352b168eace1687ca" args="" -->
<a class="el" href="group__DBusMemory.html#ga061bcded226d76c7d7de35beaa165cb5">DBusFreeFunction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#afbb42b5326b9c79352b168eace1687ca">free_value_function</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to free values. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1224e6c3c632afb265b78f8f6e30f97"></a><!-- doxytag: member="DBusHashTable::entry_pool" ref="ad1224e6c3c632afb265b78f8f6e30f97" args="" -->
<a class="el" href="structDBusMemPool.html">DBusMemPool</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusHashTable.html#ad1224e6c3c632afb265b78f8f6e30f97">entry_pool</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory pool for hash entries. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Internals of <a class="el" href="structDBusHashTable.html" title="Internals of DBusHashTable.">DBusHashTable</a>. </p>
<p>Hash table internals. Hash tables are opaque objects, they must be used via accessor functions. </p>

<p>Definition at line <a class="el" href="dbus-hash_8c_source.html#l00168">168</a> of file <a class="el" href="dbus-hash_8c_source.html">dbus-hash.c</a>.</p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a1f974e2cb3038685b3edf493406ad99d"></a><!-- doxytag: member="DBusHashTable::buckets" ref="a1f974e2cb3038685b3edf493406ad99d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusHashEntry.html">DBusHashEntry</a>** <a class="el" href="structDBusHashTable.html#a1f974e2cb3038685b3edf493406ad99d">DBusHashTable::buckets</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to bucket array. </p>
<p>Each element points to first entry in bucket's hash chain, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>. </p>

<p>Definition at line <a class="el" href="dbus-hash_8c_source.html#l00171">171</a> of file <a class="el" href="dbus-hash_8c_source.html">dbus-hash.c</a>.</p>

<p>Referenced by <a class="el" href="dbus-hash_8c_source.html#l00740">_dbus_hash_iter_lookup()</a>, <a class="el" href="dbus-hash_8c_source.html#l00543">_dbus_hash_iter_next()</a>, <a class="el" href="dbus-hash_8c_source.html#l00285">_dbus_hash_table_new()</a>, and <a class="el" href="dbus-hash_8c_source.html#l00361">_dbus_hash_table_unref()</a>.</p>

</div>
</div>
<a class="anchor" id="a2e7e7b92bb9633ab95cfaa592b89025c"></a><!-- doxytag: member="DBusHashTable::down_shift" ref="a2e7e7b92bb9633ab95cfaa592b89025c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="structDBusHashTable.html#a2e7e7b92bb9633ab95cfaa592b89025c">DBusHashTable::down_shift</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Shift count used in hashing function. </p>
<p>Designed to use high- order bits of randomized keys. </p>

<p>Definition at line <a class="el" href="dbus-hash_8c_source.html#l00191">191</a> of file <a class="el" href="dbus-hash_8c_source.html">dbus-hash.c</a>.</p>

<p>Referenced by <a class="el" href="dbus-hash_8c_source.html#l00285">_dbus_hash_table_new()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="dbus-hash_8c_source.html">dbus-hash.c</a></li>
</ul>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 3 2016 17:50:34 for D-Bus by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>