netsukuku/d4/d43/request_8h_source.html

400 lines
79 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/request.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('d4/d43/request_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">request.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/d43/request_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 2005 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 REQUEST_H</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#define REQUEST_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"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/d08/misc_8h.html">misc.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#aca2b488c5f3c95dc5ae20d65552b948a"> 24</a></span>&#160;<span class="preprocessor">#define REQUEST_TIMEOUT 300 </span><span class="comment">/* The timeout in seconds for all the </span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> requests */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#ifdef DEBUG</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#undef REQUEST_TIMEOUT</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#define REQUEST_TIMEOUT 20</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * In this enum there are all the requests/replies op used by netsukuku </span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107"> 34</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107">pkt_op</a></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aea37ce645ea73ece4e13b1deace9cf25"> 36</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aea37ce645ea73ece4e13b1deace9cf25">ECHO_ME</a>, <span class="comment">/*The node requests to be echoed by the dst_node*/</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a3cdd95de65a9bddb27667ed4ebbb8e1d"> 37</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a3cdd95de65a9bddb27667ed4ebbb8e1d">ECHO_REPLY</a>, <span class="comment">/*Yep, this isn&#39;t really a reply*/</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a99e4480084a606fbb78d38e492d64415"> 38</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a99e4480084a606fbb78d38e492d64415">GET_FREE_NODES</a>, <span class="comment">/*it means: &lt;&lt;Get the list of free ips in your gnode, plz&gt;&gt;*/</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a0d68509c3cc944067834124902551ae7"> 39</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a0d68509c3cc944067834124902551ae7">GET_QSPN_ROUND</a>, <span class="comment">/*&lt;&lt;Yo, Gimme the qspn ids and qspn times&gt;&gt;*/</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a6e0a3c5e3e60cc42cf088d5307f293ee"> 41</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a6e0a3c5e3e60cc42cf088d5307f293ee">GET_INTERNET_GWS</a>, <span class="comment">/*Get Internet Gateways */</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ae67db4a2613b9bcfe1c56047eb7b86c1"> 42</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ae67db4a2613b9bcfe1c56047eb7b86c1">SET_FOREIGN_ROUTE</a>, <span class="comment">/* Set the route in the foreign groupnode */</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a7911296819a1076372f60ba5ee02a2cf"> 43</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a7911296819a1076372f60ba5ee02a2cf">DEL_FOREIGN_ROUTE</a>,</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a3c938df736062f7e78d58e619fe69403"> 44</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a3c938df736062f7e78d58e619fe69403">NEW_BACKROUTE</a>, <span class="comment">/*Tells the dst_node to use a different route to reply*/</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab517eea9723a7bcea26c90f4e3b5f788"> 45</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab517eea9723a7bcea26c90f4e3b5f788">DELAYED_BROADCAST</a>, <span class="comment">/*Broadcast packet to be spread only in the dst groupnode*/</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aa036c0b334c77b3aec494ef9361bcbb6"> 46</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aa036c0b334c77b3aec494ef9361bcbb6">SPLIT_ROUTE</a>, <span class="comment">/*This pkt advices the src_node to split the socket in two route*/</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ae24e294be1b56f08ae998e59ffc6b400"> 47</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ae24e294be1b56f08ae998e59ffc6b400">SET_NO_IDENTITY</a>, <span class="comment">/*Pkt that specify to the last node in the route to change </span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> the src ip of the future incoming pkts*/</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a2d2be1a706e017709063606c3ffd582e"> 50</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a2d2be1a706e017709063606c3ffd582e">QSPN_CLOSE</a>, <span class="comment">/*The qspn_pkt used to trace the entire g_node*/</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a72d48f331b3592fa66dc7d1a7bbd8b33"> 51</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a72d48f331b3592fa66dc7d1a7bbd8b33">QSPN_OPEN</a>, <span class="comment">/*The qspn_pkt sent by the extreme nodes*/</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a0d7b020cc54a4842f8e2aa968b13f82a"> 52</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a0d7b020cc54a4842f8e2aa968b13f82a">QSPN_RFR</a>, <span class="comment">/*RequestForRoute: This is used to get additional routes*/</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a21a901ef2ba95843c1622ae464fa0a29"> 53</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a21a901ef2ba95843c1622ae464fa0a29">GET_DNODEBLOCK</a> , <span class="comment">/* Not used. */</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a138923a5dead13375025d3152273faeb"> 54</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a138923a5dead13375025d3152273faeb">GET_DNODEIP</a>, <span class="comment">/* Not used. */</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a9d15a75b3e977ee1742cab93a340661c"> 55</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a9d15a75b3e977ee1742cab93a340661c">TRACER_PKT</a>, <span class="comment">/*A tracer pkt. This pkt is used mainly to send only a tracer pkt.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> Normally a bcast pkt is marked with the BCAST_TRACER_PKT flag.*/</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a7f73d5d39e6c6d2395c437585f712043"> 57</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a7f73d5d39e6c6d2395c437585f712043">TRACER_PKT_CONNECT</a>, <span class="comment">/*This is the tracer_pkt used to connect to the dst_node.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> In the first entry of the tcr_pkt there&#39;s the src node, in the</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> second the dst_node, the remaining are as usual*/</span></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"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ac42ee920d69af5eff8211555a751c545"> 61</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ac42ee920d69af5eff8211555a751c545">DEL_SNODE</a>, <span class="comment">/* Not used. */</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a080965ddff00e04667a45155093d77cc"> 62</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a080965ddff00e04667a45155093d77cc">DEL_GNODE</a>, <span class="comment">/* Not used. */</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107af5d19dba3b35b848c63fdb1eb58940f0"> 64</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107af5d19dba3b35b848c63fdb1eb58940f0">GET_INT_MAP</a>,</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107af07d299c2843aace4f0e9fde5ee03b3a"> 65</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107af07d299c2843aace4f0e9fde5ee03b3a">GET_EXT_MAP</a>,</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a1ac522d53a2da30a0f767f0bd73e8810"> 66</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a1ac522d53a2da30a0f767f0bd73e8810">GET_BNODE_MAP</a>,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a51b0010f09c702cea741caf5e1e2e0f1"> 68</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a51b0010f09c702cea741caf5e1e2e0f1">ANDNA_REGISTER_HNAME</a>,</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ac577ca614691c057f50456625f26108e"> 69</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ac577ca614691c057f50456625f26108e">ANDNA_CHECK_COUNTER</a>, <span class="comment">/* Check request for the counter node */</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a480015f72ee716f83250777777a50d65"> 70</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a480015f72ee716f83250777777a50d65">ANDNA_RESOLVE_HNAME</a>,</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a9f574d81cd1cb2ab976eb789c90b2ff1"> 71</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a9f574d81cd1cb2ab976eb789c90b2ff1">ANDNA_RESOLVE_IP</a>,</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a57e178d8b77ff4dddac6f727a5a9e6d6"> 72</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a57e178d8b77ff4dddac6f727a5a9e6d6">ANDNA_RESOLVE_MX</a>,</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a223036d91ab9e2d87e4211b0ec270dab"> 73</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a223036d91ab9e2d87e4211b0ec270dab">ANDNA_GET_ANDNA_CACHE</a>,</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107af0a0819a4626e7cca2102b87e0213ea1"> 74</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107af0a0819a4626e7cca2102b87e0213ea1">ANDNA_GET_SINGLE_ACACHE</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a041e44ce06280ba718a18174120f1d11"> 75</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a041e44ce06280ba718a18174120f1d11">ANDNA_SPREAD_SACACHE</a>, <span class="comment">/* Spread single andna_cache */</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a00cda706067c2aa011072bb4c633c480"> 76</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a00cda706067c2aa011072bb4c633c480">ANDNA_GET_COUNT_CACHE</a>,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">/* * * Replies * * */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a1afe5e7f2197d8739f21b14b826aa3e7"> 79</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a1afe5e7f2197d8739f21b14b826aa3e7">PUT_FREE_NODES</a>, <span class="comment">/*it means: &quot;Here it is the list of free ips in your gnode, cya&quot;*/</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab040e4cbf9bf0a95b5a02e38153a6238"> 80</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab040e4cbf9bf0a95b5a02e38153a6238">PUT_QSPN_ROUND</a>,</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a134cb1fc672fe493dcb7c32554c7ce44"> 81</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a134cb1fc672fe493dcb7c32554c7ce44">PUT_INTERNET_GWS</a>,</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a792375f6ae486309c0b2f37ecd728bfa"> 82</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a792375f6ae486309c0b2f37ecd728bfa">PUT_DNODEIP</a>,</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a4a31d78fc5c9be51b582c33ebfea9888"> 83</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a4a31d78fc5c9be51b582c33ebfea9888">EMPTY_REPLY_SLOT</a>,</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a8a9a80bb10e7de10d29c10ad3e459978"> 84</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a8a9a80bb10e7de10d29c10ad3e459978">EMPTY_REPLY_SLOT1</a>,</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aee70be02691c2fe723c277470d20be6d"> 85</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aee70be02691c2fe723c277470d20be6d">PUT_INT_MAP</a>,</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aa0ba476e2679022ab0e5118cc89fcd14"> 86</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aa0ba476e2679022ab0e5118cc89fcd14">PUT_EXT_MAP</a>,</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a103449e3f27a9cb353e4e6732c1128fd"> 87</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a103449e3f27a9cb353e4e6732c1128fd">PUT_BNODE_MAP</a>,</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a616fda25b1268551f4ba6fb7debd2e5a"> 88</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a616fda25b1268551f4ba6fb7debd2e5a">ANDNA_RESOLVE_REPLY</a>,</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab58c6c46f67672c025c906215ddda2a7"> 89</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab58c6c46f67672c025c906215ddda2a7">ANDNA_REV_RESOLVE_REPLY</a>,</div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aaa4e051ead8fb292eadbaa5923f80a61"> 90</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aaa4e051ead8fb292eadbaa5923f80a61">ANDNA_MX_RESOLVE_REPLY</a>,</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a155bc6bf324c2e2880a5ae8a6799b2bb"> 91</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a155bc6bf324c2e2880a5ae8a6799b2bb">ANDNA_PUT_COUNT_CACHE</a>,</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab4804a91adf44df9f72d2da18870e360"> 92</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab4804a91adf44df9f72d2da18870e360">ANDNA_PUT_ANDNA_CACHE</a>,</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">/*Acks*/</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a2784387957a7845aa04595adce13d2e6"> 95</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a2784387957a7845aa04595adce13d2e6">ACK_AFFERMATIVE</a>, <span class="comment">/*Ack affermative. Everything is fine.*/</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a31ab8c2e90d9086d9436ec05bb70f107"> 96</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a31ab8c2e90d9086d9436ec05bb70f107">ACK_NEGATIVE</a> <span class="comment">/*The request is rejected. The error is in the pkt&#39;s body.*/</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;};</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> * WARNING* Keep it up to date!! *WARNING *</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#abfe63755e353f7ff7520db9ad7a613f3"> 102</a></span>&#160;<span class="preprocessor">#define TOTAL_OPS (ACK_NEGATIVE+1)</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#ac99419302e6cbb845a08d57f21e9ec47"> 103</a></span>&#160;<span class="preprocessor">#define TOTAL_REQUESTS (ANDNA_GET_COUNT_CACHE+1)</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a41a079b9c8ff7d583af70464d4f69179"> 104</a></span>&#160;<span class="preprocessor">#define TOTAL_REPLIES (TOTAL_OPS-TOTAL_REQUESTS)</span></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"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971"> 106</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971">errors</a></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;{</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">/*Request errors*/</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971ac7eabfcaa6304926f5cd7f4862165bca"> 109</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971ac7eabfcaa6304926f5cd7f4862165bca">E_INVALID_REQUEST</a>,</div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a4ba06832496c438101de997af9b1517e"> 110</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a4ba06832496c438101de997af9b1517e">E_ACCEPT_TBL_FULL</a>,</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a2e556d7c67971e3675227237c4dfbf9b"> 111</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a2e556d7c67971e3675227237c4dfbf9b">E_REQUEST_TBL_FULL</a>,</div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971af65f2817c3b354c52d7628a00b5a189d"> 112</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971af65f2817c3b354c52d7628a00b5a189d">E_QGROUP_FULL</a>,</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a969a97b071e705f30b0085ce6f26f8b9"> 113</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a969a97b071e705f30b0085ce6f26f8b9">E_NTK_FULL</a>,</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971af2da5ae9bf6b01d6dbb1e65c93e22dba"> 114</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971af2da5ae9bf6b01d6dbb1e65c93e22dba">E_INVALID_SIGNATURE</a>,</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a210d63d4d8e64ef41e059be9da9bacaa"> 115</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a210d63d4d8e64ef41e059be9da9bacaa">E_CANNOT_FORWARD</a>,</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a2e106f4264bd8ec5a309bc5a951d75bc"> 117</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a2e106f4264bd8ec5a309bc5a951d75bc">E_ANDNA_WRONG_HASH_GNODE</a>,</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a6ffca32eb0c654090db35e88e86405b6"> 118</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a6ffca32eb0c654090db35e88e86405b6">E_ANDNA_QUEUE_FULL</a>,</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a58d1161a727915966048eace72002af3"> 119</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a58d1161a727915966048eace72002af3">E_ANDNA_UPDATE_TOO_EARLY</a>,</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a61099dc7e015141c8e3d88c885090f5c"> 120</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a61099dc7e015141c8e3d88c885090f5c">E_ANDNA_TOO_MANY_HNAME</a>,</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a37a1bb18ce0021ba8081435be6013a57"> 121</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a37a1bb18ce0021ba8081435be6013a57">E_ANDNA_HUPDATE_MISMATCH</a>,</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a31702de0ec31c41dbb162b258b6ca331"> 122</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a31702de0ec31c41dbb162b258b6ca331">E_ANDNA_NO_HNAME</a>,</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a5ee5d09d0face8b34fe45444af8ea083"> 123</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a5ee5d09d0face8b34fe45444af8ea083">E_ANDNA_CHECK_COUNTER</a>,</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a0d1c553919756af06ae8d20b522a69e4"> 125</a></span>&#160; <a class="code" href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a0d1c553919756af06ae8d20b522a69e4">E_TOO_MANY_CONN</a></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;};</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a629cf1053368adceba5b664ae3d195f4"> 127</a></span>&#160;<span class="preprocessor">#define TOTAL_ERRORS (E_TOO_MANY_CONN+1)</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment">/* </span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> * Request_table: It prevents requests flood and it is used in each connection.</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> * Each element of the &quot;rq&quot; array corresponds to a request; it (the element)</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> * keeps the number of requests served. If this number is equal</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> * to [REQUEST]_MAXRQ, the maximum of simultaneous requests is reached.</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> * </span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> * Each element in rq_wait corresponds to a single request so it is formed by:</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> * { [REQUEST 0]_MAXRQ elements | [REQUEST 1]_MAXRQ elements | ... };</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> * rq_wait_idx keeps track of this but it must be initialized once with</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> * rq_wait_idx_init().</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> * Each element of rq_wait keeps the time when that request arrived. </span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> * When the current time is &gt;= [REQUEST]_WAIT+rq_wait, a new request is </span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> * available and the corresponding request counter in &quot;rq&quot; is decremented. </span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a00eeb5db250c597721b98a83437c4c91"> 144</a></span>&#160;<span class="preprocessor">#define TOTAL_MAXRQ 31</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="../../d5/dc9/structrequest__tbl.html"> 145</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d5/dc9/structrequest__tbl.html">request_tbl</a></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;{</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="../../d5/dc9/structrequest__tbl.html#adeebadd864cc5a0b0dbda07670119077"> 147</a></span>&#160; u_char <a class="code" href="../../d5/dc9/structrequest__tbl.html#adeebadd864cc5a0b0dbda07670119077">rq</a>[<a class="code" href="../../d4/d43/request_8h.html#ac99419302e6cbb845a08d57f21e9ec47">TOTAL_REQUESTS</a>];</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="../../d5/dc9/structrequest__tbl.html#afa9de68542b75e94a5d6189fb246a87e"> 148</a></span>&#160; time_t <a class="code" href="../../d5/dc9/structrequest__tbl.html#afa9de68542b75e94a5d6189fb246a87e">rq_wait</a>[<a class="code" href="../../d4/d43/request_8h.html#a00eeb5db250c597721b98a83437c4c91">TOTAL_MAXRQ</a>];</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;};</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a906be08963b31f6f8cdba27d4b7fdda9"> 150</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="../../d5/dc9/structrequest__tbl.html">request_tbl</a> <a class="code" href="../../d5/dc9/structrequest__tbl.html">rq_tbl</a>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a6b0ebcc9168ba9f86f1f369367711532"> 152</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d4/d43/request_8h.html#a6b0ebcc9168ba9f86f1f369367711532">rq_wait_idx</a>[<a class="code" href="../../d4/d43/request_8h.html#ac99419302e6cbb845a08d57f21e9ec47">TOTAL_REQUESTS</a>];</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#ac8c1d73c465f14a172216e4e01e8a03e"> 154</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d4/d43/request_8h.html#ac8c1d73c465f14a172216e4e01e8a03e">update_rq_tbl_mutex</a>;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment">/* </span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> * Each bit of this array corresponds to a request or a reply. If the bit is </span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> * set, the request or reply will be dropped, otherwise it will be executed by</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> * pkts.c/pkt_exec().</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a03b605a3fb62a341e4af3008502a1b1a"> 161</a></span>&#160;<span class="keywordtype">char</span> <a class="code" href="../../d4/d43/request_8h.html#a03b605a3fb62a341e4af3008502a1b1a">filtered_op</a>[<a class="code" href="../../d4/d43/request_8h.html#abfe63755e353f7ff7520db9ad7a613f3">TOTAL_OPS</a>&gt;&gt;3];</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#ad554bfb8b7b3da8471a053c78e21557a"> 162</a></span>&#160;<span class="preprocessor">#define OP_FILTER_DROP 1</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a4c54dfd34cda998e80298a2223660504"> 163</a></span>&#160;<span class="preprocessor">#define OP_FILTER_ALLOW 0</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a683a83612a7ad91daa2f0926a5473127"> 164</a></span>&#160;<span class="preprocessor">#define op_filter_set(op) SET_BIT(filtered_op, (op))</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a1d6bdf9dcc34258e48eb8bfa465809ac"> 165</a></span>&#160;<span class="preprocessor">#define op_filter_clr(op) CLR_BIT(filtered_op, (op))</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a6c2040c66dff40f5c95d61c0b90db95f"> 166</a></span>&#160;<span class="preprocessor">#define op_filter_test(op) TEST_BIT(filtered_op, (op))</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a0bb136a1ebec338c3515d171e6c6219b"> 167</a></span>&#160;<span class="preprocessor">#define op_filter_reset(bit) memset(filtered_op, (bit), sizeof(filtered_op))</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment">/* </span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> * Functions declaration starts here</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/d43/request_8h.html#a43ba696577eb934d9e86635b5f57e6e1">rq_wait_idx_init</a>(<span class="keywordtype">int</span> *<a class="code" href="../../d4/d43/request_8h.html#a6b0ebcc9168ba9f86f1f369367711532">rq_wait_idx</a>);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="keyword">const</span> u_char *<a class="code" href="../../d4/d43/request_8h.html#a1026a80f12ff3079f0a38299ebb89fa9">rq_strerror</a>(<span class="keywordtype">int</span> err);</div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="../../d4/d43/request_8h.html#a1848d8787505bf2fd4abc69d8f42e2c6"> 175</a></span>&#160;<span class="preprocessor">#define re_strerror(err) (rq_strerror((err)))</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="keyword">const</span> u_char *<a class="code" href="../../d4/d43/request_8h.html#a9faf34ea59b2146380a56187bbe05354">re_to_str</a>(u_char re);</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="keyword">const</span> u_char *<a class="code" href="../../d4/d43/request_8h.html#a4aca83ccc74c4eff6241751a0cdfc404">rq_to_str</a>(u_char <a class="code" href="../../d5/dc9/structrequest__tbl.html#adeebadd864cc5a0b0dbda07670119077">rq</a>);</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d4/d43/request_8h.html#a179ac58c44a0b205ff1c09dd60e07411">op_verify</a>(u_char );</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d4/d43/request_8h.html#a8f05f0ec29bcc108c3ffb16b2256ce11">rq_verify</a>(u_char );</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d4/d43/request_8h.html#ae4be5f705d8865a029a9d1a4cf33e6c7">re_verify</a>(u_char );</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/d43/request_8h.html#ac337220fd956cc0d322fabcab4727d9e">update_rq_tbl</a>(<a class="code" href="../../d5/dc9/structrequest__tbl.html">rq_tbl</a> *);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d4/d43/request_8h.html#a232f25572eb06bc9facb53a9fa59f900">is_rq_full</a>(u_char , <a class="code" href="../../d5/dc9/structrequest__tbl.html">rq_tbl</a> *);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d4/d43/request_8h.html#ad75a467860f208c15c5fe0aaadff144c">find_free_rq_wait</a>(u_char , <a class="code" href="../../d5/dc9/structrequest__tbl.html">rq_tbl</a> *);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d4/d43/request_8h.html#a5fc8cfc8e378aadc7c5e1da43788ae1e">add_rq</a>(u_char , <a class="code" href="../../d5/dc9/structrequest__tbl.html">rq_tbl</a> *);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/d43/request_8h.html#aa6ee836d53663f81b7753e13c2395be2">op_filter_reset_re</a>(<span class="keywordtype">int</span> bit);</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/d43/request_8h.html#a7b36087d5c2dcdec97cb442fe090b6bf">op_filter_reset_rq</a>(<span class="keywordtype">int</span> bit);</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/*REQUEST_H*/</span><span class="preprocessor"></span></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a6ffca32eb0c654090db35e88e86405b6"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a6ffca32eb0c654090db35e88e86405b6">E_ANDNA_QUEUE_FULL</a></div><div class="ttdef"><b>Definition:</b> request.h:118</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107aa036c0b334c77b3aec494ef9361bcbb6"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aa036c0b334c77b3aec494ef9361bcbb6">SPLIT_ROUTE</a></div><div class="ttdef"><b>Definition:</b> request.h:46</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a2e556d7c67971e3675227237c4dfbf9b"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a2e556d7c67971e3675227237c4dfbf9b">E_REQUEST_TBL_FULL</a></div><div class="ttdef"><b>Definition:</b> request.h:111</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a080965ddff00e04667a45155093d77cc"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a080965ddff00e04667a45155093d77cc">DEL_GNODE</a></div><div class="ttdef"><b>Definition:</b> request.h:62</div></div>
<div class="ttc" id="misc_8h_html"><div class="ttname"><a href="../../d4/d08/misc_8h.html">misc.h</a></div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a99e4480084a606fbb78d38e492d64415"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a99e4480084a606fbb78d38e492d64415">GET_FREE_NODES</a></div><div class="ttdef"><b>Definition:</b> request.h:38</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107ab58c6c46f67672c025c906215ddda2a7"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab58c6c46f67672c025c906215ddda2a7">ANDNA_REV_RESOLVE_REPLY</a></div><div class="ttdef"><b>Definition:</b> request.h:89</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a4ba06832496c438101de997af9b1517e"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a4ba06832496c438101de997af9b1517e">E_ACCEPT_TBL_FULL</a></div><div class="ttdef"><b>Definition:</b> request.h:110</div></div>
<div class="ttc" id="structrequest__tbl_html_adeebadd864cc5a0b0dbda07670119077"><div class="ttname"><a href="../../d5/dc9/structrequest__tbl.html#adeebadd864cc5a0b0dbda07670119077">request_tbl::rq</a></div><div class="ttdeci">u_char rq[(ANDNA_GET_COUNT_CACHE+1)]</div><div class="ttdef"><b>Definition:</b> request.h:147</div></div>
<div class="ttc" id="request_8h_html_ac99419302e6cbb845a08d57f21e9ec47"><div class="ttname"><a href="../../d4/d43/request_8h.html#ac99419302e6cbb845a08d57f21e9ec47">TOTAL_REQUESTS</a></div><div class="ttdeci">#define TOTAL_REQUESTS</div><div class="ttdef"><b>Definition:</b> request.h:103</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107ae67db4a2613b9bcfe1c56047eb7b86c1"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ae67db4a2613b9bcfe1c56047eb7b86c1">SET_FOREIGN_ROUTE</a></div><div class="ttdef"><b>Definition:</b> request.h:42</div></div>
<div class="ttc" id="request_8h_html_a179ac58c44a0b205ff1c09dd60e07411"><div class="ttname"><a href="../../d4/d43/request_8h.html#a179ac58c44a0b205ff1c09dd60e07411">op_verify</a></div><div class="ttdeci">int op_verify(u_char)</div><div class="ttdef"><b>Definition:</b> request.c:240</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a5ee5d09d0face8b34fe45444af8ea083"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a5ee5d09d0face8b34fe45444af8ea083">E_ANDNA_CHECK_COUNTER</a></div><div class="ttdef"><b>Definition:</b> request.h:123</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971af65f2817c3b354c52d7628a00b5a189d"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971af65f2817c3b354c52d7628a00b5a189d">E_QGROUP_FULL</a></div><div class="ttdef"><b>Definition:</b> request.h:112</div></div>
<div class="ttc" id="request_8h_html_ad75a467860f208c15c5fe0aaadff144c"><div class="ttname"><a href="../../d4/d43/request_8h.html#ad75a467860f208c15c5fe0aaadff144c">find_free_rq_wait</a></div><div class="ttdeci">int find_free_rq_wait(u_char, rq_tbl *)</div><div class="ttdef"><b>Definition:</b> request.c:323</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a103449e3f27a9cb353e4e6732c1128fd"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a103449e3f27a9cb353e4e6732c1128fd">PUT_BNODE_MAP</a></div><div class="ttdef"><b>Definition:</b> request.h:87</div></div>
<div class="ttc" id="structrequest__tbl_html"><div class="ttname"><a href="../../d5/dc9/structrequest__tbl.html">request_tbl</a></div><div class="ttdef"><b>Definition:</b> request.h:145</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a0d7b020cc54a4842f8e2aa968b13f82a"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a0d7b020cc54a4842f8e2aa968b13f82a">QSPN_RFR</a></div><div class="ttdef"><b>Definition:</b> request.h:52</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a51b0010f09c702cea741caf5e1e2e0f1"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a51b0010f09c702cea741caf5e1e2e0f1">ANDNA_REGISTER_HNAME</a></div><div class="ttdef"><b>Definition:</b> request.h:68</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a138923a5dead13375025d3152273faeb"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a138923a5dead13375025d3152273faeb">GET_DNODEIP</a></div><div class="ttdef"><b>Definition:</b> request.h:54</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a7f73d5d39e6c6d2395c437585f712043"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a7f73d5d39e6c6d2395c437585f712043">TRACER_PKT_CONNECT</a></div><div class="ttdef"><b>Definition:</b> request.h:57</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a58d1161a727915966048eace72002af3"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a58d1161a727915966048eace72002af3">E_ANDNA_UPDATE_TOO_EARLY</a></div><div class="ttdef"><b>Definition:</b> request.h:119</div></div>
<div class="ttc" id="request_8h_html_a43ba696577eb934d9e86635b5f57e6e1"><div class="ttname"><a href="../../d4/d43/request_8h.html#a43ba696577eb934d9e86635b5f57e6e1">rq_wait_idx_init</a></div><div class="ttdeci">void rq_wait_idx_init(int *rq_wait_idx)</div><div class="ttdef"><b>Definition:</b> request.c:230</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a223036d91ab9e2d87e4211b0ec270dab"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a223036d91ab9e2d87e4211b0ec270dab">ANDNA_GET_ANDNA_CACHE</a></div><div class="ttdef"><b>Definition:</b> request.h:73</div></div>
<div class="ttc" id="request_8h_html_ac337220fd956cc0d322fabcab4727d9e"><div class="ttname"><a href="../../d4/d43/request_8h.html#ac337220fd956cc0d322fabcab4727d9e">update_rq_tbl</a></div><div class="ttdeci">void update_rq_tbl(rq_tbl *)</div><div class="ttdef"><b>Definition:</b> request.c:281</div></div>
<div class="ttc" id="request_8h_html_a8f05f0ec29bcc108c3ffb16b2256ce11"><div class="ttname"><a href="../../d4/d43/request_8h.html#a8f05f0ec29bcc108c3ffb16b2256ce11">rq_verify</a></div><div class="ttdeci">int rq_verify(u_char)</div><div class="ttdef"><b>Definition:</b> request.c:245</div></div>
<div class="ttc" id="request_8h_html_a4aca83ccc74c4eff6241751a0cdfc404"><div class="ttname"><a href="../../d4/d43/request_8h.html#a4aca83ccc74c4eff6241751a0cdfc404">rq_to_str</a></div><div class="ttdeci">const u_char * rq_to_str(u_char rq)</div><div class="ttdef"><b>Definition:</b> request.c:267</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107ac42ee920d69af5eff8211555a751c545"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ac42ee920d69af5eff8211555a751c545">DEL_SNODE</a></div><div class="ttdef"><b>Definition:</b> request.h:61</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a0d68509c3cc944067834124902551ae7"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a0d68509c3cc944067834124902551ae7">GET_QSPN_ROUND</a></div><div class="ttdef"><b>Definition:</b> request.h:39</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107aea37ce645ea73ece4e13b1deace9cf25"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aea37ce645ea73ece4e13b1deace9cf25">ECHO_ME</a></div><div class="ttdef"><b>Definition:</b> request.h:36</div></div>
<div class="ttc" id="request_8h_html_aa6ee836d53663f81b7753e13c2395be2"><div class="ttname"><a href="../../d4/d43/request_8h.html#aa6ee836d53663f81b7753e13c2395be2">op_filter_reset_re</a></div><div class="ttdeci">void op_filter_reset_re(int bit)</div><div class="ttdef"><b>Definition:</b> request.c:360</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a61099dc7e015141c8e3d88c885090f5c"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a61099dc7e015141c8e3d88c885090f5c">E_ANDNA_TOO_MANY_HNAME</a></div><div class="ttdef"><b>Definition:</b> request.h:120</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a792375f6ae486309c0b2f37ecd728bfa"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a792375f6ae486309c0b2f37ecd728bfa">PUT_DNODEIP</a></div><div class="ttdef"><b>Definition:</b> request.h:82</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107aa0ba476e2679022ab0e5118cc89fcd14"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aa0ba476e2679022ab0e5118cc89fcd14">PUT_EXT_MAP</a></div><div class="ttdef"><b>Definition:</b> request.h:86</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a9f574d81cd1cb2ab976eb789c90b2ff1"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a9f574d81cd1cb2ab976eb789c90b2ff1">ANDNA_RESOLVE_IP</a></div><div class="ttdef"><b>Definition:</b> request.h:71</div></div>
<div class="ttc" id="request_8h_html_a7b36087d5c2dcdec97cb442fe090b6bf"><div class="ttname"><a href="../../d4/d43/request_8h.html#a7b36087d5c2dcdec97cb442fe090b6bf">op_filter_reset_rq</a></div><div class="ttdeci">void op_filter_reset_rq(int bit)</div><div class="ttdef"><b>Definition:</b> request.c:373</div></div>
<div class="ttc" id="request_8h_html_abfe63755e353f7ff7520db9ad7a613f3"><div class="ttname"><a href="../../d4/d43/request_8h.html#abfe63755e353f7ff7520db9ad7a613f3">TOTAL_OPS</a></div><div class="ttdeci">#define TOTAL_OPS</div><div class="ttdef"><b>Definition:</b> request.h:102</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107ab517eea9723a7bcea26c90f4e3b5f788"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab517eea9723a7bcea26c90f4e3b5f788">DELAYED_BROADCAST</a></div><div class="ttdef"><b>Definition:</b> request.h:45</div></div>
<div class="ttc" id="request_8h_html_a6b0ebcc9168ba9f86f1f369367711532"><div class="ttname"><a href="../../d4/d43/request_8h.html#a6b0ebcc9168ba9f86f1f369367711532">rq_wait_idx</a></div><div class="ttdeci">int rq_wait_idx[(ANDNA_GET_COUNT_CACHE+1)]</div><div class="ttdef"><b>Definition:</b> request.h:152</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a2d2be1a706e017709063606c3ffd582e"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a2d2be1a706e017709063606c3ffd582e">QSPN_CLOSE</a></div><div class="ttdef"><b>Definition:</b> request.h:50</div></div>
<div class="ttc" id="request_8h_html_ae4be5f705d8865a029a9d1a4cf33e6c7"><div class="ttname"><a href="../../d4/d43/request_8h.html#ae4be5f705d8865a029a9d1a4cf33e6c7">re_verify</a></div><div class="ttdeci">int re_verify(u_char)</div><div class="ttdef"><b>Definition:</b> request.c:250</div></div>
<div class="ttc" id="request_8h_html_ac8c1d73c465f14a172216e4e01e8a03e"><div class="ttname"><a href="../../d4/d43/request_8h.html#ac8c1d73c465f14a172216e4e01e8a03e">update_rq_tbl_mutex</a></div><div class="ttdeci">int update_rq_tbl_mutex</div><div class="ttdef"><b>Definition:</b> request.h:154</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a9d15a75b3e977ee1742cab93a340661c"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a9d15a75b3e977ee1742cab93a340661c">TRACER_PKT</a></div><div class="ttdef"><b>Definition:</b> request.h:55</div></div>
<div class="ttc" id="request_8h_html_a00eeb5db250c597721b98a83437c4c91"><div class="ttname"><a href="../../d4/d43/request_8h.html#a00eeb5db250c597721b98a83437c4c91">TOTAL_MAXRQ</a></div><div class="ttdeci">#define TOTAL_MAXRQ</div><div class="ttdef"><b>Definition:</b> request.h:144</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a6e0a3c5e3e60cc42cf088d5307f293ee"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a6e0a3c5e3e60cc42cf088d5307f293ee">GET_INTERNET_GWS</a></div><div class="ttdef"><b>Definition:</b> request.h:41</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107ae24e294be1b56f08ae998e59ffc6b400"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ae24e294be1b56f08ae998e59ffc6b400">SET_NO_IDENTITY</a></div><div class="ttdef"><b>Definition:</b> request.h:47</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107ac577ca614691c057f50456625f26108e"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ac577ca614691c057f50456625f26108e">ANDNA_CHECK_COUNTER</a></div><div class="ttdef"><b>Definition:</b> request.h:69</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107">pkt_op</a></div><div class="ttdeci">pkt_op</div><div class="ttdef"><b>Definition:</b> request.h:34</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a2e106f4264bd8ec5a309bc5a951d75bc"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a2e106f4264bd8ec5a309bc5a951d75bc">E_ANDNA_WRONG_HASH_GNODE</a></div><div class="ttdef"><b>Definition:</b> request.h:117</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107aaa4e051ead8fb292eadbaa5923f80a61"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aaa4e051ead8fb292eadbaa5923f80a61">ANDNA_MX_RESOLVE_REPLY</a></div><div class="ttdef"><b>Definition:</b> request.h:90</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a1afe5e7f2197d8739f21b14b826aa3e7"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a1afe5e7f2197d8739f21b14b826aa3e7">PUT_FREE_NODES</a></div><div class="ttdef"><b>Definition:</b> request.h:79</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a57e178d8b77ff4dddac6f727a5a9e6d6"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a57e178d8b77ff4dddac6f727a5a9e6d6">ANDNA_RESOLVE_MX</a></div><div class="ttdef"><b>Definition:</b> request.h:72</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107af0a0819a4626e7cca2102b87e0213ea1"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107af0a0819a4626e7cca2102b87e0213ea1">ANDNA_GET_SINGLE_ACACHE</a></div><div class="ttdef"><b>Definition:</b> request.h:74</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a969a97b071e705f30b0085ce6f26f8b9"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a969a97b071e705f30b0085ce6f26f8b9">E_NTK_FULL</a></div><div class="ttdef"><b>Definition:</b> request.h:113</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107af07d299c2843aace4f0e9fde5ee03b3a"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107af07d299c2843aace4f0e9fde5ee03b3a">GET_EXT_MAP</a></div><div class="ttdef"><b>Definition:</b> request.h:65</div></div>
<div class="ttc" id="request_8h_html_a9faf34ea59b2146380a56187bbe05354"><div class="ttname"><a href="../../d4/d43/request_8h.html#a9faf34ea59b2146380a56187bbe05354">re_to_str</a></div><div class="ttdeci">const u_char * re_to_str(u_char re)</div><div class="ttdef"><b>Definition:</b> request.c:274</div></div>
<div class="ttc" id="structrequest__tbl_html_afa9de68542b75e94a5d6189fb246a87e"><div class="ttname"><a href="../../d5/dc9/structrequest__tbl.html#afa9de68542b75e94a5d6189fb246a87e">request_tbl::rq_wait</a></div><div class="ttdeci">time_t rq_wait[31]</div><div class="ttdef"><b>Definition:</b> request.h:148</div></div>
<div class="ttc" id="request_8h_html_a1026a80f12ff3079f0a38299ebb89fa9"><div class="ttname"><a href="../../d4/d43/request_8h.html#a1026a80f12ff3079f0a38299ebb89fa9">rq_strerror</a></div><div class="ttdeci">const u_char * rq_strerror(int err)</div><div class="ttdef"><b>Definition:</b> request.c:260</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107aee70be02691c2fe723c277470d20be6d"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107aee70be02691c2fe723c277470d20be6d">PUT_INT_MAP</a></div><div class="ttdef"><b>Definition:</b> request.h:85</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a041e44ce06280ba718a18174120f1d11"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a041e44ce06280ba718a18174120f1d11">ANDNA_SPREAD_SACACHE</a></div><div class="ttdef"><b>Definition:</b> request.h:75</div></div>
<div class="ttc" id="request_8h_html_a5fc8cfc8e378aadc7c5e1da43788ae1e"><div class="ttname"><a href="../../d4/d43/request_8h.html#a5fc8cfc8e378aadc7c5e1da43788ae1e">add_rq</a></div><div class="ttdeci">int add_rq(u_char, rq_tbl *)</div><div class="ttdef"><b>Definition:</b> request.c:336</div></div>
<div class="ttc" id="request_8h_html_a232f25572eb06bc9facb53a9fa59f900"><div class="ttname"><a href="../../d4/d43/request_8h.html#a232f25572eb06bc9facb53a9fa59f900">is_rq_full</a></div><div class="ttdeci">int is_rq_full(u_char, rq_tbl *)</div><div class="ttdef"><b>Definition:</b> request.c:306</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107af5d19dba3b35b848c63fdb1eb58940f0"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107af5d19dba3b35b848c63fdb1eb58940f0">GET_INT_MAP</a></div><div class="ttdef"><b>Definition:</b> request.h:64</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a00cda706067c2aa011072bb4c633c480"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a00cda706067c2aa011072bb4c633c480">ANDNA_GET_COUNT_CACHE</a></div><div class="ttdef"><b>Definition:</b> request.h:76</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a155bc6bf324c2e2880a5ae8a6799b2bb"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a155bc6bf324c2e2880a5ae8a6799b2bb">ANDNA_PUT_COUNT_CACHE</a></div><div class="ttdef"><b>Definition:</b> request.h:91</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a72d48f331b3592fa66dc7d1a7bbd8b33"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a72d48f331b3592fa66dc7d1a7bbd8b33">QSPN_OPEN</a></div><div class="ttdef"><b>Definition:</b> request.h:51</div></div>
<div class="ttc" id="request_8h_html_a03b605a3fb62a341e4af3008502a1b1a"><div class="ttname"><a href="../../d4/d43/request_8h.html#a03b605a3fb62a341e4af3008502a1b1a">filtered_op</a></div><div class="ttdeci">char filtered_op[(ACK_NEGATIVE+1) &gt;&gt;3]</div><div class="ttdef"><b>Definition:</b> request.h:161</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a4a31d78fc5c9be51b582c33ebfea9888"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a4a31d78fc5c9be51b582c33ebfea9888">EMPTY_REPLY_SLOT</a></div><div class="ttdef"><b>Definition:</b> request.h:83</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a1ac522d53a2da30a0f767f0bd73e8810"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a1ac522d53a2da30a0f767f0bd73e8810">GET_BNODE_MAP</a></div><div class="ttdef"><b>Definition:</b> request.h:66</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a3cdd95de65a9bddb27667ed4ebbb8e1d"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a3cdd95de65a9bddb27667ed4ebbb8e1d">ECHO_REPLY</a></div><div class="ttdef"><b>Definition:</b> request.h:37</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971ac7eabfcaa6304926f5cd7f4862165bca"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971ac7eabfcaa6304926f5cd7f4862165bca">E_INVALID_REQUEST</a></div><div class="ttdef"><b>Definition:</b> request.h:109</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107ab4804a91adf44df9f72d2da18870e360"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab4804a91adf44df9f72d2da18870e360">ANDNA_PUT_ANDNA_CACHE</a></div><div class="ttdef"><b>Definition:</b> request.h:92</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a134cb1fc672fe493dcb7c32554c7ce44"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a134cb1fc672fe493dcb7c32554c7ce44">PUT_INTERNET_GWS</a></div><div class="ttdef"><b>Definition:</b> request.h:81</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a31702de0ec31c41dbb162b258b6ca331"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a31702de0ec31c41dbb162b258b6ca331">E_ANDNA_NO_HNAME</a></div><div class="ttdef"><b>Definition:</b> request.h:122</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a2784387957a7845aa04595adce13d2e6"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a2784387957a7845aa04595adce13d2e6">ACK_AFFERMATIVE</a></div><div class="ttdef"><b>Definition:</b> request.h:95</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107ab040e4cbf9bf0a95b5a02e38153a6238"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107ab040e4cbf9bf0a95b5a02e38153a6238">PUT_QSPN_ROUND</a></div><div class="ttdef"><b>Definition:</b> request.h:80</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a616fda25b1268551f4ba6fb7debd2e5a"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a616fda25b1268551f4ba6fb7debd2e5a">ANDNA_RESOLVE_REPLY</a></div><div class="ttdef"><b>Definition:</b> request.h:88</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971af2da5ae9bf6b01d6dbb1e65c93e22dba"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971af2da5ae9bf6b01d6dbb1e65c93e22dba">E_INVALID_SIGNATURE</a></div><div class="ttdef"><b>Definition:</b> request.h:114</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a8a9a80bb10e7de10d29c10ad3e459978"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a8a9a80bb10e7de10d29c10ad3e459978">EMPTY_REPLY_SLOT1</a></div><div class="ttdef"><b>Definition:</b> request.h:84</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a37a1bb18ce0021ba8081435be6013a57"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a37a1bb18ce0021ba8081435be6013a57">E_ANDNA_HUPDATE_MISMATCH</a></div><div class="ttdef"><b>Definition:</b> request.h:121</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a480015f72ee716f83250777777a50d65"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a480015f72ee716f83250777777a50d65">ANDNA_RESOLVE_HNAME</a></div><div class="ttdef"><b>Definition:</b> request.h:70</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a0d1c553919756af06ae8d20b522a69e4"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a0d1c553919756af06ae8d20b522a69e4">E_TOO_MANY_CONN</a></div><div class="ttdef"><b>Definition:</b> request.h:125</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971">errors</a></div><div class="ttdeci">errors</div><div class="ttdef"><b>Definition:</b> request.h:106</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a7911296819a1076372f60ba5ee02a2cf"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a7911296819a1076372f60ba5ee02a2cf">DEL_FOREIGN_ROUTE</a></div><div class="ttdef"><b>Definition:</b> request.h:43</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a3c938df736062f7e78d58e619fe69403"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a3c938df736062f7e78d58e619fe69403">NEW_BACKROUTE</a></div><div class="ttdef"><b>Definition:</b> request.h:44</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a31ab8c2e90d9086d9436ec05bb70f107"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a31ab8c2e90d9086d9436ec05bb70f107">ACK_NEGATIVE</a></div><div class="ttdef"><b>Definition:</b> request.h:96</div></div>
<div class="ttc" id="request_8h_html_adb6ce8f92ae1a7823b99fb0430cc3107a21a901ef2ba95843c1622ae464fa0a29"><div class="ttname"><a href="../../d4/d43/request_8h.html#adb6ce8f92ae1a7823b99fb0430cc3107a21a901ef2ba95843c1622ae464fa0a29">GET_DNODEBLOCK</a></div><div class="ttdef"><b>Definition:</b> request.h:53</div></div>
<div class="ttc" id="request_8h_html_acc42076253600be964e110149b458971a210d63d4d8e64ef41e059be9da9bacaa"><div class="ttname"><a href="../../d4/d43/request_8h.html#acc42076253600be964e110149b458971a210d63d4d8e64ef41e059be9da9bacaa">E_CANNOT_FORWARD</a></div><div class="ttdef"><b>Definition:</b> request.h:115</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="../../d4/d43/request_8h.html">request.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>