Current File : //usr/share/doc/net-snmp/html/group__table__data.html
<!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"/>
<title>net-snmp: table_data</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">net-snmp
   &#160;<span id="projectnumber">5.4.1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">table_data</div>  </div>
<div class="ingroups"><a class="el" href="group__table.html">table</a></div></div><!--header-->
<div class="contents">

<p>Helps you implement a table with datamatted storage.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="groups"></a>
Modules</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__dataset.html">table_dataset</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Helps you implement a table with automatted storage. </p>
<br/></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="ga53f3493d05e69c3efd39a00d35091458"></a><!-- doxytag: member="table_data::netsnmp_table_data_generate_index_oid" ref="ga53f3493d05e69c3efd39a00d35091458" args="(netsnmp_table_row *row)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_generate_index_oid</b> (<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#gac0cc1567de4c67a31b398a145de6d5b1">netsnmp_create_table_data</a> (const char *name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">creates and returns a pointer to table data set  <a href="#gac0cc1567de4c67a31b398a145de6d5b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#gafdadce2dee8bc75b2b0dfd8e634e46a3">netsnmp_create_table_data_row</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">creates and returns a pointer to table data set  <a href="#gafdadce2dee8bc75b2b0dfd8e634e46a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga255af6ddcb7eea49cfe00de56bd87f37">netsnmp_table_data_clone_row</a> (<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">clones a data row.  <a href="#ga255af6ddcb7eea49cfe00de56bd87f37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga4f84f680e50132cb614f5152db053bd0">netsnmp_table_data_delete_row</a> (<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">deletes a row's memory.  <a href="#ga4f84f680e50132cb614f5152db053bd0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#gafa6a070da8369ec7a3c87e4fdcd014de">netsnmp_table_data_add_row</a> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a row of data to a given table (stored in proper lexographical order).  <a href="#gafa6a070da8369ec7a3c87e4fdcd014de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NETSNMP_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga20d07eb76248feae99221d0b4e30707d">netsnmp_table_data_replace_row</a> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *origrow, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *newrow)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">swaps out origrow with newrow.  <a href="#ga20d07eb76248feae99221d0b4e30707d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#gaec69da662a26edd1cd3cee5fd6338768">netsnmp_table_data_remove_row</a> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">removes a row of data to a given table and returns it (no free's called)  <a href="#gaec69da662a26edd1cd3cee5fd6338768"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga5339c8a53e8462d692bd8c63d8f50a41">netsnmp_table_data_remove_and_delete_row</a> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">removes and frees a row of data to a given table and returns the void *  <a href="#ga5339c8a53e8462d692bd8c63d8f50a41"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7fb53bc373338ab12f301984decd3e4b"></a><!-- doxytag: member="table_data::netsnmp_table_data_create_table" ref="ga7fb53bc373338ab12f301984decd3e4b" args="(const char *name, long flags)" -->
<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_create_table</b> (const char *name, long flags)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeaa85b81cb31384317f32bf527e77a6c"></a><!-- doxytag: member="table_data::netsnmp_table_data_delete_table" ref="gaeaa85b81cb31384317f32bf527e77a6c" args="(netsnmp_table_data *table)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_delete_table</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4268ee99a442f12b8ff26f09204a4a68"></a><!-- doxytag: member="table_data::netsnmp_table_data_create_row" ref="ga4268ee99a442f12b8ff26f09204a4a68" args="(void *entry)" -->
<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_create_row</b> (void *entry)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga839dec437fa40f1b31ec3fc4454490cf"></a><!-- doxytag: member="table_data::netsnmp_table_data_copy_row" ref="ga839dec437fa40f1b31ec3fc4454490cf" args="(netsnmp_table_row *old_row, netsnmp_table_row *new_row)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_copy_row</b> (<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *old_row, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *new_row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2a96b9209713482b30108123d58b7e18"></a><!-- doxytag: member="table_data::netsnmp_table_data_remove_delete_row" ref="ga2a96b9209713482b30108123d58b7e18" args="(netsnmp_table_data *table, netsnmp_table_row *row)" -->
void *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_remove_delete_row</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__handler.html#ga77f4225c0e0c1d549e634f58dba3de3d">netsnmp_mib_handler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#gabe777fbdc55077859785626d0a4e97de">netsnmp_get_table_data_handler</a> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a table_data handler and returns it.  <a href="#gabe777fbdc55077859785626d0a4e97de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga9c5f1d84e2c7f625e786667a2ef1f0b5">netsnmp_register_table_data</a> (<a class="el" href="group__handler.html#gac475ff73806c2d76ebfc78a87d921b8b">netsnmp_handler_registration</a> *reginfo, <a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__registration__info__s.html">netsnmp_table_registration_info</a> *table_info)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">registers a handler as a data table.  <a href="#ga9c5f1d84e2c7f625e786667a2ef1f0b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga144f64e4c2a50595d3eec9e727ec6472">netsnmp_register_read_only_table_data</a> (<a class="el" href="group__handler.html#gac475ff73806c2d76ebfc78a87d921b8b">netsnmp_handler_registration</a> *reginfo, <a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__registration__info__s.html">netsnmp_table_registration_info</a> *table_info)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">registers a handler as a read-only data table If table_info != NULL, it registers it as a normal table too.  <a href="#ga144f64e4c2a50595d3eec9e727ec6472"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3a92cff3eeb1b30701fa78c537db28ea"></a><!-- doxytag: member="table_data::netsnmp_table_data_helper_handler" ref="ga3a92cff3eeb1b30701fa78c537db28ea" args="(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_helper_handler</b> (<a class="el" href="group__handler.html#ga77f4225c0e0c1d549e634f58dba3de3d">netsnmp_mib_handler</a> *handler, <a class="el" href="group__handler.html#gac475ff73806c2d76ebfc78a87d921b8b">netsnmp_handler_registration</a> *reginfo, <a class="el" href="structnetsnmp__agent__request__info__s.html">netsnmp_agent_request_info</a> *reqinfo, <a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *requests)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#gabd005dd85f7ca5c8fcfb5a82444bc3b6">netsnmp_extract_table</a> (<a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *request)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">extracts the table being accessed passed from the table_data helper  <a href="#gabd005dd85f7ca5c8fcfb5a82444bc3b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga0fae612cdbaef2df9006cc01a0c22c57">netsnmp_extract_table_row</a> (<a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *request)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">extracts the row being accessed passed from the table_data helper  <a href="#ga0fae612cdbaef2df9006cc01a0c22c57"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#gaf5572e2cbd11d9de887a7620242d9b2b">netsnmp_extract_table_row_data</a> (<a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *request)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">extracts the data from the row being accessed passed from the table_data helper  <a href="#gaf5572e2cbd11d9de887a7620242d9b2b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NETSNMP_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga2439a73fac04d2476c3a8f6ecd2dc78b">netsnmp_insert_table_row</a> (<a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *request, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">inserts a newly created table_data row into a request  <a href="#ga2439a73fac04d2476c3a8f6ecd2dc78b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf7a7ac20160acf324c211211c8f424d7"></a><!-- doxytag: member="table_data::netsnmp_table_data_build_result" ref="gaf7a7ac20160acf324c211211c8f424d7" args="(netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *request, netsnmp_table_row *row, int column, u_char type, u_char *result_data, size_t result_data_len)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_build_result</b> (<a class="el" href="group__handler.html#gac475ff73806c2d76ebfc78a87d921b8b">netsnmp_handler_registration</a> *reginfo, <a class="el" href="structnetsnmp__agent__request__info__s.html">netsnmp_agent_request_info</a> *reqinfo, <a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *request, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row, int column, u_char type, u_char *result_data, size_t result_data_len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga22709ef5a1d6198937526679b0a0e503">netsnmp_table_data_get_first_row</a> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the first row in the table  <a href="#ga22709ef5a1d6198937526679b0a0e503"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga5946b9b88fd3d284d6994a5c4b6eaa62">netsnmp_table_data_get_next_row</a> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the next row in the table  <a href="#ga5946b9b88fd3d284d6994a5c4b6eaa62"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga55bc29a38deeb0decd31b24ab6ae6f36">netsnmp_table_data_get</a> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structvariable__list.html">netsnmp_variable_list</a> *indexes)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">finds the data in "datalist" stored at "indexes"  <a href="#ga55bc29a38deeb0decd31b24ab6ae6f36"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__data.html#ga9c7ccab692b0d45f5c18c4b95d50a360">netsnmp_table_data_get_from_oid</a> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, oid *searchfor, size_t searchfor_len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">finds the data in "datalist" stored at the searchfor oid  <a href="#ga9c7ccab692b0d45f5c18c4b95d50a360"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga24377fce67d223ac95e366ceb3e87db6"></a><!-- doxytag: member="table_data::netsnmp_table_data_num_rows" ref="ga24377fce67d223ac95e366ceb3e87db6" args="(netsnmp_table_data *table)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_num_rows</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2afee6e96bfc3a63a1918ec19902aa27"></a><!-- doxytag: member="table_data::netsnmp_table_data_row_first" ref="ga2afee6e96bfc3a63a1918ec19902aa27" args="(netsnmp_table_data *table)" -->
<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_row_first</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga602503b604255cb97f75004011f1ac8c"></a><!-- doxytag: member="table_data::netsnmp_table_data_row_get" ref="ga602503b604255cb97f75004011f1ac8c" args="(netsnmp_table_data *table, netsnmp_table_row *row)" -->
<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_row_get</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0a2be7660faa536a2130143481318e89"></a><!-- doxytag: member="table_data::netsnmp_table_data_row_next" ref="ga0a2be7660faa536a2130143481318e89" args="(netsnmp_table_data *table, netsnmp_table_row *row)" -->
<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_row_next</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga753b4e776903427e7a41072e43a8fc9c"></a><!-- doxytag: member="table_data::netsnmp_table_data_row_get_byoid" ref="ga753b4e776903427e7a41072e43a8fc9c" args="(netsnmp_table_data *table, oid *instance, size_t len)" -->
<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_row_get_byoid</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, oid *instance, size_t len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab2c05937c824d3e30efb193e191e5d81"></a><!-- doxytag: member="table_data::netsnmp_table_data_row_next_byoid" ref="gab2c05937c824d3e30efb193e191e5d81" args="(netsnmp_table_data *table, oid *instance, size_t len)" -->
<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_row_next_byoid</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, oid *instance, size_t len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8a86075e0608dc2d636dbd672d8185ef"></a><!-- doxytag: member="table_data::netsnmp_table_data_row_get_byidx" ref="ga8a86075e0608dc2d636dbd672d8185ef" args="(netsnmp_table_data *table, netsnmp_variable_list *indexes)" -->
<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_row_get_byidx</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structvariable__list.html">netsnmp_variable_list</a> *indexes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga702e53fdf1c6b94f2daf26d01e81f4f8"></a><!-- doxytag: member="table_data::netsnmp_table_data_row_next_byidx" ref="ga702e53fdf1c6b94f2daf26d01e81f4f8" args="(netsnmp_table_data *table, netsnmp_variable_list *indexes)" -->
<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_row_next_byidx</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structvariable__list.html">netsnmp_variable_list</a> *indexes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8bbc6e2f32fabc2a2ae8573779910ab0"></a><!-- doxytag: member="table_data::netsnmp_table_data_row_count" ref="ga8bbc6e2f32fabc2a2ae8573779910ab0" args="(netsnmp_table_data *table)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_row_count</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6763f126242c3274e067d9a084093220"></a><!-- doxytag: member="table_data::netsnmp_table_data_entry_first" ref="ga6763f126242c3274e067d9a084093220" args="(netsnmp_table_data *table)" -->
void *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_entry_first</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga16015eb1749efc4b6c4546950ae7e798"></a><!-- doxytag: member="table_data::netsnmp_table_data_entry_get" ref="ga16015eb1749efc4b6c4546950ae7e798" args="(netsnmp_table_data *table, netsnmp_table_row *row)" -->
void *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_entry_get</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaabd4feb5b773a21bb46b8473f9e378b5"></a><!-- doxytag: member="table_data::netsnmp_table_data_entry_next" ref="gaabd4feb5b773a21bb46b8473f9e378b5" args="(netsnmp_table_data *table, netsnmp_table_row *row)" -->
void *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_entry_next</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7c50f958598cb67f3c8c20d98e7dba4b"></a><!-- doxytag: member="table_data::netsnmp_table_data_entry_get_byidx" ref="ga7c50f958598cb67f3c8c20d98e7dba4b" args="(netsnmp_table_data *table, netsnmp_variable_list *indexes)" -->
void *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_entry_get_byidx</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structvariable__list.html">netsnmp_variable_list</a> *indexes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeb36cc0a905a943703c495469f1e24de"></a><!-- doxytag: member="table_data::netsnmp_table_data_entry_next_byidx" ref="gaeb36cc0a905a943703c495469f1e24de" args="(netsnmp_table_data *table, netsnmp_variable_list *indexes)" -->
void *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_entry_next_byidx</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, <a class="el" href="structvariable__list.html">netsnmp_variable_list</a> *indexes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8b7c32414303da3f6b992b489c399792"></a><!-- doxytag: member="table_data::netsnmp_table_data_entry_get_byoid" ref="ga8b7c32414303da3f6b992b489c399792" args="(netsnmp_table_data *table, oid *instance, size_t len)" -->
void *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_entry_get_byoid</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, oid *instance, size_t len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1109ca98b8d97a6e94dd5cdd254afdb5"></a><!-- doxytag: member="table_data::netsnmp_table_data_entry_next_byoid" ref="ga1109ca98b8d97a6e94dd5cdd254afdb5" args="(netsnmp_table_data *table, oid *instance, size_t len)" -->
void *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_entry_next_byoid</b> (<a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *table, oid *instance, size_t len)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Helps you implement a table with datamatted storage. </p>
<p>This helper is obsolete. If you are writing a new module, please consider using the table_tdata helper instead.</p>
<p>This helper helps you implement a table where all the indexes are expected to be stored within the agent itself and not in some external storage location. It can be used to store a list of rows, where a row consists of the indexes to the table and a generic data pointer. You can then implement a subhandler which is passed the exact row definition and data it must return data for or accept data for. Complex GETNEXT handling is greatly simplified in this case. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gac0cc1567de4c67a31b398a145de6d5b1"></a><!-- doxytag: member="table_data.c::netsnmp_create_table_data" ref="gac0cc1567de4c67a31b398a145de6d5b1" args="(const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a>* <a class="el" href="group__table__data.html#gac0cc1567de4c67a31b398a145de6d5b1">netsnmp_create_table_data</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>creates and returns a pointer to table data set </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00052">52</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="gafdadce2dee8bc75b2b0dfd8e634e46a3"></a><!-- doxytag: member="table_data.c::netsnmp_create_table_data_row" ref="gafdadce2dee8bc75b2b0dfd8e634e46a3" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a>* <a class="el" href="group__table__data.html#gafdadce2dee8bc75b2b0dfd8e634e46a3">netsnmp_create_table_data_row</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>creates and returns a pointer to table data set </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="data_set_8c-example.html#a7">data_set.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="table__data_8c_source.html#l00062">62</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="gabd005dd85f7ca5c8fcfb5a82444bc3b6"></a><!-- doxytag: member="table_data.c::netsnmp_extract_table" ref="gabd005dd85f7ca5c8fcfb5a82444bc3b6" args="(netsnmp_request_info *request)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a>* <a class="el" href="group__table__data.html#gabd005dd85f7ca5c8fcfb5a82444bc3b6">netsnmp_extract_table</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>extracts the table being accessed passed from the table_data helper </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00649">649</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga0fae612cdbaef2df9006cc01a0c22c57"></a><!-- doxytag: member="table_data.c::netsnmp_extract_table_row" ref="ga0fae612cdbaef2df9006cc01a0c22c57" args="(netsnmp_request_info *request)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a>* <a class="el" href="group__table__data.html#ga0fae612cdbaef2df9006cc01a0c22c57">netsnmp_extract_table_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>extracts the row being accessed passed from the table_data helper </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00657">657</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaf5572e2cbd11d9de887a7620242d9b2b"></a><!-- doxytag: member="table_data.c::netsnmp_extract_table_row_data" ref="gaf5572e2cbd11d9de887a7620242d9b2b" args="(netsnmp_request_info *request)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="group__table__data.html#gaf5572e2cbd11d9de887a7620242d9b2b">netsnmp_extract_table_row_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>extracts the data from the row being accessed passed from the table_data helper </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00666">666</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="gabe777fbdc55077859785626d0a4e97de"></a><!-- doxytag: member="table_data.c::netsnmp_get_table_data_handler" ref="gabe777fbdc55077859785626d0a4e97de" args="(netsnmp_table_data *table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__handler.html#ga77f4225c0e0c1d549e634f58dba3de3d">netsnmp_mib_handler</a>* <a class="el" href="group__table__data.html#gabe777fbdc55077859785626d0a4e97de">netsnmp_get_table_data_handler</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a table_data handler and returns it. </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00371">371</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga2439a73fac04d2476c3a8f6ecd2dc78b"></a><!-- doxytag: member="table_data.c::netsnmp_insert_table_row" ref="ga2439a73fac04d2476c3a8f6ecd2dc78b" args="(netsnmp_request_info *request, netsnmp_table_row *row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NETSNMP_INLINE void <a class="el" href="group__table__data.html#ga2439a73fac04d2476c3a8f6ecd2dc78b">netsnmp_insert_table_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *&#160;</td>
          <td class="paramname"><em>request</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td>
          <td class="paramname"><em>row</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>inserts a newly created table_data row into a request </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00678">678</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga144f64e4c2a50595d3eec9e727ec6472"></a><!-- doxytag: member="table_data.c::netsnmp_register_read_only_table_data" ref="ga144f64e4c2a50595d3eec9e727ec6472" args="(netsnmp_handler_registration *reginfo, netsnmp_table_data *table, netsnmp_table_registration_info *table_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__table__data.html#ga144f64e4c2a50595d3eec9e727ec6472">netsnmp_register_read_only_table_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__handler.html#gac475ff73806c2d76ebfc78a87d921b8b">netsnmp_handler_registration</a> *&#160;</td>
          <td class="paramname"><em>reginfo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__registration__info__s.html">netsnmp_table_registration_info</a> *&#160;</td>
          <td class="paramname"><em>table_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>registers a handler as a read-only data table If table_info != NULL, it registers it as a normal table too. </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00405">405</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga9c5f1d84e2c7f625e786667a2ef1f0b5"></a><!-- doxytag: member="table_data.c::netsnmp_register_table_data" ref="ga9c5f1d84e2c7f625e786667a2ef1f0b5" args="(netsnmp_handler_registration *reginfo, netsnmp_table_data *table, netsnmp_table_registration_info *table_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__table__data.html#ga9c5f1d84e2c7f625e786667a2ef1f0b5">netsnmp_register_table_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__handler.html#gac475ff73806c2d76ebfc78a87d921b8b">netsnmp_handler_registration</a> *&#160;</td>
          <td class="paramname"><em>reginfo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__registration__info__s.html">netsnmp_table_registration_info</a> *&#160;</td>
          <td class="paramname"><em>table_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>registers a handler as a data table. </p>
<p>If table_info != NULL, it registers it as a normal table too. </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00394">394</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="gafa6a070da8369ec7a3c87e4fdcd014de"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_add_row" ref="gafa6a070da8369ec7a3c87e4fdcd014de" args="(netsnmp_table_data *table, netsnmp_table_row *row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__table__data.html#gafa6a070da8369ec7a3c87e4fdcd014de">netsnmp_table_data_add_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td>
          <td class="paramname"><em>row</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a row of data to a given table (stored in proper lexographical order). </p>
<p>returns SNMPERR_SUCCESS on successful addition. or SNMPERR_GENERR on failure (E.G., indexes already existed) </p>
<p>xxx-rks: remove invalid row? </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00130">130</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga255af6ddcb7eea49cfe00de56bd87f37"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_clone_row" ref="ga255af6ddcb7eea49cfe00de56bd87f37" args="(netsnmp_table_row *row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a>* <a class="el" href="group__table__data.html#ga255af6ddcb7eea49cfe00de56bd87f37">netsnmp_table_data_clone_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td>
          <td class="paramname"><em>row</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>clones a data row. </p>
<p>DOES NOT CLONE THE CONTAINED DATA. </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00070">70</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga4f84f680e50132cb614f5152db053bd0"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_delete_row" ref="ga4f84f680e50132cb614f5152db053bd0" args="(netsnmp_table_row *row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="group__table__data.html#ga4f84f680e50132cb614f5152db053bd0">netsnmp_table_data_delete_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td>
          <td class="paramname"><em>row</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>deletes a row's memory. </p>
<p>returns the void data that it doesn't know how to delete. </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00101">101</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga55bc29a38deeb0decd31b24ab6ae6f36"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_get" ref="ga55bc29a38deeb0decd31b24ab6ae6f36" args="(netsnmp_table_data *table, netsnmp_variable_list *indexes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a>* <a class="el" href="group__table__data.html#ga55bc29a38deeb0decd31b24ab6ae6f36">netsnmp_table_data_get</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structvariable__list.html">netsnmp_variable_list</a> *&#160;</td>
          <td class="paramname"><em>indexes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>finds the data in "datalist" stored at "indexes" </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00804">804</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga22709ef5a1d6198937526679b0a0e503"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_get_first_row" ref="ga22709ef5a1d6198937526679b0a0e503" args="(netsnmp_table_data *table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a>* <a class="el" href="group__table__data.html#ga22709ef5a1d6198937526679b0a0e503">netsnmp_table_data_get_first_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the first row in the table </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00785">785</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga9c7ccab692b0d45f5c18c4b95d50a360"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_get_from_oid" ref="ga9c7ccab692b0d45f5c18c4b95d50a360" args="(netsnmp_table_data *table, oid *searchfor, size_t searchfor_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a>* <a class="el" href="group__table__data.html#ga9c7ccab692b0d45f5c18c4b95d50a360">netsnmp_table_data_get_from_oid</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oid *&#160;</td>
          <td class="paramname"><em>searchfor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>searchfor_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>finds the data in "datalist" stored at the searchfor oid </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00818">818</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga5946b9b88fd3d284d6994a5c4b6eaa62"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_get_next_row" ref="ga5946b9b88fd3d284d6994a5c4b6eaa62" args="(netsnmp_table_data *table, netsnmp_table_row *row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a>* <a class="el" href="group__table__data.html#ga5946b9b88fd3d284d6994a5c4b6eaa62">netsnmp_table_data_get_next_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td>
          <td class="paramname"><em>row</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the next row in the table </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00794">794</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga5339c8a53e8462d692bd8c63d8f50a41"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_remove_and_delete_row" ref="ga5339c8a53e8462d692bd8c63d8f50a41" args="(netsnmp_table_data *table, netsnmp_table_row *row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="group__table__data.html#ga5339c8a53e8462d692bd8c63d8f50a41">netsnmp_table_data_remove_and_delete_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td>
          <td class="paramname"><em>row</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>removes and frees a row of data to a given table and returns the void * </p>
<p>returns the void * data on successful deletion. or NULL on failure (bad arguments) </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00270">270</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaec69da662a26edd1cd3cee5fd6338768"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_remove_row" ref="gaec69da662a26edd1cd3cee5fd6338768" args="(netsnmp_table_data *table, netsnmp_table_row *row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a>* <a class="el" href="group__table__data.html#gaec69da662a26edd1cd3cee5fd6338768">netsnmp_table_data_remove_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td>
          <td class="paramname"><em>row</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>removes a row of data to a given table and returns it (no free's called) </p>
<p>returns the row pointer itself on successful removing. or NULL on failure (bad arguments) </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00244">244</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga20d07eb76248feae99221d0b4e30707d"></a><!-- doxytag: member="table_data.c::netsnmp_table_data_replace_row" ref="ga20d07eb76248feae99221d0b4e30707d" args="(netsnmp_table_data *table, netsnmp_table_row *origrow, netsnmp_table_row *newrow)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NETSNMP_INLINE void <a class="el" href="group__table__data.html#ga20d07eb76248feae99221d0b4e30707d">netsnmp_table_data_replace_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__s.html">netsnmp_table_data</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td>
          <td class="paramname"><em>origrow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *&#160;</td>
          <td class="paramname"><em>newrow</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>swaps out origrow with newrow. </p>
<p>This does *not* delete/free anything! </p>

<p>Definition at line <a class="el" href="table__data_8c_source.html#l00229">229</a> of file <a class="el" href="table__data_8c_source.html">table_data.c</a>.</p>

</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>