<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>DBusHashTable struct Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.15 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>DBusHashTable Struct Reference<br> <small> [<a class="el" href="group__DBusHashTableInternals.html">Hash table implementation details</a>]</small> </h1>Internals of DBusHashTable. <a href="#_details">More...</a> <p> <table border=0 cellpadding=0 cellspacing=0> <tr><td colspan=2><br><h2>Data Fields</h2></td></tr> <tr><td nowrap align=right valign=top><a name="m0" doxytag="DBusHashTable::refcount"></a> int </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m0">refcount</a></td></tr> <tr><td> </td><td><font size=-1><em>Reference count.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a class="el" href="structDBusHashEntry.html">DBusHashEntry</a> ** </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m1">buckets</a></td></tr> <tr><td> </td><td><font size=-1><em>Pointer to bucket array.</em> <a href="#m1">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m2" doxytag="DBusHashTable::static_buckets"></a> <a class="el" href="structDBusHashEntry.html">DBusHashEntry</a> * </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m2">static_buckets</a> [DBUS_SMALL_HASH_TABLE]</td></tr> <tr><td> </td><td><font size=-1><em>Bucket array used for small tables (to avoid mallocs and frees).</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m3" doxytag="DBusHashTable::n_buckets"></a> int </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m3">n_buckets</a></td></tr> <tr><td> </td><td><font size=-1><em>Total number of buckets allocated at **buckets.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m4" doxytag="DBusHashTable::n_entries"></a> int </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m4">n_entries</a></td></tr> <tr><td> </td><td><font size=-1><em>Total number of entries present in table.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m5" doxytag="DBusHashTable::hi_rebuild_size"></a> int </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m5">hi_rebuild_size</a></td></tr> <tr><td> </td><td><font size=-1><em>Enlarge table when n_entries gets to be this large.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m6" doxytag="DBusHashTable::lo_rebuild_size"></a> int </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m6">lo_rebuild_size</a></td></tr> <tr><td> </td><td><font size=-1><em>Shrink table when n_entries gets below this.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m7">down_shift</a></td></tr> <tr><td> </td><td><font size=-1><em>Shift count used in hashing function.</em> <a href="#m7">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m8" doxytag="DBusHashTable::mask"></a> int </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m8">mask</a></td></tr> <tr><td> </td><td><font size=-1><em>Mask value used in hashing function.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m9" doxytag="DBusHashTable::key_type"></a> <a class="el" href="group__DBusHashTable.html#a39">DBusHashType</a> </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m9">key_type</a></td></tr> <tr><td> </td><td><font size=-1><em>Type of keys used in this table.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m10" doxytag="DBusHashTable::find_function"></a> <a class="el" href="group__DBusHashTableInternals.html#a1">DBusFindEntryFunction</a> </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m10">find_function</a></td></tr> <tr><td> </td><td><font size=-1><em>Function for finding entries.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m11" doxytag="DBusHashTable::free_key_function"></a> <a class="el" href="group__DBusMemory.html#a8">DBusFreeFunction</a> </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m11">free_key_function</a></td></tr> <tr><td> </td><td><font size=-1><em>Function to free keys.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m12" doxytag="DBusHashTable::free_value_function"></a> <a class="el" href="group__DBusMemory.html#a8">DBusFreeFunction</a> </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m12">free_value_function</a></td></tr> <tr><td> </td><td><font size=-1><em>Function to free values.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m13" doxytag="DBusHashTable::entry_pool"></a> <a class="el" href="structDBusMemPool.html">DBusMemPool</a> * </td><td valign=bottom><a class="el" href="structDBusHashTable.html#m13">entry_pool</a></td></tr> <tr><td> </td><td><font size=-1><em>Memory pool for hash entries.</em></font><br><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Internals of DBusHashTable. <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#l00167">167</a> of file <a class="el" href="dbus-hash_8c-source.html">dbus-hash.c</a>.<hr><h2>Field Documentation</h2> <a name="m1" doxytag="DBusHashTable::buckets"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="structDBusHashEntry.html">DBusHashEntry</a>** DBusHashTable::buckets </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Pointer to bucket array. <p> Each element points to first entry in bucket's hash chain, or <a class="el" href="group__DBusMacros.html#a4">NULL</a>. <p> Definition at line <a class="el" href="dbus-hash_8c-source.html#l00170">170</a> of file <a class="el" href="dbus-hash_8c-source.html">dbus-hash.c</a>. <p> Referenced by <a class="el" href="dbus-hash_8c-source.html#l00749">_dbus_hash_iter_lookup</a>(), <a class="el" href="dbus-hash_8c-source.html#l00534">_dbus_hash_iter_next</a>(), <a class="el" href="dbus-hash_8c-source.html#l00288">_dbus_hash_table_new</a>(), and <a class="el" href="dbus-hash_8c-source.html#l00368">_dbus_hash_table_unref</a>(). </td> </tr> </table> <a name="m7" doxytag="DBusHashTable::down_shift"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int DBusHashTable::down_shift </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Shift count used in hashing function. <p> Designed to use high- order bits of randomized keys. <p> Definition at line <a class="el" href="dbus-hash_8c-source.html#l00190">190</a> of file <a class="el" href="dbus-hash_8c-source.html">dbus-hash.c</a>. <p> Referenced by <a class="el" href="dbus-hash_8c-source.html#l00288">_dbus_hash_table_new</a>(). </td> </tr> </table> <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></ul> <hr><address align="right"><small>Generated on Wed Jun 9 05:01:27 2004 for D-BUS by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address> </body> </html>