1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /********************************* (C) РОТЕК ***********************************
- * @module trap_api
- * @file trap_api.h
- * @version 1.0.0
- * @date XX.XX.XXXX
- * $brief trap_api
- *******************************************************************************
- * @history Version Author Comment
- * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
- *******************************************************************************
- */
- /* Define to prevent recursive ----------------------------------------------*/
- #ifndef TRAP_API_H
- #define TRAP_API_H
- #include <stdbool.h>
- typedef enum
- {
- SIMPLE_TRAP = 0,
- VARBIND_TRAP,
-
- } TRAP_TYPE_t;
- typedef enum
- {
- FW_VERSION_UPDATE = 1,
- FW_VERSION_UPDATED,
- DEVICE_RESTORED,
- DEVICE_REBOOTED,
- #ifndef HARDWARE_BT6709
- DI0_NORM,
- DI0_ALARM,
- DO0_TOGGLED,
- DO1_TOGGLED,
- #if defined HARDWARE_BT6707
- DO2_TOGGLED,
- #endif
- #endif
- BATTERY_HIGH_TEMPERATURE_NORM,
- BATTERY_HIGH_TEMPERATURE_ALARM,
- LINE_ALARM,
- LINE_NORM,
- LOW_BAT_ALARM,
- LOW_BAT_NORM,
- POWER_ALARM,
- POWER_NORM,
- CONNECT_MONITOR_ALARM,
- CONNECT_MONITOR_NORM,
- BATTERY_CONNECT_ALARM,
- BATTERY_CONNECT_NORM,
- BATTERY_LOW_TEMPERATURE_NORM,
- BATTERY_LOW_TEMPERATURE_ALARM,
- ALL_TRAPS
- } TRAP_LIST_t;
- /**
- * @brief
- */
- typedef struct
- {
- TRAP_LIST_t listName;
- uint8_t trapId; // ID в ветке traps
- uint8_t varbindId; // ID присоединенной переменной
- bool trapEnable; // false - отправка трапа не разрешена, true - отправка разрешена
- void (*handle)(char*, uint8_t*);
-
- } TRAP_t;
- /**
- * @brief Отправка обычного трапа с сообщением, зарегистрированного в базе.
- */
- bool SNMP_SendMessageTrap(TRAP_t trap, char* msg, uint8_t len);
- /**
- * @brief Отправка трапа с переменной, зарегистрированного в базе.
- * @retval
- */
- bool SNMP_SendVarbindTrap(TRAP_t *trap);
- /**
- * @brief Инициализация базы трапов
- */
- void SNMP_InitTrapsBase(void);
- /**
- * @brief Отправка трапа, зарегистрированного в базе
- */
- bool SNMP_SendTrap(TRAP_t trap);
- #endif /* #ifndef TRAP_API_H */
- /********************************* (C) РОТЕК **********************************/
|