snmp_api.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. /********************************* (C) РОТЕК ***********************************
  2. * @module snmp_api
  3. * @file snmp_api.h
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief snmp_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 SNMP_API_H
  14. #define SNMP_API_H
  15. #include "settings_api.h"
  16. #include "control_symbol.h"
  17. /**
  18. * @brief Инициализация параметров SNMP
  19. */
  20. void SNMP_Init(void);
  21. void SNMP_SysUpTimeTask(void *arg);
  22. /**
  23. * @brief Тестовый таск для проверки отправки трапов
  24. */
  25. void snmp_trap_tread(void *arg);
  26. /**
  27. * @brief Инициализация SNMP агента
  28. */
  29. void SNMP_AgentInit(void);
  30. /**
  31. * @brief Пользовательская функция для отправки трапа из массива traps[]
  32. * Трап помещается в очередь. Работа с очередью происходит по принципу
  33. * FIFO буфера.
  34. * Если в настройках трапа отправка отключена, то трап игнорируется.
  35. */
  36. void SNMP_SendUserTrap(uint8_t trapName);
  37. /**
  38. * @brief Установить SNMP Descriptor
  39. */
  40. void SNMP_SetObjDescr(void);
  41. /**
  42. * @brief Установить SNMP Community для чтения
  43. */
  44. void SNMP_SetReadCommunity(char *comm);
  45. /**
  46. * @brief Установить SNMP Community для записи
  47. */
  48. void SNMP_SetWriteCommunity(char *comm);
  49. /**
  50. * @brief Установить SNMP Community отправки трапов
  51. */
  52. void SNMP_SetTrapCommunity(char *comm);
  53. /**
  54. * @brief Установить SNMP SysContact
  55. */
  56. void SNMP_SetSysContact(SNMP_SYS_CONTACT_t *con);
  57. /**
  58. * @brief Установить SNMP SysName
  59. */
  60. void SNMP_SetSysName(SNMP_SYS_NAME_t *name);
  61. /**
  62. * @brief Установить SNMP SysLocation
  63. */
  64. void SNMP_SetSysLocation(SNMP_SYS_LOCATION_t *loc);
  65. /**
  66. * @brief Установить SNMP SysManagerIP
  67. */
  68. void SNMP_SetManagerIP(char *ip);
  69. /**
  70. * @brief Установить SNMP Object ID
  71. */
  72. void SNMP_SetObjID(void);
  73. /**
  74. * @brief Вкл/выкл трапы
  75. */
  76. void SNMP_SetTrapOnOff(uint8_t state);
  77. /**
  78. * @brief Установить IP адрес для отправки трапов
  79. */
  80. void SNMP_SetTrapDestination(char *ip);
  81. /**
  82. * @brief Текущее TRAP community
  83. */
  84. void SNMP_GetTrapCommunity(char *str, uint8_t *len);
  85. /**
  86. * @brief Текущее community для чтения
  87. */
  88. void SNMP_GetReadCommunity(char *str, uint8_t *len);
  89. /**
  90. * @brief Текущее community для записи
  91. */
  92. void SNMP_GetWriteCommunity(char *str, uint8_t *len);
  93. /**
  94. * @brief IP SNMP менеджера
  95. */
  96. void SNMP_GetManagerIp(char *str, uint8_t *len);
  97. /**
  98. * @brief Сохранение настроек контроллера через SNMP
  99. */
  100. void SNMP_SettingsSave(void);
  101. #define SNMP_SYS_PARAM_SAVE() SNMP_SettingsSave()
  102. #define SNMP_SYS_PARAM_CHECK(value, len) control_string_en_digit(value, len)
  103. /**
  104. * @brief Установка sysObjectID согласно логике МТС (данное решение согласовано с заказчиком)
  105. */
  106. const struct snmp_obj_id* SNMP_GetSysObjectIDforMTS(void);
  107. #ifdef HARDWARE_BT6709_MTS || HARDWARE_BT6710
  108. #define SNMP_GET_SYSOBJECTID_MTS() SNMP_GetSysObjectIDforMTS();
  109. #endif
  110. #endif /* #ifndef SNMP_API_H */
  111. /********************************* (C) РОТЕК **********************************/