netsukuku/d5/da4/libnetlink_8h_source.html

209 lines
32 KiB
HTML
Raw Permalink 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/libnetlink.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('d5/da4/libnetlink_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">libnetlink.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d5/da4/libnetlink_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="preprocessor">#ifndef __LIBNETLINK_H__</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define __LIBNETLINK_H__ 1</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;asm/types.h&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;linux/netlink.h&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &lt;linux/rtnetlink.h&gt;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="../../d2/dee/structrtnl__handle.html"> 8</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;{</div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="../../d2/dee/structrtnl__handle.html#a58397dc05569f5250b2bde1e40d2ddd2"> 10</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d2/dee/structrtnl__handle.html#a58397dc05569f5250b2bde1e40d2ddd2">fd</a>;</div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="../../d2/dee/structrtnl__handle.html#a81dab3b60ac522e1b1809c4992288683"> 11</a></span>&#160; <span class="keyword">struct </span>sockaddr_nl <a class="code" href="../../d2/dee/structrtnl__handle.html#a81dab3b60ac522e1b1809c4992288683">local</a>;</div>
<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="../../d2/dee/structrtnl__handle.html#a49058d3b4fe126767d4de747980588a1"> 12</a></span>&#160; <span class="keyword">struct </span>sockaddr_nl <a class="code" href="../../d2/dee/structrtnl__handle.html#a49058d3b4fe126767d4de747980588a1">peer</a>;</div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="../../d2/dee/structrtnl__handle.html#a7529e3e6f9cc11849f82d82176087a34"> 13</a></span>&#160; uint32_t <a class="code" href="../../d2/dee/structrtnl__handle.html#a7529e3e6f9cc11849f82d82176087a34">seq</a>;</div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="../../d2/dee/structrtnl__handle.html#a8c51e7b0faf6f2ba24b1094b1a8c906d"> 14</a></span>&#160; uint32_t <a class="code" href="../../d2/dee/structrtnl__handle.html#a8c51e7b0faf6f2ba24b1094b1a8c906d">dump</a>;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;};</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#af6a834b458ad515cfe591cd720b5a3fd">rtnl_open</a>(<span class="keyword">struct</span> <a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a> *<a class="code" href="../../d7/de2/if_8c.html#a516865a50427c882f43d6884b4b73d14">rth</a>, <span class="keywordtype">unsigned</span> subscriptions);</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#adcef0338bcf67064f61e984ea6542a4f">rtnl_open_byproto</a>(<span class="keyword">struct</span> <a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a> *<a class="code" href="../../d7/de2/if_8c.html#a516865a50427c882f43d6884b4b73d14">rth</a>, <span class="keywordtype">unsigned</span> subscriptions, <span class="keywordtype">int</span> <a class="code" href="../../d8/d91/krnl__route_8c.html#ab30e8d7e05ae904d3248e0d51255c005">protocol</a>);</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#abe941df1a4b224511e5aba5fbeda5373">rtnl_close</a>(<span class="keyword">struct</span> <a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a> *<a class="code" href="../../d7/de2/if_8c.html#a516865a50427c882f43d6884b4b73d14">rth</a>);</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#a5d89c9b26f1bf5a091e6296298df671e">rtnl_wilddump_request</a>(<span class="keyword">struct</span> <a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a> *<a class="code" href="../../d7/de2/if_8c.html#a516865a50427c882f43d6884b4b73d14">rth</a>, <span class="keywordtype">int</span> fam, <span class="keywordtype">int</span> <a class="code" href="../../d8/d91/krnl__route_8c.html#ac765329451135abec74c45e1897abf26">type</a>);</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#a27afc1b9833591d8deca9c2ad4fedd8f">rtnl_dump_request</a>(<span class="keyword">struct</span> <a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a> *<a class="code" href="../../d7/de2/if_8c.html#a516865a50427c882f43d6884b4b73d14">rth</a>, <span class="keywordtype">int</span> <a class="code" href="../../d8/d91/krnl__route_8c.html#ac765329451135abec74c45e1897abf26">type</a>, <span class="keywordtype">void</span> *req, <span class="keywordtype">int</span> len);</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="../../d5/da4/libnetlink_8h.html#ae75da56ead3fca07646a8636730ba7da"> 23</a></span>&#160;<span class="keyword">typedef</span> int (*<a class="code" href="../../d5/da4/libnetlink_8h.html#ae75da56ead3fca07646a8636730ba7da">rtnl_filter_t</a>)(<span class="keyword">const</span> <span class="keyword">struct </span>sockaddr_nl *, </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">struct </span>nlmsghdr *n, <span class="keywordtype">void</span> *);</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#a0c981a8de14fd51a25027ef407e799ca">rtnl_dump_filter</a>(<span class="keyword">struct</span> <a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a> *<a class="code" href="../../d7/de2/if_8c.html#a516865a50427c882f43d6884b4b73d14">rth</a>, <a class="code" href="../../d5/da4/libnetlink_8h.html#ae75da56ead3fca07646a8636730ba7da">rtnl_filter_t</a> <a class="code" href="../../d7/de2/if_8c.html#a727ef65fc5f50096206d3d0257c628fa">filter</a>,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordtype">void</span> *arg1,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="../../d5/da4/libnetlink_8h.html#ae75da56ead3fca07646a8636730ba7da">rtnl_filter_t</a> junk,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">void</span> *arg2);</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#a1e674ac9211ad8a2bd6200b04860b203">rtnl_talk</a>(<span class="keyword">struct</span> <a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a> *rtnl, <span class="keyword">struct</span> nlmsghdr *n, pid_t peer,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">unsigned</span> groups, <span class="keyword">struct</span> nlmsghdr *answer,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="../../d5/da4/libnetlink_8h.html#ae75da56ead3fca07646a8636730ba7da">rtnl_filter_t</a> junk,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordtype">void</span> *jarg);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#a15300d60c5f8921ca1fb0b807404f18f">rtnl_send</a>(<span class="keyword">struct</span> <a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a> *<a class="code" href="../../d7/de2/if_8c.html#a516865a50427c882f43d6884b4b73d14">rth</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">int</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"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#ab9339d56ad1804972e905306791fabbc">addattr32</a>(<span class="keyword">struct</span> nlmsghdr *n, <span class="keywordtype">int</span> maxlen, <span class="keywordtype">int</span> <a class="code" href="../../d8/d91/krnl__route_8c.html#ac765329451135abec74c45e1897abf26">type</a>, uint32_t data);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#a308c9418a2d83e4e9ba8d8ed0b7bbe28">addattr_l</a>(<span class="keyword">struct</span> nlmsghdr *n, <span class="keywordtype">int</span> maxlen, <span class="keywordtype">int</span> <a class="code" href="../../d8/d91/krnl__route_8c.html#ac765329451135abec74c45e1897abf26">type</a>, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">int</span> alen);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#aca2eef9dc434268904e814449a6f5191">addraw_l</a>(<span class="keyword">struct</span> nlmsghdr *n, <span class="keywordtype">int</span> maxlen, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">int</span> len);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#accbfecaa74aaf78e2c0ca021954bdad9">rta_addattr32</a>(<span class="keyword">struct</span> rtattr *rta, <span class="keywordtype">int</span> maxlen, <span class="keywordtype">int</span> <a class="code" href="../../d8/d91/krnl__route_8c.html#ac765329451135abec74c45e1897abf26">type</a>, uint32_t data);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#a9788836cab7c0fa68a06532af4c91e19">rta_addattr_l</a>(<span class="keyword">struct</span> rtattr *rta, <span class="keywordtype">int</span> maxlen, <span class="keywordtype">int</span> <a class="code" href="../../d8/d91/krnl__route_8c.html#ac765329451135abec74c45e1897abf26">type</a>, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">int</span> alen);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#aed575cd447219f8c2f67e2011aaee4d8">parse_rtattr</a>(<span class="keyword">struct</span> rtattr *<a class="code" href="../../d8/d91/krnl__route_8c.html#a13091b42aa74f14db4a4637ed5c25832">tb</a>[], <span class="keywordtype">int</span> max, <span class="keyword">struct</span> rtattr *rta, <span class="keywordtype">int</span> len);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#a4e26de787132f3b007987969b9828b62">parse_rtattr_byindex</a>(<span class="keyword">struct</span> rtattr *<a class="code" href="../../d8/d91/krnl__route_8c.html#a13091b42aa74f14db4a4637ed5c25832">tb</a>[], <span class="keywordtype">int</span> max, <span class="keyword">struct</span> rtattr *rta, <span class="keywordtype">int</span> len);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../d5/da4/libnetlink_8h.html#ab5023eccbd007fd6eb91c1be028e974b"> 45</a></span>&#160;<span class="preprocessor">#define parse_rtattr_nested(tb, max, rta) \</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor"> (parse_rtattr((tb), (max), RTA_DATA(rta), RTA_PAYLOAD(rta)))</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#aacc7a3663568d47caf34665e570d28f0">rtnl_listen</a>(<span class="keyword">struct</span> <a class="code" href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a> *, <a class="code" href="../../d5/da4/libnetlink_8h.html#ae75da56ead3fca07646a8636730ba7da">rtnl_filter_t</a> handler, </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">void</span> *jarg);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="../../d5/da4/libnetlink_8h.html#aed667520bef1b7d60686a3c61e3cf038">rtnl_from_file</a>(FILE *, <a class="code" href="../../d5/da4/libnetlink_8h.html#ae75da56ead3fca07646a8636730ba7da">rtnl_filter_t</a> handler,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">void</span> *jarg);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../d5/da4/libnetlink_8h.html#a65c9772da492944cb5c8785c8a6ed3a5"> 53</a></span>&#160;<span class="preprocessor">#define NLMSG_TAIL(nmsg) \</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor"> ((struct rtattr *) (((void *) (nmsg)) + NLMSG_ALIGN((nmsg)-&gt;nlmsg_len)))</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"> 56</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* __LIBNETLINK_H__ */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="ttc" id="structrtnl__handle_html_a58397dc05569f5250b2bde1e40d2ddd2"><div class="ttname"><a href="../../d2/dee/structrtnl__handle.html#a58397dc05569f5250b2bde1e40d2ddd2">rtnl_handle::fd</a></div><div class="ttdeci">int fd</div><div class="ttdef"><b>Definition:</b> libnetlink.h:10</div></div>
<div class="ttc" id="libnetlink_8h_html_a15300d60c5f8921ca1fb0b807404f18f"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#a15300d60c5f8921ca1fb0b807404f18f">rtnl_send</a></div><div class="ttdeci">int rtnl_send(struct rtnl_handle *rth, const char *buf, int)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:116</div></div>
<div class="ttc" id="libnetlink_8h_html_a308c9418a2d83e4e9ba8d8ed0b7bbe28"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#a308c9418a2d83e4e9ba8d8ed0b7bbe28">addattr_l</a></div><div class="ttdeci">int addattr_l(struct nlmsghdr *n, int maxlen, int type, const void *data, int alen)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:490</div></div>
<div class="ttc" id="libnetlink_8h_html_af6a834b458ad515cfe591cd720b5a3fd"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#af6a834b458ad515cfe591cd720b5a3fd">rtnl_open</a></div><div class="ttdeci">int rtnl_open(struct rtnl_handle *rth, unsigned subscriptions)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:88</div></div>
<div class="ttc" id="libnetlink_8h_html_aacc7a3663568d47caf34665e570d28f0"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#aacc7a3663568d47caf34665e570d28f0">rtnl_listen</a></div><div class="ttdeci">int rtnl_listen(struct rtnl_handle *, rtnl_filter_t handler, void *jarg)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:350</div></div>
<div class="ttc" id="krnl__route_8c_html_ab30e8d7e05ae904d3248e0d51255c005"><div class="ttname"><a href="../../d8/d91/krnl__route_8c.html#ab30e8d7e05ae904d3248e0d51255c005">protocol</a></div><div class="ttdeci">int protocol</div><div class="ttdef"><b>Definition:</b> krnl_route.c:47</div></div>
<div class="ttc" id="libnetlink_8h_html_a5d89c9b26f1bf5a091e6296298df671e"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#a5d89c9b26f1bf5a091e6296298df671e">rtnl_wilddump_request</a></div><div class="ttdeci">int rtnl_wilddump_request(struct rtnl_handle *rth, int fam, int type)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:93</div></div>
<div class="ttc" id="structrtnl__handle_html_a8c51e7b0faf6f2ba24b1094b1a8c906d"><div class="ttname"><a href="../../d2/dee/structrtnl__handle.html#a8c51e7b0faf6f2ba24b1094b1a8c906d">rtnl_handle::dump</a></div><div class="ttdeci">uint32_t dump</div><div class="ttdef"><b>Definition:</b> libnetlink.h:14</div></div>
<div class="ttc" id="libnetlink_8h_html_aed667520bef1b7d60686a3c61e3cf038"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#aed667520bef1b7d60686a3c61e3cf038">rtnl_from_file</a></div><div class="ttdeci">int rtnl_from_file(FILE *, rtnl_filter_t handler, void *jarg)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:419</div></div>
<div class="ttc" id="libnetlink_8h_html_a4e26de787132f3b007987969b9828b62"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#a4e26de787132f3b007987969b9828b62">parse_rtattr_byindex</a></div><div class="ttdeci">int parse_rtattr_byindex(struct rtattr *tb[], int max, struct rtattr *rta, int len)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:569</div></div>
<div class="ttc" id="libnetlink_8h_html_a9788836cab7c0fa68a06532af4c91e19"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#a9788836cab7c0fa68a06532af4c91e19">rta_addattr_l</a></div><div class="ttdeci">int rta_addattr_l(struct rtattr *rta, int maxlen, int type, const void *data, int alen)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:538</div></div>
<div class="ttc" id="libnetlink_8h_html_adcef0338bcf67064f61e984ea6542a4f"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#adcef0338bcf67064f61e984ea6542a4f">rtnl_open_byproto</a></div><div class="ttdeci">int rtnl_open_byproto(struct rtnl_handle *rth, unsigned subscriptions, int protocol)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:39</div></div>
<div class="ttc" id="libnetlink_8h_html_abe941df1a4b224511e5aba5fbeda5373"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#abe941df1a4b224511e5aba5fbeda5373">rtnl_close</a></div><div class="ttdeci">void rtnl_close(struct rtnl_handle *rth)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:34</div></div>
<div class="ttc" id="krnl__route_8c_html_ac765329451135abec74c45e1897abf26"><div class="ttname"><a href="../../d8/d91/krnl__route_8c.html#ac765329451135abec74c45e1897abf26">type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> krnl_route.c:49</div></div>
<div class="ttc" id="structrtnl__handle_html"><div class="ttname"><a href="../../d2/dee/structrtnl__handle.html">rtnl_handle</a></div><div class="ttdef"><b>Definition:</b> libnetlink.h:8</div></div>
<div class="ttc" id="structrtnl__handle_html_a7529e3e6f9cc11849f82d82176087a34"><div class="ttname"><a href="../../d2/dee/structrtnl__handle.html#a7529e3e6f9cc11849f82d82176087a34">rtnl_handle::seq</a></div><div class="ttdeci">uint32_t seq</div><div class="ttdef"><b>Definition:</b> libnetlink.h:13</div></div>
<div class="ttc" id="libnetlink_8h_html_a27afc1b9833591d8deca9c2ad4fedd8f"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#a27afc1b9833591d8deca9c2ad4fedd8f">rtnl_dump_request</a></div><div class="ttdeci">int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:126</div></div>
<div class="ttc" id="libnetlink_8h_html_ab9339d56ad1804972e905306791fabbc"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#ab9339d56ad1804972e905306791fabbc">addattr32</a></div><div class="ttdeci">int addattr32(struct nlmsghdr *n, int maxlen, int type, uint32_t data)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:474</div></div>
<div class="ttc" id="libnetlink_8h_html_aca2eef9dc434268904e814449a6f5191"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#aca2eef9dc434268904e814449a6f5191">addraw_l</a></div><div class="ttdeci">int addraw_l(struct nlmsghdr *n, int maxlen, const void *data, int len)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:508</div></div>
<div class="ttc" id="libnetlink_8h_html_a1e674ac9211ad8a2bd6200b04860b203"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#a1e674ac9211ad8a2bd6200b04860b203">rtnl_talk</a></div><div class="ttdeci">int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer, unsigned groups, struct nlmsghdr *answer, rtnl_filter_t junk, void *jarg)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:233</div></div>
<div class="ttc" id="structrtnl__handle_html_a81dab3b60ac522e1b1809c4992288683"><div class="ttname"><a href="../../d2/dee/structrtnl__handle.html#a81dab3b60ac522e1b1809c4992288683">rtnl_handle::local</a></div><div class="ttdeci">struct sockaddr_nl local</div><div class="ttdef"><b>Definition:</b> libnetlink.h:11</div></div>
<div class="ttc" id="if_8c_html_a516865a50427c882f43d6884b4b73d14"><div class="ttname"><a href="../../d7/de2/if_8c.html#a516865a50427c882f43d6884b4b73d14">rth</a></div><div class="ttdeci">struct rtnl_handle * rth</div><div class="ttdef"><b>Definition:</b> if.c:46</div></div>
<div class="ttc" id="krnl__route_8c_html_a13091b42aa74f14db4a4637ed5c25832"><div class="ttname"><a href="../../d8/d91/krnl__route_8c.html#a13091b42aa74f14db4a4637ed5c25832">tb</a></div><div class="ttdeci">int tb</div><div class="ttdef"><b>Definition:</b> krnl_route.c:41</div></div>
<div class="ttc" id="structrtnl__handle_html_a49058d3b4fe126767d4de747980588a1"><div class="ttname"><a href="../../d2/dee/structrtnl__handle.html#a49058d3b4fe126767d4de747980588a1">rtnl_handle::peer</a></div><div class="ttdeci">struct sockaddr_nl peer</div><div class="ttdef"><b>Definition:</b> libnetlink.h:12</div></div>
<div class="ttc" id="libnetlink_8h_html_accbfecaa74aaf78e2c0ca021954bdad9"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#accbfecaa74aaf78e2c0ca021954bdad9">rta_addattr32</a></div><div class="ttdeci">int rta_addattr32(struct rtattr *rta, int maxlen, int type, uint32_t data)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:521</div></div>
<div class="ttc" id="if_8c_html_a727ef65fc5f50096206d3d0257c628fa"><div class="ttname"><a href="../../d7/de2/if_8c.html#a727ef65fc5f50096206d3d0257c628fa">filter</a></div><div class="ttdeci">static struct @0 filter</div></div>
<div class="ttc" id="libnetlink_8h_html_aed575cd447219f8c2f67e2011aaee4d8"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#aed575cd447219f8c2f67e2011aaee4d8">parse_rtattr</a></div><div class="ttdeci">int parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:556</div></div>
<div class="ttc" id="libnetlink_8h_html_ae75da56ead3fca07646a8636730ba7da"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#ae75da56ead3fca07646a8636730ba7da">rtnl_filter_t</a></div><div class="ttdeci">int(* rtnl_filter_t)(const struct sockaddr_nl *, struct nlmsghdr *n, void *)</div><div class="ttdef"><b>Definition:</b> libnetlink.h:23</div></div>
<div class="ttc" id="libnetlink_8h_html_a0c981a8de14fd51a25027ef407e799ca"><div class="ttname"><a href="../../d5/da4/libnetlink_8h.html#a0c981a8de14fd51a25027ef407e799ca">rtnl_dump_filter</a></div><div class="ttdeci">int rtnl_dump_filter(struct rtnl_handle *rth, rtnl_filter_t filter, void *arg1, rtnl_filter_t junk, void *arg2)</div><div class="ttdef"><b>Definition:</b> libnetlink.c:153</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="../../d5/da4/libnetlink_8h.html">libnetlink.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>