Sophie

Sophie

distrib > Fedora > 20 > i386 > by-pkgid > bd25a922043039bd471905083b1612dc > files > 59

lmdb-doc-0.9.13-1.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>MDB: ID List Management</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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">MDB
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">ID List Management<div class="ingroups"><a class="el" href="group__internal.html">MDB Internals</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structMDB__ID2"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#structMDB__ID2">MDB_ID2</a></td></tr>
<tr class="separator:structMDB__ID2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga5913db46baa9f4c150fd306ed60c5df2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5913db46baa9f4c150fd306ed60c5df2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_LOGN</b>&#160;&#160;&#160;16	/* DB_SIZE is 2^16, UM_SIZE is 2^17 */</td></tr>
<tr class="separator:ga5913db46baa9f4c150fd306ed60c5df2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa45bf227dabe81a33a3d010ec5837d53"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa45bf227dabe81a33a3d010ec5837d53"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_DB_SIZE</b>&#160;&#160;&#160;(1&lt;&lt;MDB_IDL_LOGN)</td></tr>
<tr class="separator:gaa45bf227dabe81a33a3d010ec5837d53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeba3deef11f846a3d92e00dc2e09403d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeba3deef11f846a3d92e00dc2e09403d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_UM_SIZE</b>&#160;&#160;&#160;(1&lt;&lt;(MDB_IDL_LOGN+1))</td></tr>
<tr class="separator:gaeba3deef11f846a3d92e00dc2e09403d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b58903bea2b843d866f5c8fd1a9aaf7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4b58903bea2b843d866f5c8fd1a9aaf7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_DB_MAX</b>&#160;&#160;&#160;(MDB_IDL_DB_SIZE-1)</td></tr>
<tr class="separator:ga4b58903bea2b843d866f5c8fd1a9aaf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga329af3b2c499bf05f3f1f96f24645ab5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga329af3b2c499bf05f3f1f96f24645ab5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_UM_MAX</b>&#160;&#160;&#160;(MDB_IDL_UM_SIZE-1)</td></tr>
<tr class="separator:ga329af3b2c499bf05f3f1f96f24645ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27cf9b6582a14b526efacb0103479af2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga27cf9b6582a14b526efacb0103479af2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_SIZEOF</b>(ids)&#160;&#160;&#160;(((ids)[0]+1) * sizeof(<a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a>))</td></tr>
<tr class="separator:ga27cf9b6582a14b526efacb0103479af2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08dc6b24beb65b6539b096451ab6265e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga08dc6b24beb65b6539b096451ab6265e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_IS_ZERO</b>(ids)&#160;&#160;&#160;( (ids)[0] == 0 )</td></tr>
<tr class="separator:ga08dc6b24beb65b6539b096451ab6265e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f2703b101329a054b96b1e7c81b7655"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4f2703b101329a054b96b1e7c81b7655"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_CPY</b>(dst, src)&#160;&#160;&#160;(memcpy( dst, src, MDB_IDL_SIZEOF( src ) ))</td></tr>
<tr class="separator:ga4f2703b101329a054b96b1e7c81b7655"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb321970daa0ed047684ebea71be70ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacb321970daa0ed047684ebea71be70ac"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_FIRST</b>(ids)&#160;&#160;&#160;( (ids)[1] )</td></tr>
<tr class="separator:gacb321970daa0ed047684ebea71be70ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a88b649c8c88811b531dd0e4f336a06"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1a88b649c8c88811b531dd0e4f336a06"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MDB_IDL_LAST</b>(ids)&#160;&#160;&#160;( (ids)[(ids)[0]] )</td></tr>
<tr class="separator:ga1a88b649c8c88811b531dd0e4f336a06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1e1ecbabeea10bcf19bd7ab616dcbc1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#gaf1e1ecbabeea10bcf19bd7ab616dcbc1">mdb_midl_xappend</a>(idl, id)</td></tr>
<tr class="separator:gaf1e1ecbabeea10bcf19bd7ab616dcbc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb073915b50e7112cfed534aff6524cf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafb073915b50e7112cfed534aff6524cf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CMP</b>(x, y)&#160;&#160;&#160;( (x) &lt; (y) ? -1 : (x) &gt; (y) )</td></tr>
<tr class="separator:gafb073915b50e7112cfed534aff6524cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09c78d2f8feb311dd9fc969a0bf84979"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga09c78d2f8feb311dd9fc969a0bf84979"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SMALL</b>&#160;&#160;&#160;8</td></tr>
<tr class="separator:ga09c78d2f8feb311dd9fc969a0bf84979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ba85d6201d0518626404096ed0c08a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3ba85d6201d0518626404096ed0c08a9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MIDL_SWAP</b>(a, b)&#160;&#160;&#160;{ itmp=(a); (a)=(b); (b)=itmp; }</td></tr>
<tr class="separator:ga3ba85d6201d0518626404096ed0c08a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gad3544b2a0d07ee195d91e92b0e46005e"><td class="memItemLeft" align="right" valign="top">typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a></td></tr>
<tr class="separator:gad3544b2a0d07ee195d91e92b0e46005e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga238cc39c422225e05cb3897e641ca9e5"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a></td></tr>
<tr class="separator:ga238cc39c422225e05cb3897e641ca9e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcc5d61c06c726db2be5d088dbc68d51"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__idls.html#structMDB__ID2">MDB_ID2</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#gafcc5d61c06c726db2be5d088dbc68d51">MDB_ID2L</a></td></tr>
<tr class="separator:gafcc5d61c06c726db2be5d088dbc68d51"><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:ga9133d7b3849e2508c7bc690db039444d"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#ga9133d7b3849e2508c7bc690db039444d">mdb_midl_search</a> (<a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> ids, <a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a> id)</td></tr>
<tr class="separator:ga9133d7b3849e2508c7bc690db039444d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab239e78f44ae65ce84c1a63c99f14b19"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#gab239e78f44ae65ce84c1a63c99f14b19">mdb_midl_alloc</a> (int num)</td></tr>
<tr class="separator:gab239e78f44ae65ce84c1a63c99f14b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16e7b3139783126c1e39b5d7f7fb625d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#ga16e7b3139783126c1e39b5d7f7fb625d">mdb_midl_free</a> (<a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> ids)</td></tr>
<tr class="separator:ga16e7b3139783126c1e39b5d7f7fb625d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f0b2b550d5af4a12a7cd35eff3b96b2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#ga4f0b2b550d5af4a12a7cd35eff3b96b2">mdb_midl_shrink</a> (<a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *idp)</td></tr>
<tr class="separator:ga4f0b2b550d5af4a12a7cd35eff3b96b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27374e3827d673a748c843fffce1a48f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#ga27374e3827d673a748c843fffce1a48f">mdb_midl_need</a> (<a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *idp, unsigned num)</td></tr>
<tr class="separator:ga27374e3827d673a748c843fffce1a48f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1dc78a5648a20152672b6236f1879e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#gaf1dc78a5648a20152672b6236f1879e9">mdb_midl_append</a> (<a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *idp, <a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a> id)</td></tr>
<tr class="separator:gaf1dc78a5648a20152672b6236f1879e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21493a9f98c90f59d81c7197866ec076"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#ga21493a9f98c90f59d81c7197866ec076">mdb_midl_append_list</a> (<a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *idp, <a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> app)</td></tr>
<tr class="separator:ga21493a9f98c90f59d81c7197866ec076"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaccadab9afb9667e28c4e750a1d0696f8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#gaccadab9afb9667e28c4e750a1d0696f8">mdb_midl_append_range</a> (<a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *idp, <a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a> id, unsigned n)</td></tr>
<tr class="separator:gaccadab9afb9667e28c4e750a1d0696f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3fe60f3087a5fdba4908f53a62d16d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#gac3fe60f3087a5fdba4908f53a62d16d5">mdb_midl_sort</a> (<a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> ids)</td></tr>
<tr class="separator:gac3fe60f3087a5fdba4908f53a62d16d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fbf5726f08ac891bbea111b712ab424"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#ga4fbf5726f08ac891bbea111b712ab424">mdb_mid2l_search</a> (<a class="el" href="group__idls.html#gafcc5d61c06c726db2be5d088dbc68d51">MDB_ID2L</a> ids, <a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a> id)</td></tr>
<tr class="separator:ga4fbf5726f08ac891bbea111b712ab424"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7cf657facd99bec0e29ea05bda96e4a5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#ga7cf657facd99bec0e29ea05bda96e4a5">mdb_mid2l_insert</a> (<a class="el" href="group__idls.html#gafcc5d61c06c726db2be5d088dbc68d51">MDB_ID2L</a> ids, <a class="el" href="group__idls.html#structMDB__ID2">MDB_ID2</a> *id)</td></tr>
<tr class="separator:ga7cf657facd99bec0e29ea05bda96e4a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54b5ab87ee3746dc4926d25d3887dfab"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#ga54b5ab87ee3746dc4926d25d3887dfab">mdb_mid2l_append</a> (<a class="el" href="group__idls.html#gafcc5d61c06c726db2be5d088dbc68d51">MDB_ID2L</a> ids, <a class="el" href="group__idls.html#structMDB__ID2">MDB_ID2</a> *id)</td></tr>
<tr class="separator:ga54b5ab87ee3746dc4926d25d3887dfab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff1d934aedb1e24a62dd1fc6d04b3e6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaff1d934aedb1e24a62dd1fc6d04b3e6d"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>mdb_midl_grow</b> (<a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *idp, int num)</td></tr>
<tr class="separator:gaff1d934aedb1e24a62dd1fc6d04b3e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structMDB__ID2" id="structMDB__ID2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct MDB_ID2</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>An ID2 is an ID/pointer pair. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a761ed12fed2327d04af6b9e841335833"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#a761ed12fed2327d04af6b9e841335833">mid</a></td></tr>
<tr class="separator:a761ed12fed2327d04af6b9e841335833"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af23b32045b25744304bee13ac3ea8794"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idls.html#af23b32045b25744304bee13ac3ea8794">mptr</a></td></tr>
<tr class="separator:af23b32045b25744304bee13ac3ea8794"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a761ed12fed2327d04af6b9e841335833"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a> MDB_ID2::mid</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The ID </p>

