Sophie

Sophie

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

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/config_file.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>config_file.h File Reference</h1>This file contains functions for the config file.  
<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="structconfig__file.html">config_file</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The configuration options.  <a href="structconfig__file.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structconfig__stub.html">config_stub</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stub config options.  <a href="structconfig__stub.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structconfig__strlist.html">config_strlist</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of strings for config options.  <a href="structconfig__strlist.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structconfig__str2list.html">config_str2list</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of two strings for config options.  <a href="structconfig__str2list.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structconfig__parser__state.html">config_parser_state</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used during options parsing.  <a href="structconfig__parser__state.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="structconfig__file.html">config_file</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#51320ffe0a30d47b0c2da309a11d9100">config_create</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create config file structure.  <a href="#51320ffe0a30d47b0c2da309a11d9100"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structconfig__file.html">config_file</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#83b1b984bbdb922f267f7a326477ac2a">config_create_forlib</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create config file structure for library use.  <a href="#83b1b984bbdb922f267f7a326477ac2a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#cb25f8130413ae409ca07c023071b712">config_read</a> (struct <a class="el" href="structconfig__file.html">config_file</a> *config, const char *filename, const char *chroot)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read the config file from the specified filename.  <a href="#cb25f8130413ae409ca07c023071b712"></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="config__file_8h.html#39a622a89c8ab2d717733563a7b01c2f">config_delete</a> (struct <a class="el" href="structconfig__file.html">config_file</a> *config)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy the config file structure.  <a href="#39a622a89c8ab2d717733563a7b01c2f"></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="config__file_8h.html#17d0465f6cec460ffb0f3bf9ab2739d0">config_apply</a> (struct <a class="el" href="structconfig__file.html">config_file</a> *config)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apply config to global constants; this routine is called in single thread.  <a href="#17d0465f6cec460ffb0f3bf9ab2739d0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#beac9fc81063648b4f594c6c54402fec">config_set_option</a> (struct <a class="el" href="structconfig__file.html">config_file</a> *config, const char *option, const char *value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the given keyword to the given value.  <a href="#beac9fc81063648b4f594c6c54402fec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#9b670346f13d215ff27d46ea3d414a6c">cfg_strlist_insert</a> (struct <a class="el" href="structconfig__strlist.html">config_strlist</a> **head, char *item)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert string into strlist.  <a href="#9b670346f13d215ff27d46ea3d414a6c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#f4a8c23a2d13e9613ee87f2254e259bb">cfg_str2list_insert</a> (struct <a class="el" href="structconfig__str2list.html">config_str2list</a> **head, char *item, char *i2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert string into str2list.  <a href="#f4a8c23a2d13e9613ee87f2254e259bb"></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="config__file_8h.html#dc96fef90bb423074324e68c87570e35">config_delstrlist</a> (struct <a class="el" href="structconfig__strlist.html">config_strlist</a> *list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete items in config string list.  <a href="#dc96fef90bb423074324e68c87570e35"></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="config__file_8h.html#968931b5013633e4820ee0e9d4e11cc6">config_deldblstrlist</a> (struct <a class="el" href="structconfig__str2list.html">config_str2list</a> *list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete items in config double string list.  <a href="#968931b5013633e4820ee0e9d4e11cc6"></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="config__file_8h.html#68889cd246672a32cebd64729fc55d96">config_delstubs</a> (struct <a class="el" href="structconfig__stub.html">config_stub</a> *list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete items in config stub list.  <a href="#68889cd246672a32cebd64729fc55d96"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#7fe1b8f460c8870701af0f313aaa3dfd">cfg_convert_timeval</a> (const char *str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert 14digit to time value.  <a href="#7fe1b8f460c8870701af0f313aaa3dfd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#d0aef5834536711fac60629850b7c412">cfg_count_numbers</a> (const char *str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count number of values in the string.  <a href="#d0aef5834536711fac60629850b7c412"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#83be70a56f7685a9f33c103f4547ae22">cfg_parse_memsize</a> (const char *str, size_t *res)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a 'nice' memory or file size into a bytecount From '100k' to 102400.  <a href="#83be70a56f7685a9f33c103f4547ae22"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#d8be6f504babaab48ccf5da93f1885cb">cfg_parse_local_zone</a> (struct <a class="el" href="structconfig__file.html">config_file</a> *cfg, const char *val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse local-zone directive into two strings and register it in the config.  <a href="#d8be6f504babaab48ccf5da93f1885cb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#afd19074c795e9da876bc5418f0ca3d6">cfg_mark_ports</a> (const char *str, int allow, int *avail, int num)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark "number" or "low-high" as available or not in ports array.  <a href="#afd19074c795e9da876bc5418f0ca3d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#d0466e8598fc150e8a496c367aaf27aa">cfg_condense_ports</a> (struct <a class="el" href="structconfig__file.html">config_file</a> *cfg, int **avail)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a condensed list of ports returned.  <a href="#d0466e8598fc150e8a496c367aaf27aa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#df8d3823f8c86596701b58a6881e8c80">cfg_scan_ports</a> (int *avail, int num)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scan ports available.  <a href="#df8d3823f8c86596701b58a6881e8c80"></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="config__file_8h.html#eaa04b9e7d29a517bab12b81a2d8c7ad">fname_after_chroot</a> (const char *fname, struct <a class="el" href="structconfig__file.html">config_file</a> *cfg, int use_chdir)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a filename to full pathname in original filesys.  <a href="#eaa04b9e7d29a517bab12b81a2d8c7ad"></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="config__file_8h.html#b2b1db2e0d9d532621b7199c0dfce1eb">cfg_ptr_reverse</a> (char *str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a ptr shorthand into a full reverse-notation PTR record.  <a href="#b2b1db2e0d9d532621b7199c0dfce1eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d224fa54e15c7cec4806f71ecd562d5c"></a><!-- doxytag: member="config_file.h::ub_c_error" ref="d224fa54e15c7cec4806f71ecd562d5c" args="(const char *msg)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#d224fa54e15c7cec4806f71ecd562d5c">ub_c_error</a> (const char *msg)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parsing helpers: print error with file and line numbers <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="88623d84da28ed765a6dead57bab0ec9"></a><!-- doxytag: member="config_file.h::ub_c_error_msg" ref="88623d84da28ed765a6dead57bab0ec9" args="(const char *fmt,...) ATTR_FORMAT(printf" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#88623d84da28ed765a6dead57bab0ec9">ub_c_error_msg</a> (const char *fmt,...) ATTR_FORMAT(printf</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parsing helpers: print error with file and line numbers <br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9968b99294c8bc8db0308f2917d2d83a"></a><!-- doxytag: member="config_file.h::cfg_parser" ref="9968b99294c8bc8db0308f2917d2d83a" args="" -->
struct <a class="el" href="structconfig__parser__state.html">config_parser_state</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__file_8h.html#9968b99294c8bc8db0308f2917d2d83a">cfg_parser</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">global config parser object used during config parsing <br></td></tr>
</table>
<hr><h2>Detailed Description</h2>
This file contains functions for the config file. 
<p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="51320ffe0a30d47b0c2da309a11d9100"></a><!-- doxytag: member="config_file.h::config_create" ref="51320ffe0a30d47b0c2da309a11d9100" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structconfig__file.html">config_file</a>* config_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 config file structure. 
<p>
Filled with default values. <dl class="return" compact><dt><b>Returns:</b></dt><dd>: the new structure or NULL on memory error. </dd></dl>

<p>References <a class="el" href="config__file_8h_source.html#l00138">config_file::acls</a>, <a class="el" href="config__file_8h_source.html#l00213">config_file::bogus_ttl</a>, <a class="el" href="config__file_8h_source.html#l00162">config_file::chrootdir</a>, <a class="el" href="config__file_8c_source.html#l00511">config_delete()</a>, <a class="el" href="config__file_8h_source.html#l00250">config_file::control_cert_file</a>, <a class="el" href="config__file_8h_source.html#l00240">config_file::control_ifs</a>, <a class="el" href="config__file_8h_source.html#l00248">config_file::control_key_file</a>, <a class="el" href="config__file_8h_source.html#l00242">config_file::control_port</a>, <a class="el" href="config__file_8h_source.html#l00166">config_file::directory</a>, <a class="el" href="config__file_8h_source.html#l00196">config_file::dlv_anchor_file</a>, <a class="el" href="config__file_8h_source.html#l00198">config_file::dlv_anchor_list</a>, <a class="el" href="config__file_8h_source.html#l00256">config_file::do_daemonize</a>, <a class="el" href="config__file_8h_source.html#l00069">config_file::do_ip4</a>, <a class="el" href="config__file_8h_source.html#l00071">config_file::do_ip6</a>, <a class="el" href="config__file_8h_source.html#l00075">config_file::do_tcp</a>, <a class="el" href="config__file_8h_source.html#l00073">config_file::do_udp</a>, <a class="el" href="config__file_8h_source.html#l00200">config_file::domain_insecure</a>, <a class="el" href="config__file_8h_source.html#l00140">config_file::donotquery_localhost</a>, <a class="el" href="config__file_8h_source.html#l00136">config_file::donotqueryaddrs</a>, <a class="el" href="harvest_8c_source.html#l00171">error_exit()</a>, <a class="el" href="config__file_8h_source.html#l00134">config_file::forwards</a>, <a class="el" href="config__file_8h_source.html#l00149">config_file::harden_dnssec_stripped</a>, <a class="el" href="config__file_8h_source.html#l00147">config_file::harden_glue</a>, <a class="el" href="config__file_8h_source.html#l00145">config_file::harden_large_queries</a>, <a class="el" href="config__file_8h_source.html#l00151">config_file::harden_referral_path</a>, <a class="el" href="config__file_8h_source.html#l00143">config_file::harden_short_bufsize</a>, <a class="el" href="config__file_8h_source.html#l00178">config_file::hide_identity</a>, <a class="el" href="config__file_8h_source.html#l00180">config_file::hide_version</a>, <a class="el" href="config__file_8h_source.html#l00101">config_file::host_ttl</a>, <a class="el" href="config__file_8h_source.html#l00182">config_file::identity</a>, <a class="el" href="config__file_8h_source.html#l00116">config_file::if_automatic</a>, <a class="el" href="config__file_8h_source.html#l00121">config_file::ifs</a>, <a class="el" href="config__file_8h_source.html#l00082">config_file::incoming_num_tcp</a>, <a class="el" href="config__file_8h_source.html#l00109">config_file::infra_cache_lame_size</a>, <a class="el" href="config__file_8h_source.html#l00107">config_file::infra_cache_numhosts</a>, <a class="el" href="config__file_8h_source.html#l00105">config_file::infra_cache_slabs</a>, <a class="el" href="config__file_8c_source.html#l00562">init_outgoing_availports()</a>, <a class="el" href="config__file_8h_source.html#l00095">config_file::jostle_time</a>, <a class="el" href="config__file_8h_source.html#l00224">config_file::key_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00226">config_file::key_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00103">config_file::lame_ttl</a>, <a class="el" href="config__file_8h_source.html#l00235">config_file::local_data</a>, <a class="el" href="config__file_8h_source.html#l00231">config_file::local_zones</a>, <a class="el" href="config__file_8h_source.html#l00233">config_file::local_zones_nodefault</a>, <a class="el" href="config__file_8h_source.html#l00175">config_file::log_time_ascii</a>, <a class="el" href="config__file_8h_source.html#l00168">config_file::logfile</a>, <a class="el" href="config__file_8h_source.html#l00203">config_file::max_ttl</a>, <a class="el" href="config__file_8h_source.html#l00205">config_file::min_ttl</a>, <a class="el" href="config__file_8h_source.html#l00187">config_file::module_conf</a>, <a class="el" href="config__file_8h_source.html#l00087">config_file::msg_buffer_size</a>, <a class="el" href="config__file_8h_source.html#l00089">config_file::msg_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00091">config_file::msg_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00228">config_file::neg_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00119">config_file::num_ifs</a>, <a class="el" href="config__file_8h_source.html#l00125">config_file::num_out_ifs</a>, <a class="el" href="config__file_8h_source.html#l00093">config_file::num_queries_per_thread</a>, <a class="el" href="config__file_8h_source.html#l00064">config_file::num_threads</a>, <a class="el" href="config__file_8h_source.html#l00127">config_file::out_ifs</a>, <a class="el" href="config__file_8h_source.html#l00084">config_file::outgoing_avail_ports</a>, <a class="el" href="config__file_8h_source.html#l00078">config_file::outgoing_num_ports</a>, <a class="el" href="config__file_8h_source.html#l00080">config_file::outgoing_num_tcp</a>, <a class="el" href="config__file_8h_source.html#l00170">config_file::pidfile</a>, <a class="el" href="config__file_8h_source.html#l00067">config_file::port</a>, <a class="el" href="config__file_8h_source.html#l00155">config_file::private_address</a>, <a class="el" href="config__file_8h_source.html#l00157">config_file::private_domain</a>, <a class="el" href="config__file_8h_source.html#l00253">config_file::python_script</a>, <a class="el" href="config__file_8h_source.html#l00238">config_file::remote_control_enable</a>, <a class="el" href="config__file_8h_source.html#l00130">config_file::root_hints</a>, <a class="el" href="config__file_8h_source.html#l00097">config_file::rrset_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00099">config_file::rrset_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00246">config_file::server_cert_file</a>, <a class="el" href="config__file_8h_source.html#l00244">config_file::server_key_file</a>, <a class="el" href="config__file_8h_source.html#l00059">config_file::stat_cumulative</a>, <a class="el" href="config__file_8h_source.html#l00061">config_file::stat_extended</a>, <a class="el" href="config__file_8h_source.html#l00057">config_file::stat_interval</a>, <a class="el" href="config__file_8h_source.html#l00132">config_file::stubs</a>, <a class="el" href="config__file_8h_source.html#l00112">config_file::target_fetch_policy</a>, <a class="el" href="config__file_8h_source.html#l00190">config_file::trust_anchor_file_list</a>, <a class="el" href="config__file_8h_source.html#l00192">config_file::trust_anchor_list</a>, <a class="el" href="config__file_8h_source.html#l00194">config_file::trusted_keys_file_list</a>, <a class="el" href="config__file_8h_source.html#l00159">config_file::unwanted_threshold</a>, <a class="el" href="config__file_8h_source.html#l00153">config_file::use_caps_bits_for_id</a>, <a class="el" href="config__file_8h_source.html#l00173">config_file::use_syslog</a>, <a class="el" href="config__file_8h_source.html#l00164">config_file::username</a>, <a class="el" href="config__file_8h_source.html#l00215">config_file::val_clean_additional</a>, <a class="el" href="config__file_8h_source.html#l00207">config_file::val_date_override</a>, <a class="el" href="config__file_8h_source.html#l00217">config_file::val_log_level</a>, <a class="el" href="config__file_8h_source.html#l00221">config_file::val_nsec3_key_iterations</a>, <a class="el" href="config__file_8h_source.html#l00219">config_file::val_permissive_mode</a>, <a class="el" href="config__file_8h_source.html#l00211">config_file::val_sig_skew_max</a>, <a class="el" href="config__file_8h_source.html#l00209">config_file::val_sig_skew_min</a>, <a class="el" href="config__file_8h_source.html#l00054">config_file::verbosity</a>, and <a class="el" href="config__file_8h_source.html#l00184">config_file::version</a>.</p>

<p>Referenced by <a class="el" href="unbound-checkconf_8c_source.html#l00547">checkconf()</a>, <a class="el" href="config__file_8c_source.html#l00188">config_create_forlib()</a>, <a class="el" href="unbound-control_8c_source.html#l00281">go()</a>, <a class="el" href="unitmain_8c_source.html#l00333">infra_test()</a>, <a class="el" href="unbound_8c_source.html#l00525">run_daemon()</a>, and <a class="el" href="win__svc_8c_source.html#l00243">service_init()</a>.</p>

</div>
</div><p>
<a class="anchor" name="83b1b984bbdb922f267f7a326477ac2a"></a><!-- doxytag: member="config_file.h::config_create_forlib" ref="83b1b984bbdb922f267f7a326477ac2a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structconfig__file.html">config_file</a>* config_create_forlib           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create config file structure for library use. 
<p>
Filled with default values. <dl class="return" compact><dt><b>Returns:</b></dt><dd>: the new structure or NULL on memory error. </dd></dl>

<p>References <a class="el" href="config__file_8h_source.html#l00162">config_file::chrootdir</a>, <a class="el" href="config__file_8c_source.html#l00069">config_create()</a>, <a class="el" href="config__file_8h_source.html#l00140">config_file::donotquery_localhost</a>, <a class="el" href="config__file_8h_source.html#l00105">config_file::infra_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00224">config_file::key_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00226">config_file::key_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00089">config_file::msg_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00091">config_file::msg_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00228">config_file::neg_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00078">config_file::outgoing_num_ports</a>, <a class="el" href="config__file_8h_source.html#l00080">config_file::outgoing_num_tcp</a>, <a class="el" href="config__file_8h_source.html#l00097">config_file::rrset_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00099">config_file::rrset_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00173">config_file::use_syslog</a>, and <a class="el" href="config__file_8h_source.html#l00054">config_file::verbosity</a>.</p>

<p>Referenced by <a class="el" href="libunbound_8c_source.html#l00064">ub_ctx_create()</a>.</p>

</div>
</div><p>
<a class="anchor" name="cb25f8130413ae409ca07c023071b712"></a><!-- doxytag: member="config_file.h::config_read" ref="cb25f8130413ae409ca07c023071b712" args="(struct config_file *config, const char *filename, const char *chroot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int config_read           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__file.html">config_file</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>chroot</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read the config file from the specified filename. 
<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>config,:</em>&nbsp;</td><td>where options are stored into, must be freshly created. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filename,:</em>&nbsp;</td><td>name of configfile. If NULL nothing is done. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>chroot,:</em>&nbsp;</td><td>if not NULL, the chroot dir currently in use (for include). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: false on error. In that case errno is set, ENOENT means file not found. </dd></dl>

<p>References <a class="el" href="config__file_8c_source.html#l00434">create_cfg_parser()</a>, <a class="el" href="config__file_8h_source.html#l00471">config_parser_state::errors</a>, <a class="el" href="config__file_8h_source.html#l00467">config_parser_state::filename</a>, <a class="el" href="log_8c_source.html#l00241">log_err()</a>, <a class="el" href="config__file_8c.html#ef732f60316074d075ddec8856497725">ub_c_in</a>, and <a class="el" href="config__file_8c.html#22a283cd0a0fdc5e3af42f3aad2c4945">ub_c_parse()</a>.</p>

<p>Referenced by <a class="el" href="unbound-checkconf_8c_source.html#l00547">checkconf()</a>, <a class="el" href="unbound-control_8c_source.html#l00281">go()</a>, <a class="el" href="unbound_8c_source.html#l00525">run_daemon()</a>, <a class="el" href="win__svc_8c_source.html#l00243">service_init()</a>, and <a class="el" href="libunbound_8c_source.html#l00242">ub_ctx_config()</a>.</p>

</div>
</div><p>
<a class="anchor" name="39a622a89c8ab2d717733563a7b01c2f"></a><!-- doxytag: member="config_file.h::config_delete" ref="39a622a89c8ab2d717733563a7b01c2f" args="(struct config_file *config)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void config_delete           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__file.html">config_file</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy the config file 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>config,:</em>&nbsp;</td><td>to delete. </td></tr>
  </table>
</dl>

<p>References <a class="el" href="config__file_8h_source.html#l00138">config_file::acls</a>, <a class="el" href="config__file_8h_source.html#l00162">config_file::chrootdir</a>, <a class="el" href="config__file_8c_source.html#l00484">config_deldblstrlist()</a>, <a class="el" href="config__file_8c_source.html#l00472">config_delstrlist()</a>, <a class="el" href="config__file_8c_source.html#l00497">config_delstubs()</a>, <a class="el" href="config__file_8h_source.html#l00250">config_file::control_cert_file</a>, <a class="el" href="config__file_8h_source.html#l00240">config_file::control_ifs</a>, <a class="el" href="config__file_8h_source.html#l00248">config_file::control_key_file</a>, <a class="el" href="config__file_8h_source.html#l00166">config_file::directory</a>, <a class="el" href="config__file_8h_source.html#l00196">config_file::dlv_anchor_file</a>, <a class="el" href="config__file_8h_source.html#l00198">config_file::dlv_anchor_list</a>, <a class="el" href="config__file_8h_source.html#l00200">config_file::domain_insecure</a>, <a class="el" href="config__file_8h_source.html#l00136">config_file::donotqueryaddrs</a>, <a class="el" href="config__file_8h_source.html#l00134">config_file::forwards</a>, <a class="el" href="config__file_8h_source.html#l00182">config_file::identity</a>, <a class="el" href="config__file_8h_source.html#l00121">config_file::ifs</a>, <a class="el" href="config__file_8h_source.html#l00235">config_file::local_data</a>, <a class="el" href="config__file_8h_source.html#l00231">config_file::local_zones</a>, <a class="el" href="config__file_8h_source.html#l00233">config_file::local_zones_nodefault</a>, <a class="el" href="config__file_8h_source.html#l00168">config_file::logfile</a>, <a class="el" href="config__file_8h_source.html#l00187">config_file::module_conf</a>, <a class="el" href="config__file_8h_source.html#l00119">config_file::num_ifs</a>, <a class="el" href="config__file_8h_source.html#l00125">config_file::num_out_ifs</a>, <a class="el" href="config__file_8h_source.html#l00127">config_file::out_ifs</a>, <a class="el" href="config__file_8h_source.html#l00084">config_file::outgoing_avail_ports</a>, <a class="el" href="config__file_8h_source.html#l00170">config_file::pidfile</a>, <a class="el" href="config__file_8h_source.html#l00155">config_file::private_address</a>, <a class="el" href="config__file_8h_source.html#l00157">config_file::private_domain</a>, <a class="el" href="config__file_8h_source.html#l00130">config_file::root_hints</a>, <a class="el" href="config__file_8h_source.html#l00246">config_file::server_cert_file</a>, <a class="el" href="config__file_8h_source.html#l00244">config_file::server_key_file</a>, <a class="el" href="config__file_8h_source.html#l00132">config_file::stubs</a>, <a class="el" href="config__file_8h_source.html#l00112">config_file::target_fetch_policy</a>, <a class="el" href="config__file_8h_source.html#l00190">config_file::trust_anchor_file_list</a>, <a class="el" href="config__file_8h_source.html#l00192">config_file::trust_anchor_list</a>, <a class="el" href="config__file_8h_source.html#l00194">config_file::trusted_keys_file_list</a>, <a class="el" href="config__file_8h_source.html#l00164">config_file::username</a>, <a class="el" href="config__file_8h_source.html#l00221">config_file::val_nsec3_key_iterations</a>, and <a class="el" href="config__file_8h_source.html#l00184">config_file::version</a>.</p>

<p>Referenced by <a class="el" href="unbound-checkconf_8c_source.html#l00547">checkconf()</a>, <a class="el" href="config__file_8c_source.html#l00069">config_create()</a>, <a class="el" href="unbound-control_8c_source.html#l00281">go()</a>, <a class="el" href="unitmain_8c_source.html#l00333">infra_test()</a>, <a class="el" href="unbound_8c_source.html#l00525">run_daemon()</a>, <a class="el" href="win__svc_8c_source.html#l00316">service_deinit()</a>, <a class="el" href="win__svc_8c_source.html#l00243">service_init()</a>, <a class="el" href="win__svc_8c_source.html#l00331">service_main()</a>, and <a class="el" href="libunbound_8c_source.html#l00153">ub_ctx_delete()</a>.</p>

</div>
</div><p>
<a class="anchor" name="17d0465f6cec460ffb0f3bf9ab2739d0"></a><!-- doxytag: member="config_file.h::config_apply" ref="17d0465f6cec460ffb0f3bf9ab2739d0" args="(struct config_file *config)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void config_apply           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__file.html">config_file</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Apply config to global constants; this routine is called in single thread. 
<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>config,:</em>&nbsp;</td><td>to apply. Side effect: global constants change. </td></tr>
  </table>
</dl>

<p>References <a class="el" href="log_8c_source.html#l00155">log_set_time_asc()</a>, <a class="el" href="config__file_8h_source.html#l00175">config_file::log_time_ascii</a>, <a class="el" href="config__file_8h_source.html#l00203">config_file::max_ttl</a>, <a class="el" href="msgreply_8c_source.html#l00055">MAX_TTL</a>, <a class="el" href="config__file_8h_source.html#l00205">config_file::min_ttl</a>, and <a class="el" href="msgreply_8c_source.html#l00057">MIN_TTL</a>.</p>

<p>Referenced by <a class="el" href="context_8c_source.html#l00054">context_finalize()</a>, and <a class="el" href="daemon_8c_source.html#l00512">daemon_apply_cfg()</a>.</p>

</div>
</div><p>
<a class="anchor" name="beac9fc81063648b4f594c6c54402fec"></a><!-- doxytag: member="config_file.h::config_set_option" ref="beac9fc81063648b4f594c6c54402fec" args="(struct config_file *config, const char *option, const char *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int config_set_option           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__file.html">config_file</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the given keyword to the given value. 
<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>config,:</em>&nbsp;</td><td>where to store config </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>option,:</em>&nbsp;</td><td>option name, including the ':' character. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value,:</em>&nbsp;</td><td>value, this string is copied if needed, or parsed. The caller owns the value string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on error (malloc or syntax error). </dd></dl>

<p>References <a class="el" href="config__file_8h_source.html#l00213">config_file::bogus_ttl</a>, <a class="el" href="config__file_8c_source.html#l00718">cfg_convert_timeval()</a>, <a class="el" href="config__file_8c_source.html#l00586">cfg_mark_ports()</a>, <a class="el" href="config__file_8c_source.html#l00957">cfg_parse_local_zone()</a>, <a class="el" href="config__file_8c_source.html#l00778">cfg_parse_memsize()</a>, <a class="el" href="config__file_8c_source.html#l00687">cfg_strlist_insert()</a>, <a class="el" href="config__file_8h_source.html#l00250">config_file::control_cert_file</a>, <a class="el" href="config__file_8h_source.html#l00240">config_file::control_ifs</a>, <a class="el" href="config__file_8h_source.html#l00248">config_file::control_key_file</a>, <a class="el" href="config__file_8h_source.html#l00242">config_file::control_port</a>, <a class="el" href="config__file_8h_source.html#l00196">config_file::dlv_anchor_file</a>, <a class="el" href="config__file_8h_source.html#l00198">config_file::dlv_anchor_list</a>, <a class="el" href="config__file_8h_source.html#l00069">config_file::do_ip4</a>, <a class="el" href="config__file_8h_source.html#l00071">config_file::do_ip6</a>, <a class="el" href="config__file_8h_source.html#l00075">config_file::do_tcp</a>, <a class="el" href="config__file_8h_source.html#l00073">config_file::do_udp</a>, <a class="el" href="config__file_8h_source.html#l00200">config_file::domain_insecure</a>, <a class="el" href="config__file_8h_source.html#l00140">config_file::donotquery_localhost</a>, <a class="el" href="config__file_8h_source.html#l00136">config_file::donotqueryaddrs</a>, <a class="el" href="config__file_8h_source.html#l00149">config_file::harden_dnssec_stripped</a>, <a class="el" href="config__file_8h_source.html#l00147">config_file::harden_glue</a>, <a class="el" href="config__file_8h_source.html#l00145">config_file::harden_large_queries</a>, <a class="el" href="config__file_8h_source.html#l00151">config_file::harden_referral_path</a>, <a class="el" href="config__file_8h_source.html#l00143">config_file::harden_short_bufsize</a>, <a class="el" href="config__file_8h_source.html#l00101">config_file::host_ttl</a>, <a class="el" href="config__file_8h_source.html#l00082">config_file::incoming_num_tcp</a>, <a class="el" href="config__file_8h_source.html#l00109">config_file::infra_cache_lame_size</a>, <a class="el" href="config__file_8h_source.html#l00107">config_file::infra_cache_numhosts</a>, <a class="el" href="config__file_8h_source.html#l00105">config_file::infra_cache_slabs</a>, <a class="el" href="config__file_8c_source.html#l00217">IS_NONZERO_NUMBER</a>, <a class="el" href="config__file_8c_source.html#l00214">IS_NUMBER_OR_ZERO</a>, <a class="el" href="config__file_8c_source.html#l00220">IS_POW2_NUMBER</a>, <a class="el" href="config__file_8c_source.html#l00223">IS_YES_OR_NO</a>, <a class="el" href="config__file_8h_source.html#l00095">config_file::jostle_time</a>, <a class="el" href="config__file_8h_source.html#l00224">config_file::key_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00226">config_file::key_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00103">config_file::lame_ttl</a>, <a class="el" href="config__file_8h_source.html#l00235">config_file::local_data</a>, <a class="el" href="config__file_8h_source.html#l00168">config_file::logfile</a>, <a class="el" href="config__file_8h_source.html#l00203">config_file::max_ttl</a>, <a class="el" href="config__file_8h_source.html#l00187">config_file::module_conf</a>, <a class="el" href="config__file_8h_source.html#l00087">config_file::msg_buffer_size</a>, <a class="el" href="config__file_8h_source.html#l00089">config_file::msg_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00091">config_file::msg_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00228">config_file::neg_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00093">config_file::num_queries_per_thread</a>, <a class="el" href="config__file_8h_source.html#l00084">config_file::outgoing_avail_ports</a>, <a class="el" href="config__file_8h_source.html#l00078">config_file::outgoing_num_ports</a>, <a class="el" href="config__file_8h_source.html#l00080">config_file::outgoing_num_tcp</a>, <a class="el" href="config__file_8h_source.html#l00155">config_file::private_address</a>, <a class="el" href="config__file_8h_source.html#l00157">config_file::private_domain</a>, <a class="el" href="config__file_8h_source.html#l00253">config_file::python_script</a>, <a class="el" href="config__file_8h_source.html#l00238">config_file::remote_control_enable</a>, <a class="el" href="config__file_8h_source.html#l00130">config_file::root_hints</a>, <a class="el" href="config__file_8h_source.html#l00097">config_file::rrset_cache_size</a>, <a class="el" href="config__file_8h_source.html#l00099">config_file::rrset_cache_slabs</a>, <a class="el" href="config__file_8h_source.html#l00246">config_file::server_cert_file</a>, <a class="el" href="config__file_8h_source.html#l00244">config_file::server_key_file</a>, <a class="el" href="config__file_8h_source.html#l00061">config_file::stat_extended</a>, <a class="el" href="config__file_8h_source.html#l00057">config_file::stat_interval</a>, <a class="el" href="config__file_8h_source.html#l00112">config_file::target_fetch_policy</a>, <a class="el" href="config__file_8h_source.html#l00190">config_file::trust_anchor_file_list</a>, <a class="el" href="config__file_8h_source.html#l00192">config_file::trust_anchor_list</a>, <a class="el" href="config__file_8h_source.html#l00194">config_file::trusted_keys_file_list</a>, <a class="el" href="config__file_8h_source.html#l00159">config_file::unwanted_threshold</a>, <a class="el" href="config__file_8h_source.html#l00173">config_file::use_syslog</a>, <a class="el" href="config__file_8h_source.html#l00215">config_file::val_clean_additional</a>, <a class="el" href="config__file_8h_source.html#l00207">config_file::val_date_override</a>, <a class="el" href="config__file_8h_source.html#l00217">config_file::val_log_level</a>, <a class="el" href="config__file_8h_source.html#l00221">config_file::val_nsec3_key_iterations</a>, <a class="el" href="config__file_8h_source.html#l00219">config_file::val_permissive_mode</a>, and <a class="el" href="config__file_8h_source.html#l00054">config_file::verbosity</a>.</p>

<p>Referenced by <a class="el" href="libunbound_8c_source.html#l00226">ub_ctx_set_option()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9b670346f13d215ff27d46ea3d414a6c"></a><!-- doxytag: member="config_file.h::cfg_strlist_insert" ref="9b670346f13d215ff27d46ea3d414a6c" args="(struct config_strlist **head, char *item)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cfg_strlist_insert           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__strlist.html">config_strlist</a> **&nbsp;</td>
          <td class="paramname"> <em>head</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>item</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert string into strlist. 
<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>head,:</em>&nbsp;</td><td>pointer to strlist head variable. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>item,:</em>&nbsp;</td><td>new item. malloced by caller. If NULL the insertion fails. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: true on success. </dd></dl>

<p>References <a class="el" href="config__file_8h_source.html#l00280">config_strlist::next</a>, and <a class="el" href="config__file_8h_source.html#l00282">config_strlist::str</a>.</p>

<p>Referenced by <a class="el" href="config__file_8c_source.html#l00957">cfg_parse_local_zone()</a>, <a class="el" href="config__file_8c_source.html#l00226">config_set_option()</a>, <a class="el" href="libunbound_8c_source.html#l00258">ub_ctx_add_ta()</a>, <a class="el" href="libunbound_8c_source.html#l00277">ub_ctx_add_ta_file()</a>, <a class="el" href="libunbound_8c_source.html#l00831">ub_ctx_hosts()</a>, <a class="el" href="libunbound_8c_source.html#l00712">ub_ctx_set_fwd()</a>, and <a class="el" href="libunbound_8c_source.html#l00296">ub_ctx_trustedkeys()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f4a8c23a2d13e9613ee87f2254e259bb"></a><!-- doxytag: member="config_file.h::cfg_str2list_insert" ref="f4a8c23a2d13e9613ee87f2254e259bb" args="(struct config_str2list **head, char *item, char *i2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cfg_str2list_insert           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__str2list.html">config_str2list</a> **&nbsp;</td>
          <td class="paramname"> <em>head</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>i2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert string into str2list. 
<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>head,:</em>&nbsp;</td><td>pointer to str2list head variable. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>item,:</em>&nbsp;</td><td>new item. malloced by caller. If NULL the insertion fails. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>i2,:</em>&nbsp;</td><td>2nd string, malloced by caller. If NULL the insertion fails. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: true on success. </dd></dl>

<p>References <a class="el" href="config__file_8h_source.html#l00290">config_str2list::next</a>, <a class="el" href="config__file_8h_source.html#l00292">config_str2list::str</a>, and <a class="el" href="config__file_8h_source.html#l00294">config_str2list::str2</a>.</p>

<p>Referenced by <a class="el" href="config__file_8c_source.html#l00957">cfg_parse_local_zone()</a>.</p>

</div>
</div><p>
<a class="anchor" name="dc96fef90bb423074324e68c87570e35"></a><!-- doxytag: member="config_file.h::config_delstrlist" ref="dc96fef90bb423074324e68c87570e35" args="(struct config_strlist *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void config_delstrlist           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__strlist.html">config_strlist</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delete items in config string list. 
<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>list,:</em>&nbsp;</td><td>list. </td></tr>
  </table>
</dl>

<p>References <a class="el" href="config__file_8h_source.html#l00280">config_strlist::next</a>, and <a class="el" href="config__file_8h_source.html#l00282">config_strlist::str</a>.</p>

<p>Referenced by <a class="el" href="config__file_8c_source.html#l00511">config_delete()</a>, <a class="el" href="config__file_8c_source.html#l00497">config_delstubs()</a>, and <a class="el" href="localzone_8c_source.html#l00835">lz_freeup_cfg()</a>.</p>

</div>
</div><p>
<a class="anchor" name="968931b5013633e4820ee0e9d4e11cc6"></a><!-- doxytag: member="config_file.h::config_deldblstrlist" ref="968931b5013633e4820ee0e9d4e11cc6" args="(struct config_str2list *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void config_deldblstrlist           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__str2list.html">config_str2list</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delete items in config double string list. 
<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>list,:</em>&nbsp;</td><td>list. </td></tr>
  </table>
</dl>

<p>References <a class="el" href="config__file_8h_source.html#l00290">config_str2list::next</a>, <a class="el" href="config__file_8h_source.html#l00292">config_str2list::str</a>, and <a class="el" href="config__file_8h_source.html#l00294">config_str2list::str2</a>.</p>

<p>Referenced by <a class="el" href="config__file_8c_source.html#l00511">config_delete()</a>, and <a class="el" href="localzone_8c_source.html#l00835">lz_freeup_cfg()</a>.</p>

</div>
</div><p>
<a class="anchor" name="68889cd246672a32cebd64729fc55d96"></a><!-- doxytag: member="config_file.h::config_delstubs" ref="68889cd246672a32cebd64729fc55d96" args="(struct config_stub *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void config_delstubs           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__stub.html">config_stub</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delete items in config stub list. 
<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>list,:</em>&nbsp;</td><td>list. </td></tr>
  </table>
</dl>

<p>References <a class="el" href="config__file_8h_source.html#l00270">config_stub::addrs</a>, <a class="el" href="config__file_8c_source.html#l00472">config_delstrlist()</a>, <a class="el" href="config__file_8h_source.html#l00268">config_stub::hosts</a>, <a class="el" href="config__file_8h_source.html#l00266">config_stub::name</a>, and <a class="el" href="config__file_8h_source.html#l00264">config_stub::next</a>.</p>

<p>Referenced by <a class="el" href="config__file_8c_source.html#l00511">config_delete()</a>, and <a class="el" href="libunbound_8c_source.html#l00712">ub_ctx_set_fwd()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7fe1b8f460c8870701af0f313aaa3dfd"></a><!-- doxytag: member="config_file.h::cfg_convert_timeval" ref="7fe1b8f460c8870701af0f313aaa3dfd" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t cfg_convert_timeval           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert 14digit to time value. 
<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>str,:</em>&nbsp;</td><td>string of 14 digits </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>time value or 0 for error. </dd></dl>

<p>Referenced by <a class="el" href="config__file_8c_source.html#l00226">config_set_option()</a>, <a class="el" href="signit_8c_source.html#l00078">parse_cmdline()</a>, and <a class="el" href="unitverify_8c_source.html#l00257">verifytest_file()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d0aef5834536711fac60629850b7c412"></a><!-- doxytag: member="config_file.h::cfg_count_numbers" ref="d0aef5834536711fac60629850b7c412" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cfg_count_numbers           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Count number of values in the string. 
<p>
format ::= (sp num)+ sp num ::= [-](0-9)+ sp ::= (space|tab)*<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>str,:</em>&nbsp;</td><td>string </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: 0 on parse error, or empty string, else number of integer values in the string. </dd></dl>

<p>Referenced by <a class="el" href="iter__utils_8c_source.html#l00080">read_fetch_policy()</a>, and <a class="el" href="validator_8c_source.html#l00101">val_apply_cfg()</a>.</p>

</div>
</div><p>
<a class="anchor" name="83be70a56f7685a9f33c103f4547ae22"></a><!-- doxytag: member="config_file.h::cfg_parse_memsize" ref="83be70a56f7685a9f33c103f4547ae22" args="(const char *str, size_t *res)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cfg_parse_memsize           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&nbsp;</td>
          <td class="paramname"> <em>res</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a 'nice' memory or file size into a bytecount From '100k' to 102400. 
<p>
and so on. Understands kKmMgG. k=1024, m=1024*1024, g=1024*1024*1024. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str,:</em>&nbsp;</td><td>string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>res,:</em>&nbsp;</td><td>result is stored here, size in bytes. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: true if parsed correctly, or 0 on a parse error (and an error is logged). </dd></dl>

<p>References <a class="el" href="config__file_8c_source.html#l00768">isalldigit()</a>, and <a class="el" href="log_8c_source.html#l00241">log_err()</a>.</p>

<p>Referenced by <a class="el" href="unitmain_8c_source.html#l00269">config_memsize_test()</a>, <a class="el" href="config__file_8c_source.html#l00226">config_set_option()</a>, and <a class="el" href="delayer_8c_source.html#l01119">main()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d8be6f504babaab48ccf5da93f1885cb"></a><!-- doxytag: member="config_file.h::cfg_parse_local_zone" ref="d8be6f504babaab48ccf5da93f1885cb" args="(struct config_file *cfg, const char *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cfg_parse_local_zone           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__file.html">config_file</a> *&nbsp;</td>
          <td class="paramname"> <em>cfg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse local-zone directive into two strings and register it in the 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>cfg,:</em>&nbsp;</td><td>to put it in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val,:</em>&nbsp;</td><td>argument strings to local-zone, "example.com nodefault". </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: false on failure </dd></dl>

<p>References <a class="el" href="config__file_8c_source.html#l00702">cfg_str2list_insert()</a>, <a class="el" href="config__file_8c_source.html#l00687">cfg_strlist_insert()</a>, <a class="el" href="config__file_8c_source.html#l00945">last_space_pos()</a>, <a class="el" href="config__file_8h_source.html#l00231">config_file::local_zones</a>, <a class="el" href="config__file_8h_source.html#l00233">config_file::local_zones_nodefault</a>, <a class="el" href="log_8c_source.html#l00241">log_err()</a>, and <a class="el" href="config__file_8c_source.html#l00933">next_space_pos()</a>.</p>

<p>Referenced by <a class="el" href="config__file_8c_source.html#l00226">config_set_option()</a>.</p>

</div>
</div><p>
<a class="anchor" name="afd19074c795e9da876bc5418f0ca3d6"></a><!-- doxytag: member="config_file.h::cfg_mark_ports" ref="afd19074c795e9da876bc5418f0ca3d6" args="(const char *str, int allow, int *avail, int num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cfg_mark_ports           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>allow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>avail</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Mark "number" or "low-high" as available or not in ports array. 
<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>str,:</em>&nbsp;</td><td>string in input </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>allow,:</em>&nbsp;</td><td>give true if this range is permitted. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>avail,:</em>&nbsp;</td><td>the array from cfg. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>num,:</em>&nbsp;</td><td>size of the array (65536). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: true if parsed correctly, or 0 on a parse error (and an error is logged). </dd></dl>

<p>References <a class="el" href="log_8c_source.html#l00241">log_err()</a>.</p>

<p>Referenced by <a class="el" href="config__file_8c_source.html#l00226">config_set_option()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d0466e8598fc150e8a496c367aaf27aa"></a><!-- doxytag: member="config_file.h::cfg_condense_ports" ref="d0466e8598fc150e8a496c367aaf27aa" args="(struct config_file *cfg, int **avail)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cfg_condense_ports           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structconfig__file.html">config_file</a> *&nbsp;</td>
          <td class="paramname"> <em>cfg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int **&nbsp;</td>
          <td class="paramname"> <em>avail</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a condensed list of ports returned. 
<p>
allocated. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cfg,:</em>&nbsp;</td><td>config file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>avail,:</em>&nbsp;</td><td>the available ports array is returned here. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: number of ports in array or 0 on error. </dd></dl>

<p>References <a class="el" href="config__file_8c_source.html#l00626">cfg_scan_ports()</a>, <a class="el" href="log_8h_source.html#l00185">log_assert</a>, and <a class="el" href="config__file_8h_source.html#l00084">config_file::outgoing_avail_ports</a>.</p>

<p>Referenced by <a class="el" href="libworker_8c_source.html#l00092">libworker_setup()</a>.</p>

</div>
</div><p>
<a class="anchor" name="df8d3823f8c86596701b58a6881e8c80"></a><!-- doxytag: member="config_file.h::cfg_scan_ports" ref="df8d3823f8c86596701b58a6881e8c80" args="(int *avail, int num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cfg_scan_ports           </td>
          <td>(</td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>avail</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Scan ports available. 
<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>avail,:</em>&nbsp;</td><td>the array from cfg. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>num,:</em>&nbsp;</td><td>size of the array (65536). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of ports available for use. </dd></dl>

<p>Referenced by <a class="el" href="config__file_8c_source.html#l00637">cfg_condense_ports()</a>.</p>

</div>
</div><p>
<a class="anchor" name="eaa04b9e7d29a517bab12b81a2d8c7ad"></a><!-- doxytag: member="config_file.h::fname_after_chroot" ref="eaa04b9e7d29a517bab12b81a2d8c7ad" args="(const char *fname, struct config_file *cfg, int use_chdir)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* fname_after_chroot           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structconfig__file.html">config_file</a> *&nbsp;</td>
          <td class="paramname"> <em>cfg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>use_chdir</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a filename to full pathname in original filesys. 
<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>fname,:</em>&nbsp;</td><td>the path name to convert. Must not be null or empty. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cfg,:</em>&nbsp;</td><td>config struct for chroot and chdir (if set). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>use_chdir,:</em>&nbsp;</td><td>if false, only chroot is applied. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to malloced buffer which is: [chroot][chdir]fname or NULL on malloc failure. </dd></dl>

<p>References <a class="el" href="config__file_8h_source.html#l00162">config_file::chrootdir</a>, <a class="el" href="config__file_8h_source.html#l00166">config_file::directory</a>, and <a class="el" href="config__file_8c_source.html#l00839">strlen_after_chroot()</a>.</p>

<p>Referenced by <a class="el" href="unbound-checkconf_8c_source.html#l00404">check_chroot_filelist_wild()</a>, <a class="el" href="unbound-checkconf_8c_source.html#l00371">check_chroot_string()</a>, <a class="el" href="remote_8c_source.html#l00139">daemon_remote_create()</a>, <a class="el" href="unbound-checkconf_8c_source.html#l00425">morechecks()</a>, <a class="el" href="unbound_8c_source.html#l00338">perform_setup()</a>, and <a class="el" href="unbound-control_8c_source.html#l00105">setup_ctx()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b2b1db2e0d9d532621b7199c0dfce1eb"></a><!-- doxytag: member="config_file.h::cfg_ptr_reverse" ref="b2b1db2e0d9d532621b7199c0dfce1eb" args="(char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* cfg_ptr_reverse           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a ptr shorthand into a full reverse-notation PTR record. 
<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>str,:</em>&nbsp;</td><td>input string, "IP name" </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>: malloced string "reversed-ip-name PTR name" </dd></dl>

<p>References <a class="el" href="net__help_8c_source.html#l00401">addr_is_ip6()</a>, <a class="el" href="net__help_8c_source.html#l00203">ipstrtoaddr()</a>, <a class="el" href="config__file_8c_source.html#l00945">last_space_pos()</a>, <a class="el" href="log_8c_source.html#l00241">log_err()</a>, and <a class="el" href="config__file_8c_source.html#l00933">next_space_pos()</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>