Sophie

Sophie

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

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: util/regional.h File 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><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><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="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_4b581c88b01efb1cf178857b56f0f2fb.html">util</a>
  </div>
</div>
<div class="contents">
<h1>regional.h File Reference</h1>Regional allocator.  
<a href="#_details">More...</a>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structregional.html">regional</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the regional* is the first block*.  <a href="structregional.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structregional.html">regional</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#503ca6143e38a45f6b1dedda20e024cc">regional_create</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>.  <a href="#503ca6143e38a45f6b1dedda20e024cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structregional.html">regional</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#af4601b98d465c40905b4331fcb590ac">regional_create_custom</a> (size_t size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new region, with custom settings.  <a href="#af4601b98d465c40905b4331fcb590ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#105270006dae4778c9e92bbee8518b93">regional_free_all</a> (struct <a class="el" href="structregional.html">regional</a> *r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free all memory associated with <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>.  <a href="#105270006dae4778c9e92bbee8518b93"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#6cc0ebf3a50360401bc2787630ddf5c9">regional_destroy</a> (struct <a class="el" href="structregional.html">regional</a> *r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>.  <a href="#6cc0ebf3a50360401bc2787630ddf5c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#01afc5f34379f207abd8c9d7ea7eb372">regional_alloc</a> (struct <a class="el" href="structregional.html">regional</a> *r, size_t size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate size bytes of memory inside <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>.  <a href="#01afc5f34379f207abd8c9d7ea7eb372"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#4a6eb1085a8e3b7ecc8281dd79474fea">regional_alloc_init</a> (struct <a class="el" href="structregional.html">regional</a> *r, const void *init, size_t size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate size bytes of memory inside <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> and copy INIT into it.  <a href="#4a6eb1085a8e3b7ecc8281dd79474fea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#82ee7e8c71e485f34325b6f845d3041b">regional_alloc_zero</a> (struct <a class="el" href="structregional.html">regional</a> *r, size_t size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate size bytes of memory inside <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> that are initialized to 0.  <a href="#82ee7e8c71e485f34325b6f845d3041b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#2033a3eaf4ab0aa93a8714111648404c">regional_strdup</a> (struct <a class="el" href="structregional.html">regional</a> *r, const char *string)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Duplicate string and allocate the result in <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>.  <a href="#2033a3eaf4ab0aa93a8714111648404c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82645cc52d44b7e3315a74882c2f2a2b"></a><!-- doxytag: member="regional.h::regional_log_stats" ref="82645cc52d44b7e3315a74882c2f2a2b" args="(struct regional *r)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#82645cc52d44b7e3315a74882c2f2a2b">regional_log_stats</a> (struct <a class="el" href="structregional.html">regional</a> *r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Debug print <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> statistics to log. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4ebe7f216a7891fb623620a5c923cf03"></a><!-- doxytag: member="regional.h::regional_get_mem" ref="4ebe7f216a7891fb623620a5c923cf03" args="(struct regional *r)" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="regional_8h.html#4ebe7f216a7891fb623620a5c923cf03">regional_get_mem</a> (struct <a class="el" href="structregional.html">regional</a> *r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get total memory size in use by region <br></td></tr>
</table>
<hr><h2>Detailed Description</h2>
Regional allocator. 
<p>
Allocates small portions of of larger chunks. Based on region-allocator from NSD, but rewritten to be light.<p>
Different from (nsd) region-allocator.h o does not have recycle bin o does not collect stats; just enough to answer get_mem() in use. o does not keep cleanup list o does not have function pointers to setup o allocs the <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> struct inside the first block. o can take a block to create <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> from. o blocks and large allocations are kept on singly linked lists. <hr><h2>Function Documentation</h2>
<a class="anchor" name="503ca6143e38a45f6b1dedda20e024cc"></a><!-- doxytag: member="regional.h::regional_create" ref="503ca6143e38a45f6b1dedda20e024cc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structregional.html">regional</a>* regional_create           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: newly allocated <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>. </dd></dl>

