Sophie

Sophie

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

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: outside_network Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>outside_network Struct Reference</h1><!-- doxytag: class="outside_network" -->Send queries to outside servers and wait for answers from servers.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;outside_network.h&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a66ed01afc0d67f6cd379baf48c02639"></a><!-- doxytag: member="outside_network::base" ref="a66ed01afc0d67f6cd379baf48c02639" args="" -->
struct <a class="el" href="structcomm__base.html">comm_base</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#a66ed01afc0d67f6cd379baf48c02639">base</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base for select calls. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7af61ac4ee1cf5c66da60ec78273e716"></a><!-- doxytag: member="outside_network::now_secs" ref="7af61ac4ee1cf5c66da60ec78273e716" args="" -->
uint32_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#7af61ac4ee1cf5c66da60ec78273e716">now_secs</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to time in seconds <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20ec79f4b53c5c6bf2a541e9ce4fc0ca"></a><!-- doxytag: member="outside_network::now_tv" ref="20ec79f4b53c5c6bf2a541e9ce4fc0ca" args="" -->
struct timeval *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#20ec79f4b53c5c6bf2a541e9ce4fc0ca">now_tv</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to time in microseconds <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ldns_buffer *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#3cb6a74d871f0ad50b59fdc299f65aea">udp_buff</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">buffer shared by UDP connections, since there is only one datagram at any time.  <a href="#3cb6a74d871f0ad50b59fdc299f65aea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#f76020f37e8ee0b7d1f97d23daa396e4">svcd_overhead</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serviced_callbacks malloc overhead when processing multiple identical serviced queries to the same server.  <a href="#f76020f37e8ee0b7d1f97d23daa396e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2eec329babba1f5f8fbafc10cee43e29"></a><!-- doxytag: member="outside_network::use_caps_for_id" ref="2eec329babba1f5f8fbafc10cee43e29" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#2eec329babba1f5f8fbafc10cee43e29">use_caps_for_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">use x20 bits to encode additional ID random bits <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#c034bd8efec9883815df7e805cf5c2ba">want_to_quit</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">outside network wants to quit.  <a href="#c034bd8efec9883815df7e805cf5c2ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d76710c4a1d3b614613aa1f57359d01"></a><!-- doxytag: member="outside_network::unwanted_replies" ref="2d76710c4a1d3b614613aa1f57359d01" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#2d76710c4a1d3b614613aa1f57359d01">unwanted_replies</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of unwanted replies received (for statistics) <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fc354a9b6252ebb37f3e159bb7722b8"></a><!-- doxytag: member="outside_network::unwanted_total" ref="0fc354a9b6252ebb37f3e159bb7722b8" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#0fc354a9b6252ebb37f3e159bb7722b8">unwanted_total</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cumulative total of unwanted replies (for defense) <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#e1a3dd20fa4ce9e24cef53049512a799">unwanted_threshold</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">threshold when to take defensive action.  <a href="#e1a3dd20fa4ce9e24cef53049512a799"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6f0e19819d98a95f847ebfd43c7f391"></a><!-- doxytag: member="outside_network::unwanted_action" ref="a6f0e19819d98a95f847ebfd43c7f391" args=")(void *)" -->
void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#a6f0e19819d98a95f847ebfd43c7f391">unwanted_action</a> )(void *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">what action to take, called when defensive action is needed <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="16014afb0172a59047cfadcbffe3e9d3"></a><!-- doxytag: member="outside_network::unwanted_param" ref="16014afb0172a59047cfadcbffe3e9d3" args="" -->
void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#16014afb0172a59047cfadcbffe3e9d3">unwanted_param</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">user param for action <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structport__comm.html">port_comm</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#0797ff928cb1e3a31ca2fb0029580d57">unused_fds</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">linked list of available commpoints, unused file descriptors, for use as outgoing UDP ports.  <a href="#0797ff928cb1e3a31ca2fb0029580d57"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14d28642e6a50870939ff6755702620c"></a><!-- doxytag: member="outside_network::ip4_ifs" ref="14d28642e6a50870939ff6755702620c" args="" -->
struct <a class="el" href="structport__if.html">port_if</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#14d28642e6a50870939ff6755702620c">ip4_ifs</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">array of outgoing IP4 interfaces <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b99ce4cd1517022af676b8097f8800c4"></a><!-- doxytag: member="outside_network::num_ip4" ref="b99ce4cd1517022af676b8097f8800c4" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#b99ce4cd1517022af676b8097f8800c4">num_ip4</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of outgoing IP4 interfaces <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7bcd141f543d9e8e786f28e3f3377fef"></a><!-- doxytag: member="outside_network::ip6_ifs" ref="7bcd141f543d9e8e786f28e3f3377fef" args="" -->
struct <a class="el" href="structport__if.html">port_if</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#7bcd141f543d9e8e786f28e3f3377fef">ip6_ifs</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">array of outgoing IP6 interfaces <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2705550750e1795e10e2a00bd1252b78"></a><!-- doxytag: member="outside_network::num_ip6" ref="2705550750e1795e10e2a00bd1252b78" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#2705550750e1795e10e2a00bd1252b78">num_ip6</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of outgoing IP6 interfaces <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2bd509345612ae18a8f245e65aa05c8d"></a><!-- doxytag: member="outside_network::udp_wait_first" ref="2bd509345612ae18a8f245e65aa05c8d" args="" -->
struct <a class="el" href="structpending.html">pending</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#2bd509345612ae18a8f245e65aa05c8d">udp_wait_first</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structpending.html" title="A query that has an answer pending for it.">pending</a> udp queries waiting to be sent out, waiting for fd <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44a780442b1a9d36710bfe6551de73e2"></a><!-- doxytag: member="outside_network::udp_wait_last" ref="44a780442b1a9d36710bfe6551de73e2" args="" -->
struct <a class="el" href="structpending.html">pending</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#44a780442b1a9d36710bfe6551de73e2">udp_wait_last</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">last <a class="el" href="structpending.html" title="A query that has an answer pending for it.">pending</a> udp query in list <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structrbtree__t.html">rbtree_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#448de93820b114833bac7b826b774d7a">pending</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structpending.html" title="A query that has an answer pending for it.">pending</a> udp answers.  <a href="#448de93820b114833bac7b826b774d7a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4904fd1ac4323bb8d5fe09a95b9dee0"></a><!-- doxytag: member="outside_network::serviced" ref="e4904fd1ac4323bb8d5fe09a95b9dee0" args="" -->
<a class="el" href="structrbtree__t.html">rbtree_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#e4904fd1ac4323bb8d5fe09a95b9dee0">serviced</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serviced queries, sorted by qbuf, addr, dnssec <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structinfra__cache.html">infra_cache</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#c73e3dc1f9b68a9d350a3e6b10f24969">infra</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">host cache, pointer but not owned by outnet.  <a href="#c73e3dc1f9b68a9d350a3e6b10f24969"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f2f4f63078b8d7baea17b70ef5df12e2"></a><!-- doxytag: member="outside_network::rnd" ref="f2f4f63078b8d7baea17b70ef5df12e2" args="" -->
struct <a class="el" href="structub__randstate.html">ub_randstate</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#f2f4f63078b8d7baea17b70ef5df12e2">rnd</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">where to get random numbers <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structpending__tcp.html">pending_tcp</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#54ff419585e33240abba6cf4b72a67da">tcp_conns</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Array of tcp <a class="el" href="structpending.html" title="A query that has an answer pending for it.">pending</a> used for outgoing TCP connections.  <a href="#54ff419585e33240abba6cf4b72a67da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#ec5e65647ea6021092ef4849810998eb">num_tcp</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of tcp communication points.  <a href="#ec5e65647ea6021092ef4849810998eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e883e9c287a90d1000f61a63444c952"></a><!-- doxytag: member="outside_network::tcp_free" ref="6e883e9c287a90d1000f61a63444c952" args="" -->
struct <a class="el" href="structpending__tcp.html">pending_tcp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#6e883e9c287a90d1000f61a63444c952">tcp_free</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">list of tcp comm points that are free for use <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="069c64ba23544836a5a3c15c3c18377c"></a><!-- doxytag: member="outside_network::tcp_wait_first" ref="069c64ba23544836a5a3c15c3c18377c" args="" -->
struct <a class="el" href="structwaiting__tcp.html">waiting_tcp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#069c64ba23544836a5a3c15c3c18377c">tcp_wait_first</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">list of tcp queries waiting for a buffer <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b6e19c6370561180e4fd582ba3da92b"></a><!-- doxytag: member="outside_network::tcp_wait_last" ref="6b6e19c6370561180e4fd582ba3da92b" args="" -->
struct <a class="el" href="structwaiting__tcp.html">waiting_tcp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#6b6e19c6370561180e4fd582ba3da92b">tcp_wait_last</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">last of waiting query list <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Send queries to outside servers and wait for answers from servers. 
<p>
Contains answer-listen sockets. <hr><h2>Field Documentation</h2>
<a class="anchor" name="3cb6a74d871f0ad50b59fdc299f65aea"></a><!-- doxytag: member="outside_network::udp_buff" ref="3cb6a74d871f0ad50b59fdc299f65aea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ldns_buffer* <a class="el" href="structoutside__network.html#3cb6a74d871f0ad50b59fdc299f65aea">outside_network::udp_buff</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
buffer shared by UDP connections, since there is only one datagram at any time. 
<p>