</div>
</div>
<a class="anchor" id="af23b32045b25744304bee13ac3ea8794"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* MDB_ID2::mptr</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The pointer </p>

</div>
</div>

</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gaf1e1ecbabeea10bcf19bd7ab616dcbc1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define mdb_midl_xappend</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">idl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">id&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> { <a class="code" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">\</a></div>
<div class="line"><a class="code" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">		MDB_ID</a> *xidl = (idl), xlen = ++(xidl[0]); \</div>
<div class="line">        xidl[xlen] = (id); \</div>
<div class="line">    } <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="group__idls_html_gad3544b2a0d07ee195d91e92b0e46005e"><div class="ttname"><a href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a></div><div class="ttdeci">size_t MDB_ID</div><div class="ttdef"><b>Definition:</b> midl.h:45</div></div>
</div><!-- fragment --><p>Append ID to IDL. The IDL must be big enough. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gad3544b2a0d07ee195d91e92b0e46005e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef size_t <a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>A generic unsigned ID number. These were entryIDs in back-bdb. Preferably it should have the same size as a pointer. </p>

</div>
</div>
<a class="anchor" id="ga238cc39c422225e05cb3897e641ca9e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a>* <a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>An IDL is an ID List, a sorted array of IDs. The first element of the array is a counter for how many actual IDs are in the list. In the original back-bdb code, IDLs are sorted in ascending order. For libmdb IDLs are sorted in descending order. </p>

