<!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 Page</span></a></li> <li class="current"><a href="annotated.html"><span>Data 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 Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="functions.html"><span>Data 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 <outside_network.h></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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#a66ed01afc0d67f6cd379baf48c02639">base</a></td></tr> <tr><td class="mdescLeft"> </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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#7af61ac4ee1cf5c66da60ec78273e716">now_secs</a></td></tr> <tr><td class="mdescLeft"> </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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#20ec79f4b53c5c6bf2a541e9ce4fc0ca">now_tv</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to time in microseconds <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">ldns_buffer * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#3cb6a74d871f0ad50b59fdc299f65aea">udp_buff</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#f76020f37e8ee0b7d1f97d23daa396e4">svcd_overhead</a></td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#c034bd8efec9883815df7e805cf5c2ba">want_to_quit</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#2d76710c4a1d3b614613aa1f57359d01">unwanted_replies</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#0fc354a9b6252ebb37f3e159bb7722b8">unwanted_total</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#e1a3dd20fa4ce9e24cef53049512a799">unwanted_threshold</a></td></tr> <tr><td class="mdescLeft"> </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(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#a6f0e19819d98a95f847ebfd43c7f391">unwanted_action</a> )(void *)</td></tr> <tr><td class="mdescLeft"> </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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#16014afb0172a59047cfadcbffe3e9d3">unwanted_param</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#0797ff928cb1e3a31ca2fb0029580d57">unused_fds</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#14d28642e6a50870939ff6755702620c">ip4_ifs</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#b99ce4cd1517022af676b8097f8800c4">num_ip4</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#7bcd141f543d9e8e786f28e3f3377fef">ip6_ifs</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#2705550750e1795e10e2a00bd1252b78">num_ip6</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#2bd509345612ae18a8f245e65aa05c8d">udp_wait_first</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#44a780442b1a9d36710bfe6551de73e2">udp_wait_last</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#448de93820b114833bac7b826b774d7a">pending</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#e4904fd1ac4323bb8d5fe09a95b9dee0">serviced</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#c73e3dc1f9b68a9d350a3e6b10f24969">infra</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#f2f4f63078b8d7baea17b70ef5df12e2">rnd</a></td></tr> <tr><td class="mdescLeft"> </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> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#54ff419585e33240abba6cf4b72a67da">tcp_conns</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#ec5e65647ea6021092ef4849810998eb">num_tcp</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#6e883e9c287a90d1000f61a63444c952">tcp_free</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#069c64ba23544836a5a3c15c3c18377c">tcp_wait_first</a></td></tr> <tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structoutside__network.html#6b6e19c6370561180e4fd582ba3da92b">tcp_wait_last</a></td></tr> <tr><td class="mdescLeft"> </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 <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>