blob: c427602c2894a8514941f22c8af66eb7f2343cca [file] [log] [blame]
/*
* This file was generated by mib2c and is intended for use as a mib module
* for the ucd-snmp snmpd agent.
*/
#ifndef _MIBGROUP_MTETRIGGERTABLE_H
#define _MIBGROUP_MTETRIGGERTABLE_H
/*
* we may use header_complex from the header_complex module
*/
config_require(header_complex)
config_require(utilities/iquery)
#ifndef NETSNMP_TRANSPORT_CALLBACK_DOMAIN
config_error(disman/mteTriggerTable depends on the Callback transport)
#endif
/*
* our storage structure(s)
*/
struct mteTriggerTable_data {
char *mteOwner;
size_t mteOwnerLen;
char *mteTriggerName;
size_t mteTriggerNameLen;
char *mteTriggerComment;
size_t mteTriggerCommentLen;
char *mteTriggerTest;
size_t mteTriggerTestLen;
long mteTriggerSampleType;
oid *mteTriggerValueID;
size_t mteTriggerValueIDLen;
long mteTriggerValueIDWildcard;
char *mteTriggerTargetTag;
size_t mteTriggerTargetTagLen;
char *mteTriggerContextName;
size_t mteTriggerContextNameLen;
long mteTriggerContextNameWildcard;
unsigned long mteTriggerFrequency;
char *mteTriggerObjectsOwner;
size_t mteTriggerObjectsOwnerLen;
char *mteTriggerObjects;
size_t mteTriggerObjectsLen;
long mteTriggerEnabled;
long mteTriggerEntryStatus;
/*
* delta table
*/
oid *mteTriggerDeltaDiscontinuityID;
size_t mteTriggerDeltaDiscontinuityIDLen;
long mteTriggerDeltaDiscontinuityIDWildcard;
long mteTriggerDeltaDiscontinuityIDType;
unsigned long prevDiscoTicks;
unsigned long prevUptimeTicks;
/*
* existence table
*/
char *mteTriggerExistenceTest;
size_t mteTriggerExistenceTestLen;
char *mteTriggerExistenceStartup;
size_t mteTriggerExistenceStartupLen;
char *mteTriggerExistenceObjectsOwner;
size_t mteTriggerExistenceObjectsOwnerLen;
char *mteTriggerExistenceObjects;
size_t mteTriggerExistenceObjectsLen;
char *mteTriggerExistenceEventOwner;
size_t mteTriggerExistenceEventOwnerLen;
char *mteTriggerExistenceEvent;
size_t mteTriggerExistenceEventLen;
/*
* boolean table
*/
long mteTriggerBooleanComparison;
long mteTriggerBooleanValue;
long mteTriggerBooleanStartup;
char *mteTriggerBooleanObjectsOwner;
size_t mteTriggerBooleanObjectsOwnerLen;
char *mteTriggerBooleanObjects;
size_t mteTriggerBooleanObjectsLen;
char *mteTriggerBooleanEventOwner;
size_t mteTriggerBooleanEventOwnerLen;
char *mteTriggerBooleanEvent;
size_t mteTriggerBooleanEventLen;
/*
* threshold table
*/
long mteTriggerThresholdStartup;
long mteTriggerThresholdRising;
long mteTriggerThresholdFalling;
long mteTriggerThresholdDeltaRising;
long mteTriggerThresholdDeltaFalling;
char *mteTriggerThresholdObjectsOwner;
size_t mteTriggerThresholdObjectsOwnerLen;
char *mteTriggerThresholdObjects;
size_t mteTriggerThresholdObjectsLen;
char *mteTriggerThresholdRisingEventOwner;
size_t mteTriggerThresholdRisingEventOwnerLen;
char *mteTriggerThresholdRisingEvent;
size_t mteTriggerThresholdRisingEventLen;
char *mteTriggerThresholdFallingEventOwner;
size_t mteTriggerThresholdFallingEventOwnerLen;
char *mteTriggerThresholdFallingEvent;
size_t mteTriggerThresholdFallingEventLen;
char *mteTriggerThresholdDeltaRisingEventOwner;
size_t mteTriggerThresholdDeltaRisingEventOwnerLen;
char *mteTriggerThresholdDeltaRisingEvent;
size_t mteTriggerThresholdDeltaRisingEventLen;
char *mteTriggerThresholdDeltaFallingEventOwner;
size_t mteTriggerThresholdDeltaFallingEventOwnerLen;
char *mteTriggerThresholdDeltaFallingEvent;
size_t mteTriggerThresholdDeltaFallingEventLen;
/*
* internal variables
*/
int storageType;
unsigned int alarmreg;
int lastboolresult;
int started;
long lastvalue;
struct header_complex_index *hc_storage, *hc_storage_old;
unsigned long threshold_state;
/*
* pdu auth contents
*/
long have_copied_auth_info;
long pdu_version;
long pdu_securityModel;
long pdu_securityLevel;
void *pdu_transport;
size_t pdu_transportLen;
const oid *pdu_tDomain;
size_t pdu_tDomainLen;
u_char *pdu_community;
size_t pdu_community_len;
char *pdu_contextName;
size_t pdu_contextNameLen;
char *pdu_securityName;
size_t pdu_securityNameLen;
};
struct last_state {
long *value;
char lastbool;
char lastthreshold;
};
/*
* enum definitions from the covered mib sections
*/
#define MTETRIGGERTEST_EXISTENCE 0x80
#define MTETRIGGERTEST_BOOLEAN 0x40
#define MTETRIGGERTEST_THRESHOLD 0x20
#define MTETRIGGERSAMPLETYPE_ABSOLUTEVALUE 1
#define MTETRIGGERSAMPLETYPE_DELTAVALUE 2
/*
* What's wrong with using the regular TruthValue definitions TV_TRUE
* and TV_FALSE (snmp-tc.h) which are up to 77% shorter?
*/
#define MTETRIGGERVALUEIDWILDCARD_TRUE 1
#define MTETRIGGERVALUEIDWILDCARD_FALSE 2
#define MTETRIGGERCONTEXTNAMEWILDCARD_TRUE 1
#define MTETRIGGERCONTEXTNAMEWILDCARD_FALSE 2
#define MTETRIGGERENABLED_TRUE 1
#define MTETRIGGERENABLED_FALSE 2
#define MTE_NOTSTARTED 0
#define MTE_STARTED 1
#define MTE_THRESHOLD_BEGIN 0
#define MTE_THRESHOLD_HIGH 1
#define MTE_THRESHOLD_LOW 2
/*
* Just the first (MTE-specific) groups of errors defined here;
* others are numerically equal to the regular SNMP errors.
*/
#define MTE_FAILURE_LOCALRESOURCELACK -1
#define MTE_FAILURE_BADDESTINATION -2
#define MTE_FAILURE_DESTINATIONUNREACHABLE -3
#define MTE_FAILURE_NORESPONSE -4
#define MTE_FAILURE_BADTYPE -5
#define MTE_FAILURE_SAMPLEOVERRUN -6
/*
* function prototypes
*/
void init_mteTriggerTable(void);
FindVarMethod var_mteTriggerTable;
void parse_mteTriggerTable(const char *, char *);
void parse_simple_monitor(const char *, char *);
void parse_default_monitors(const char *, char *);
SNMPCallback store_mteTriggerTable;
netsnmp_pdu *mte_get_response(struct mteTriggerTable_data *,
netsnmp_pdu *);
#ifndef NETSNMP_NO_WRITE_SUPPORT
WriteMethod write_mteTriggerComment;
WriteMethod write_mteTriggerTest;
WriteMethod write_mteTriggerSampleType;
WriteMethod write_mteTriggerValueID;
WriteMethod write_mteTriggerValueIDWildcard;
WriteMethod write_mteTriggerTargetTag;
WriteMethod write_mteTriggerContextName;
WriteMethod write_mteTriggerContextNameWildcard;
WriteMethod write_mteTriggerFrequency;
WriteMethod write_mteTriggerObjectsOwner;
WriteMethod write_mteTriggerObjects;
WriteMethod write_mteTriggerEnabled;
WriteMethod write_mteTriggerEntryStatus;
#endif /* !NETSNMP_NO_WRITE_SUPPORT */
void mte_enable_trigger(struct mteTriggerTable_data *item);
void mte_disable_trigger(struct mteTriggerTable_data
*item);
SNMPAlarmCallback mte_run_trigger;
#endif /* _MIBGROUP_MTETRIGGERTABLE_H */