netsukuku/d3/df5/radar_8h_source.html

374 lines
67 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>The Netsukuku Project: src/radar.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
2014-02-20 00:30:40 +00:00
<td id="projectlogo"><img alt="Logo" src="../../Logo_netsukuku.jpg"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">The Netsukuku Project
&#160;<span id="projectnumber">0.0.9</span>
</div>
<div id="projectbrief">An Alternative routing method</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li><a href="../../annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.html"><span>File&#160;List</span></a></li>
<li><a href="../../globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d3/df5/radar_8h_source.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">radar.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d3/df5/radar_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/* This file is part of Netsukuku</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * (c) Copyright 2004 Andrea Lo Pumo aka AlpT &lt;alpt@freaknet.org&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This source code is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * modify it under the terms of the GNU General Public License as published </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * by the Free Software Foundation; either version 2 of the License,</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * or (at your option) any later version.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * This source code is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * Please refer to the GNU Public License for more details.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * You should have received a copy of the GNU Public License along with</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * this source code; if not, write to:</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#ifndef RADAR_H</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#define RADAR_H</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a5993087449692e017df5da39f0e41dcc"> 22</a></span>&#160;<span class="preprocessor">#define MAX_RADAR_SCANS 16</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a4987588662295ecddc3431a1440731a4"> 23</a></span>&#160;<span class="preprocessor">#define MAX_RADAR_WAIT 5 </span><span class="comment">/*How much we wait to store the received</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> ECHO_REPLY pkts and then to close the</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> current radar session*/</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a152eb63e263fb38cda4c8e78c99c2004"> 26</a></span>&#160;<span class="preprocessor">#define RTT_DELTA 1000 </span><span class="comment">/*If the change delta of the new rtt is</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> &gt;= RTT_DELTA, the qspn_q.send_qspn </span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> will be set. (It&#39;s in millisec)*/</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifdef DEBUG </span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#undef MAX_RADAR_WAIT</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define MAX_RADAR_WAIT 3</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a913c9a7ef8bf9bba5d97dfc233e6e716"> 35</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a913c9a7ef8bf9bba5d97dfc233e6e716">max_radar_wait</a>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#ae3b8bab989c1ef670eff868f080f4df7"> 36</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#ae3b8bab989c1ef670eff868f080f4df7">radar_wait_counter</a>; <span class="comment">/* During the scan, it is incremented </span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"> every 500 ms */</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a4f3cbc052113db064be57497d29341f4"> 39</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a4f3cbc052113db064be57497d29341f4">radar_scans</a>[<a class="code" href="../../dc/d8d/if_8h.html#a10bf2917a6a4297e21e03f60c487f591">MAX_INTERFACES</a>]; <span class="comment">/* How many ECHO_ME pkts we sent on </span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"> each interface */</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#acd47f9c9ef5abc53446ae902daa6e1eb"> 41</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#acd47f9c9ef5abc53446ae902daa6e1eb">total_radar_scans</a>; <span class="comment">/* The sum of all the values of the </span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"> `radar_scans&#39; array */</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a08ee60ba74ed7b174097fdcbf74fdd8f"> 43</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a08ee60ba74ed7b174097fdcbf74fdd8f">radar_scan_mutex</a>; <span class="comment">/* A flag to see if we are already </span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"> doing a scan */</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#adac7aaf4e8a6205249ffa4c4855109b3"> 45</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#adac7aaf4e8a6205249ffa4c4855109b3">my_echo_id</a>; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a08d48f250780fa686ac184561f813c4e"> 46</a></span>&#160;u_char <a class="code" href="../../d3/df5/radar_8h.html#a08d48f250780fa686ac184561f813c4e">send_qspn_now</a>[<a class="code" href="../../d7/d3b/gmap_8h.html#add784659439a8dd6b1423406171414d3">MAX_LEVELS</a>]; <span class="comment">/* Shall we send the qspn in level? </span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> If yes send_qspn_now[level] is </span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> != 0*/</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a50d24ca89ff6fd6a3f1d27559bab0225"> 49</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a50d24ca89ff6fd6a3f1d27559bab0225">hook_retry</a>; <span class="comment">/* If we&#39;ve seen, while hooking, a </span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> node who was trying to hook before </span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> us, `hook_retry&#39; is set to 1.*/</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#acd1ae9d3f2bae25fa36cee55531fe312"> 52</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#acd1ae9d3f2bae25fa36cee55531fe312">radar_daemon_ctl</a>; <span class="comment">/* If it is set to 0 the radar_daemon </span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> will stop until it becomes again 1*/</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#aa786f479df279a40d9c7684b0e3ba65f"> 54</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#aa786f479df279a40d9c7684b0e3ba65f">total_radars</a>; <span class="comment">/* Stupid statistic */</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#ab76cb5b5a7543751c8c7575ac27156ed"> 56</a></span>&#160;<span class="preprocessor">#define RADQ_VOID_RNODE 0</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a2d6b592d7dad69acb2292e0b0d79d6f6"> 57</a></span>&#160;<span class="preprocessor">#define RADQ_EXT_RNODE 1</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html"> 59</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d5/d80/structradar__queue.html">radar_queue</a></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="../../d5/d80/structradar__queue.html#a5a55189ff4051f3239401e6a3f780504">LLIST_HDR</a> (<span class="keyword">struct</span> <a class="code" href="../../d5/d80/structradar__queue.html">radar_queue</a>);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#af1b73255b83d16b6ddd96eae60d38767"> 63</a></span>&#160; <a class="code" href="../../da/d1d/structinet__prefix.html">inet_prefix</a> <a class="code" href="../../d5/d80/structradar__queue.html#af1b73255b83d16b6ddd96eae60d38767">ip</a>; <span class="comment">/*Node&#39;s ip*/</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#af7db9e0aba085c0c4a3d26b095ee1bda"> 64</a></span>&#160; <span class="keyword">interface </span>*<a class="code" href="../../d5/d80/structradar__queue.html#af7db9e0aba085c0c4a3d26b095ee1bda">dev</a>[<a class="code" href="../../dc/d8d/if_8h.html#a10bf2917a6a4297e21e03f60c487f591">MAX_INTERFACES</a>]; <span class="comment">/*The pointers to the interface structs, present </span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> in me.cur_ifs, of the device where we got the </span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> node&#39;s pongs */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#a634448051148e1479b83de636018e0ed"> 67</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d5/d80/structradar__queue.html#a634448051148e1479b83de636018e0ed">dev_n</a>; <span class="comment">/* Number of devices */</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#af5f79786f031222dbfaf56942d912654"> 69</a></span>&#160; <a class="code" href="../../d6/d1c/structmap__node.html">map_node</a> *<a class="code" href="../../d5/d80/structradar__queue.html#af5f79786f031222dbfaf56942d912654">node</a>; <span class="comment">/*The node we are pinging*/</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#a79923e24b919db7fe15dab2adcc40764"> 70</a></span>&#160; <a class="code" href="../../d0/d3b/structquadro__group.html">quadro_group</a> <a class="code" href="../../d5/d80/structradar__queue.html#a79923e24b919db7fe15dab2adcc40764">quadg</a>; <span class="comment">/*Node&#39;s data for the ext_map*/</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#ae5677e293923e6f131088916870c5777"> 71</a></span>&#160; u_short <a class="code" href="../../d5/d80/structradar__queue.html#ae5677e293923e6f131088916870c5777">flags</a>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#a1183958e583f14b57caa91475e89cbc6"> 73</a></span>&#160; <span class="keywordtype">char</span> <a class="code" href="../../d5/d80/structradar__queue.html#a1183958e583f14b57caa91475e89cbc6">pings</a>; <span class="comment">/*The total ECHO_ME pkts received from this node*/</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#a58a46443d83d5cefeae1975277be2cc1"> 74</a></span>&#160; <span class="keywordtype">char</span> <a class="code" href="../../d5/d80/structradar__queue.html#a58a46443d83d5cefeae1975277be2cc1">pongs</a>; <span class="comment">/*The total pongs (ECHO_REPLY) received from this node*/</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#a6701b50210091a9aedaf3e5760577858"> 75</a></span>&#160; <span class="keyword">struct </span>timeval <a class="code" href="../../d5/d80/structradar__queue.html#a6701b50210091a9aedaf3e5760577858">rtt</a>[<a class="code" href="../../d3/df5/radar_8h.html#a5993087449692e017df5da39f0e41dcc">MAX_RADAR_SCANS</a>]; <span class="comment">/*The round rtt of each pong*/</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="../../d5/d80/structradar__queue.html#a8ba466426e43c7f99a37d85b2bd8e960"> 76</a></span>&#160; <span class="keyword">struct </span>timeval <a class="code" href="../../d5/d80/structradar__queue.html#a8ba466426e43c7f99a37d85b2bd8e960">final_rtt</a>; <span class="comment">/*When all the rtt is filled, or when MAX_RADAR_WAIT</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> is expired, final_rtt will keep the average of all</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> the rtts */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;};</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a1e9c4b5a2a0ac44efd78a4ebed751cdc"> 80</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d5/d80/structradar__queue.html">radar_queue</a> *<a class="code" href="../../d3/df5/radar_8h.html#a1e9c4b5a2a0ac44efd78a4ebed751cdc">radar_q</a>; <span class="comment">/*the start of the linked list of radar_queue*/</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a853c649d20714d3c62e6eff9223c7bdb"> 81</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a853c649d20714d3c62e6eff9223c7bdb">radar_q_counter</a>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#ae963f95d136f0137497976a9130bb78e"> 83</a></span>&#160;<span class="keyword">struct </span>timeval <a class="code" href="../../d3/df5/radar_8h.html#ae963f95d136f0137497976a9130bb78e">scan_start</a>; <span class="comment">/*the start of the scan*/</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> * rnode_list keeps the list of all the rnodes. It is used to know on what</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> * interface can be reached a wanted rnode.</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="../../d3/da8/structrnode__list.html"> 89</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d3/da8/structrnode__list.html">rnode_list</a></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;{</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="../../d3/da8/structrnode__list.html#a2e64673690409ed7376f8c04c31087c0">LLIST_HDR</a> (<span class="keyword">struct</span> <a class="code" href="../../d3/da8/structrnode__list.html">rnode_list</a>);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="../../d3/da8/structrnode__list.html#aaf42ee31684ccbb228be3818bc6927e8"> 93</a></span>&#160; <a class="code" href="../../d6/d1c/structmap__node.html">map_node</a> *<a class="code" href="../../d3/da8/structrnode__list.html#aaf42ee31684ccbb228be3818bc6927e8">node</a>; <span class="comment">/* The node which is pointed by this </span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> rnode */</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="../../d3/da8/structrnode__list.html#ad778774180d31db1c56616191aa0881b"> 95</a></span>&#160; <span class="keyword">interface </span>*<a class="code" href="../../d3/da8/structrnode__list.html#ad778774180d31db1c56616191aa0881b">dev</a>[<a class="code" href="../../dc/d8d/if_8h.html#a10bf2917a6a4297e21e03f60c487f591">MAX_INTERFACES</a>]; <span class="comment">/* The pointers to the interface structs</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> (in me.cur_ifs), which cointains the</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> devices which links ourself with this rnode. */</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="../../d3/da8/structrnode__list.html#ac99282c817d5215c1d53b96fcd98faea"> 98</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d3/da8/structrnode__list.html#ac99282c817d5215c1d53b96fcd98faea">dev_n</a>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="../../d3/da8/structrnode__list.html#af6e67e3d69da94071e7a70ea839e88ed"> 100</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d3/da8/structrnode__list.html#af6e67e3d69da94071e7a70ea839e88ed">tcp_sk</a>; <span class="comment">/* The direct tcp connection to this rnode uses</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> this socket. */</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;};</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#ada11260749bf5535b155d3abfb62e01c"> 103</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d3/da8/structrnode__list.html">rnode_list</a> *<a class="code" href="../../d3/df5/radar_8h.html#ada11260749bf5535b155d3abfb62e01c">rlist</a>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a4df5df3d5c336150548bbac207082469"> 104</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a4df5df3d5c336150548bbac207082469">rlist_counter</a>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> * When this list isn&#39;t empty, the radar will receive only the ECHO_REPLY sent</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> * from rnodes which are in the allowed_rnode list.</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="../../d8/dc1/structallowed__rnode.html"> 110</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d8/dc1/structallowed__rnode.html">allowed_rnode</a></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;{</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="../../d8/dc1/structallowed__rnode.html#a9116b927f97775f39f89ba1c06acbc52">LLIST_HDR</a> (<span class="keyword">struct</span> <a class="code" href="../../d8/dc1/structallowed__rnode.html">allowed_rnode</a>);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="comment">/* </span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * In order to see if the rnode X is part of this list we compare all</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * its gids in the range of gids[min_level] and gids[tot_level-1] with</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> * the allowed_rnode.gid array.</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="../../d8/dc1/structallowed__rnode.html#a2c5cf4a5a28108cd610290225004d84f"> 119</a></span>&#160; u_char <a class="code" href="../../d8/dc1/structallowed__rnode.html#a2c5cf4a5a28108cd610290225004d84f">min_level</a>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="../../d8/dc1/structallowed__rnode.html#a2d1767908de4ec917889fec86e541cfa"> 120</a></span>&#160; u_char <a class="code" href="../../d8/dc1/structallowed__rnode.html#a2d1767908de4ec917889fec86e541cfa">tot_level</a>;</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="../../d8/dc1/structallowed__rnode.html#a94e00093a2ac69dd230610b056c39e7b"> 121</a></span>&#160; u_int <a class="code" href="../../d8/dc1/structallowed__rnode.html#a94e00093a2ac69dd230610b056c39e7b">gid</a>[<a class="code" href="../../d7/d3b/gmap_8h.html#add784659439a8dd6b1423406171414d3">MAX_LEVELS</a>];</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;};</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#ac8d2e0e3fdc4f7507a9719c3cd4f3cff"> 123</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d8/dc1/structallowed__rnode.html">allowed_rnode</a> *<a class="code" href="../../d3/df5/radar_8h.html#ac8d2e0e3fdc4f7507a9719c3cd4f3cff">alwd_rnodes</a>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="../../d3/df5/radar_8h.html#a484da20a5b6f2a5a9c55d4d322b322e0"> 124</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a484da20a5b6f2a5a9c55d4d322b322e0">alwd_rnodes_counter</a>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment">/* </span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * The ECHO_ME pkt:</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * It is just a normal pkt which contains in the body (pkt.msg) one </span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * u_char echo_scans_count, var. This is the number of scans sent.</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> * During the hooking the ECHO_REPLY body pkt is one u_char which is set to 0</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> * if we already finished our scans.</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment">/* * * Functions declaration * * */</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a94450b9b9f2e120fa2f592344ef66f80">first_init_radar</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#af02a5a423429d8a737973cfaaf292441">last_close_radar</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#addfcab69e75918c9edaaf9d27f8923a5">init_radar</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a260f15a87fd271e8fdc162d6320b9aeb">close_radar</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a49490440fa81e7b4c8ed18a9250ae8ed">reset_radar</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a8df4b078a8103d01155a7978ff81f791">free_new_node</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="keyword">struct </span><a class="code" href="../../d5/d80/structradar__queue.html">radar_queue</a> *<a class="code" href="../../d3/df5/radar_8h.html#a11ff123e5ec053bcdbad5480aa71b4f1">find_node_radar_q</a>(<a class="code" href="../../d6/d1c/structmap__node.html">map_node</a> *<a class="code" href="../../d5/d80/structradar__queue.html#af5f79786f031222dbfaf56942d912654">node</a>);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="keyword">struct </span><a class="code" href="../../d5/d80/structradar__queue.html">radar_queue</a> *<a class="code" href="../../d3/df5/radar_8h.html#a2e41c96078859e93b0a72e345c720d30">find_ip_radar_q</a>(<a class="code" href="../../da/d1d/structinet__prefix.html">inet_prefix</a> *<a class="code" href="../../d5/d80/structradar__queue.html#af1b73255b83d16b6ddd96eae60d38767">ip</a>);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a4beb463e23b8e0086945bde8afe90a90">count_hooking_nodes</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a7af513cd53e492b69510bc823c384abb">rnl_reset</a>(<span class="keyword">struct</span> <a class="code" href="../../d3/da8/structrnode__list.html">rnode_list</a> **rnlist, <span class="keywordtype">int</span> *rnlist_counter);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="keyword">interface </span>**<a class="code" href="../../d3/df5/radar_8h.html#ad509fe62baca86ee9bf17802ad3efeb5">rnl_get_dev</a>(<span class="keyword">struct</span> <a class="code" href="../../d3/da8/structrnode__list.html">rnode_list</a> *rnlist, <a class="code" href="../../d6/d1c/structmap__node.html">map_node</a> *<a class="code" href="../../d5/d80/structradar__queue.html#af5f79786f031222dbfaf56942d912654">node</a>);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keyword">interface </span>*<a class="code" href="../../d3/df5/radar_8h.html#a5227b335b67dd5298d3764f732b422cd">rnl_get_rand_dev</a>(<span class="keyword">struct</span> <a class="code" href="../../d3/da8/structrnode__list.html">rnode_list</a> *rnlist, <a class="code" href="../../d6/d1c/structmap__node.html">map_node</a> *<a class="code" href="../../d5/d80/structradar__queue.html#af5f79786f031222dbfaf56942d912654">node</a>);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#ac87ec2c357e722cc77948e2f4a133b03">rnl_get_sk</a>(<span class="keyword">struct</span> <a class="code" href="../../d3/da8/structrnode__list.html">rnode_list</a> *rnlist, <a class="code" href="../../d6/d1c/structmap__node.html">map_node</a> *<a class="code" href="../../d5/d80/structradar__queue.html#af5f79786f031222dbfaf56942d912654">node</a>);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a5a800cfd2c699f600717fb1d9bde4ecb">rnl_close_all_sk</a>(<span class="keyword">struct</span> <a class="code" href="../../d3/da8/structrnode__list.html">rnode_list</a> *rnlist);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a23199e508fb5df7dca7410b1744531c0">rnl_fill_rq</a>(<a class="code" href="../../d6/d1c/structmap__node.html">map_node</a> *rnode, <a class="code" href="../../d6/dbc/structPACKET.html">PACKET</a> *pkt);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a8424d1822303af54c7e25160800cf7d8">rnl_send_rq</a>(<a class="code" href="../../d6/d1c/structmap__node.html">map_node</a> *rnode, </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="../../d6/dbc/structPACKET.html">PACKET</a> *pkt, <span class="keywordtype">int</span> pkt_flags, u_char rq, <span class="keywordtype">int</span> rq_id, u_char re, </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">int</span> check_ack, <a class="code" href="../../d6/dbc/structPACKET.html">PACKET</a> *rpkt);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a56b7feb5b60f5c53076ecd73a57b4175">new_rnode_allowed</a>(<span class="keyword">struct</span> <a class="code" href="../../d8/dc1/structallowed__rnode.html">allowed_rnode</a> **alr, <span class="keywordtype">int</span> *alr_counter,</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordtype">int</span> *gid, <span class="keywordtype">int</span> min_lvl, <span class="keywordtype">int</span> max_lvl);</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a46e376aeced857ac15077e9bdc739539">reset_rnode_allowed</a>(<span class="keyword">struct</span> <a class="code" href="../../d8/dc1/structallowed__rnode.html">allowed_rnode</a> **alr, <span class="keywordtype">int</span> *alr_counter);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a94c6405c06a586a40fbb310c42e72ffd">final_radar_queue</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a6908f30023e15ac38b957dc8f3941f37">radar_update_map</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="keyword">struct </span><a class="code" href="../../d5/d80/structradar__queue.html">radar_queue</a> *<a class="code" href="../../d3/df5/radar_8h.html#ad245092f4d6329da6200b29193a2cd06">add_radar_q</a>(<a class="code" href="../../d6/dbc/structPACKET.html">PACKET</a> pkt);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a53c4effb3e65bf66af71f5e2507d3f21">radar_exec_reply</a>(<a class="code" href="../../d6/dbc/structPACKET.html">PACKET</a> pkt);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a3d46b80b3ad27f86a02c0586617f18cc">radar_scan</a>(<span class="keywordtype">int</span> activate_qspn);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a7a73bfef9b57006bbe0327107e991c74">radard</a>(<a class="code" href="../../d6/dbc/structPACKET.html">PACKET</a> rpkt);</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#a313fa73e5d2e0f4dccc9ae5463c6d45a">radar_recv_reply</a>(<a class="code" href="../../d6/dbc/structPACKET.html">PACKET</a> pkt);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="keywordtype">void</span> *<a class="code" href="../../d3/df5/radar_8h.html#ac9d1b53d63e675b260906e91850b588c">radar_daemon</a>(<span class="keywordtype">void</span> *null);</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d3/df5/radar_8h.html#a593e03eb8b5f285712ad9bcc8f921d95">radar_wait_new_scan</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/df5/radar_8h.html#aa589f34d936b21665c16fca95f06092f">refresh_hook_root_node</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/*RADAR_H*/</span><span class="preprocessor"></span></div>
<div class="ttc" id="radar_8h_html_ad509fe62baca86ee9bf17802ad3efeb5"><div class="ttname"><a href="../../d3/df5/radar_8h.html#ad509fe62baca86ee9bf17802ad3efeb5">rnl_get_dev</a></div><div class="ttdeci">interface ** rnl_get_dev(struct rnode_list *rnlist, map_node *node)</div><div class="ttdef"><b>Definition:</b> radar.c:369</div></div>
<div class="ttc" id="structrnode__list_html_ac99282c817d5215c1d53b96fcd98faea"><div class="ttname"><a href="../../d3/da8/structrnode__list.html#ac99282c817d5215c1d53b96fcd98faea">rnode_list::dev_n</a></div><div class="ttdeci">int dev_n</div><div class="ttdef"><b>Definition:</b> radar.h:98</div></div>
<div class="ttc" id="radar_8h_html_a56b7feb5b60f5c53076ecd73a57b4175"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a56b7feb5b60f5c53076ecd73a57b4175">new_rnode_allowed</a></div><div class="ttdeci">void new_rnode_allowed(struct allowed_rnode **alr, int *alr_counter, int *gid, int min_lvl, int max_lvl)</div><div class="ttdef"><b>Definition:</b> radar.c:560</div></div>
<div class="ttc" id="structradar__queue_html"><div class="ttname"><a href="../../d5/d80/structradar__queue.html">radar_queue</a></div><div class="ttdef"><b>Definition:</b> radar.h:59</div></div>
<div class="ttc" id="radar_8h_html_ad245092f4d6329da6200b29193a2cd06"><div class="ttname"><a href="../../d3/df5/radar_8h.html#ad245092f4d6329da6200b29193a2cd06">add_radar_q</a></div><div class="ttdeci">struct radar_queue * add_radar_q(PACKET pkt)</div><div class="ttdef"><b>Definition:</b> radar.c:1156</div></div>
<div class="ttc" id="radar_8h_html_addfcab69e75918c9edaaf9d27f8923a5"><div class="ttname"><a href="../../d3/df5/radar_8h.html#addfcab69e75918c9edaaf9d27f8923a5">init_radar</a></div><div class="ttdeci">void init_radar(void)</div><div class="ttdef"><b>Definition:</b> radar.c:70</div></div>
<div class="ttc" id="structallowed__rnode_html"><div class="ttname"><a href="../../d8/dc1/structallowed__rnode.html">allowed_rnode</a></div><div class="ttdef"><b>Definition:</b> radar.h:110</div></div>
<div class="ttc" id="radar_8h_html_a8df4b078a8103d01155a7978ff81f791"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a8df4b078a8103d01155a7978ff81f791">free_new_node</a></div><div class="ttdeci">void free_new_node(void)</div><div class="ttdef"><b>Definition:</b> radar.c:107</div></div>
<div class="ttc" id="radar_8h_html_a8424d1822303af54c7e25160800cf7d8"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a8424d1822303af54c7e25160800cf7d8">rnl_send_rq</a></div><div class="ttdeci">int rnl_send_rq(map_node *rnode, PACKET *pkt, int pkt_flags, u_char rq, int rq_id, u_char re, int check_ack, PACKET *rpkt)</div><div class="ttdef"><b>Definition:</b> radar.c:502</div></div>
<div class="ttc" id="structrnode__list_html_a2e64673690409ed7376f8c04c31087c0"><div class="ttname"><a href="../../d3/da8/structrnode__list.html#a2e64673690409ed7376f8c04c31087c0">rnode_list::LLIST_HDR</a></div><div class="ttdeci">LLIST_HDR(struct rnode_list)</div></div>
<div class="ttc" id="structallowed__rnode_html_a2d1767908de4ec917889fec86e541cfa"><div class="ttname"><a href="../../d8/dc1/structallowed__rnode.html#a2d1767908de4ec917889fec86e541cfa">allowed_rnode::tot_level</a></div><div class="ttdeci">u_char tot_level</div><div class="ttdef"><b>Definition:</b> radar.h:120</div></div>
<div class="ttc" id="structrnode__list_html_ad778774180d31db1c56616191aa0881b"><div class="ttname"><a href="../../d3/da8/structrnode__list.html#ad778774180d31db1c56616191aa0881b">rnode_list::dev</a></div><div class="ttdeci">interface * dev[MAX_INTERFACES]</div><div class="ttdef"><b>Definition:</b> radar.h:95</div></div>
<div class="ttc" id="radar_8h_html_a5a800cfd2c699f600717fb1d9bde4ecb"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a5a800cfd2c699f600717fb1d9bde4ecb">rnl_close_all_sk</a></div><div class="ttdeci">void rnl_close_all_sk(struct rnode_list *rnlist)</div><div class="ttdef"><b>Definition:</b> radar.c:454</div></div>
<div class="ttc" id="structrnode__list_html_af6e67e3d69da94071e7a70ea839e88ed"><div class="ttname"><a href="../../d3/da8/structrnode__list.html#af6e67e3d69da94071e7a70ea839e88ed">rnode_list::tcp_sk</a></div><div class="ttdeci">int tcp_sk</div><div class="ttdef"><b>Definition:</b> radar.h:100</div></div>
<div class="ttc" id="radar_8h_html_ada11260749bf5535b155d3abfb62e01c"><div class="ttname"><a href="../../d3/df5/radar_8h.html#ada11260749bf5535b155d3abfb62e01c">rlist</a></div><div class="ttdeci">struct rnode_list * rlist</div><div class="ttdef"><b>Definition:</b> radar.h:103</div></div>
<div class="ttc" id="structmap__node_html"><div class="ttname"><a href="../../d6/d1c/structmap__node.html">map_node</a></div><div class="ttdef"><b>Definition:</b> map.h:125</div></div>
<div class="ttc" id="structrnode__list_html"><div class="ttname"><a href="../../d3/da8/structrnode__list.html">rnode_list</a></div><div class="ttdef"><b>Definition:</b> radar.h:89</div></div>
<div class="ttc" id="radar_8h_html_a23199e508fb5df7dca7410b1744531c0"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a23199e508fb5df7dca7410b1744531c0">rnl_fill_rq</a></div><div class="ttdeci">int rnl_fill_rq(map_node *rnode, PACKET *pkt)</div><div class="ttdef"><b>Definition:</b> radar.c:471</div></div>
<div class="ttc" id="structradar__queue_html_a58a46443d83d5cefeae1975277be2cc1"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#a58a46443d83d5cefeae1975277be2cc1">radar_queue::pongs</a></div><div class="ttdeci">char pongs</div><div class="ttdef"><b>Definition:</b> radar.h:74</div></div>
<div class="ttc" id="radar_8h_html_ac9d1b53d63e675b260906e91850b588c"><div class="ttname"><a href="../../d3/df5/radar_8h.html#ac9d1b53d63e675b260906e91850b588c">radar_daemon</a></div><div class="ttdeci">void * radar_daemon(void *null)</div><div class="ttdef"><b>Definition:</b> radar.c:1639</div></div>
<div class="ttc" id="radar_8h_html_adac7aaf4e8a6205249ffa4c4855109b3"><div class="ttname"><a href="../../d3/df5/radar_8h.html#adac7aaf4e8a6205249ffa4c4855109b3">my_echo_id</a></div><div class="ttdeci">int my_echo_id</div><div class="ttdef"><b>Definition:</b> radar.h:45</div></div>
<div class="ttc" id="radar_8h_html_a11ff123e5ec053bcdbad5480aa71b4f1"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a11ff123e5ec053bcdbad5480aa71b4f1">find_node_radar_q</a></div><div class="ttdeci">struct radar_queue * find_node_radar_q(map_node *node)</div><div class="ttdef"><b>Definition:</b> radar.c:125</div></div>
<div class="ttc" id="radar_8h_html_a4df5df3d5c336150548bbac207082469"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a4df5df3d5c336150548bbac207082469">rlist_counter</a></div><div class="ttdeci">int rlist_counter</div><div class="ttdef"><b>Definition:</b> radar.h:104</div></div>
<div class="ttc" id="radar_8h_html_a46e376aeced857ac15077e9bdc739539"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a46e376aeced857ac15077e9bdc739539">reset_rnode_allowed</a></div><div class="ttdeci">void reset_rnode_allowed(struct allowed_rnode **alr, int *alr_counter)</div><div class="ttdef"><b>Definition:</b> radar.c:579</div></div>
<div class="ttc" id="radar_8h_html_a08d48f250780fa686ac184561f813c4e"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a08d48f250780fa686ac184561f813c4e">send_qspn_now</a></div><div class="ttdeci">u_char send_qspn_now[MAX_LEVELS]</div><div class="ttdef"><b>Definition:</b> radar.h:46</div></div>
<div class="ttc" id="gmap_8h_html_add784659439a8dd6b1423406171414d3"><div class="ttname"><a href="../../d7/d3b/gmap_8h.html#add784659439a8dd6b1423406171414d3">MAX_LEVELS</a></div><div class="ttdeci">#define MAX_LEVELS</div><div class="ttdef"><b>Definition:</b> gmap.h:107</div></div>
<div class="ttc" id="structinet__prefix_html"><div class="ttname"><a href="../../da/d1d/structinet__prefix.html">inet_prefix</a></div><div class="ttdef"><b>Definition:</b> inet.h:73</div></div>
<div class="ttc" id="structquadro__group_html"><div class="ttname"><a href="../../d0/d3b/structquadro__group.html">quadro_group</a></div><div class="ttdef"><b>Definition:</b> gmap.h:127</div></div>
<div class="ttc" id="radar_8h_html_acd1ae9d3f2bae25fa36cee55531fe312"><div class="ttname"><a href="../../d3/df5/radar_8h.html#acd1ae9d3f2bae25fa36cee55531fe312">radar_daemon_ctl</a></div><div class="ttdeci">int radar_daemon_ctl</div><div class="ttdef"><b>Definition:</b> radar.h:52</div></div>
<div class="ttc" id="radar_8h_html_a94c6405c06a586a40fbb310c42e72ffd"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a94c6405c06a586a40fbb310c42e72ffd">final_radar_queue</a></div><div class="ttdeci">void final_radar_queue(void)</div><div class="ttdef"><b>Definition:</b> radar.c:616</div></div>
<div class="ttc" id="radar_8h_html_a4beb463e23b8e0086945bde8afe90a90"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a4beb463e23b8e0086945bde8afe90a90">count_hooking_nodes</a></div><div class="ttdeci">int count_hooking_nodes(void)</div><div class="ttdef"><b>Definition:</b> radar.c:592</div></div>
<div class="ttc" id="radar_8h_html_a2e41c96078859e93b0a72e345c720d30"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a2e41c96078859e93b0a72e345c720d30">find_ip_radar_q</a></div><div class="ttdeci">struct radar_queue * find_ip_radar_q(inet_prefix *ip)</div><div class="ttdef"><b>Definition:</b> radar.c:142</div></div>
<div class="ttc" id="radar_8h_html_a49490440fa81e7b4c8ed18a9250ae8ed"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a49490440fa81e7b4c8ed18a9250ae8ed">reset_radar</a></div><div class="ttdeci">void reset_radar(void)</div><div class="ttdef"><b>Definition:</b> radar.c:90</div></div>
<div class="ttc" id="structradar__queue_html_af5f79786f031222dbfaf56942d912654"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#af5f79786f031222dbfaf56942d912654">radar_queue::node</a></div><div class="ttdeci">map_node * node</div><div class="ttdef"><b>Definition:</b> radar.h:69</div></div>
<div class="ttc" id="if_8h_html_a10bf2917a6a4297e21e03f60c487f591"><div class="ttname"><a href="../../dc/d8d/if_8h.html#a10bf2917a6a4297e21e03f60c487f591">MAX_INTERFACES</a></div><div class="ttdeci">#define MAX_INTERFACES</div><div class="ttdef"><b>Definition:</b> if.h:25</div></div>
<div class="ttc" id="structradar__queue_html_a6701b50210091a9aedaf3e5760577858"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#a6701b50210091a9aedaf3e5760577858">radar_queue::rtt</a></div><div class="ttdeci">struct timeval rtt[16]</div><div class="ttdef"><b>Definition:</b> radar.h:75</div></div>
<div class="ttc" id="radar_8h_html_a5993087449692e017df5da39f0e41dcc"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a5993087449692e017df5da39f0e41dcc">MAX_RADAR_SCANS</a></div><div class="ttdeci">#define MAX_RADAR_SCANS</div><div class="ttdef"><b>Definition:</b> radar.h:22</div></div>
<div class="ttc" id="radar_8h_html_aa589f34d936b21665c16fca95f06092f"><div class="ttname"><a href="../../d3/df5/radar_8h.html#aa589f34d936b21665c16fca95f06092f">refresh_hook_root_node</a></div><div class="ttdeci">int refresh_hook_root_node(void)</div><div class="ttdef"><b>Definition:</b> radar.c:1604</div></div>
<div class="ttc" id="structradar__queue_html_a79923e24b919db7fe15dab2adcc40764"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#a79923e24b919db7fe15dab2adcc40764">radar_queue::quadg</a></div><div class="ttdeci">quadro_group quadg</div><div class="ttdef"><b>Definition:</b> radar.h:70</div></div>
<div class="ttc" id="radar_8h_html_a3d46b80b3ad27f86a02c0586617f18cc"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a3d46b80b3ad27f86a02c0586617f18cc">radar_scan</a></div><div class="ttdeci">int radar_scan(int activate_qspn)</div><div class="ttdef"><b>Definition:</b> radar.c:1370</div></div>
<div class="ttc" id="structrnode__list_html_aaf42ee31684ccbb228be3818bc6927e8"><div class="ttname"><a href="../../d3/da8/structrnode__list.html#aaf42ee31684ccbb228be3818bc6927e8">rnode_list::node</a></div><div class="ttdeci">map_node * node</div><div class="ttdef"><b>Definition:</b> radar.h:93</div></div>
<div class="ttc" id="structallowed__rnode_html_a2c5cf4a5a28108cd610290225004d84f"><div class="ttname"><a href="../../d8/dc1/structallowed__rnode.html#a2c5cf4a5a28108cd610290225004d84f">allowed_rnode::min_level</a></div><div class="ttdeci">u_char min_level</div><div class="ttdef"><b>Definition:</b> radar.h:119</div></div>
<div class="ttc" id="radar_8h_html_a1e9c4b5a2a0ac44efd78a4ebed751cdc"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a1e9c4b5a2a0ac44efd78a4ebed751cdc">radar_q</a></div><div class="ttdeci">struct radar_queue * radar_q</div><div class="ttdef"><b>Definition:</b> radar.h:80</div></div>
<div class="ttc" id="radar_8h_html_ac8d2e0e3fdc4f7507a9719c3cd4f3cff"><div class="ttname"><a href="../../d3/df5/radar_8h.html#ac8d2e0e3fdc4f7507a9719c3cd4f3cff">alwd_rnodes</a></div><div class="ttdeci">struct allowed_rnode * alwd_rnodes</div><div class="ttdef"><b>Definition:</b> radar.h:123</div></div>
<div class="ttc" id="structradar__queue_html_ae5677e293923e6f131088916870c5777"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#ae5677e293923e6f131088916870c5777">radar_queue::flags</a></div><div class="ttdeci">u_short flags</div><div class="ttdef"><b>Definition:</b> radar.h:71</div></div>
<div class="ttc" id="radar_8h_html_acd47f9c9ef5abc53446ae902daa6e1eb"><div class="ttname"><a href="../../d3/df5/radar_8h.html#acd47f9c9ef5abc53446ae902daa6e1eb">total_radar_scans</a></div><div class="ttdeci">int total_radar_scans</div><div class="ttdef"><b>Definition:</b> radar.h:41</div></div>
<div class="ttc" id="structradar__queue_html_af1b73255b83d16b6ddd96eae60d38767"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#af1b73255b83d16b6ddd96eae60d38767">radar_queue::ip</a></div><div class="ttdeci">inet_prefix ip</div><div class="ttdef"><b>Definition:</b> radar.h:63</div></div>
<div class="ttc" id="radar_8h_html_ac87ec2c357e722cc77948e2f4a133b03"><div class="ttname"><a href="../../d3/df5/radar_8h.html#ac87ec2c357e722cc77948e2f4a133b03">rnl_get_sk</a></div><div class="ttdeci">int rnl_get_sk(struct rnode_list *rnlist, map_node *node)</div><div class="ttdef"><b>Definition:</b> radar.c:394</div></div>
<div class="ttc" id="radar_8h_html_a5227b335b67dd5298d3764f732b422cd"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a5227b335b67dd5298d3764f732b422cd">rnl_get_rand_dev</a></div><div class="ttdeci">interface * rnl_get_rand_dev(struct rnode_list *rnlist, map_node *node)</div><div class="ttdef"><b>Definition:</b> radar.c:377</div></div>
<div class="ttc" id="structradar__queue_html_a1183958e583f14b57caa91475e89cbc6"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#a1183958e583f14b57caa91475e89cbc6">radar_queue::pings</a></div><div class="ttdeci">char pings</div><div class="ttdef"><b>Definition:</b> radar.h:73</div></div>
<div class="ttc" id="radar_8h_html_a913c9a7ef8bf9bba5d97dfc233e6e716"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a913c9a7ef8bf9bba5d97dfc233e6e716">max_radar_wait</a></div><div class="ttdeci">int max_radar_wait</div><div class="ttdef"><b>Definition:</b> radar.h:35</div></div>
<div class="ttc" id="radar_8h_html_a7a73bfef9b57006bbe0327107e991c74"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a7a73bfef9b57006bbe0327107e991c74">radard</a></div><div class="ttdeci">int radard(PACKET rpkt)</div><div class="ttdef"><b>Definition:</b> radar.c:1487</div></div>
<div class="ttc" id="structradar__queue_html_af7db9e0aba085c0c4a3d26b095ee1bda"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#af7db9e0aba085c0c4a3d26b095ee1bda">radar_queue::dev</a></div><div class="ttdeci">interface * dev[MAX_INTERFACES]</div><div class="ttdef"><b>Definition:</b> radar.h:64</div></div>
<div class="ttc" id="radar_8h_html_af02a5a423429d8a737973cfaaf292441"><div class="ttname"><a href="../../d3/df5/radar_8h.html#af02a5a423429d8a737973cfaaf292441">last_close_radar</a></div><div class="ttdeci">void last_close_radar(void)</div><div class="ttdef"><b>Definition:</b> radar.c:64</div></div>
<div class="ttc" id="radar_8h_html_ae963f95d136f0137497976a9130bb78e"><div class="ttname"><a href="../../d3/df5/radar_8h.html#ae963f95d136f0137497976a9130bb78e">scan_start</a></div><div class="ttdeci">struct timeval scan_start</div><div class="ttdef"><b>Definition:</b> radar.h:83</div></div>
<div class="ttc" id="structradar__queue_html_a5a55189ff4051f3239401e6a3f780504"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#a5a55189ff4051f3239401e6a3f780504">radar_queue::LLIST_HDR</a></div><div class="ttdeci">LLIST_HDR(struct radar_queue)</div></div>
<div class="ttc" id="radar_8h_html_a853c649d20714d3c62e6eff9223c7bdb"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a853c649d20714d3c62e6eff9223c7bdb">radar_q_counter</a></div><div class="ttdeci">int radar_q_counter</div><div class="ttdef"><b>Definition:</b> radar.h:81</div></div>
<div class="ttc" id="radar_8h_html_a313fa73e5d2e0f4dccc9ae5463c6d45a"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a313fa73e5d2e0f4dccc9ae5463c6d45a">radar_recv_reply</a></div><div class="ttdeci">int radar_recv_reply(PACKET pkt)</div><div class="ttdef"><b>Definition:</b> radar.c:1301</div></div>
<div class="ttc" id="structallowed__rnode_html_a9116b927f97775f39f89ba1c06acbc52"><div class="ttname"><a href="../../d8/dc1/structallowed__rnode.html#a9116b927f97775f39f89ba1c06acbc52">allowed_rnode::LLIST_HDR</a></div><div class="ttdeci">LLIST_HDR(struct allowed_rnode)</div></div>
<div class="ttc" id="structradar__queue_html_a8ba466426e43c7f99a37d85b2bd8e960"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#a8ba466426e43c7f99a37d85b2bd8e960">radar_queue::final_rtt</a></div><div class="ttdeci">struct timeval final_rtt</div><div class="ttdef"><b>Definition:</b> radar.h:76</div></div>
<div class="ttc" id="radar_8h_html_ae3b8bab989c1ef670eff868f080f4df7"><div class="ttname"><a href="../../d3/df5/radar_8h.html#ae3b8bab989c1ef670eff868f080f4df7">radar_wait_counter</a></div><div class="ttdeci">int radar_wait_counter</div><div class="ttdef"><b>Definition:</b> radar.h:36</div></div>
<div class="ttc" id="radar_8h_html_a53c4effb3e65bf66af71f5e2507d3f21"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a53c4effb3e65bf66af71f5e2507d3f21">radar_exec_reply</a></div><div class="ttdeci">int radar_exec_reply(PACKET pkt)</div><div class="ttdef"><b>Definition:</b> radar.c:1243</div></div>
<div class="ttc" id="radar_8h_html_aa786f479df279a40d9c7684b0e3ba65f"><div class="ttname"><a href="../../d3/df5/radar_8h.html#aa786f479df279a40d9c7684b0e3ba65f">total_radars</a></div><div class="ttdeci">int total_radars</div><div class="ttdef"><b>Definition:</b> radar.h:54</div></div>
<div class="ttc" id="structPACKET_html"><div class="ttname"><a href="../../d6/dbc/structPACKET.html">PACKET</a></div><div class="ttdef"><b>Definition:</b> pkts.h:118</div></div>
<div class="ttc" id="radar_8h_html_a260f15a87fd271e8fdc162d6320b9aeb"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a260f15a87fd271e8fdc162d6320b9aeb">close_radar</a></div><div class="ttdeci">void close_radar(void)</div><div class="ttdef"><b>Definition:</b> radar.c:84</div></div>
<div class="ttc" id="structradar__queue_html_a634448051148e1479b83de636018e0ed"><div class="ttname"><a href="../../d5/d80/structradar__queue.html#a634448051148e1479b83de636018e0ed">radar_queue::dev_n</a></div><div class="ttdeci">int dev_n</div><div class="ttdef"><b>Definition:</b> radar.h:67</div></div>
<div class="ttc" id="radar_8h_html_a7af513cd53e492b69510bc823c384abb"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a7af513cd53e492b69510bc823c384abb">rnl_reset</a></div><div class="ttdeci">void rnl_reset(struct rnode_list **rnlist, int *rnlist_counter)</div><div class="ttdef"><b>Definition:</b> radar.c:199</div></div>
<div class="ttc" id="radar_8h_html_a08ee60ba74ed7b174097fdcbf74fdd8f"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a08ee60ba74ed7b174097fdcbf74fdd8f">radar_scan_mutex</a></div><div class="ttdeci">int radar_scan_mutex</div><div class="ttdef"><b>Definition:</b> radar.h:43</div></div>
<div class="ttc" id="radar_8h_html_a593e03eb8b5f285712ad9bcc8f921d95"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a593e03eb8b5f285712ad9bcc8f921d95">radar_wait_new_scan</a></div><div class="ttdeci">void radar_wait_new_scan(void)</div><div class="ttdef"><b>Definition:</b> radar.c:1659</div></div>
<div class="ttc" id="radar_8h_html_a484da20a5b6f2a5a9c55d4d322b322e0"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a484da20a5b6f2a5a9c55d4d322b322e0">alwd_rnodes_counter</a></div><div class="ttdeci">int alwd_rnodes_counter</div><div class="ttdef"><b>Definition:</b> radar.h:124</div></div>
<div class="ttc" id="radar_8h_html_a94450b9b9f2e120fa2f592344ef66f80"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a94450b9b9f2e120fa2f592344ef66f80">first_init_radar</a></div><div class="ttdeci">void first_init_radar(void)</div><div class="ttdef"><b>Definition:</b> radar.c:46</div></div>
<div class="ttc" id="radar_8h_html_a6908f30023e15ac38b957dc8f3941f37"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a6908f30023e15ac38b957dc8f3941f37">radar_update_map</a></div><div class="ttdeci">void radar_update_map(void)</div><div class="ttdef"><b>Definition:</b> radar.c:877</div></div>
<div class="ttc" id="structallowed__rnode_html_a94e00093a2ac69dd230610b056c39e7b"><div class="ttname"><a href="../../d8/dc1/structallowed__rnode.html#a94e00093a2ac69dd230610b056c39e7b">allowed_rnode::gid</a></div><div class="ttdeci">u_int gid[MAX_LEVELS]</div><div class="ttdef"><b>Definition:</b> radar.h:121</div></div>
<div class="ttc" id="radar_8h_html_a50d24ca89ff6fd6a3f1d27559bab0225"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a50d24ca89ff6fd6a3f1d27559bab0225">hook_retry</a></div><div class="ttdeci">int hook_retry</div><div class="ttdef"><b>Definition:</b> radar.h:49</div></div>
<div class="ttc" id="radar_8h_html_a4f3cbc052113db064be57497d29341f4"><div class="ttname"><a href="../../d3/df5/radar_8h.html#a4f3cbc052113db064be57497d29341f4">radar_scans</a></div><div class="ttdeci">int radar_scans[MAX_INTERFACES]</div><div class="ttdef"><b>Definition:</b> radar.h:39</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="../../d3/df5/radar_8h.html">radar.h</a></li>
2014-02-20 00:30:40 +00:00
<li class="footer">Generated on Wed Feb 19 2014 16:28:40 for The Netsukuku Project by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>