</div>
</div>
<a class="anchor" id="gafcc5d61c06c726db2be5d088dbc68d51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__idls.html#structMDB__ID2">MDB_ID2</a>* <a class="el" href="group__idls.html#gafcc5d61c06c726db2be5d088dbc68d51">MDB_ID2L</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>An ID2L is an ID2 List, a sorted array of ID2s. The first element's <b>mid</b> member is a count of how many actual elements are in the array. The <b>mptr</b> member of the first element is unused. The array is sorted in ascending order by <b>mid</b>. </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga9133d7b3849e2508c7bc690db039444d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned mdb_midl_search </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a>&#160;</td>
          <td class="paramname"><em>ids</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a>&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Search for an ID in an IDL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ids</td><td>The IDL to search. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The ID to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The index of the first ID greater than or equal to <b>id</b>. </dd></dl>

</div>
</div>
<a class="anchor" id="gab239e78f44ae65ce84c1a63c99f14b19"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> mdb_midl_alloc </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Allocate an IDL. Allocates memory for an IDL of the given size. </p>
<dl class="section return"><dt>Returns</dt><dd>IDL on success, NULL on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ga16e7b3139783126c1e39b5d7f7fb625d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mdb_midl_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a>&#160;</td>
          <td class="paramname"><em>ids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Free an IDL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ids</td><td>The IDL to free. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4f0b2b550d5af4a12a7cd35eff3b96b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdb_midl_shrink </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *&#160;</td>
          <td class="paramname"><em>idp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Shrink an IDL. Return the IDL to the default size if it has grown larger. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">idp</td><td>Address of the IDL to shrink. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on no change, non-zero if shrunk. </dd></dl>

