Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 550bbe86d83a7870fdddc73c68e5d2b2 > files > 256

libunbound-devel-1.3.4-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>unbound: alloc_cache Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>alloc_cache Struct Reference</h1><!-- doxytag: class="alloc_cache" -->Structure that provides allocation.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;alloc.h&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">lock_quick_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#0dcc758b68fa520a91167fad0d73a8ba">lock</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">lock, only used for the super.  <a href="#0dcc758b68fa520a91167fad0d73a8ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structalloc__cache.html">alloc_cache</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#544018c10de15ffc6a0b45b17a418801">super</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">global allocator above this one.  <a href="#544018c10de15ffc6a0b45b17a418801"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structub__packed__rrset__key.html">alloc_special_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#45f7ec0db45344f6c50fcd002027b0b2">quar</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">singly linked lists of special type.  <a href="#45f7ec0db45344f6c50fcd002027b0b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#b3321201c18abf9d6806843fe68afdea">num_quar</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of items in quarantine.  <a href="#b3321201c18abf9d6806843fe68afdea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bddad38336ac26f836bf593ebb81e8f0"></a><!-- doxytag: member="alloc_cache::thread_num" ref="bddad38336ac26f836bf593ebb81e8f0" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#bddad38336ac26f836bf593ebb81e8f0">thread_num</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">thread number for id creation <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="80f182b69edcbaac0aa23b485c7c082c"></a><!-- doxytag: member="alloc_cache::next_id" ref="80f182b69edcbaac0aa23b485c7c082c" args="" -->
uint64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#80f182b69edcbaac0aa23b485c7c082c">next_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">next id number to pass out <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e32f72aaff235d90c499a0365004c9a6"></a><!-- doxytag: member="alloc_cache::last_id" ref="e32f72aaff235d90c499a0365004c9a6" args="" -->
uint64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#e32f72aaff235d90c499a0365004c9a6">last_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">last id number possible <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d12e999f3f3f87fc8401dd4acd0f2e2"></a><!-- doxytag: member="alloc_cache::cleanup" ref="3d12e999f3f3f87fc8401dd4acd0f2e2" args=")(void *)" -->
void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#3d12e999f3f3f87fc8401dd4acd0f2e2">cleanup</a> )(void *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">what function to call to cleanup when last id is reached <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b06b7dc1a17ed296c1f8751ea4c31650"></a><!-- doxytag: member="alloc_cache::cleanup_arg" ref="b06b7dc1a17ed296c1f8751ea4c31650" args="" -->
void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#b06b7dc1a17ed296c1f8751ea4c31650">cleanup_arg</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">user arg for cleanup <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7335a18972c0ce227a1320d7db44e210"></a><!-- doxytag: member="alloc_cache::max_reg_blocks" ref="7335a18972c0ce227a1320d7db44e210" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#7335a18972c0ce227a1320d7db44e210">max_reg_blocks</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how many <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> blocks to keep back max <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce5a6cb87de1f73012d40dd094e5ca6c"></a><!-- doxytag: member="alloc_cache::num_reg_blocks" ref="ce5a6cb87de1f73012d40dd094e5ca6c" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#ce5a6cb87de1f73012d40dd094e5ca6c">num_reg_blocks</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how many <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> blocks are kept now <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5ee1771656c3825fd3c0b9e5d86d9526"></a><!-- doxytag: member="alloc_cache::reg_list" ref="5ee1771656c3825fd3c0b9e5d86d9526" args="" -->
struct <a class="el" href="structregional.html">regional</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structalloc__cache.html#5ee1771656c3825fd3c0b9e5d86d9526">reg_list</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">linked list of <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> blocks, using regional-&gt;next <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Structure that provides allocation. 
<p>
Use one per thread. The one on top has a NULL super pointer. <hr><h2>Field Documentation</h2>
<a class="anchor" name="0dcc758b68fa520a91167fad0d73a8ba"></a><!-- doxytag: member="alloc_cache::lock" ref="0dcc758b68fa520a91167fad0d73a8ba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">lock_quick_t <a class="el" href="structalloc__cache.html#0dcc758b68fa520a91167fad0d73a8ba">alloc_cache::lock</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
lock, only used for the super. 
<p>

