<!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"/> <title>libnl: Link Info API</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libnl <span id="projectnumber">1.1</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#groups">Modules</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>Link Info API</h1> </div> <div class="ingroups"><a class="el" href="group__link.html">Links (Interfaces)</a></div></div> <div class="contents"> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrtnl__link__info__ops.html">rtnl_link_info_ops</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Link info operations. <a href="structrtnl__link__info__ops.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="groups"></a> Modules</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vlan.html">VLAN</a></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5cb889fa456358cbc5d787fd524b2464"></a><!-- doxytag: member="link_info::rtnl_link_info_ops_lookup" ref="ga5cb889fa456358cbc5d787fd524b2464" args="(const char *name)" --> struct <a class="el" href="structrtnl__link__info__ops.html">rtnl_link_info_ops</a> * </td><td class="memItemRight" valign="bottom"><b>rtnl_link_info_ops_lookup</b> (const char *name)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0de293a3904c8db13c282b941c55aa16"></a><!-- doxytag: member="link_info::rtnl_link_register_info" ref="ga0de293a3904c8db13c282b941c55aa16" args="(struct rtnl_link_info_ops *ops)" --> int </td><td class="memItemRight" valign="bottom"><b>rtnl_link_register_info</b> (struct <a class="el" href="structrtnl__link__info__ops.html">rtnl_link_info_ops</a> *ops)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga310702b9b9c3b68ee1fbe34a25faf2c1"></a><!-- doxytag: member="link_info::rtnl_link_unregister_info" ref="ga310702b9b9c3b68ee1fbe34a25faf2c1" args="(struct rtnl_link_info_ops *ops)" --> int </td><td class="memItemRight" valign="bottom"><b>rtnl_link_unregister_info</b> (struct <a class="el" href="structrtnl__link__info__ops.html">rtnl_link_info_ops</a> *ops)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <dl class="user"><dt><b>1) Registering/Unregistering a new link info type</b></dt><dd><div class="fragment"><pre class="fragment"> <span class="keyword">static</span> <span class="keyword">struct </span><a class="code" href="structrtnl__link__info__ops.html" title="Link info operations.">rtnl_link_info_ops</a> vlan_info_ops = { .<a class="code" href="structrtnl__link__info__ops.html#a03227fa6a14606be5523b9b92a2e2803" title="Name of operations, must match name on kernel side.">io_name</a> = <span class="stringliteral">"vlan"</span>, .io_alloc = vlan_alloc, .io_parse = vlan_parse, .io_dump[<a class="code" href="group__utils.html#ggacfb5566c73f0965c5241d7d49bc717e9a5597887c080d5ecae358b6065a4048fd" title="Dump object in a brief one-liner.">NL_DUMP_BRIEF</a>] = vlan_dump_brief, .io_dump[<a class="code" href="group__utils.html#ggacfb5566c73f0965c5241d7d49bc717e9a1445106c7af529b2c99ee289fbcd3179" title="Dump all attributes but no statistics.">NL_DUMP_FULL</a>] = vlan_dump_full, .io_free = vlan_free, }; <span class="keyword">static</span> <span class="keywordtype">void</span> __init vlan_init(<span class="keywordtype">void</span>) { rtnl_link_register_info(&vlan_info_ops); } <span class="keyword">static</span> <span class="keywordtype">void</span> __exit vlan_exit(<span class="keywordtype">void</span>) { rtnl_link_unregister_info(&vlan_info_ops); } </pre></div> </dd></dl> </div> <hr class="footer"/><address class="footer"><small>Generated on Mon Mar 21 2011 for libnl by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>