<p>References <a class="el" href="regional_8c_source.html#l00056">REGIONAL_CHUNK_SIZE</a>, and <a class="el" href="regional_8c_source.html#l00079">regional_create_custom()</a>.</p>

<p>Referenced by <a class="el" href="acl__list_8c_source.html#l00050">acl_list_create()</a>, <a class="el" href="val__anchor_8c_source.html#l00071">anchors_create()</a>, <a class="el" href="unbound-checkconf_8c_source.html#l00214">check_mod()</a>, <a class="el" href="iter__donotq_8c_source.html#l00052">donotq_create()</a>, <a class="el" href="unitverify_8c_source.html#l00302">dstest_file()</a>, <a class="el" href="iter__fwd_8c_source.html#l00067">forwards_create()</a>, <a class="el" href="iter__hints_8c_source.html#l00052">hints_create()</a>, <a class="el" href="localzone_8c_source.html#l00147">local_zone_create()</a>, <a class="el" href="msgreply_8c_source.html#l00755">log_dns_msg()</a>, <a class="el" href="unitverify_8c_source.html#l00429">nsec3_hash_test()</a>, <a class="el" href="unitmsgparse_8c_source.html#l00252">perf_encode()</a>, <a class="el" href="unitmsgparse_8c_source.html#l00286">perftestpkt()</a>, <a class="el" href="iter__priv_8c_source.html#l00053">priv_create()</a>, <a class="el" href="libunbound_8c_source.html#l00366">process_answer_detail()</a>, <a class="el" href="unitmsgparse_8c_source.html#l00322">testpkt()</a>, and <a class="el" href="unitverify_8c_source.html#l00257">verifytest_file()</a>.</p>

</div>
</div><p>
<a class="anchor" name="af4601b98d465c40905b4331fcb590ac"></a><!-- doxytag: member="regional.h::regional_create_custom" ref="af4601b98d465c40905b4331fcb590ac" args="(size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structregional.html">regional</a>* regional_create_custom           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new region, with custom settings. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>size,:</em>&nbsp;</td><td>length of first block. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: newly allocated <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>. </dd></dl>

<p>References <a class="el" href="regional_8h_source.html#l00072">regional::first_size</a>, <a class="el" href="log_8h_source.html#l00185">log_assert</a>, and <a class="el" href="regional_8c_source.html#l00068">regional_init()</a>.</p>

<p>Referenced by <a class="el" href="alloc_8c_source.html#l00299">alloc_reg_obtain()</a>, <a class="el" href="libworker_8c_source.html#l00092">libworker_setup()</a>, <a class="el" href="alloc_8c_source.html#l00083">prealloc_blocks()</a>, <a class="el" href="regional_8c_source.html#l00061">regional_create()</a>, and <a class="el" href="worker_8c_source.html#l00967">worker_init()</a>.</p>

</div>
</div><p>
<a class="anchor" name="105270006dae4778c9e92bbee8518b93"></a><!-- doxytag: member="regional.h::regional_free_all" ref="105270006dae4778c9e92bbee8518b93" args="(struct regional *r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void regional_free_all           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structregional.html">regional</a> *&nbsp;</td>
          <td class="paramname"> <em>r</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Free all memory associated with <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>. 
<p>
Only keeps the first block with the <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> inside it. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>r,:</em>&nbsp;</td><td>the region. </td></tr>
  </table>
</dl>

<p>References <a class="el" href="regional_8h_source.html#l00068">regional::large_list</a>, <a class="el" href="regional_8h_source.html#l00066">regional::next</a>, and <a class="el" href="regional_8c_source.html#l00068">regional_init()</a>.</p>