<p>Referenced by <a class="el" href="libworker_8c_source.html#l00604">handle_newq()</a>, <a class="el" href="libworker_8c_source.html#l00497">libworker_fg()</a>, <a class="el" href="libworker_8c_source.html#l00677">libworker_send_query()</a>, <a class="el" href="outside__network_8c_source.html#l01664">outnet_get_mem()</a>, <a class="el" href="outside__network_8c_source.html#l00276">outnet_send_wait_udp()</a>, <a class="el" href="outside__network_8c_source.html#l00468">outside_network_create()</a>, <a class="el" href="outside__network_8c_source.html#l00624">outside_network_delete()</a>, <a class="el" href="libworker_8c_source.html#l00473">setup_qinfo_edns()</a>, and <a class="el" href="worker_8c_source.html#l01172">worker_send_query()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f76020f37e8ee0b7d1f97d23daa396e4"></a><!-- doxytag: member="outside_network::svcd_overhead" ref="f76020f37e8ee0b7d1f97d23daa396e4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="structoutside__network.html#f76020f37e8ee0b7d1f97d23daa396e4">outside_network::svcd_overhead</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
serviced_callbacks malloc overhead when processing multiple identical serviced queries to the same server. 
<p>

<p>Referenced by <a class="el" href="outside__network_8c_source.html#l01664">outnet_get_mem()</a>, <a class="el" href="outside__network_8c_source.html#l00468">outside_network_create()</a>, and <a class="el" href="outside__network_8c_source.html#l01308">serviced_callbacks()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c034bd8efec9883815df7e805cf5c2ba"></a><!-- doxytag: member="outside_network::want_to_quit" ref="c034bd8efec9883815df7e805cf5c2ba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="structoutside__network.html#c034bd8efec9883815df7e805cf5c2ba">outside_network::want_to_quit</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
outside network wants to quit. 
<p>
Stop queued msgs from sent. 
<p>Referenced by <a class="el" href="outside__network_8c_source.html#l00276">outnet_send_wait_udp()</a>, <a class="el" href="outside__network_8c_source.html#l00468">outside_network_create()</a>, <a class="el" href="outside__network_8c_source.html#l00624">outside_network_delete()</a>, <a class="el" href="outside__network_8c_source.html#l00615">outside_network_quit_prepare()</a>, and <a class="el" href="outside__network_8c_source.html#l00194">use_free_buffer()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e1a3dd20fa4ce9e24cef53049512a799"></a><!-- doxytag: member="outside_network::unwanted_threshold" ref="e1a3dd20fa4ce9e24cef53049512a799" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="structoutside__network.html#e1a3dd20fa4ce9e24cef53049512a799">outside_network::unwanted_threshold</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
threshold when to take defensive action. 
<p>
If 0 then never. 
<p>Referenced by <a class="el" href="outside__network_8c_source.html#l00303">outnet_udp_cb()</a>, and <a class="el" href="outside__network_8c_source.html#l00468">outside_network_create()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0797ff928cb1e3a31ca2fb0029580d57"></a><!-- doxytag: member="outside_network::unused_fds" ref="0797ff928cb1e3a31ca2fb0029580d57" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structport__comm.html">port_comm</a>* <a class="el" href="structoutside__network.html#0797ff928cb1e3a31ca2fb0029580d57">outside_network::unused_fds</a><code> [read]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
linked list of available commpoints, unused file descriptors, for use as outgoing UDP ports. 
<p>
cp.fd=-1 in them. 
<p>Referenced by <a class="el" href="outside__network_8c_source.html#l01664">outnet_get_mem()</a>, <a class="el" href="outside__network_8c_source.html#l00276">outnet_send_wait_udp()</a>, <a class="el" href="outside__network_8c_source.html#l00468">outside_network_create()</a>, <a class="el" href="outside__network_8c_source.html#l00624">outside_network_delete()</a>, <a class="el" href="outside__network_8c_source.html#l00902">pending_udp_query()</a>, <a class="el" href="outside__network_8c_source.html#l00254">portcomm_loweruse()</a>, and <a class="el" href="outside__network_8c_source.html#l00795">select_ifport()</a>.</p>

