| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #ifndef SNMP_ALARM_H
- #define SNMP_ALARM_H
- /*
- * For 'timeval'
- */
- #ifdef TIME_WITH_SYS_TIME
- # include <sys/time.h>
- # include <time.h>
- #else
- # ifdef HAVE_SYS_TIME_H
- # include <sys/time.h>
- # else
- # include <time.h>
- # endif
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef void (SNMPAlarmCallback) (unsigned int clientreg,
- void *clientarg);
- /*
- * alarm flags
- */
- #define SA_REPEAT 0x01 /* keep repeating every X seconds */
- #define SA_FIRED 0x10 /* Being processed in run_alarms */
- struct snmp_alarm {
- /** Alarm interval. Zero if single-shot. */
- struct timeval t;
- unsigned int flags;
- unsigned int clientreg;
- /** Last time the alarm fired [monotonic clock]. */
- struct timeval t_lastM;
- /** Next time the alarm will fire [monotonic clock]. */
- struct timeval t_nextM;
- void *clientarg;
- SNMPAlarmCallback *thecallback;
- struct snmp_alarm *next;
- };
- /*
- * the ones you should need
- */
- NETSNMP_IMPORT
- void snmp_alarm_unregister(unsigned int clientreg);
- void snmp_alarm_unregister_all(void);
- NETSNMP_IMPORT
- unsigned int snmp_alarm_register(unsigned int when,
- unsigned int flags,
- SNMPAlarmCallback * thecallback,
- void *clientarg);
- unsigned int snmp_alarm_register_hr(struct timeval t,
- unsigned int flags,
- SNMPAlarmCallback * cb,
- void *cd);
- NETSNMP_IMPORT
- int snmp_alarm_reset(unsigned int clientreg);
- /*
- * the ones you shouldn't
- */
- NETSNMP_IMPORT void init_snmp_alarm(void);
- int init_alarm_post_config(int majorid, int minorid,
- void *serverarg,
- void *clientarg);
- void sa_update_entry(struct snmp_alarm *alrm);
- struct snmp_alarm *sa_find_next(void);
- NETSNMP_IMPORT void run_alarms(void);
- RETSIGTYPE alarm_handler(int a);
- void set_an_alarm(void);
- int netsnmp_get_next_alarm_time(struct timeval *alarm_tm,
- const struct timeval *now);
- int get_next_alarm_delay_time(struct timeval *delta);
- #ifdef __cplusplus
- }
- #endif
- #endif /* SNMP_ALARM_H */
|