</div>
</div>
<a class="anchor" id="ga27374e3827d673a748c843fffce1a48f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdb_midl_need </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *&#160;</td>
          <td class="paramname"><em>idp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>num</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Make room for num additional elements in an IDL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">idp</td><td>Address of the IDL. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">num</td><td>Number of elements to make room for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, ENOMEM on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf1dc78a5648a20152672b6236f1879e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdb_midl_append </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *&#160;</td>
          <td class="paramname"><em>idp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a>&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Append an ID onto an IDL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">idp</td><td>Address of the IDL to append to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The ID to append. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, ENOMEM if the IDL is too large. </dd></dl>

</div>
</div>
<a class="anchor" id="ga21493a9f98c90f59d81c7197866ec076"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdb_midl_append_list </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *&#160;</td>
          <td class="paramname"><em>idp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a>&#160;</td>
          <td class="paramname"><em>app</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Append an IDL onto an IDL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">idp</td><td>Address of the IDL to append to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">app</td><td>The IDL to append. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, ENOMEM if the IDL is too large. </dd></dl>

</div>
</div>
<a class="anchor" id="gaccadab9afb9667e28c4e750a1d0696f8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdb_midl_append_range </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a> *&#160;</td>
          <td class="paramname"><em>idp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a>&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Append an ID range onto an IDL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">idp</td><td>Address of the IDL to append to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The lowest ID to append. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of IDs to append. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, ENOMEM if the IDL is too large. </dd></dl>

</div>
</div>
<a class="anchor" id="gac3fe60f3087a5fdba4908f53a62d16d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mdb_midl_sort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#ga238cc39c422225e05cb3897e641ca9e5">MDB_IDL</a>&#160;</td>
          <td class="paramname"><em>ids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sort an IDL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">ids</td><td>The IDL to sort. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4fbf5726f08ac891bbea111b712ab424"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned mdb_mid2l_search </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#gafcc5d61c06c726db2be5d088dbc68d51">MDB_ID2L</a>&#160;</td>
          <td class="paramname"><em>ids</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__idls.html#gad3544b2a0d07ee195d91e92b0e46005e">MDB_ID</a>&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Search for an ID in an ID2L. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ids</td><td>The ID2L to search. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The ID to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The index of the first ID2 whose <b>mid</b> member is greater than or equal to <b>id</b>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga7cf657facd99bec0e29ea05bda96e4a5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdb_mid2l_insert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#gafcc5d61c06c726db2be5d088dbc68d51">MDB_ID2L</a>&#160;</td>
          <td class="paramname"><em>ids</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__idls.html#structMDB__ID2">MDB_ID2</a> *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Insert an ID2 into a ID2L. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">ids</td><td>The ID2L to insert into. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The ID2 to insert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, -1 if the ID was already present in the ID2L. </dd></dl>

</div>
</div>
<a class="anchor" id="ga54b5ab87ee3746dc4926d25d3887dfab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdb_mid2l_append </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__idls.html#gafcc5d61c06c726db2be5d088dbc68d51">MDB_ID2L</a>&#160;</td>
          <td class="paramname"><em>ids</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__idls.html#structMDB__ID2">MDB_ID2</a> *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Append an ID2 into a ID2L. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">ids</td><td>The ID2L to append into. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The ID2 to append. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, -2 if the ID2L is too big. </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jul 18 2014 09:17:15 for MDB 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>