<p>Referenced by <a class="el" href="acl__list_8c_source.html#l00138">acl_list_apply_cfg()</a>, <a class="el" href="alloc_8c_source.html#l00312">alloc_reg_release()</a>, <a class="el" href="worker_8c_source.html#l00501">answer_from_cache()</a>, <a class="el" href="worker_8c_source.html#l00416">answer_norec_from_cache()</a>, <a class="el" href="iter__donotq_8c_source.html#l00123">donotq_apply_cfg()</a>, <a class="el" href="unitverify_8c_source.html#l00215">dstest_entry()</a>, <a class="el" href="cachedump_8c_source.html#l00311">dump_msg_lruhash()</a>, <a class="el" href="iter__fwd_8c_source.html#l00297">forwards_apply_cfg()</a>, <a class="el" href="iter__hints_8c_source.html#l00394">hints_apply_cfg()</a>, <a class="el" href="cachedump_8c_source.html#l00701">load_msg()</a>, <a class="el" href="cachedump_8c_source.html#l00516">load_rrset()</a>, <a class="el" href="mesh_8c_source.html#l00886">mesh_run()</a>, <a class="el" href="unitmsgparse_8c_source.html#l00252">perf_encode()</a>, <a class="el" href="cachedump_8c_source.html#l00782">print_deleg_lookup()</a>, <a class="el" href="iter__priv_8c_source.html#l00147">priv_apply_cfg()</a>, <a class="el" href="regional_8c_source.html#l00108">regional_destroy()</a>, <a class="el" href="val__utils_8c_source.html#l00305">val_verify_rrset()</a>, and <a class="el" href="unitverify_8c_source.html#l00176">verifytest_entry()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6cc0ebf3a50360401bc2787630ddf5c9"></a><!-- doxytag: member="regional.h::regional_destroy" ref="6cc0ebf3a50360401bc2787630ddf5c9" args="(struct regional *r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void regional_destroy           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structregional.html">regional</a> *&nbsp;</td>
          <td class="paramname"> <em>r</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>. 
<p>
All memory associated with <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> is freed as if regional_free_all was called, as well as destroying the <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> struct. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>r,:</em>&nbsp;</td><td>to delete. </td></tr>
  </table>
</dl>

<p>References <a class="el" href="regional_8c_source.html#l00090">regional_free_all()</a>.</p>

<p>Referenced by <a class="el" href="acl__list_8c_source.html#l00065">acl_list_delete()</a>, <a class="el" href="alloc_8c_source.html#l00312">alloc_reg_release()</a>, <a class="el" href="val__anchor_8c_source.html#l00090">anchors_delete()</a>, <a class="el" href="unbound-checkconf_8c_source.html#l00214">check_mod()</a>, <a class="el" href="iter__donotq_8c_source.html#l00067">donotq_delete()</a>, <a class="el" href="unitverify_8c_source.html#l00302">dstest_file()</a>, <a class="el" href="iter__fwd_8c_source.html#l00082">forwards_delete()</a>, <a class="el" href="iter__hints_8c_source.html#l00067">hints_delete()</a>, <a class="el" href="libworker_8c_source.html#l00071">libworker_delete()</a>, <a class="el" href="localzone_8c_source.html#l00086">local_zone_delete()</a>, <a class="el" href="msgreply_8c_source.html#l00755">log_dns_msg()</a>, <a class="el" href="unitverify_8c_source.html#l00429">nsec3_hash_test()</a>, <a class="el" href="unitmsgparse_8c_source.html#l00252">perf_encode()</a>, <a class="el" href="unitmsgparse_8c_source.html#l00286">perftestpkt()</a>, <a class="el" href="iter__priv_8c_source.html#l00068">priv_delete()</a>, <a class="el" href="libunbound_8c_source.html#l00366">process_answer_detail()</a>, <a class="el" href="unitmsgparse_8c_source.html#l00322">testpkt()</a>, <a class="el" href="unitverify_8c_source.html#l00257">verifytest_file()</a>, and <a class="el" href="worker_8c_source.html#l01115">worker_delete()</a>.</p>

</div>
</div><p>
<a class="anchor" name="01afc5f34379f207abd8c9d7ea7eb372"></a><!-- doxytag: member="regional.h::regional_alloc" ref="01afc5f34379f207abd8c9d7ea7eb372" args="(struct regional *r, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* regional_alloc           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structregional.html">regional</a> *&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocate size bytes of memory inside <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>. 
<p>
The memory is deallocated when region_free_all is called for this region. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>r,:</em>&nbsp;</td><td>the region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size,:</em>&nbsp;</td><td>number of bytes. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: pointer to memory allocated. </dd></dl>

<p>References <a class="el" href="regional_8c_source.html#l00051">ALIGN_UP</a>, <a class="el" href="regional_8c_source.html#l00053">ALIGNMENT</a>, <a class="el" href="regional_8h_source.html#l00074">regional::available</a>, <a class="el" href="regional_8h_source.html#l00076">regional::data</a>, <a class="el" href="regional_8h_source.html#l00068">regional::large_list</a>, <a class="el" href="regional_8h_source.html#l00066">regional::next</a>, <a class="el" href="regional_8c_source.html#l00056">REGIONAL_CHUNK_SIZE</a>, <a class="el" href="regional_8c_source.html#l00058">REGIONAL_LARGE_OBJECT_SIZE</a>, and <a class="el" href="regional_8h_source.html#l00070">regional::total_large</a>.</p>

<p>Referenced by <a class="el" href="acl__list_8c_source.html#l00075">acl_list_insert()</a>, <a class="el" href="msgparse_8c_source.html#l00718">add_rr_to_rrset()</a>, <a class="el" href="val__anchor_8c_source.html#l00147">anchor_new_ta()</a>, <a class="el" href="val__anchor_8c_source.html#l00184">anchor_new_ta_key()</a>, <a class="el" href="val__anchor_8c_source.html#l00773">assemble_it()</a>, <a class="el" href="msgencode_8c_source.html#l00171">compress_tree_newnode()</a>, <a class="el" href="msgreply_8c_source.html#l00080">construct_reply_info_base()</a>, <a class="el" href="pythonmod__utils_8c_source.html#l00107">createResponse()</a>, <a class="el" href="iter__delegpt_8c_source.html#l00166">delegpt_add_addr()</a>, <a class="el" href="iter__delegpt_8c_source.html#l00096">delegpt_add_ns()</a>, <a class="el" href="iter__delegpt_8c_source.html#l00052">delegpt_create()</a>, <a class="el" href="iter__utils_8c_source.html#l00350">dns_alloc_msg()</a>, <a class="el" href="iter__utils_8c_source.html#l00366">dns_copy_msg()</a>, <a class="el" href="dns_8c_source.html#l00307">dns_msg_create()</a>, <a class="el" href="iter__donotq_8c_source.html#l00077">donotq_insert()</a>, <a class="el" href="val__sigcrypt_8c_source.html#l00317">ds_digest_match_dnskey()</a>, <a class="el" href="iter__fwd_8c_source.html#l00093">forwards_insert_data()</a>, <a class="el" href="dns_8c_source.html#l00397">gen_dns_msg()</a>, <a class="el" href="iterator_8c_source.html#l00465">generate_sub_request()</a>, <a class="el" href="iter__hints_8c_source.html#l00144">hints_insert()</a>, <a class="el" href="localzone_8c_source.html#l00356">insert_rr()</a>, <a class="el" href="iterator_8c_source.html#l00337">iter_add_prepend_answer()</a>, <a class="el" href="iterator_8c_source.html#l00362">iter_add_prepend_auth()</a>, <a class="el" href="iterator_8c_source.html#l00099">iter_new()</a>, <a class="el" href="iterator_8c_source.html#l00278">iter_prepend()</a>, <a class="el" href="val__kentry_8c_source.html#l00277">key_entry_get_rrset()</a>, <a class="el" href="val__kentry_8c_source.html#l00202">key_entry_setup()</a>, <a class="el" href="libworker_8c_source.html#l00677">libworker_send_query()</a>, <a class="el" href="mesh_8c_source.html#l00784">mesh_state_add_cb()</a>, <a class="el" href="mesh_8c_source.html#l00805">mesh_state_add_reply()</a>, <a class="el" href="mesh_8c_source.html#l00583">mesh_state_attachment()</a>, <a class="el" href="mesh_8c_source.html#l00405">mesh_state_create()</a>, <a class="el" href="msgparse_8c_source.html#l00331">moveover_rrsigs()</a>, <a class="el" href="msgparse_8c_source.html#l00069">new_rrset()</a>, <a class="el" href="val__nsec3_8c_source.html#l00567">nsec3_calc_hash()</a>, <a class="el" href="val__nsec3_8c_source.html#l00992">nsec3_ce_wildcard()</a>, <a class="el" href="val__nsec3_8c_source.html#l00634">nsec3_hash_name()</a>, <a class="el" href="packed__rrset_8c_source.html#l00268">packed_rrset_copy_region()</a>, <a class="el" href="msgreply_8c_source.html#l00333">parse_copy_decompress_rrset()</a>, <a class="el" href="msgreply_8c_source.html#l00061">parse_create_qinfo()</a>, <a class="el" href="msgreply_8c_source.html#l00273">parse_create_rrset()</a>, <a class="el" href="libworker_8c_source.html#l00345">parse_reply()</a>, <a class="el" href="iterator_8c_source.html#l02011">process_response()</a>, <a class="el" href="iter__priv_8c_source.html#l00076">read_addrs()</a>, <a class="el" href="iter__priv_8c_source.html#l00107">read_names()</a>, <a class="el" href="regional_8c_source.html#l00146">regional_alloc_init()</a>, <a class="el" href="regional_8c_source.html#l00155">regional_alloc_zero()</a>, <a class="el" href="msgreply_8c_source.html#l00129">repinfo_alloc_rrset_keys()</a>, <a class="el" href="msgreply_8c_source.html#l00413">reply_info_parse()</a>, <a class="el" href="rrset_8c_source.html#l00288">rrset_array_unlock_touch()</a>, <a class="el" href="val__sigcrypt_8c_source.html#l00968">rrset_canonical()</a>, <a class="el" href="iter__scrub_8c_source.html#l00230">synth_cname_rrset()</a>, <a class="el" href="dns_8c_source.html#l00498">synth_dname_msg()</a>, <a class="el" href="validator_8c_source.html#l01605">val_dlv_init()</a>, <a class="el" href="validator_8c_source.html#l00191">val_new()</a>, and <a class="el" href="worker_8c_source.html#l01172">worker_send_query()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4a6eb1085a8e3b7ecc8281dd79474fea"></a><!-- doxytag: member="regional.h::regional_alloc_init" ref="4a6eb1085a8e3b7ecc8281dd79474fea" args="(struct regional *r, const void *init, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* regional_alloc_init           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structregional.html">regional</a> *&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>init</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocate size bytes of memory inside <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> and copy INIT into it. 
<p>
The memory is deallocated when region_free_all is called for this region. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>r,:</em>&nbsp;</td><td>the region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>init,:</em>&nbsp;</td><td>to copy. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size,:</em>&nbsp;</td><td>number of bytes. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: pointer to memory allocated. </dd></dl>

<p>References <a class="el" href="regional_8c_source.html#l00116">regional_alloc()</a>.</p>

<p>Referenced by <a class="el" href="val__anchor_8c_source.html#l00147">anchor_new_ta()</a>, <a class="el" href="val__anchor_8c_source.html#l00184">anchor_new_ta_key()</a>, <a class="el" href="val__anchor_8c_source.html#l00773">assemble_it()</a>, <a class="el" href="cachedump_8c_source.html#l00287">copy_msg()</a>, <a class="el" href="iter__delegpt_8c_source.html#l00096">delegpt_add_ns()</a>, <a class="el" href="iter__delegpt_8c_source.html#l00088">delegpt_set_name()</a>, <a class="el" href="iter__utils_8c_source.html#l00366">dns_copy_msg()</a>, <a class="el" href="dns_8c_source.html#l00307">dns_msg_create()</a>, <a class="el" href="iter__fwd_8c_source.html#l00093">forwards_insert_data()</a>, <a class="el" href="dns_8c_source.html#l00397">gen_dns_msg()</a>, <a class="el" href="iter__hints_8c_source.html#l00144">hints_insert()</a>, <a class="el" href="localzone_8c_source.html#l00356">insert_rr()</a>, <a class="el" href="val__kentry_8c_source.html#l00103">key_entry_copy_toregion()</a>, <a class="el" href="val__kentry_8c_source.html#l00240">key_entry_create_rrset()</a>, <a class="el" href="val__kentry_8c_source.html#l00277">key_entry_get_rrset()</a>, <a class="el" href="val__kentry_8c_source.html#l00202">key_entry_setup()</a>, <a class="el" href="cachedump_8c_source.html#l00606">load_qinfo()</a>, <a class="el" href="cachedump_8c_source.html#l00383">load_rr()</a>, <a class="el" href="localzone_8c_source.html#l00405">lz_find_create_node()</a>, <a class="el" href="mesh_8c_source.html#l00805">mesh_state_add_reply()</a>, <a class="el" href="mesh_8c_source.html#l00405">mesh_state_create()</a>, <a class="el" href="val__nsec3_8c_source.html#l00614">nsec3_calc_b32()</a>, <a class="el" href="unitverify_8c_source.html#l00386">nsec3_hash_test_entry()</a>, <a class="el" href="packed__rrset_8c_source.html#l00268">packed_rrset_copy_region()</a>, <a class="el" href="validator_8c_source.html#l02453">process_dlv_response()</a>, <a class="el" href="validator_8c_source.html#l02300">process_ds_response()</a>, <a class="el" href="validator_8c_source.html#l01837">processDLVLookup()</a>, <a class="el" href="iter__priv_8c_source.html#l00107">read_names()</a>, <a class="el" href="regional_8c_source.html#l00164">regional_strdup()</a>, <a class="el" href="msgreply_8c_source.html#l00617">repinfo_copy_rrsets()</a>, <a class="el" href="dns_8c_source.html#l00498">synth_dname_msg()</a>, and <a class="el" href="validator_8c_source.html#l00191">val_new()</a>.</p>

</div>
</div><p>
<a class="anchor" name="82ee7e8c71e485f34325b6f845d3041b"></a><!-- doxytag: member="regional.h::regional_alloc_zero" ref="82ee7e8c71e485f34325b6f845d3041b" args="(struct regional *r, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* regional_alloc_zero           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structregional.html">regional</a> *&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocate size bytes of memory inside <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> that are initialized to 0. 
<p>
The memory is deallocated when region_free_all is called for this region. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>r,:</em>&nbsp;</td><td>the region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size,:</em>&nbsp;</td><td>number of bytes. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: pointer to memory allocated. </dd></dl>

<p>References <a class="el" href="regional_8c_source.html#l00116">regional_alloc()</a>.</p>

<p>Referenced by <a class="el" href="dns_8c_source.html#l00307">dns_msg_create()</a>, <a class="el" href="cachedump_8c_source.html#l00701">load_msg()</a>, <a class="el" href="cachedump_8c_source.html#l00516">load_rrset()</a>, <a class="el" href="localzone_8c_source.html#l00405">lz_find_create_node()</a>, <a class="el" href="localzone_8c_source.html#l00319">new_local_rrset()</a>, and <a class="el" href="dns_8c_source.html#l00498">synth_dname_msg()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2033a3eaf4ab0aa93a8714111648404c"></a><!-- doxytag: member="regional.h::regional_strdup" ref="2033a3eaf4ab0aa93a8714111648404c" args="(struct regional *r, const char *string)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* regional_strdup           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structregional.html">regional</a> *&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>string</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Duplicate string and allocate the result in <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>r,:</em>&nbsp;</td><td>the region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>string,:</em>&nbsp;</td><td>null terminated string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: pointer to memory allocated. </dd></dl>

<p>References <a class="el" href="regional_8c_source.html#l00146">regional_alloc_init()</a>.</p>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 13 06:46:32 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>