| Current File : //usr/share/doc/net-snmp/html/group__snmp__alarm.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: generic library based alarm timers for various parts of an application</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
 <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 Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data 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">generic library based alarm timers for various parts of an application</div> </div>
<div class="ingroups"><a class="el" href="group__library.html">The Net-SNMP library</a></div></div><!--header-->
<div class="contents">
<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="gaaff532fce61866a1b23190164a28976d"></a><!-- doxytag: member="snmp_alarm::init_alarm_post_config" ref="gaaff532fce61866a1b23190164a28976d" args="(int majorid, int minorid, void *serverarg, void *clientarg)" -->
int </td><td class="memItemRight" valign="bottom"><b>init_alarm_post_config</b> (int majorid, int minorid, void *serverarg, void *clientarg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7177822248dfb8de0ba7e4ff6fdec9b2"></a><!-- doxytag: member="snmp_alarm::init_snmp_alarm" ref="ga7177822248dfb8de0ba7e4ff6fdec9b2" args="(void)" -->
void </td><td class="memItemRight" valign="bottom"><b>init_snmp_alarm</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae416ea2213a8e2b697f403a2b7172dcb"></a><!-- doxytag: member="snmp_alarm::sa_update_entry" ref="gae416ea2213a8e2b697f403a2b7172dcb" args="(struct snmp_alarm *a)" -->
void </td><td class="memItemRight" valign="bottom"><b>sa_update_entry</b> (struct <a class="el" href="structsnmp__alarm.html">snmp_alarm</a> *a)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__snmp__alarm.html#gad686972d3a960479509a70d069fadf4f">snmp_alarm_unregister</a> (unsigned int clientreg)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This function removes the callback function from a list of registered alarms, unregistering the alarm. <a href="#gad686972d3a960479509a70d069fadf4f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__snmp__alarm.html#gade33c7942f162f2eb5e19ecea3138293">snmp_alarm_unregister_all</a> (void)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This function unregisters all alarms currently stored. <a href="#gade33c7942f162f2eb5e19ecea3138293"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa2e4db10cf0e110636d61782a3508df4"></a><!-- doxytag: member="snmp_alarm::sa_find_next" ref="gaa2e4db10cf0e110636d61782a3508df4" args="(void)" -->
struct <a class="el" href="structsnmp__alarm.html">snmp_alarm</a> * </td><td class="memItemRight" valign="bottom"><b>sa_find_next</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafa98272e59d032caf38b9ea2e9f007cf"></a><!-- doxytag: member="snmp_alarm::sa_find_specific" ref="gafa98272e59d032caf38b9ea2e9f007cf" args="(unsigned int clientreg)" -->
struct <a class="el" href="structsnmp__alarm.html">snmp_alarm</a> * </td><td class="memItemRight" valign="bottom"><b>sa_find_specific</b> (unsigned int clientreg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3e06b96fd99646913a9f7d42933298d7"></a><!-- doxytag: member="snmp_alarm::run_alarms" ref="ga3e06b96fd99646913a9f7d42933298d7" args="(void)" -->
void </td><td class="memItemRight" valign="bottom"><b>run_alarms</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7568dc10c3aedabbdd220e2d6e78eac8"></a><!-- doxytag: member="snmp_alarm::alarm_handler" ref="ga7568dc10c3aedabbdd220e2d6e78eac8" args="(int a)" -->
RETSIGTYPE </td><td class="memItemRight" valign="bottom"><b>alarm_handler</b> (int a)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga78eaf521479155139f8c7bfda5ebabab"></a><!-- doxytag: member="snmp_alarm::get_next_alarm_delay_time" ref="ga78eaf521479155139f8c7bfda5ebabab" args="(struct timeval *delta)" -->
int </td><td class="memItemRight" valign="bottom"><b>get_next_alarm_delay_time</b> (struct timeval *delta)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga490fe301438d72dcb29a671386b7c2e1"></a><!-- doxytag: member="snmp_alarm::set_an_alarm" ref="ga490fe301438d72dcb29a671386b7c2e1" args="(void)" -->
void </td><td class="memItemRight" valign="bottom"><b>set_an_alarm</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__snmp__alarm.html#ga6eb45344f1145c3e323824411089cefe">snmp_alarm_register</a> (unsigned int when, unsigned int flags, SNMPAlarmCallback *thecallback, void *clientarg)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This function registers function callbacks to occur at a speciifc time in the future. <a href="#ga6eb45344f1145c3e323824411089cefe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__snmp__alarm.html#gae2b8978748b42ae064cbe960bb17aa71">snmp_alarm_register_hr</a> (struct timeval t, unsigned int flags, SNMPAlarmCallback *cb, void *cd)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This function offers finer granularity as to when the callback function is called by making use of t->tv_usec value forming the "when" aspect of <a class="el" href="group__snmp__alarm.html#ga6eb45344f1145c3e323824411089cefe" title="This function registers function callbacks to occur at a speciifc time in the future.">snmp_alarm_register()</a>. <a href="#gae2b8978748b42ae064cbe960bb17aa71"></a><br/></td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga6eb45344f1145c3e323824411089cefe"></a><!-- doxytag: member="snmp_alarm.c::snmp_alarm_register" ref="ga6eb45344f1145c3e323824411089cefe" args="(unsigned int when, unsigned int flags, SNMPAlarmCallback *thecallback, void *clientarg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="group__snmp__alarm.html#ga6eb45344f1145c3e323824411089cefe">snmp_alarm_register</a> </td>
<td>(</td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>when</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SNMPAlarmCallback * </td>
<td class="paramname"><em>thecallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>clientarg</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function registers function callbacks to occur at a speciifc time in the future. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">when</td><td>is an unsigned integer specifying when the callback function will be called in seconds.</td></tr>
<tr><td class="paramname">flags</td><td>is an unsigned integer that specifies how frequent the callback function is called in seconds. Should be SA_REPEAT or 0. If flags is set with SA_REPEAT, then the registered callback function will be called every SA_REPEAT seconds. If flags is 0 then the function will only be called once and then removed from the registered alarm list.</td></tr>
<tr><td class="paramname">thecallback</td><td>is a pointer SNMPAlarmCallback which is the callback function being stored and registered.</td></tr>
<tr><td class="paramname">clientarg</td><td>is a void pointer used by the callback function. This pointer is assigned to snmp_alarm->clientarg and passed into the callback function for the client's specifc needs.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a unique unsigned integer(which is also passed as the first argument of each callback), which can then be used to remove the callback from the list at a later point in the future using the <a class="el" href="group__snmp__alarm.html#gad686972d3a960479509a70d069fadf4f" title="This function removes the callback function from a list of registered alarms, unregistering the alarm...">snmp_alarm_unregister()</a> function. If memory could not be allocated for the <a class="el" href="structsnmp__alarm.html">snmp_alarm</a> struct 0 is returned.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__snmp__alarm.html#gad686972d3a960479509a70d069fadf4f" title="This function removes the callback function from a list of registered alarms, unregistering the alarm...">snmp_alarm_unregister</a> </dd>
<dd>
<a class="el" href="group__snmp__alarm.html#gae2b8978748b42ae064cbe960bb17aa71" title="This function offers finer granularity as to when the callback function is called by making use of t-...">snmp_alarm_register_hr</a> </dd>
<dd>
<a class="el" href="group__snmp__alarm.html#gade33c7942f162f2eb5e19ecea3138293" title="This function unregisters all alarms currently stored.">snmp_alarm_unregister_all</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="delayed_instance_8c-example.html#a7">delayed_instance.c</a>, and <a class="el" href="notification_8c-example.html#a0">notification.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="snmp__alarm_8c_source.html#l00404">404</a> of file <a class="el" href="snmp__alarm_8c_source.html">snmp_alarm.c</a>.</p>
</div>
</div>
<a class="anchor" id="gae2b8978748b42ae064cbe960bb17aa71"></a><!-- doxytag: member="snmp_alarm.c::snmp_alarm_register_hr" ref="gae2b8978748b42ae064cbe960bb17aa71" args="(struct timeval t, unsigned int flags, SNMPAlarmCallback *cb, void *cd)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="group__snmp__alarm.html#gae2b8978748b42ae064cbe960bb17aa71">snmp_alarm_register_hr</a> </td>
<td>(</td>
<td class="paramtype">struct timeval </td>
<td class="paramname"><em>t</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">SNMPAlarmCallback * </td>
<td class="paramname"><em>cb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>cd</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function offers finer granularity as to when the callback function is called by making use of t->tv_usec value forming the "when" aspect of <a class="el" href="group__snmp__alarm.html#ga6eb45344f1145c3e323824411089cefe" title="This function registers function callbacks to occur at a speciifc time in the future.">snmp_alarm_register()</a>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>is a timeval structure used to specify when the callback function(alarm) will be called. Adds the ability to specify microseconds. t.tv_sec and t.tv_usec are assigned to snmp_alarm->tv_sec and snmp_alarm->tv_usec respectively internally. The snmp_alarm_register function only assigns seconds(it's when argument).</td></tr>
<tr><td class="paramname">flags</td><td>is an unsigned integer that specifies how frequent the callback function is called in seconds. Should be SA_REPEAT or NULL. If flags is set with SA_REPEAT, then the registered callback function will be called every SA_REPEAT seconds. If flags is NULL then the function will only be called once and then removed from the registered alarm list.</td></tr>
<tr><td class="paramname">cb</td><td>is a pointer SNMPAlarmCallback which is the callback function being stored and registered.</td></tr>
<tr><td class="paramname">cd</td><td>is a void pointer used by the callback function. This pointer is assigned to snmp_alarm->clientarg and passed into the callback function for the client's specifc needs.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a unique unsigned integer(which is also passed as the first argument of each callback), which can then be used to remove the callback from the list at a later point in the future using the <a class="el" href="group__snmp__alarm.html#gad686972d3a960479509a70d069fadf4f" title="This function removes the callback function from a list of registered alarms, unregistering the alarm...">snmp_alarm_unregister()</a> function. If memory could not be allocated for the <a class="el" href="structsnmp__alarm.html">snmp_alarm</a> struct 0 is returned.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__snmp__alarm.html#ga6eb45344f1145c3e323824411089cefe" title="This function registers function callbacks to occur at a speciifc time in the future.">snmp_alarm_register</a> </dd>
<dd>
<a class="el" href="group__snmp__alarm.html#gad686972d3a960479509a70d069fadf4f" title="This function removes the callback function from a list of registered alarms, unregistering the alarm...">snmp_alarm_unregister</a> </dd>
<dd>
<a class="el" href="group__snmp__alarm.html#gade33c7942f162f2eb5e19ecea3138293" title="This function unregisters all alarms currently stored.">snmp_alarm_unregister_all</a> </dd></dl>
<p>Definition at line <a class="el" href="snmp__alarm_8c_source.html#l00481">481</a> of file <a class="el" href="snmp__alarm_8c_source.html">snmp_alarm.c</a>.</p>
</div>
</div>
<a class="anchor" id="gad686972d3a960479509a70d069fadf4f"></a><!-- doxytag: member="snmp_alarm.c::snmp_alarm_unregister" ref="gad686972d3a960479509a70d069fadf4f" args="(unsigned int clientreg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__snmp__alarm.html#gad686972d3a960479509a70d069fadf4f">snmp_alarm_unregister</a> </td>
<td>(</td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>clientreg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function removes the callback function from a list of registered alarms, unregistering the alarm. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">clientreg</td><td>is a unique unsigned integer representing a registered alarm which the client wants to unregister.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__snmp__alarm.html#ga6eb45344f1145c3e323824411089cefe" title="This function registers function callbacks to occur at a speciifc time in the future.">snmp_alarm_register</a> </dd>
<dd>
<a class="el" href="group__snmp__alarm.html#gae2b8978748b42ae064cbe960bb17aa71" title="This function offers finer granularity as to when the callback function is called by making use of t-...">snmp_alarm_register_hr</a> </dd>
<dd>
<a class="el" href="group__snmp__alarm.html#gade33c7942f162f2eb5e19ecea3138293" title="This function unregisters all alarms currently stored.">snmp_alarm_unregister_all</a> </dd></dl>
<p>Definition at line <a class="el" href="snmp__alarm_8c_source.html#l00151">151</a> of file <a class="el" href="snmp__alarm_8c_source.html">snmp_alarm.c</a>.</p>
</div>
</div>
<a class="anchor" id="gade33c7942f162f2eb5e19ecea3138293"></a><!-- doxytag: member="snmp_alarm.c::snmp_alarm_unregister_all" ref="gade33c7942f162f2eb5e19ecea3138293" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__snmp__alarm.html#gade33c7942f162f2eb5e19ecea3138293">snmp_alarm_unregister_all</a> </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function unregisters all alarms currently stored. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>void</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__snmp__alarm.html#ga6eb45344f1145c3e323824411089cefe" title="This function registers function callbacks to occur at a speciifc time in the future.">snmp_alarm_register</a> </dd>
<dd>
<a class="el" href="group__snmp__alarm.html#gae2b8978748b42ae064cbe960bb17aa71" title="This function offers finer granularity as to when the callback function is called by making use of t-...">snmp_alarm_register_hr</a> </dd>
<dd>
<a class="el" href="group__snmp__alarm.html#gad686972d3a960479509a70d069fadf4f" title="This function removes the callback function from a list of registered alarms, unregistering the alarm...">snmp_alarm_unregister</a> </dd></dl>
<p>Definition at line <a class="el" href="snmp__alarm_8c_source.html#l00184">184</a> of file <a class="el" href="snmp__alarm_8c_source.html">snmp_alarm.c</a>.</p>
</div>
</div>
</div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by  <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>