</div>
</div><p>
<a class="anchor" name="448de93820b114833bac7b826b774d7a"></a><!-- doxytag: member="outside_network::pending" ref="448de93820b114833bac7b826b774d7a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structrbtree__t.html">rbtree_t</a>* <a class="el" href="structoutside__network.html#448de93820b114833bac7b826b774d7a">outside_network::pending</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="structpending.html" title="A query that has an answer pending for it.">pending</a> udp answers. 
<p>
sorted by id, addr 
<p>Referenced by <a class="el" href="outside__network_8c_source.html#l01664">outnet_get_mem()</a>, <a class="el" href="outside__network_8c_source.html#l00303">outnet_udp_cb()</a>, <a class="el" href="outside__network_8c_source.html#l00468">outside_network_create()</a>, <a class="el" href="outside__network_8c_source.html#l00624">outside_network_delete()</a>, <a class="el" href="outside__network_8c_source.html#l00709">pending_delete()</a>, and <a class="el" href="outside__network_8c_source.html#l00769">select_id()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c73e3dc1f9b68a9d350a3e6b10f24969"></a><!-- doxytag: member="outside_network::infra" ref="c73e3dc1f9b68a9d350a3e6b10f24969" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structinfra__cache.html">infra_cache</a>* <a class="el" href="structoutside__network.html#c73e3dc1f9b68a9d350a3e6b10f24969">outside_network::infra</a><code> [read]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
host cache, pointer but not owned by outnet. 
<p>

