<!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: daemon/cachedump.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_25e37f0a75013b615a5ba63405adf018.html">daemon</a> </div> </div> <div class="contents"> <h1>cachedump.h File Reference</h1>This file contains functions to read and write the cache(s) to text format. <a href="#_details">More...</a> <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cachedump_8h.html#8fa3644e456d2b453acc8117e03d5858">dump_cache</a> (SSL *ssl, struct <a class="el" href="structworker.html">worker</a> *<a class="el" href="structworker.html">worker</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Dump cache(s) to text. <a href="#8fa3644e456d2b453acc8117e03d5858"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cachedump_8h.html#e17171c94f475c24613a548fc975f856">load_cache</a> (SSL *ssl, struct <a class="el" href="structworker.html">worker</a> *<a class="el" href="structworker.html">worker</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Load cache(s) from text. <a href="#e17171c94f475c24613a548fc975f856"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cachedump_8h.html#8ef0364aade5771555500af27220abc2">print_deleg_lookup</a> (SSL *ssl, struct <a class="el" href="structworker.html">worker</a> *<a class="el" href="structworker.html">worker</a>, uint8_t *nm, size_t nmlen, int nmlabs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Print the delegation used to lookup for this name. <a href="#8ef0364aade5771555500af27220abc2"></a><br></td></tr> </table> <hr><h2>Detailed Description</h2> This file contains functions to read and write the cache(s) to text format. <p> The format of the file is as follows: [RRset cache] [Message cache] EOF -- fixed string "EOF" before end of the file.<p> The RRset cache is: START_RRSET_CACHE [rrset]* END_RRSET_CACHE<p> rrset is: ;rrset [nsec_apex] TTL rr_count rrsig_count trust security resource records, one per line, in zonefile format rrsig records, one per line, in zonefile format If the text conversion fails, BADRR is printed on the line.<p> The Message cache is: START_MSG_CACHE [msg]* END_MSG_CACHE<p> msg is: msg name class type flags qdcount ttl security an ns ar list of rrset references, one per line. If conversion fails, BADREF reference is: name class type flags<p> Expired cache entries are not printed. <hr><h2>Function Documentation</h2> <a class="anchor" name="8fa3644e456d2b453acc8117e03d5858"></a><!-- doxytag: member="cachedump.h::dump_cache" ref="8fa3644e456d2b453acc8117e03d5858" args="(SSL *ssl, struct worker *worker)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int dump_cache </td> <td>(</td> <td class="paramtype">SSL * </td> <td class="paramname"> <em>ssl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structworker.html">worker</a> * </td> <td class="paramname"> <em>worker</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Dump cache(s) to text. <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>ssl,:</em> </td><td>to print to </td></tr> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a>,:</em> </td><td><a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a> that is available (buffers, etc) and has ptrs to the caches. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>false on ssl print error. </dd></dl> <p>References <a class="el" href="cachedump_8c_source.html#l00339">dump_msg_cache()</a>, <a class="el" href="cachedump_8c_source.html#l00166">dump_rrset_cache()</a>, and <a class="el" href="remote_8c_source.html#l00504">ssl_printf()</a>.</p> <p>Referenced by <a class="el" href="remote_8c_source.html#l01483">execute_cmd()</a>.</p> </div> </div><p> <a class="anchor" name="e17171c94f475c24613a548fc975f856"></a><!-- doxytag: member="cachedump.h::load_cache" ref="e17171c94f475c24613a548fc975f856" args="(SSL *ssl, struct worker *worker)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int load_cache </td> <td>(</td> <td class="paramtype">SSL * </td> <td class="paramname"> <em>ssl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structworker.html">worker</a> * </td> <td class="paramname"> <em>worker</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Load cache(s) from text. <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>ssl,:</em> </td><td>to read from </td></tr> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a>,:</em> </td><td><a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a> that is available (buffers, etc) and has ptrs to the caches. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>false on ssl error. </dd></dl> <p>References <a class="el" href="worker_8h_source.html#l00120">worker::env</a>, <a class="el" href="cachedump_8c_source.html#l00760">load_msg_cache()</a>, <a class="el" href="cachedump_8c_source.html#l00592">load_rrset_cache()</a>, <a class="el" href="cachedump_8c_source.html#l00375">read_fixed()</a>, and <a class="el" href="module_8h_source.html#l00188">module_env::scratch_buffer</a>.</p> <p>Referenced by <a class="el" href="remote_8c_source.html#l01483">execute_cmd()</a>.</p> </div> </div><p> <a class="anchor" name="8ef0364aade5771555500af27220abc2"></a><!-- doxytag: member="cachedump.h::print_deleg_lookup" ref="8ef0364aade5771555500af27220abc2" args="(SSL *ssl, struct worker *worker, uint8_t *nm, size_t nmlen, int nmlabs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int print_deleg_lookup </td> <td>(</td> <td class="paramtype">SSL * </td> <td class="paramname"> <em>ssl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structworker.html">worker</a> * </td> <td class="paramname"> <em>worker</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"> <em>nm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>nmlen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nmlabs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Print the delegation used to lookup for this name. <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>ssl,:</em> </td><td>to read from </td></tr> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a>,:</em> </td><td><a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a> that is available (buffers, etc) and has ptrs to the caches. </td></tr> <tr><td valign="top"></td><td valign="top"><em>nm,:</em> </td><td>name to lookup </td></tr> <tr><td valign="top"></td><td valign="top"><em>nmlen,:</em> </td><td>length of name. </td></tr> <tr><td valign="top"></td><td valign="top"><em>nmlabs,:</em> </td><td>labels in name. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>false on ssl error. </dd></dl> <p>References <a class="el" href="net__help_8h_source.html#l00062">BIT_RD</a>, <a class="el" href="iter__delegpt_8h_source.html#l00076">delegpt::bogus</a>, <a class="el" href="lruhash_8h_source.html#l00222">lruhash_entry::data</a>, <a class="el" href="iter__delegpt_8c_source.html#l00208">delegpt_count_addr()</a>, <a class="el" href="iter__delegpt_8c_source.html#l00195">delegpt_count_ns()</a>, <a class="el" href="dname_8c_source.html#l00605">dname_is_root()</a>, <a class="el" href="dname_8c_source.html#l00615">dname_remove_label()</a>, <a class="el" href="dname_8c_source.html#l00526">dname_str()</a>, <a class="el" href="dns_8c_source.html#l00347">dns_cache_find_delegation()</a>, <a class="el" href="cachedump_8c_source.html#l00116">dump_rrset()</a>, <a class="el" href="packed__rrset_8h_source.html#l00094">ub_packed_rrset_key::entry</a>, <a class="el" href="worker_8h_source.html#l00120">worker::env</a>, <a class="el" href="iter__utils_8c_source.html#l00439">iter_dp_is_useless()</a>, <a class="el" href="iter__delegpt_8h_source.html#l00059">delegpt::name</a>, <a class="el" href="iter__delegpt_8h_source.html#l00061">delegpt::namelen</a>, <a class="el" href="module_8h_source.html#l00198">module_env::now</a>, <a class="el" href="msgreply_8h_source.html#l00070">query_info::qclass</a>, <a class="el" href="msgreply_8h_source.html#l00064">query_info::qname</a>, <a class="el" href="msgreply_8h_source.html#l00066">query_info::qname_len</a>, <a class="el" href="msgreply_8h_source.html#l00068">query_info::qtype</a>, <a class="el" href="regional_8c_source.html#l00090">regional_free_all()</a>, <a class="el" href="dns_8h_source.html#l00059">dns_msg::rep</a>, <a class="el" href="msgreply_8h_source.html#l00141">reply_info::rrset_count</a>, <a class="el" href="msgreply_8h_source.html#l00150">reply_info::rrsets</a>, <a class="el" href="worker_8h_source.html#l00117">worker::scratchpad</a>, <a class="el" href="packed__rrset_8h_source.html#l00162">sec_status_bogus</a>, <a class="el" href="packed__rrset_8h_source.html#l00217">packed_rrset_data::security</a>, and <a class="el" href="remote_8c_source.html#l00504">ssl_printf()</a>.</p> <p>Referenced by <a class="el" href="remote_8c_source.html#l01035">do_lookup()</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>