trap_api.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /********************************* (C) РОТЕК ***********************************
  2. * @module trap_api
  3. * @file trap_api.h
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief trap_api
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. /* Define to prevent recursive ----------------------------------------------*/
  13. #ifndef TRAP_API_H
  14. #define TRAP_API_H
  15. #include <stdbool.h>
  16. #include "common_config.h"
  17. typedef enum
  18. {
  19. SIMPLE_TRAP = 0,
  20. VARBIND_TRAP,
  21. } TRAP_TYPE_t;
  22. /**
  23. * @brief
  24. */
  25. typedef struct
  26. {
  27. TRAP_LIST_t listName;
  28. uint8_t trapId; // ID в ветке traps
  29. uint8_t varbindId; // ID присоединенной переменной
  30. bool trapEnable; // false - отправка трапа не разрешена, true - отправка разрешена
  31. void (*handle)(char*, uint8_t*);
  32. } TRAP_t;
  33. /**
  34. * @brief Отправка обычного трапа с сообщением, зарегистрированного в базе.
  35. */
  36. bool SNMP_SendMessageTrap(TRAP_t trap, char* msg, uint8_t len);
  37. /**
  38. * @brief Отправка трапа с переменной, зарегистрированного в базе.
  39. * @retval
  40. */
  41. bool SNMP_SendVarbindTrap(TRAP_t *trap);
  42. /**
  43. * @brief Инициализация базы трапов
  44. */
  45. void SNMP_InitTrapsBase(void);
  46. /**
  47. * @brief Отправка трапа, зарегистрированного в базе
  48. */
  49. bool SNMP_SendTrap(TRAP_t trap);
  50. #endif /* #ifndef TRAP_API_H */
  51. /********************************* (C) РОТЕК **********************************/