<!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: iterator/iter_priv.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 Page</span></a></li> <li><a href="annotated.html"><span>Data 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 List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="dir_fb9f2b54f370aa6f4de91e34db18da16.html">iterator</a> </div> </div> <div class="contents"> <h1>iter_priv.h File Reference</h1>This file contains functions to assist the iterator module. <a href="#_details">More...</a> <p> <code>#include "<a class="el" href="rbtree_8h.html">util/rbtree.h</a>"</code><br> <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structiter__priv.html">iter_priv</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Iterator priv structure. <a href="structiter__priv.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="structiter__priv.html">iter_priv</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="iter__priv_8h.html#e420122bf30834f0e37804deaba711d4">priv_create</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create priv structure. <a href="#e420122bf30834f0e37804deaba711d4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="iter__priv_8h.html#81e0e67451c4935bc290e96ddde878ce">priv_delete</a> (struct <a class="el" href="structiter__priv.html">iter_priv</a> *priv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Delete priv structure. <a href="#81e0e67451c4935bc290e96ddde878ce"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="iter__priv_8h.html#1329a642e4462b83a36c4c60092733a2">priv_apply_cfg</a> (struct <a class="el" href="structiter__priv.html">iter_priv</a> *priv, struct <a class="el" href="structconfig__file.html">config_file</a> *cfg)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Process priv config. <a href="#1329a642e4462b83a36c4c60092733a2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="iter__priv_8h.html#c968fb21491b110e34730830d48ddc7c">priv_rrset_bad</a> (struct <a class="el" href="structiter__priv.html">iter_priv</a> *priv, ldns_buffer *pkt, struct <a class="el" href="structrrset__parse.html">rrset_parse</a> *rrset)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See if rrset is bad. <a href="#c968fb21491b110e34730830d48ddc7c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="iter__priv_8h.html#6af99675e87959c597172c1de071c86a">priv_get_mem</a> (struct <a class="el" href="structiter__priv.html">iter_priv</a> *priv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get memory used by priv structure. <a href="#6af99675e87959c597172c1de071c86a"></a><br></td></tr> </table> <hr><h2>Detailed Description</h2> This file contains functions to assist the iterator module. <p> Keep track of the private addresses and lookup fast. <hr><h2>Function Documentation</h2> <a class="anchor" name="e420122bf30834f0e37804deaba711d4"></a><!-- doxytag: member="iter_priv.h::priv_create" ref="e420122bf30834f0e37804deaba711d4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structiter__priv.html">iter_priv</a>* priv_create </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create priv structure. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>new structure or NULL on error. </dd></dl> <p>References <a class="el" href="iter__priv_8h_source.html#l00062">iter_priv::a</a>, <a class="el" href="dnstree_8c_source.html#l00079">addr_tree_init()</a>, <a class="el" href="iter__priv_8h_source.html#l00069">iter_priv::n</a>, <a class="el" href="dnstree_8c_source.html#l00074">name_tree_init()</a>, <a class="el" href="iter__priv_8c_source.html#l00068">priv_delete()</a>, <a class="el" href="iter__priv_8h_source.html#l00056">iter_priv::region</a>, and <a class="el" href="regional_8c_source.html#l00061">regional_create()</a>.</p> <p>Referenced by <a class="el" href="iter__utils_8c_source.html#l00099">iter_apply_cfg()</a>.</p> </div> </div><p> <a class="anchor" name="81e0e67451c4935bc290e96ddde878ce"></a><!-- doxytag: member="iter_priv.h::priv_delete" ref="81e0e67451c4935bc290e96ddde878ce" args="(struct iter_priv *priv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void priv_delete </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structiter__priv.html">iter_priv</a> * </td> <td class="paramname"> <em>priv</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Delete priv structure. <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>priv,:</em> </td><td>to delete. </td></tr> </table> </dl> <p>References <a class="el" href="iter__priv_8h_source.html#l00056">iter_priv::region</a>, and <a class="el" href="regional_8c_source.html#l00108">regional_destroy()</a>.</p> <p>Referenced by <a class="el" href="iterator_8c_source.html#l00083">iter_deinit()</a>, and <a class="el" href="iter__priv_8c_source.html#l00053">priv_create()</a>.</p> </div> </div><p> <a class="anchor" name="1329a642e4462b83a36c4c60092733a2"></a><!-- doxytag: member="iter_priv.h::priv_apply_cfg" ref="1329a642e4462b83a36c4c60092733a2" args="(struct iter_priv *priv, struct config_file *cfg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int priv_apply_cfg </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structiter__priv.html">iter_priv</a> * </td> <td class="paramname"> <em>priv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structconfig__file.html">config_file</a> * </td> <td class="paramname"> <em>cfg</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Process priv config. <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>priv,:</em> </td><td>where to store. </td></tr> <tr><td valign="top"></td><td valign="top"><em>cfg,:</em> </td><td>config options. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on error. </dd></dl> <p>References <a class="el" href="iter__priv_8h_source.html#l00062">iter_priv::a</a>, <a class="el" href="dnstree_8c_source.html#l00079">addr_tree_init()</a>, <a class="el" href="dnstree_8c_source.html#l00107">addr_tree_init_parents()</a>, <a class="el" href="iter__priv_8h_source.html#l00069">iter_priv::n</a>, <a class="el" href="dnstree_8c_source.html#l00074">name_tree_init()</a>, <a class="el" href="dnstree_8c_source.html#l00133">name_tree_init_parents()</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="iter__priv_8h_source.html#l00056">iter_priv::region</a>, and <a class="el" href="regional_8c_source.html#l00090">regional_free_all()</a>.</p> <p>Referenced by <a class="el" href="iter__utils_8c_source.html#l00099">iter_apply_cfg()</a>.</p> </div> </div><p> <a class="anchor" name="c968fb21491b110e34730830d48ddc7c"></a><!-- doxytag: member="iter_priv.h::priv_rrset_bad" ref="c968fb21491b110e34730830d48ddc7c" args="(struct iter_priv *priv, ldns_buffer *pkt, struct rrset_parse *rrset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int priv_rrset_bad </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structiter__priv.html">iter_priv</a> * </td> <td class="paramname"> <em>priv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ldns_buffer * </td> <td class="paramname"> <em>pkt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structrrset__parse.html">rrset_parse</a> * </td> <td class="paramname"> <em>rrset</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> See if rrset is bad. <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>priv,:</em> </td><td>structure for private address storage. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pkt,:</em> </td><td>packet to decompress rrset name in. </td></tr> <tr><td valign="top"></td><td valign="top"><em>rrset,:</em> </td><td>the rrset to examine, A or AAAA. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the rrset is bad and should be removed. </dd></dl> <p>References <a class="el" href="iter__priv_8h_source.html#l00062">iter_priv::a</a>, <a class="el" href="rbtree_8h_source.html#l00081">rbtree_t::count</a>, <a class="el" href="msgparse_8h_source.html#l00141">rrset_parse::dname</a>, <a class="el" href="msgparse_8h_source.html#l00143">rrset_parse::dname_len</a>, <a class="el" href="net__help_8h_source.html#l00087">INET6_SIZE</a>, <a class="el" href="net__help_8h_source.html#l00085">INET_SIZE</a>, <a class="el" href="dnstree_8h_source.html#l00063">name_tree_node::len</a>, <a class="el" href="msgparse_8h_source.html#l00182">rr_parse::next</a>, <a class="el" href="iter__priv_8c_source.html#l00174">priv_lookup_addr()</a>, <a class="el" href="iter__priv_8c_source.html#l00190">priv_lookup_name()</a>, <a class="el" href="msgparse_8h_source.html#l00155">rrset_parse::rr_first</a>, <a class="el" href="msgparse_8h_source.html#l00147">rrset_parse::rrset_class</a>, <a class="el" href="msgparse_8h_source.html#l00175">rr_parse::ttl_data</a>, and <a class="el" href="msgparse_8h_source.html#l00145">rrset_parse::type</a>.</p> <p>Referenced by <a class="el" href="iter__scrub_8c_source.html#l00565">scrub_sanitize()</a>.</p> </div> </div><p> <a class="anchor" name="6af99675e87959c597172c1de071c86a"></a><!-- doxytag: member="iter_priv.h::priv_get_mem" ref="6af99675e87959c597172c1de071c86a" args="(struct iter_priv *priv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t priv_get_mem </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structiter__priv.html">iter_priv</a> * </td> <td class="paramname"> <em>priv</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get memory used by priv structure. <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>priv,:</em> </td><td>structure for address storage. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>bytes in use. </dd></dl> <p>References <a class="el" href="iter__priv_8h_source.html#l00056">iter_priv::region</a>, and <a class="el" href="regional_8c_source.html#l00214">regional_get_mem()</a>.</p> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 13 06:46:30 2009 for unbound by <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>