/********************************* (C) РОТЕК *********************************** * @module snmp_api * @file snmp_api.h * @version 1.0.0 * @date XX.XX.XXXX * $brief snmp_api ******************************************************************************* * @history Version Author Comment * XX.XX.XXXX 1.0.0 Telenkov D.A. First release. ******************************************************************************* */ /* Define to prevent recursive ----------------------------------------------*/ #ifndef SNMP_API_H #define SNMP_API_H #include "settings_api.h" #include "control_symbol.h" /** * @brief Инициализация параметров SNMP */ void SNMP_Init(void); void SNMP_SysUpTimeTask(void *arg); /** * @brief Тестовый таск для проверки отправки трапов */ void snmp_trap_tread(void *arg); /** * @brief Инициализация SNMP агента */ void SNMP_AgentInit(void); /** * @brief Пользовательская функция для отправки трапа из массива traps[] * Трап помещается в очередь. Работа с очередью происходит по принципу * FIFO буфера. * Если в настройках трапа отправка отключена, то трап игнорируется. */ void SNMP_SendUserTrap(uint8_t trapName); /** * @brief Установить SNMP Descriptor */ void SNMP_SetObjDescr(void); /** * @brief Установить SNMP Community для чтения */ void SNMP_SetReadCommunity(char *comm); /** * @brief Установить SNMP Community для записи */ void SNMP_SetWriteCommunity(char *comm); /** * @brief Установить SNMP Community отправки трапов */ void SNMP_SetTrapCommunity(char *comm); /** * @brief Установить SNMP SysContact */ void SNMP_SetSysContact(SNMP_SYS_CONTACT_t *con); /** * @brief Установить SNMP SysName */ void SNMP_SetSysName(SNMP_SYS_NAME_t *name); /** * @brief Установить SNMP SysLocation */ void SNMP_SetSysLocation(SNMP_SYS_LOCATION_t *loc); /** * @brief Установить SNMP SysManagerIP */ void SNMP_SetManagerIP(char *ip); /** * @brief Установить SNMP Object ID */ void SNMP_SetObjID(void); /** * @brief Вкл/выкл трапы */ void SNMP_SetTrapOnOff(uint8_t state); /** * @brief Установить IP адрес для отправки трапов */ void SNMP_SetTrapDestination(char *ip); /** * @brief Текущее TRAP community */ void SNMP_GetTrapCommunity(char *str, uint8_t *len); /** * @brief Текущее community для чтения */ void SNMP_GetReadCommunity(char *str, uint8_t *len); /** * @brief Текущее community для записи */ void SNMP_GetWriteCommunity(char *str, uint8_t *len); /** * @brief IP SNMP менеджера */ void SNMP_GetManagerIp(char *str, uint8_t *len); /** * @brief Сохранение настроек контроллера через SNMP */ void SNMP_SettingsSave(void); #define SNMP_SYS_PARAM_SAVE() SNMP_SettingsSave() #define SNMP_SYS_PARAM_CHECK(value, len) control_string_en_digit(value, len) /** * @brief Установка sysObjectID согласно логике МТС (данное решение согласовано с заказчиком) */ const struct snmp_obj_id* SNMP_GetSysObjectIDforMTS(void); #ifdef HARDWARE_BT6709_MTS || HARDWARE_BT6710 #define SNMP_GET_SYSOBJECTID_MTS() SNMP_GetSysObjectIDforMTS(); #endif #endif /* #ifndef SNMP_API_H */ /********************************* (C) РОТЕК **********************************/