Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 87b89b73c41f4440bb86afd421c7548f > files > 248

libnl-devel-1.1-14.fc14.x86_64.rpm

<!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: nl_object_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&#160;<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&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;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&#160;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&#160;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>nl_object_ops Struct Reference<div class="ingroups"><a class="el" href="group__object__api.html">Object API</a></div></h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="nl_object_ops" -->
<p>Object Operations.  
</p>

<p><code>#include &lt;<a class="el" href="object-api_8h_source.html">object-api.h</a>&gt;</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">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnl__object__ops.html#a5225584343fe711642303e000b036ee9">oo_name</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique name of object type.  <a href="#a5225584343fe711642303e000b036ee9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0fbd42c77db2f0488b8cd72858ece719"></a><!-- doxytag: member="nl_object_ops::oo_size" ref="a0fbd42c77db2f0488b8cd72858ece719" args="" -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnl__object__ops.html#a0fbd42c77db2f0488b8cd72858ece719">oo_size</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of object including its header. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab435f5040d47d06b11985cfe1705a970"></a><!-- doxytag: member="nl_object_ops::oo_id_attrs" ref="ab435f5040d47d06b11985cfe1705a970" args="" -->
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>oo_id_attrs</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnl__object__ops.html#ac15b64a03806850db9493bd2fbfb64b7">oo_constructor</a> )(struct nl_object *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor function.  <a href="#ac15b64a03806850db9493bd2fbfb64b7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnl__object__ops.html#a38797e8754a31bb259120ef9101bbb0a">oo_free_data</a> )(struct nl_object *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor function.  <a href="#a38797e8754a31bb259120ef9101bbb0a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnl__object__ops.html#ada92030f50d49c033007952393c8d9b2">oo_clone</a> )(struct nl_object *, struct nl_object *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cloning function.  <a href="#ada92030f50d49c033007952393c8d9b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnl__object__ops.html#a0a3d28af43d7f75cda0b8cbc23ad7432">oo_dump</a> [NL_DUMP_MAX+1])(struct nl_object *, struct <a class="el" href="structnl__dump__params.html">nl_dump_params</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dumping functions.  <a href="#a0a3d28af43d7f75cda0b8cbc23ad7432"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnl__object__ops.html#aeabb90e7882be2af2c6e92391cce9597">oo_compare</a> )(struct nl_object *, struct nl_object *, uint32_t, int)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Comparison function.  <a href="#aeabb90e7882be2af2c6e92391cce9597"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adbc8dbb9132673139035da7011920765"></a><!-- doxytag: member="nl_object_ops::oo_attrs2str" ref="adbc8dbb9132673139035da7011920765" args=")(int, char *, size_t)" -->
char *(*&#160;</td><td class="memItemRight" valign="bottom"><b>oo_attrs2str</b> )(int, char *, size_t)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="object-api_8h_source.html#l00254">254</a> of file <a class="el" href="object-api_8h_source.html">object-api.h</a>.</p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a5225584343fe711642303e000b036ee9"></a><!-- doxytag: member="nl_object_ops::oo_name" ref="a5225584343fe711642303e000b036ee9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structnl__object__ops.html#a5225584343fe711642303e000b036ee9">nl_object_ops::oo_name</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Must be in the form family/name, e.g. "route/addr" </p>

<p>Definition at line <a class="el" href="object-api_8h_source.html#l00261">261</a> of file <a class="el" href="object-api_8h_source.html">object-api.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac15b64a03806850db9493bd2fbfb64b7"></a><!-- doxytag: member="nl_object_ops::oo_constructor" ref="ac15b64a03806850db9493bd2fbfb64b7" args=")(struct nl_object *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structnl__object__ops.html#ac15b64a03806850db9493bd2fbfb64b7">nl_object_ops::oo_constructor</a>)(struct nl_object *)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Will be called when a new object of this type is allocated. Can be used to initialize members such as lists etc. </p>

<p>Definition at line <a class="el" href="object-api_8h_source.html#l00275">275</a> of file <a class="el" href="object-api_8h_source.html">object-api.h</a>.</p>

<p>Referenced by <a class="el" href="object_8c_source.html#l00042">nl_object_alloc()</a>.</p>

</div>
</div>
<a class="anchor" id="a38797e8754a31bb259120ef9101bbb0a"></a><!-- doxytag: member="nl_object_ops::oo_free_data" ref="a38797e8754a31bb259120ef9101bbb0a" args=")(struct nl_object *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structnl__object__ops.html#a38797e8754a31bb259120ef9101bbb0a">nl_object_ops::oo_free_data</a>)(struct nl_object *)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Will be called when an object is freed. Must free all resources which may have been allocated as part of this object. </p>