<p>Referenced by <a class="el" href="outside__network_8c_source.html#l00468">outside_network_create()</a>, <a class="el" href="outside__network_8c_source.html#l01389">serviced_tcp_callback()</a>, <a class="el" href="outside__network_8c_source.html#l01441">serviced_udp_callback()</a>, and <a class="el" href="outside__network_8c_source.html#l01227">serviced_udp_send()</a>.</p>

</div>
</div><p>
<a class="anchor" name="54ff419585e33240abba6cf4b72a67da"></a><!-- doxytag: member="outside_network::tcp_conns" ref="54ff419585e33240abba6cf4b72a67da" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structpending__tcp.html">pending_tcp</a>** <a class="el" href="structoutside__network.html#54ff419585e33240abba6cf4b72a67da">outside_network::tcp_conns</a><code> [read]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Array of tcp <a class="el" href="structpending.html" title="A query that has an answer pending for it.">pending</a> used for outgoing TCP connections. 
<p>
Each can be used to establish a TCP connection with a server. The file descriptors are -1 if they are free, and need to be opened for the tcp connection. Can be used for ip4 and ip6. 
<p>Referenced by <a class="el" href="outside__network_8c_source.html#l00425">create_pending_tcp()</a>, <a class="el" href="outside__network_8c_source.html#l01664">outnet_get_mem()</a>, and <a class="el" href="outside__network_8c_source.html#l00624">outside_network_delete()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ec5e65647ea6021092ef4849810998eb"></a><!-- doxytag: member="outside_network::num_tcp" ref="ec5e65647ea6021092ef4849810998eb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="structoutside__network.html#ec5e65647ea6021092ef4849810998eb">outside_network::num_tcp</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
number of tcp communication points. 
<p>

<p>Referenced by <a class="el" href="outside__network_8c_source.html#l00425">create_pending_tcp()</a>, <a class="el" href="outside__network_8c_source.html#l01664">outnet_get_mem()</a>, <a class="el" href="outside__network_8c_source.html#l00468">outside_network_create()</a>, and <a class="el" href="outside__network_8c_source.html#l00624">outside_network_delete()</a>.</p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>services/<a class="el" href="outside__network_8h.html">outside_network.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 13 06:46:34 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>