Current File : //usr/share/doc/net-snmp/html/group__oid__stash.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: Store and retrieve data referenced by an OID.</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">Store and retrieve data referenced by an OID.</div>  </div>
<div class="ingroups"><a class="el" href="group__library.html">The Net-SNMP library</a></div></div><!--header-->
<div class="contents">

<p>This is essentially a way of storing data associated with a given OID.  
<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="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oid__stash.html#gaaf5a8d0c873ffab2b0003cb344c2ede5">netsnmp_oid_stash_create_sized_node</a> (size_t mysize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an netsnmp_oid_stash node.  <a href="#gaaf5a8d0c873ffab2b0003cb344c2ede5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NETSNMP_INLINE <br class="typebreak"/>
<a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oid__stash.html#ga47eb52e48868cb90b12753697545b0e6">netsnmp_oid_stash_create_node</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a netsnmp_oid_stash_node.  <a href="#ga47eb52e48868cb90b12753697545b0e6"></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__oid__stash.html#gad879efc661146a2c5f0fa156221df895">netsnmp_oid_stash_add_data</a> (<a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> **root, oid *lookup, size_t lookup_len, void *mydata)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">adds data to the stash at a given oid.  <a href="#gad879efc661146a2c5f0fa156221df895"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oid__stash.html#ga059d17223a9760ba9c1e802bc92a07bf">netsnmp_oid_stash_get_node</a> (<a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *root, oid *lookup, size_t lookup_len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a node associated with a given OID.  <a href="#ga059d17223a9760ba9c1e802bc92a07bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oid__stash.html#gac01c6a62fa0db8ae20fab02c1e9cc945">netsnmp_oid_stash_getnext_node</a> (<a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *root, oid *lookup, size_t lookup_len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the next node associated with a given OID.  <a href="#gac01c6a62fa0db8ae20fab02c1e9cc945"></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__oid__stash.html#ga19552f5190110ab8d5e2fe1488039f3a">netsnmp_oid_stash_get_data</a> (<a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *root, oid *lookup, size_t lookup_len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a data pointer associated with a given OID.  <a href="#ga19552f5190110ab8d5e2fe1488039f3a"></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__oid__stash.html#gaafa8739f36e9a822aeeffd904279717d">netsnmp_oid_stash_store_all</a> (int majorID, int minorID, void *serverarg, void *clientarg)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">a wrapper around netsnmp_oid_stash_store for use with a <a class="el" href="structsnmp__alarm.html">snmp_alarm</a>.  <a href="#gaafa8739f36e9a822aeeffd904279717d"></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__oid__stash.html#gae703951c514045459f350815fc78d507">netsnmp_oid_stash_store</a> (<a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *root, const char *tokenname, NetSNMPStashDump *dumpfn, oid *curoid, size_t curoid_len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">stores data in a starsh tree to peristent storage.  <a href="#gae703951c514045459f350815fc78d507"></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__oid__stash.html#ga19826a6f962e8cba28fcd4e40f218796">oid_stash_dump</a> (<a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *root, char *prefix)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">For debugging: dump the netsnmp_oid_stash tree to stdout.  <a href="#ga19826a6f962e8cba28fcd4e40f218796"></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__oid__stash.html#ga8b3ab7792cfc2014af022a6eb2ecabc0">netsnmp_oid_stash_free</a> (<a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> **root, NetSNMPStashFreeNode *freefn)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees the contents of a netsnmp_oid_stash tree.  <a href="#ga8b3ab7792cfc2014af022a6eb2ecabc0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga24d016cbeab37c8d86cc4d782efea915"></a><!-- doxytag: member="oid_stash::netsnmp_oid_stash_no_free" ref="ga24d016cbeab37c8d86cc4d782efea915" args="(void *bogus)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>netsnmp_oid_stash_no_free</b> (void *bogus)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>This is essentially a way of storing data associated with a given OID. </p>
<p>It stores a bunch of data pointers within a memory tree that allows fairly efficient lookups with a heavily populated tree. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gad879efc661146a2c5f0fa156221df895"></a><!-- doxytag: member="oid_stash.c::netsnmp_oid_stash_add_data" ref="gad879efc661146a2c5f0fa156221df895" args="(netsnmp_oid_stash_node **root, oid *lookup, size_t lookup_len, void *mydata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__oid__stash.html#gad879efc661146a2c5f0fa156221df895">netsnmp_oid_stash_add_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> **&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oid *&#160;</td>
          <td class="paramname"><em>lookup</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>lookup_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>mydata</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>adds data to the stash at a given oid. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>the top of the stash tree </td></tr>
    <tr><td class="paramname">lookup</td><td>the oid index to store the data at. </td></tr>
    <tr><td class="paramname">lookup_len</td><td>the length of the lookup oid. </td></tr>
    <tr><td class="paramname">mydata</td><td>the data to store</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>SNMPERR_SUCCESS on success, SNMPERR_GENERR if data is already there, SNMPERR_MALLOC on malloc failures or if arguments passed in with NULL values. </dd></dl>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00083">83</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga47eb52e48868cb90b12753697545b0e6"></a><!-- doxytag: member="oid_stash.c::netsnmp_oid_stash_create_node" ref="ga47eb52e48868cb90b12753697545b0e6" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NETSNMP_INLINE <a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a>* <a class="el" href="group__oid__stash.html#ga47eb52e48868cb90b12753697545b0e6">netsnmp_oid_stash_create_node</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 a netsnmp_oid_stash_node. </p>
<p>Assumes you want the default OID_STASH_CHILDREN_SIZE hash size for the node. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on error, otherwise the newly allocated node </dd></dl>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00066">66</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaaf5a8d0c873ffab2b0003cb344c2ede5"></a><!-- doxytag: member="oid_stash.c::netsnmp_oid_stash_create_sized_node" ref="gaaf5a8d0c873ffab2b0003cb344c2ede5" args="(size_t mysize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a>* <a class="el" href="group__oid__stash.html#gaaf5a8d0c873ffab2b0003cb344c2ede5">netsnmp_oid_stash_create_sized_node</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>mysize</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create an netsnmp_oid_stash node. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mysize</td><td>the size of the child pointer array</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on error, otherwise the newly allocated node </dd></dl>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00046">46</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga8b3ab7792cfc2014af022a6eb2ecabc0"></a><!-- doxytag: member="oid_stash.c::netsnmp_oid_stash_free" ref="ga8b3ab7792cfc2014af022a6eb2ecabc0" args="(netsnmp_oid_stash_node **root, NetSNMPStashFreeNode *freefn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__oid__stash.html#ga8b3ab7792cfc2014af022a6eb2ecabc0">netsnmp_oid_stash_free</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> **&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NetSNMPStashFreeNode *&#160;</td>
          <td class="paramname"><em>freefn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Frees the contents of a netsnmp_oid_stash tree. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>the top of the tree (or branch to be freed) </td></tr>
    <tr><td class="paramname">freefn</td><td>The function to be called on each data (void *) pointer. If left NULL the system free() function will be called </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00401">401</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga19552f5190110ab8d5e2fe1488039f3a"></a><!-- doxytag: member="oid_stash.c::netsnmp_oid_stash_get_data" ref="ga19552f5190110ab8d5e2fe1488039f3a" args="(netsnmp_oid_stash_node *root, oid *lookup, size_t lookup_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="group__oid__stash.html#ga19552f5190110ab8d5e2fe1488039f3a">netsnmp_oid_stash_get_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oid *&#160;</td>
          <td class="paramname"><em>lookup</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>lookup_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns a data pointer associated with a given OID. </p>
<p>This is equivelent to netsnmp_oid_stash_get_node, but returns only the data not the entire node.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>the top of the stash </td></tr>
    <tr><td class="paramname">lookup</td><td>the oid to search for </td></tr>
    <tr><td class="paramname">lookup_len</td><td>the length of the search oid. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00282">282</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga059d17223a9760ba9c1e802bc92a07bf"></a><!-- doxytag: member="oid_stash.c::netsnmp_oid_stash_get_node" ref="ga059d17223a9760ba9c1e802bc92a07bf" args="(netsnmp_oid_stash_node *root, oid *lookup, size_t lookup_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a>* <a class="el" href="group__oid__stash.html#ga059d17223a9760ba9c1e802bc92a07bf">netsnmp_oid_stash_get_node</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oid *&#160;</td>
          <td class="paramname"><em>lookup</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>lookup_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns a node associated with a given OID. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>the top of the stash tree </td></tr>
    <tr><td class="paramname">lookup</td><td>the oid to look up a node for. </td></tr>
    <tr><td class="paramname">lookup_len</td><td>the length of the lookup oid </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00154">154</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.c</a>.</p>

</div>
</div>
<a class="anchor" id="gac01c6a62fa0db8ae20fab02c1e9cc945"></a><!-- doxytag: member="oid_stash.c::netsnmp_oid_stash_getnext_node" ref="gac01c6a62fa0db8ae20fab02c1e9cc945" args="(netsnmp_oid_stash_node *root, oid *lookup, size_t lookup_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a>* <a class="el" href="group__oid__stash.html#gac01c6a62fa0db8ae20fab02c1e9cc945">netsnmp_oid_stash_getnext_node</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oid *&#160;</td>
          <td class="paramname"><em>lookup</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>lookup_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the next node associated with a given OID. </p>
<p>INCOMPLETE. This is equivelent to a GETNEXT operation. </p>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00191">191</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.c</a>.</p>

</div>
</div>
<a class="anchor" id="gae703951c514045459f350815fc78d507"></a><!-- doxytag: member="oid_stash.c::netsnmp_oid_stash_store" ref="gae703951c514045459f350815fc78d507" args="(netsnmp_oid_stash_node *root, const char *tokenname, NetSNMPStashDump *dumpfn, oid *curoid, size_t curoid_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__oid__stash.html#gae703951c514045459f350815fc78d507">netsnmp_oid_stash_store</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>tokenname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NetSNMPStashDump *&#160;</td>
          <td class="paramname"><em>dumpfn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oid *&#160;</td>
          <td class="paramname"><em>curoid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>curoid_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>stores data in a starsh tree to peristent storage. </p>
<p>This function can be called to save all data in a stash tree to Net-SNMP's percent storage. Make sure you register a parsing function with the read_config system to re-incorperate your saved data into future trees.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>the top of the stash to store. </td></tr>
    <tr><td class="paramname">tokenname</td><td>the file token name to save in (passing "snmpd" will save things into snmpd.conf). </td></tr>
    <tr><td class="paramname">dumpfn</td><td>A function which can dump the data stored at a particular node into a char buffer. </td></tr>
    <tr><td class="paramname">curoid</td><td>must be a pointer to a OID array of length MAX_OID_LEN. </td></tr>
    <tr><td class="paramname">curoid_len</td><td>must be 0 for the top level call. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00334">334</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaafa8739f36e9a822aeeffd904279717d"></a><!-- doxytag: member="oid_stash.c::netsnmp_oid_stash_store_all" ref="gaafa8739f36e9a822aeeffd904279717d" args="(int majorID, int minorID, void *serverarg, void *clientarg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__oid__stash.html#gaafa8739f36e9a822aeeffd904279717d">netsnmp_oid_stash_store_all</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>majorID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>minorID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>serverarg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>clientarg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>a wrapper around netsnmp_oid_stash_store for use with a <a class="el" href="structsnmp__alarm.html">snmp_alarm</a>. </p>
<p>when calling <a class="el" href="structsnmp__alarm.html">snmp_alarm</a>, you can list this as a callback. The clientarg should be a pointer to a netsnmp_oid_stash_save_info pointer. It can also be called directly, of course. The last argument (clientarg) is the only one that is used. The rest are ignored by the function. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">majorID</td><td></td></tr>
    <tr><td class="paramname">minorID</td><td></td></tr>
    <tr><td class="paramname">serverarg</td><td></td></tr>
    <tr><td class="paramname">clientarg</td><td>A pointer to a netsnmp_oid_stash_save_info structure. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00304">304</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga19826a6f962e8cba28fcd4e40f218796"></a><!-- doxytag: member="oid_stash.c::oid_stash_dump" ref="ga19826a6f962e8cba28fcd4e40f218796" args="(netsnmp_oid_stash_node *root, char *prefix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__oid__stash.html#ga19826a6f962e8cba28fcd4e40f218796">oid_stash_dump</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnetsnmp__oid__stash__node__s.html">netsnmp_oid_stash_node</a> *&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>For debugging: dump the netsnmp_oid_stash tree to stdout. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>The top of the tree </td></tr>
    <tr><td class="paramname">prefix</td><td>a character string prefix printed to the beginning of each line. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="oid__stash_8c_source.html#l00374">374</a> of file <a class="el" href="oid__stash_8c_source.html">oid_stash.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>