<p>Definition at line <a class="el" href="object-api_8h_source.html#l00284">284</a> of file <a class="el" href="object-api_8h_source.html">object-api.h</a>.</p>

<p>Referenced by <a class="el" href="object_8c_source.html#l00095">nl_object_clone()</a>, and <a class="el" href="object_8c_source.html#l00133">nl_object_free()</a>.</p>

</div>
</div>
<a class="anchor" id="ada92030f50d49c033007952393c8d9b2"></a><!-- doxytag: member="nl_object_ops::oo_clone" ref="ada92030f50d49c033007952393c8d9b2" args=")(struct nl_object *, struct nl_object *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structnl__object__ops.html#ada92030f50d49c033007952393c8d9b2">nl_object_ops::oo_clone</a>)(struct nl_object *, struct nl_object *)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Will be called when an object needs to be cloned. Please note that the generic object code will make an exact copy of the object first, therefore you only need to take care of members which require reference counting etc.</p>
<p>May return a negative error code to abort cloning. </p>

<p>Definition at line <a class="el" href="object-api_8h_source.html#l00296">296</a> of file <a class="el" href="object-api_8h_source.html">object-api.h</a>.</p>

<p>Referenced by <a class="el" href="object_8c_source.html#l00095">nl_object_clone()</a>.</p>

</div>
</div>
<a class="anchor" id="a0a3d28af43d7f75cda0b8cbc23ad7432"></a><!-- doxytag: member="nl_object_ops::oo_dump" ref="a0a3d28af43d7f75cda0b8cbc23ad7432" args="[NL_DUMP_MAX+1])(struct nl_object *, struct nl_dump_params *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structnl__object__ops.html#a0a3d28af43d7f75cda0b8cbc23ad7432">nl_object_ops::oo_dump</a>[NL_DUMP_MAX+1])(struct nl_object *, struct <a class="el" href="structnl__dump__params.html">nl_dump_params</a> *)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Will be called when an object is dumped. The implementations have to use <a class="el" href="group__utils.html#ga527075856a5427170865a6f409298cdf" title="Dump a formatted character string.">nl_dump()</a>, nl_dump_line(), and <a class="el" href="group__utils.html#ga8d036ba05aa233203e8d7fb79f925c2c" title="Handle a new line while dumping.">nl_new_line()</a> to dump objects.</p>
<p>The functions must return the number of lines printed. </p>

<p>Definition at line <a class="el" href="object-api_8h_source.html#l00307">307</a> of file <a class="el" href="object-api_8h_source.html">object-api.h</a>.</p>

<p>Referenced by <a class="el" href="cache_8c_source.html#l00727">nl_cache_dump_filter()</a>.</p>

</div>
</div>
<a class="anchor" id="aeabb90e7882be2af2c6e92391cce9597"></a><!-- doxytag: member="nl_object_ops::oo_compare" ref="aeabb90e7882be2af2c6e92391cce9597" args=")(struct nl_object *, struct nl_object *, uint32_t, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structnl__object__ops.html#aeabb90e7882be2af2c6e92391cce9597">nl_object_ops::oo_compare</a>)(struct nl_object *, struct nl_object *, uint32_t, int)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Will be called when two objects of the same type are compared. It takes the two objects in question, an object specific bitmask defining which attributes should be compared and flags to control the behaviour.</p>
<p>The function must return a bitmask with the relevant bit set for each attribute that mismatches. </p>

<p>Definition at line <a class="el" href="object-api_8h_source.html#l00321">321</a> of file <a class="el" href="object-api_8h_source.html">object-api.h</a>.</p>

<p>Referenced by <a class="el" href="object_8c_source.html#l00294">nl_object_diff()</a>, <a class="el" href="object_8c_source.html#l00258">nl_object_identical()</a>, and <a class="el" href="object_8c_source.html#l00313">nl_object_match_filter()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Mon Mar 21 2011 for libnl by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>