<!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: rtnl_link_info_ops Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.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 class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-attribs">Data Fields</a> </div> <div class="headertitle"> <h1>rtnl_link_info_ops Struct Reference<div class="ingroups"><a class="el" href="group__link__info.html">Link Info API</a></div></h1> </div> </div> <div class="contents"> <!-- doxytag: class="rtnl_link_info_ops" --> <p>Link info operations. </p> <p><code>#include <<a class="el" href="info-api_8h_source.html">info-api.h</a>></code></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03227fa6a14606be5523b9b92a2e2803"></a><!-- doxytag: member="rtnl_link_info_ops::io_name" ref="a03227fa6a14606be5523b9b92a2e2803" args="" --> char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structrtnl__link__info__ops.html#a03227fa6a14606be5523b9b92a2e2803">io_name</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Name of operations, must match name on kernel side. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c5d7e6ae5b7e0f0d632ef82aa1ea38b"></a><!-- doxytag: member="rtnl_link_info_ops::io_refcnt" ref="a6c5d7e6ae5b7e0f0d632ef82aa1ea38b" args="" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="structrtnl__link__info__ops.html#a6c5d7e6ae5b7e0f0d632ef82aa1ea38b">io_refcnt</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reference count (internal, do not use) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structrtnl__link__info__ops.html#a0dcac57de49a6d9ebca60fec11f222f5">io_alloc</a> )(struct rtnl_link *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called to assign an info type to a link. <a href="#a0dcac57de49a6d9ebca60fec11f222f5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structrtnl__link__info__ops.html#a715f8a89c4acb5ece999bbeff4594cfb">io_parse</a> )(struct rtnl_link *, struct nlattr *, struct nlattr *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called to parse the link info attribute. <a href="#a715f8a89c4acb5ece999bbeff4594cfb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structrtnl__link__info__ops.html#ab0b162c6bfc9fd63f294e3aa0ebc070c">io_dump</a> [NL_DUMP_MAX+1])(struct rtnl_link *, struct <a class="el" href="structnl__dump__params.html">nl_dump_params</a> *, int)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called when the link object is dumped. <a href="#ab0b162c6bfc9fd63f294e3aa0ebc070c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structrtnl__link__info__ops.html#aed74c33b0bd3b02e96ef6e602d204c4d">io_clone</a> )(struct rtnl_link *, struct rtnl_link *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called when a link object is cloned. <a href="#aed74c33b0bd3b02e96ef6e602d204c4d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structrtnl__link__info__ops.html#a00b65a2fa2a54e9f1f6243ec9c2d05e6">io_put_attrs</a> )(struct nl_msg *, struct rtnl_link *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called when construction a link netlink message. <a href="#a00b65a2fa2a54e9f1f6243ec9c2d05e6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structrtnl__link__info__ops.html#affa25bd9bfeb93b22a56a7d57ffea5a2">io_free</a> )(struct rtnl_link *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called to release all resources previously allocated in either <a class="el" href="structrtnl__link__info__ops.html#a0dcac57de49a6d9ebca60fec11f222f5" title="Called to assign an info type to a link.">io_alloc()</a> or <a class="el" href="structrtnl__link__info__ops.html#a715f8a89c4acb5ece999bbeff4594cfb" title="Called to parse the link info attribute.">io_parse()</a>. <a href="#affa25bd9bfeb93b22a56a7d57ffea5a2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32470756047ae661de716360a1d91a3c"></a><!-- doxytag: member="rtnl_link_info_ops::io_next" ref="a32470756047ae661de716360a1d91a3c" args="" --> struct <a class="el" href="structrtnl__link__info__ops.html">rtnl_link_info_ops</a> * </td><td class="memItemRight" valign="bottom"><b>io_next</b></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"> <p>Definition at line <a class="el" href="info-api_8h_source.html#l00026">26</a> of file <a class="el" href="info-api_8h_source.html">info-api.h</a>.</p> </div><hr/><h2>Field Documentation</h2> <a class="anchor" id="a0dcac57de49a6d9ebca60fec11f222f5"></a><!-- doxytag: member="rtnl_link_info_ops::io_alloc" ref="a0dcac57de49a6d9ebca60fec11f222f5" args=")(struct rtnl_link *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* <a class="el" href="structrtnl__link__info__ops.html#a0dcac57de49a6d9ebca60fec11f222f5">rtnl_link_info_ops::io_alloc</a>)(struct rtnl_link *)</td> </tr> </table> </div> <div class="memdoc"> <p>Has to allocate enough resources to hold attributes. Can use link->l_info to store a pointer. </p> <p>Definition at line <a class="el" href="info-api_8h_source.html#l00037">37</a> of file <a class="el" href="info-api_8h_source.html">info-api.h</a>.</p> <p>Referenced by <a class="el" href="link_8c_source.html#l01501">rtnl_link_set_info_type()</a>.</p> </div> </div> <a class="anchor" id="a715f8a89c4acb5ece999bbeff4594cfb"></a><!-- doxytag: member="rtnl_link_info_ops::io_parse" ref="a715f8a89c4acb5ece999bbeff4594cfb" args=")(struct rtnl_link *, struct nlattr *, struct nlattr *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* <a class="el" href="structrtnl__link__info__ops.html#a715f8a89c4acb5ece999bbeff4594cfb">rtnl_link_info_ops::io_parse</a>)(struct rtnl_link *, struct nlattr *, struct nlattr *)</td> </tr> </table> </div> <div class="memdoc"> <p>Must parse the attribute and assign all values to the link. </p> <p>Definition at line <a class="el" href="info-api_8h_source.html#l00042">42</a> of file <a class="el" href="info-api_8h_source.html">info-api.h</a>.</p> </div> </div> <a class="anchor" id="ab0b162c6bfc9fd63f294e3aa0ebc070c"></a><!-- doxytag: member="rtnl_link_info_ops::io_dump" ref="ab0b162c6bfc9fd63f294e3aa0ebc070c" args="[NL_DUMP_MAX+1])(struct rtnl_link *, struct nl_dump_params *, int)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* <a class="el" href="structrtnl__link__info__ops.html#ab0b162c6bfc9fd63f294e3aa0ebc070c">rtnl_link_info_ops::io_dump</a>[NL_DUMP_MAX+1])(struct rtnl_link *, struct <a class="el" href="structnl__dump__params.html">nl_dump_params</a> *, int)</td> </tr> </table> </div> <div class="memdoc"> <p>Must dump the info type specific attributes. </p> <p>Definition at line <a class="el" href="info-api_8h_source.html#l00048">48</a> of file <a class="el" href="info-api_8h_source.html">info-api.h</a>.</p> </div> </div> <a class="anchor" id="aed74c33b0bd3b02e96ef6e602d204c4d"></a><!-- doxytag: member="rtnl_link_info_ops::io_clone" ref="aed74c33b0bd3b02e96ef6e602d204c4d" args=")(struct rtnl_link *, struct rtnl_link *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* <a class="el" href="structrtnl__link__info__ops.html#aed74c33b0bd3b02e96ef6e602d204c4d">rtnl_link_info_ops::io_clone</a>)(struct rtnl_link *, struct rtnl_link *)</td> </tr> </table> </div> <div class="memdoc"> <p>Must clone all info type specific attributes. </p> <p>Definition at line <a class="el" href="info-api_8h_source.html#l00053">53</a> of file <a class="el" href="info-api_8h_source.html">info-api.h</a>.</p> </div> </div> <a class="anchor" id="a00b65a2fa2a54e9f1f6243ec9c2d05e6"></a><!-- doxytag: member="rtnl_link_info_ops::io_put_attrs" ref="a00b65a2fa2a54e9f1f6243ec9c2d05e6" args=")(struct nl_msg *, struct rtnl_link *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* <a class="el" href="structrtnl__link__info__ops.html#a00b65a2fa2a54e9f1f6243ec9c2d05e6">rtnl_link_info_ops::io_put_attrs</a>)(struct nl_msg *, struct rtnl_link *)</td> </tr> </table> </div> <div class="memdoc"> <p>Must append all info type specific attributes to the message. </p> <p>Definition at line <a class="el" href="info-api_8h_source.html#l00057">57</a> of file <a class="el" href="info-api_8h_source.html">info-api.h</a>.</p> </div> </div> <a class="anchor" id="affa25bd9bfeb93b22a56a7d57ffea5a2"></a><!-- doxytag: member="rtnl_link_info_ops::io_free" ref="affa25bd9bfeb93b22a56a7d57ffea5a2" args=")(struct rtnl_link *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* <a class="el" href="structrtnl__link__info__ops.html#affa25bd9bfeb93b22a56a7d57ffea5a2">rtnl_link_info_ops::io_free</a>)(struct rtnl_link *)</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="info-api_8h_source.html#l00061">61</a> of file <a class="el" href="info-api_8h_source.html">info-api.h</a>.</p> </div> </div> </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>