<p>Referenced by <a class="el" href="alloc_8c_source.html#l00124">alloc_clear()</a>, <a class="el" href="alloc_8c_source.html#l00280">alloc_get_mem()</a>, <a class="el" href="alloc_8c_source.html#l00097">alloc_init()</a>, <a class="el" href="alloc_8c_source.html#l00186">alloc_special_obtain()</a>, <a class="el" href="alloc_8c_source.html#l00249">alloc_special_release()</a>, <a class="el" href="unitverify_8c_source.html#l00089">entry_to_repinfo()</a>, and <a class="el" href="alloc_8c_source.html#l00224">pushintosuper()</a>.</p>

</div>
</div><p>
<a class="anchor" name="544018c10de15ffc6a0b45b17a418801"></a><!-- doxytag: member="alloc_cache::super" ref="544018c10de15ffc6a0b45b17a418801" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structalloc__cache.html">alloc_cache</a>* <a class="el" href="structalloc__cache.html#544018c10de15ffc6a0b45b17a418801">alloc_cache::super</a><code> [read]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
global allocator above this one. 
<p>
NULL for none (malloc/free) 
<p>Referenced by <a class="el" href="alloc_8c_source.html#l00124">alloc_clear()</a>, <a class="el" href="alloc_8c_source.html#l00280">alloc_get_mem()</a>, <a class="el" href="alloc_8c_source.html#l00097">alloc_init()</a>, <a class="el" href="alloc_8c_source.html#l00186">alloc_special_obtain()</a>, <a class="el" href="alloc_8c_source.html#l00249">alloc_special_release()</a>, <a class="el" href="alloc_8c_source.html#l00274">alloc_stats()</a>, <a class="el" href="context_8c_source.html#l00167">context_obtain_alloc()</a>, <a class="el" href="context_8c_source.html#l00193">context_release_alloc()</a>, <a class="el" href="alloc_8c_source.html#l00224">pushintosuper()</a>, and <a class="el" href="libunbound_8c_source.html#l00153">ub_ctx_delete()</a>.</p>

</div>
</div><p>
<a class="anchor" name="45f7ec0db45344f6c50fcd002027b0b2"></a><!-- doxytag: member="alloc_cache::quar" ref="45f7ec0db45344f6c50fcd002027b0b2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structub__packed__rrset__key.html">alloc_special_t</a>* <a class="el" href="structalloc__cache.html#45f7ec0db45344f6c50fcd002027b0b2">alloc_cache::quar</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
singly linked lists of special type. 
<p>
These are free for use. 
<p>Referenced by <a class="el" href="alloc_8c_source.html#l00124">alloc_clear()</a>, <a class="el" href="alloc_8c_source.html#l00280">alloc_get_mem()</a>, <a class="el" href="alloc_8c_source.html#l00186">alloc_special_obtain()</a>, <a class="el" href="alloc_8c_source.html#l00249">alloc_special_release()</a>, <a class="el" href="alloc_8c_source.html#l00067">prealloc()</a>, and <a class="el" href="alloc_8c_source.html#l00224">pushintosuper()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b3321201c18abf9d6806843fe68afdea"></a><!-- doxytag: member="alloc_cache::num_quar" ref="b3321201c18abf9d6806843fe68afdea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="structalloc__cache.html#b3321201c18abf9d6806843fe68afdea">alloc_cache::num_quar</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
number of items in quarantine. 
<p>

<p>Referenced by <a class="el" href="alloc_8c_source.html#l00124">alloc_clear()</a>, <a class="el" href="alloc_8c_source.html#l00280">alloc_get_mem()</a>, <a class="el" href="alloc_8c_source.html#l00186">alloc_special_obtain()</a>, <a class="el" href="alloc_8c_source.html#l00249">alloc_special_release()</a>, <a class="el" href="alloc_8c_source.html#l00274">alloc_stats()</a>, <a class="el" href="unitmain_8c_source.html#l00052">alloc_test()</a>, <a class="el" href="alloc_8c_source.html#l00067">prealloc()</a>, and <a class="el" href="alloc_8c_source.html#l00224">pushintosuper()</a>.</p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>util/<a class="el" href="alloc_8h.html">alloc.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 13 06:46:33 2009 for unbound by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>