Current File : //usr/share/doc/net-snmp/html/group__table__dataset.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_dataset</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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">table_dataset</div>  </div>
<div class="ingroups"><a class="el" href="group__table__data.html">table_data</a></div></div><!--header-->
<div class="contents">

<p>Helps you implement a table with automatted storage.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<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="ga95140740535ca78b06513e68cbb00621"></a><!-- doxytag: member="table_dataset::netsnmp_init_table_dataset" ref="ga95140740535ca78b06513e68cbb00621" args="(void)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_init_table_dataset</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__dataset.html#gab523c6783716afd206f0512f93ef6503">netsnmp_create_table_data_set</a> (const char *table_name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a netsnmp_table_data_set structure given a table_data definition.  <a href="#gab523c6783716afd206f0512f93ef6503"></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__dataset.html#ga28d4cc5c7b860b9f77725572986e081b">netsnmp_table_data_set_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 dataset row, including all data.  <a href="#ga28d4cc5c7b860b9f77725572986e081b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NETSNMP_INLINE <br class="typebreak"/>
<a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__dataset.html#ga6b9f1f2244716eb1b63f4c7f0af022b4">netsnmp_table_dataset_delete_data</a> (<a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">deletes a single dataset table data.  <a href="#ga6b9f1f2244716eb1b63f4c7f0af022b4"></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__dataset.html#ga21022de69a50530dd300fcc0c26bc6e7">netsnmp_table_dataset_delete_all_data</a> (<a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">deletes all the data from this node and beyond in the linked list  <a href="#ga21022de69a50530dd300fcc0c26bc6e7"></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__dataset.html#gaf44422bf337cbbd7d95a1b107d4e8971">netsnmp_table_dataset_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 all the data from this node and beyond in the linked list  <a href="#gaf44422bf337cbbd7d95a1b107d4e8971"></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__dataset.html#gacaa808db27144a4f967024bd7c9b6b25">netsnmp_table_dataset_add_row</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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 new row to a dataset table  <a href="#gacaa808db27144a4f967024bd7c9b6b25"></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__dataset.html#gabccec67ba904c7cda380ca95596317c0">netsnmp_table_dataset_replace_row</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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">adds a new row to a dataset table  <a href="#gabccec67ba904c7cda380ca95596317c0"></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__dataset.html#ga46bf89f819af6fc2baf18324e162ff0e">netsnmp_table_dataset_remove_row</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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 from the table, but doesn't delete/free the column values  <a href="#ga46bf89f819af6fc2baf18324e162ff0e"></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__dataset.html#ga227574752f88882185e1a97a85f10765">netsnmp_table_dataset_remove_and_delete_row</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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 from the table and then deletes it (and all its data)  <a href="#ga227574752f88882185e1a97a85f10765"></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__dataset.html#ga360c4b8ffc98b495e195f987d39a69d2">netsnmp_table_data_set_create_row_from_defaults</a> (<a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *defrow)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">creates a new row from an existing defined default set  <a href="#ga360c4b8ffc98b495e195f987d39a69d2"></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__dataset.html#ga856fae0cafd9c19a1d856ad6f892c13e">netsnmp_table_set_add_default_row</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *table_set, unsigned int column, int type, int writable, void *default_value, size_t default_value_len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">adds a new default row to a table_set.  <a href="#ga856fae0cafd9c19a1d856ad6f892c13e"></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__dataset.html#ga26ffb5722ae066cfbcfe1f0f37bc072e">netsnmp_table_set_multi_add_default_row</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *tset,...)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">adds multiple data column definitions to each row.  <a href="#ga26ffb5722ae066cfbcfe1f0f37bc072e"></a><br/></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__dataset.html#gad3e939f5e63b3ba7de4eb86f99915fca">netsnmp_get_table_data_set_handler</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *data_set)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a netsnmp_table_data_set definition, create a handler for it.  <a href="#gad3e939f5e63b3ba7de4eb86f99915fca"></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__dataset.html#gac3daf62b5ff07dd03bc5b993e93ab103">netsnmp_register_table_data_set</a> (<a class="el" href="group__handler.html#gac475ff73806c2d76ebfc78a87d921b8b">netsnmp_handler_registration</a> *reginfo, <a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *data_set, <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">register a given data_set at a given oid (specified in the netsnmp_handler_registration pointer).  <a href="#gac3daf62b5ff07dd03bc5b993e93ab103"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab7deb53a862ba45a27f1e6e15c1f2687"></a><!-- doxytag: member="table_dataset::netsnmp_table_data_set_create_newrowstash" ref="gab7deb53a862ba45a27f1e6e15c1f2687" args="(netsnmp_table_data_set *datatable, netsnmp_table_request_info *table_info)" -->
<a class="el" href="structnewrow__stash__s.html">newrow_stash</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_data_set_create_newrowstash</b> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *datatable, <a class="el" href="structnetsnmp__table__request__info__s.html">netsnmp_table_request_info</a> *table_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae18c7417da0946f4f6f7fe731d1db9a8"></a><!-- doxytag: member="table_dataset::netsnmp_table_data_set_helper_handler" ref="gae18c7417da0946f4f6f7fe731d1db9a8" 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_set_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">NETSNMP_INLINE <br class="typebreak"/>
<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__dataset.html#gab215c65b2b8bc844e5711fcf03292883">netsnmp_extract_table_data_set</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 a netsnmp_table_data_set pointer from a given request  <a href="#gab215c65b2b8bc844e5711fcf03292883"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__dataset.html#ga97801d47420ffa1e24b1c648cc4ed7e3">netsnmp_extract_table_data_set_column</a> (<a class="el" href="structnetsnmp__request__info__s.html">netsnmp_request_info</a> *request, unsigned int column)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">extracts a netsnmp_table_data_set pointer from a given request  <a href="#ga97801d47420ffa1e24b1c648cc4ed7e3"></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__dataset.html#ga0abcc64b2de9687425d8402c0b3377da">netsnmp_register_auto_data_table</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *table_set, char *registration_name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">registers a table_dataset so that the "add_row" snmpd.conf token can be used to add data to this table.  <a href="#ga0abcc64b2de9687425d8402c0b3377da"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3f6d936216ce04f3a4fd75134bd873ea"></a><!-- doxytag: member="table_dataset::netsnmp_config_parse_table_set" ref="ga3f6d936216ce04f3a4fd75134bd873ea" args="(const char *token, char *line)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_config_parse_table_set</b> (const char *token, char *line)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5b19aadbaac0c77dcca16006e4bf7ae9"></a><!-- doxytag: member="table_dataset::netsnmp_config_parse_add_row" ref="ga5b19aadbaac0c77dcca16006e4bf7ae9" args="(const char *token, char *line)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_config_parse_add_row</b> (const char *token, char *line)</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__dataset.html#ga97de8fced32fab9d344e8265d1ba6eed">netsnmp_table_data_set_get_first_row</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *table)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the first row in the table  <a href="#ga97de8fced32fab9d344e8265d1ba6eed"></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__dataset.html#gab4df0ce460721ca4eb500f5656a881cb">netsnmp_table_data_set_get_next_row</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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="#gab4df0ce460721ca4eb500f5656a881cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8d4e7e44ecfd3b8b826b707682943518"></a><!-- doxytag: member="table_dataset::netsnmp_table_set_num_rows" ref="ga8d4e7e44ecfd3b8b826b707682943518" args="(netsnmp_table_data_set *table)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_table_set_num_rows</b> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__table__dataset.html#ga415b0d8045da228d63325800cc6af88d">netsnmp_table_data_set_find_column</a> (<a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *start, unsigned int column)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a column within a given storage set, given the pointer to the start of the storage set list.  <a href="#ga415b0d8045da228d63325800cc6af88d"></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__dataset.html#ga5dce210cd4d59eb8b01478ee5d0dc348">netsnmp_mark_row_column_writable</a> (<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row, int column, int writable)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">marks a given column in a row as writable or not.  <a href="#ga5dce210cd4d59eb8b01478ee5d0dc348"></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__dataset.html#gaaa497e6eec3b370c5901905696bc78af">netsnmp_set_row_column</a> (<a class="el" href="structnetsnmp__table__row__s.html">netsnmp_table_row</a> *row, unsigned int column, int type, const char *value, size_t value_len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">sets a given column in a row with data given a type, value, and length.  <a href="#gaaa497e6eec3b370c5901905696bc78af"></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__dataset.html#ga6d5b0aafacd3727e214bb890b2285662">netsnmp_table_dataset_add_index</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *table, u_char type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">adds an index to the table.  <a href="#ga6d5b0aafacd3727e214bb890b2285662"></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__dataset.html#ga7fceab6c9539e65c2c0cc59752d34149">netsnmp_table_set_add_indexes</a> (<a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *tset,...)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">adds multiple indexes to a table_dataset helper object.  <a href="#ga7fceab6c9539e65c2c0cc59752d34149"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Helps you implement a table with automatted storage. </p>
<p>This helper is obsolete. If you are writing a new module, please consider using the table_dataset2 helper instead.</p>
<p>This handler helps you implement a table where all the data is expected to be stored within the agent itself and not in some external storage location. It handles all MIB requests including GETs, GETNEXTs and SETs. It's possible to simply create a table without actually ever defining a handler to be called when SNMP requests come in. To use the data, you can either attach a sub-handler that merely uses/manipulates the data further when requests come in, or you can loop through it externally when it's actually needed. This handler is most useful in cases where a table is holding configuration data for something which gets triggered via another event.</p>
<p>NOTE NOTE NOTE: This helper isn't complete and is likely to change somewhat over time. Specifically, the way it stores data internally may change drastically. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gab523c6783716afd206f0512f93ef6503"></a><!-- doxytag: member="table_dataset.c::netsnmp_create_table_data_set" ref="gab523c6783716afd206f0512f93ef6503" args="(const char *table_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a>* <a class="el" href="group__table__dataset.html#gab523c6783716afd206f0512f93ef6503">netsnmp_create_table_data_set</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>table_name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a netsnmp_table_data_set structure given a table_data definition. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="data_set_8c-example.html#a2">data_set.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00080">80</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="gab215c65b2b8bc844e5711fcf03292883"></a><!-- doxytag: member="table_dataset.c::netsnmp_extract_table_data_set" ref="gab215c65b2b8bc844e5711fcf03292883" args="(netsnmp_request_info *request)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NETSNMP_INLINE <a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a>* <a class="el" href="group__table__dataset.html#gab215c65b2b8bc844e5711fcf03292883">netsnmp_extract_table_data_set</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 a netsnmp_table_data_set pointer from a given request </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00816">816</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga97801d47420ffa1e24b1c648cc4ed7e3"></a><!-- doxytag: member="table_dataset.c::netsnmp_extract_table_data_set_column" ref="ga97801d47420ffa1e24b1c648cc4ed7e3" args="(netsnmp_request_info *request, unsigned int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a>* <a class="el" href="group__table__dataset.html#ga97801d47420ffa1e24b1c648cc4ed7e3">netsnmp_extract_table_data_set_column</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">unsigned int&#160;</td>
          <td class="paramname"><em>column</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>extracts a netsnmp_table_data_set pointer from a given request </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00826">826</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="gad3e939f5e63b3ba7de4eb86f99915fca"></a><!-- doxytag: member="table_dataset.c::netsnmp_get_table_data_set_handler" ref="gad3e939f5e63b3ba7de4eb86f99915fca" args="(netsnmp_table_data_set *data_set)" -->
<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__dataset.html#gad3e939f5e63b3ba7de4eb86f99915fca">netsnmp_get_table_data_set_handler</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *&#160;</td>
          <td class="paramname"><em>data_set</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a netsnmp_table_data_set definition, create a handler for it. </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00356">356</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga5dce210cd4d59eb8b01478ee5d0dc348"></a><!-- doxytag: member="table_dataset.c::netsnmp_mark_row_column_writable" ref="ga5dce210cd4d59eb8b01478ee5d0dc348" args="(netsnmp_table_row *row, int column, int writable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__table__dataset.html#ga5dce210cd4d59eb8b01478ee5d0dc348">netsnmp_mark_row_column_writable</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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>column</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>writable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>marks a given column in a row as writable or not. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="data_set_8c-example.html#a9">data_set.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l01187">1187</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga0abcc64b2de9687425d8402c0b3377da"></a><!-- doxytag: member="table_dataset.c::netsnmp_register_auto_data_table" ref="ga0abcc64b2de9687425d8402c0b3377da" args="(netsnmp_table_data_set *table_set, char *registration_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__table__dataset.html#ga0abcc64b2de9687425d8402c0b3377da">netsnmp_register_auto_data_table</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *&#160;</td>
          <td class="paramname"><em>table_set</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>registration_name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>registers a table_dataset so that the "add_row" snmpd.conf token can be used to add data to this table. </p>
<p>If registration_name is NULL then the name used when the table was created will be used instead.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>create a properly free'ing registeration pointer for the datalist, and get the datalist freed at shutdown. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="data_set_8c-example.html#a11">data_set.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00853">853</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="gac3daf62b5ff07dd03bc5b993e93ab103"></a><!-- doxytag: member="table_dataset.c::netsnmp_register_table_data_set" ref="gac3daf62b5ff07dd03bc5b993e93ab103" args="(netsnmp_handler_registration *reginfo, netsnmp_table_data_set *data_set, 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__dataset.html#gac3daf62b5ff07dd03bc5b993e93ab103">netsnmp_register_table_data_set</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__set__s.html">netsnmp_table_data_set</a> *&#160;</td>
          <td class="paramname"><em>data_set</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>register a given data_set at a given oid (specified in the netsnmp_handler_registration pointer). </p>
<p>The reginfo-&gt;handler-&gt;access_method *may* be null if the call doesn't ever want to be called for SNMP operations. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="data_set_8c-example.html#a6">data_set.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00382">382</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaaa497e6eec3b370c5901905696bc78af"></a><!-- doxytag: member="table_dataset.c::netsnmp_set_row_column" ref="gaaa497e6eec3b370c5901905696bc78af" args="(netsnmp_table_row *row, unsigned int column, int type, const char *value, size_t value_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__table__dataset.html#gaaa497e6eec3b370c5901905696bc78af">netsnmp_set_row_column</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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>column</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>value_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>sets a given column in a row with data given a type, value, and length. </p>
<p>Data is memdup'ed by the function. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="data_set_8c-example.html#a8">data_set.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l01222">1222</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga28d4cc5c7b860b9f77725572986e081b"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_data_set_clone_row" ref="ga28d4cc5c7b860b9f77725572986e081b" 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__dataset.html#ga28d4cc5c7b860b9f77725572986e081b">netsnmp_table_data_set_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 dataset row, including all data. </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00092">92</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga360c4b8ffc98b495e195f987d39a69d2"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_data_set_create_row_from_defaults" ref="ga360c4b8ffc98b495e195f987d39a69d2" args="(netsnmp_table_data_set_storage *defrow)" -->
<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__dataset.html#ga360c4b8ffc98b495e195f987d39a69d2">netsnmp_table_data_set_create_row_from_defaults</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *&#160;</td>
          <td class="paramname"><em>defrow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>creates a new row from an existing defined default set </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00226">226</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga415b0d8045da228d63325800cc6af88d"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_data_set_find_column" ref="ga415b0d8045da228d63325800cc6af88d" args="(netsnmp_table_data_set_storage *start, unsigned int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a>* <a class="el" href="group__table__dataset.html#ga415b0d8045da228d63325800cc6af88d">netsnmp_table_data_set_find_column</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>column</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Finds a column within a given storage set, given the pointer to the start of the storage set list. </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l01175">1175</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga97de8fced32fab9d344e8265d1ba6eed"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_data_set_get_first_row" ref="ga97de8fced32fab9d344e8265d1ba6eed" args="(netsnmp_table_data_set *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__dataset.html#ga97de8fced32fab9d344e8265d1ba6eed">netsnmp_table_data_set_get_first_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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__dataset_8c_source.html#l01144">1144</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="gab4df0ce460721ca4eb500f5656a881cb"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_data_set_get_next_row" ref="gab4df0ce460721ca4eb500f5656a881cb" args="(netsnmp_table_data_set *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__dataset.html#gab4df0ce460721ca4eb500f5656a881cb">netsnmp_table_data_set_get_next_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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__dataset_8c_source.html#l01151">1151</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga6d5b0aafacd3727e214bb890b2285662"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_dataset_add_index" ref="ga6d5b0aafacd3727e214bb890b2285662" args="(netsnmp_table_data_set *table, u_char type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NETSNMP_INLINE void <a class="el" href="group__table__dataset.html#ga6d5b0aafacd3727e214bb890b2285662">netsnmp_table_dataset_add_index</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_char&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>adds an index to the table. </p>
<p>Call this repeatly for each index. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="data_set_8c-example.html#a4">data_set.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l01276">1276</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="gacaa808db27144a4f967024bd7c9b6b25"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_dataset_add_row" ref="gacaa808db27144a4f967024bd7c9b6b25" args="(netsnmp_table_data_set *table, 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__dataset.html#gacaa808db27144a4f967024bd7c9b6b25">netsnmp_table_dataset_add_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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 new row to a dataset table </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="data_set_8c-example.html#a10">data_set.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00171">171</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga21022de69a50530dd300fcc0c26bc6e7"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_dataset_delete_all_data" ref="ga21022de69a50530dd300fcc0c26bc6e7" args="(netsnmp_table_data_set_storage *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NETSNMP_INLINE void <a class="el" href="group__table__dataset.html#ga21022de69a50530dd300fcc0c26bc6e7">netsnmp_table_dataset_delete_all_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>deletes all the data from this node and beyond in the linked list </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00148">148</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga6b9f1f2244716eb1b63f4c7f0af022b4"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_dataset_delete_data" ref="ga6b9f1f2244716eb1b63f4c7f0af022b4" args="(netsnmp_table_data_set_storage *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NETSNMP_INLINE <a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a>* <a class="el" href="group__table__dataset.html#ga6b9f1f2244716eb1b63f4c7f0af022b4">netsnmp_table_dataset_delete_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__storage__s.html">netsnmp_table_data_set_storage</a> *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>deletes a single dataset table data. </p>
<p>returns the (possibly still good) next pointer of the deleted data object. </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00135">135</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaf44422bf337cbbd7d95a1b107d4e8971"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_dataset_delete_row" ref="gaf44422bf337cbbd7d95a1b107d4e8971" args="(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__dataset.html#gaf44422bf337cbbd7d95a1b107d4e8971">netsnmp_table_dataset_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 all the data from this node and beyond in the linked list </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00158">158</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga227574752f88882185e1a97a85f10765"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_dataset_remove_and_delete_row" ref="ga227574752f88882185e1a97a85f10765" args="(netsnmp_table_data_set *table, 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__dataset.html#ga227574752f88882185e1a97a85f10765">netsnmp_table_dataset_remove_and_delete_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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 from the table and then deletes it (and all its data) </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00203">203</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga46bf89f819af6fc2baf18324e162ff0e"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_dataset_remove_row" ref="ga46bf89f819af6fc2baf18324e162ff0e" args="(netsnmp_table_data_set *table, 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__dataset.html#ga46bf89f819af6fc2baf18324e162ff0e">netsnmp_table_dataset_remove_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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 from the table, but doesn't delete/free the column values </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00192">192</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="gabccec67ba904c7cda380ca95596317c0"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_dataset_replace_row" ref="gabccec67ba904c7cda380ca95596317c0" args="(netsnmp_table_data_set *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__dataset.html#gabccec67ba904c7cda380ca95596317c0">netsnmp_table_dataset_replace_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</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>adds a new row to a dataset table </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00181">181</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga856fae0cafd9c19a1d856ad6f892c13e"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_set_add_default_row" ref="ga856fae0cafd9c19a1d856ad6f892c13e" args="(netsnmp_table_data_set *table_set, unsigned int column, int type, int writable, void *default_value, size_t default_value_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__table__dataset.html#ga856fae0cafd9c19a1d856ad6f892c13e">netsnmp_table_set_add_default_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *&#160;</td>
          <td class="paramname"><em>table_set</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>column</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>writable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>default_value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>default_value_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>adds a new default row to a table_set. </p>
<p>Arguments should be the table_set, column number, variable type and finally a 1 if it is allowed to be writable, or a 0 if not. If the default_value field is not NULL, it will be used to populate new valuse in that column fro newly created rows. It is copied into the storage template (free your calling argument).</p>
<p>returns SNMPERR_SUCCESS or SNMPERR_FAILURE </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00252">252</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga7fceab6c9539e65c2c0cc59752d34149"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_set_add_indexes" ref="ga7fceab6c9539e65c2c0cc59752d34149" args="(netsnmp_table_data_set *tset,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__table__dataset.html#ga7fceab6c9539e65c2c0cc59752d34149">netsnmp_table_set_add_indexes</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *&#160;</td>
          <td class="paramname"><em>tset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>adds multiple indexes to a table_dataset helper object. </p>
<p>To end the list, use a 0 after the list of ASN index types. </p>

<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l01287">1287</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga26ffb5722ae066cfbcfe1f0f37bc072e"></a><!-- doxytag: member="table_dataset.c::netsnmp_table_set_multi_add_default_row" ref="ga26ffb5722ae066cfbcfe1f0f37bc072e" args="(netsnmp_table_data_set *tset,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__table__dataset.html#ga26ffb5722ae066cfbcfe1f0f37bc072e">netsnmp_table_set_multi_add_default_row</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__table__data__set__s.html">netsnmp_table_data_set</a> *&#160;</td>
          <td class="paramname"><em>tset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>adds multiple data column definitions to each row. </p>
<p>Functionally, this is a wrapper around calling netsnmp_table_set_add_default_row repeatedly for you. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="data_set_8c-example.html#a5">data_set.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="table__dataset_8c_source.html#l00313">313</a> of file <a class="el" href="table__dataset_8c_source.html">table_dataset.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>