blob: 4ce98efaedf794a7cd87925c5068d66ebd234380 [file] [log] [blame]
/* include file for alarm module */
extern u_char *var_alarmtab();
extern u_char *var_alarmnextindex();
extern void alarmTimer();
/* defines for values of alarmEntry.sampleType */
#define ALARM_ABSOLUTE_VALUE 1
#define ALARM_DELTA_VALUE 2
/* defines for values of alarmEntry.startupAlarm */
#define ALARM_STARTUP_RISING 1
#define ALARM_STARTUP_FALLING 2
#define ALARM_STARTUP_RISING_OR_FALLING 3
struct alarmEntry {
struct alarmEntry *next;
int index; /* 1..65535 */
oid dstPartyID[MAX_OID_LEN];
int dstPartyLength;
oid srcPartyID[MAX_OID_LEN];
int srcPartyLength;
oid contextID[MAX_OID_LEN];
int contextLength;
long interval;
oid variable[MAX_OID_LEN];
int variableLen; /* number of subids in "variable" */
int sampleType;
long value;
int startupAlarm;
long risingThresh;
long fallingThresh;
int risingEventIndex; /* same as an eventIndex */
int fallingEventIndex; /* same as an eventIndex */
int unavailableEventIndex; /* same as an eventIndex */
char owner[MAX_OWNER_STR_LEN];
int status;
struct timeval update; /* time that next update should occur */
struct timeval intervalAdd; /* amount to add to get to next update */
char cantSendRising; /* boolean: may a rising event be sent? */
char cantSendFalling; /* boolean: may a falling event be sent? */
char cantSendUnavailable; /* boolean: may an unavailable event be sent? */
long lastRealValue; /* used for delta samples */
long lastDeltaValue; /* used for delta samples */
struct snmp_session *ss;
int reqid;
struct get_req_state *magic; /* for snmp api */
struct alarmEntry *shadow; /* copy for row creates and changes */
u_long bitmask; /* mask of valid variables */
};
/* masks for the bitmask field in struct alarmEntry */
#define ALARMTABINDEXMASK 0x00000001
#define ALARMTABVARIABLEMASK 0x00000002
#define ALARMTABINTERVALMASK 0x00000004
#define ALARMTABSAMPLETYPEMASK 0x00000008
#define ALARMTABVALUEMASK 0x00000010
#define ALARMTABSTARTUPALARMMASK 0x00000020
#define ALARMTABRISINGTHRESHMASK 0x00000040
#define ALARMTABFALLINGTHRESHMASK 0x00000080
#define ALARMTABRISINGINDEXMASK 0x00000100
#define ALARMTABFALLINGINDEXMASK 0x00000200
#define ALARMTABUNAVAILABLEINDEXMASK 0x00000400
#define ALARMTABSTATUSMASK 0x00000800
#define ALARMTABCOMPLETEMASK 0x00000FFF
/* this define has nothing to do with the protocol, just the
** implementation. It's here because it's convenient.
*/
#define ALARMTABREALVALUEMASK 0x10000000