|
DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
#include "runctx.h"#include "amm/ident.h"#include "cace/ari/base.h"#include <m-array.h>#include <m-dict.h>#include <pthread.h>#include <stdint.h>
Include dependency graph for alarms.h:
This graph shows which files directly or indirectly include this file:Data Structures | |
| struct | refda_alarms_history_item_t |
| Each item of an alarm entry history. More... | |
| struct | refda_alarms_entry_t |
| A single entry of the alarm list. More... | |
| struct | refda_alarms_entry_key_t |
| Search key for an alarm entry. More... | |
| struct | refda_alarms_t |
| Storage of the agent alarms list and shelving config. More... | |
Macros | |
| #define | M_OPL_refda_alarms_history_item_t() (INIT(API_2(refda_alarms_history_item_init)), CLEAR(API_2(refda_alarms_history_item_deinit))) |
| M*LIB oplist for refda_alarms_history_item_t. | |
| #define | M_OPL_refda_alarms_entry_t() (INIT(API_2(refda_alarms_entry_init)), CLEAR(API_2(refda_alarms_entry_deinit))) |
| M*LIB oplist for refda_alarms_entry_t. | |
| #define | M_OPL_refda_alarms_entry_key_t() M_OPEXTEND(M_POD_OPLIST, CMP(API_6(refda_alarms_entry_cmp))) |
| M*LIB oplist for refda_alarms_entry_key_t. | |
Typedefs | |
| typedef struct refda_agent_s | refda_agent_t |
Enumerations | |
| enum | refda_alarms_severity_t { REFDA_ALARMS_SEVERITY_CLEARED = 0 , REFDA_ALARMS_SEVERITY_INDETERMINATE = 1 , REFDA_ALARMS_SEVERITY_WARNING = 2 , REFDA_ALARMS_SEVERITY_MINOR = 3 , REFDA_ALARMS_SEVERITY_MAJOR = 4 , REFDA_ALARMS_SEVERITY_CRITICAL = 5 } |
| Enumeration of alarm severity levels. More... | |
| enum | refda_alarms_mgr_state_t { REFDA_ALARMS_MGR_STATE_NONE = 0 , REFDA_ALARMS_MGR_STATE_ACK = 1 , REFDA_ALARMS_MGR_STATE_CLOSED = 2 , REFDA_ALARMS_MGR_STATE_SHELVED = 3 } |
| Enumeration of alarm entry manager state. More... | |
| #define M_OPL_refda_alarms_entry_key_t | ( | ) | M_OPEXTEND(M_POD_OPLIST, CMP(API_6(refda_alarms_entry_cmp))) |
M*LIB oplist for refda_alarms_entry_key_t.
| #define M_OPL_refda_alarms_entry_t | ( | ) | (INIT(API_2(refda_alarms_entry_init)), CLEAR(API_2(refda_alarms_entry_deinit))) |
M*LIB oplist for refda_alarms_entry_t.
| #define M_OPL_refda_alarms_history_item_t | ( | ) | (INIT(API_2(refda_alarms_history_item_init)), CLEAR(API_2(refda_alarms_history_item_deinit))) |
M*LIB oplist for refda_alarms_history_item_t.
| typedef struct refda_agent_s refda_agent_t |
Enumeration of alarm entry manager state.
Descriptions are copied from the ADM.
Enumeration of alarm severity levels.
Descriptions are copied from the ADM.
| size_t refda_alarms_compress | ( | refda_runctx_t * | runctx, |
| const cace_ari_t * | filter | ||
| ) |
Compress the history on on filtered entries.
| [in] | runctx | The context to evaluate expressions and the agent state to modify. |
| [in] | filter | The expression to LABEL-substitute and evaluate for each alarm entry. |
References refda_runctx_t::agent, refda_alarms_t::alarm_list, alarm_list_filter_sub_label(), refda_alarms_t::alarm_mutex, refda_agent_t::alarms, cace_amm_ari_is_truthy(), cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_translate(), CACE_LOG_CRIT, CACE_LOG_ERR, CHKRET, refda_alarms_entry_t::history, cace_ari_translator_t::map_ari, and refda_eval_target().
Referenced by refda_adm_ietf_alarms_ctrl_compress_alarms(), and test_refda_alarms_compress_all().
| void refda_alarms_deinit | ( | refda_alarms_t * | obj | ) |
References refda_alarms_t::alarm_index, refda_alarms_t::alarm_list, and refda_alarms_t::alarm_mutex.
Referenced by refda_agent_deinit().
| void refda_alarms_entry_deinit | ( | refda_alarms_entry_t * | obj | ) |
| void refda_alarms_entry_init | ( | refda_alarms_entry_t * | obj | ) |
References cace_ari_init(), CACE_ARI_INIT_NULL, refda_alarms_entry_t::category, refda_alarms_entry_t::created_at, refda_alarms_entry_t::history, refda_alarms_entry_t::mgr_ident, refda_alarms_entry_t::mgr_state, refda_alarms_entry_t::mgr_time, REFDA_ALARMS_MGR_STATE_NONE, REFDA_ALARMS_SEVERITY_CLEARED, refda_amm_ident_base_init(), refda_alarms_entry_t::resource, refda_alarms_entry_t::severity, and refda_alarms_entry_t::updated_at.
| int refda_alarms_entry_key_cmp | ( | const refda_alarms_entry_key_t * | left, |
| const refda_alarms_entry_key_t * | right | ||
| ) |
References refda_alarms_entry_key_t::category, and refda_alarms_entry_key_t::resource.
| int refda_alarms_get_table | ( | refda_runctx_t * | runctx, |
| cace_ari_t * | out | ||
| ) |
Get a table representing the alarm list.
| [in] | runctx | The context to produce under. |
| [out] | out | The already-initialized value to store into. |
References agent, refda_runctx_t::agent, refda_alarms_t::alarm_list, refda_alarms_t::alarm_mutex, ALARM_TABLE_COL_CATEGORY, ALARM_TABLE_COL_CREATED_AT, ALARM_TABLE_COL_HISTORY, ALARM_TABLE_COL_MGR_IDENT, ALARM_TABLE_COL_MGR_STATE, ALARM_TABLE_COL_MGR_TIME, ALARM_TABLE_COL_RESOURCE, ALARM_TABLE_COL_SEVERITY, ALARM_TABLE_COL_UPDATED_AT, refda_agent_t::alarms, cace_ari_set_copy(), cace_ari_set_tbl(), cace_ari_set_uint(), cace_ari_tbl_move_row_array(), cace_ari_tbl_reset(), CACE_LOG_CRIT, refda_alarms_entry_t::category, refda_alarms_entry_t::created_at, refda_alarms_entry_t::history, refda_alarms_entry_t::mgr_ident, refda_alarms_entry_t::mgr_state, refda_alarms_entry_t::mgr_time, refda_amm_ident_base_t::name, cace_ari_tbl_t::ncols, refda_alarms_entry_t::resource, refda_alarms_history_item_t::severity, refda_alarms_entry_t::severity, refda_alarms_history_item_t::timestamp, and refda_alarms_entry_t::updated_at.
Referenced by refda_adm_ietf_alarms_edd_alarm_list().
| void refda_alarms_history_item_deinit | ( | refda_alarms_history_item_t * | obj | ) |
References cace_ari_deinit(), and refda_alarms_history_item_t::timestamp.
| void refda_alarms_history_item_init | ( | refda_alarms_history_item_t * | obj | ) |
| void refda_alarms_init | ( | refda_alarms_t * | obj | ) |
References refda_alarms_t::alarm_index, refda_alarms_t::alarm_list, and refda_alarms_t::alarm_mutex.
Referenced by refda_agent_init().
| size_t refda_alarms_mgr_state | ( | refda_runctx_t * | runctx, |
| const cace_ari_t * | filter, | ||
| refda_alarms_mgr_state_t | state | ||
| ) |
Set the manager state on on filtered entries.
| [in] | runctx | The context to evaluate expressions and the agent state to modify. |
| [in] | filter | The expression to LABEL-substitute and evaluate for each alarm entry. |
| state | The new state. |
References refda_runctx_t::agent, refda_alarms_t::alarm_list, alarm_list_filter_sub_label(), refda_alarms_t::alarm_mutex, refda_agent_t::alarms, cace_amm_ari_is_truthy(), cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_set_copy(), cace_ari_translate(), cace_get_system_time(), CACE_LOG_CRIT, CACE_LOG_ERR, CHKRET, cace_ari_translator_t::map_ari, refda_alarms_entry_t::mgr_ident, refda_runctx_t::mgr_ident, refda_alarms_entry_t::mgr_state, refda_alarms_entry_t::mgr_time, REFDA_ALARMS_MGR_STATE_SHELVED, and refda_eval_target().
Referenced by refda_adm_ietf_alarms_ctrl_set_alarms_manager_state(), and test_refda_alarms_mgr_state_warning().
| size_t refda_alarms_purge | ( | refda_runctx_t * | runctx, |
| const cace_ari_t * | filter | ||
| ) |
Purge the list of alarms based on filtered entries.
| [in] | runctx | The context to evaluate expressions and the agent state to modify. |
| [in] | filter | The expression to LABEL-substitute and evaluate for each alarm entry. |
References refda_runctx_t::agent, refda_alarms_t::alarm_index, refda_alarms_t::alarm_list, alarm_list_filter_sub_label(), refda_alarms_t::alarm_mutex, refda_agent_t::alarms, cace_amm_ari_is_truthy(), cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_translate(), CACE_LOG_CRIT, CACE_LOG_ERR, refda_alarms_entry_t::category, CHKRET, refda_amm_ident_base_t::ident, cace_ari_translator_t::map_ari, refda_eval_target(), refda_alarms_entry_t::resource, and refda_alarms_entry_key_t::resource.
Referenced by refda_adm_ietf_alarms_ctrl_purge_alarms(), test_refda_alarms_purge_all(), and test_refda_alarms_purge_warning().
| void refda_alarms_set_refs | ( | refda_agent_t * | agent, |
| const cace_ari_t * | resource, | ||
| const cace_ari_t * | category, | ||
| refda_alarms_severity_t | severity | ||
| ) |
Record a new alarm state in the Agent based on object references.
| agent | The agent state to modify. | |
| [in] | resource | The resource to set state on. |
| [in] | category | The optional category to set state on. |
| [in] | severity | The new severity level. |
References agent, refda_alarms_t::alarm_index, refda_alarms_t::alarm_list, refda_alarms_t::alarm_mutex, refda_agent_t::alarms, cace_ari_is_null(), cace_ari_is_undefined(), cace_ari_set_copy(), cace_ari_set_null(), cace_get_system_time(), CACE_LOG_CRIT, CACE_LOG_ERR, refda_alarms_entry_t::category, refda_alarms_entry_t::created_at, refda_alarms_entry_t::history, refda_amm_ident_base_t::ident, refda_amm_ident_base_t::name, refda_agent_t::objs, REFDA_AGENT_LOCK, REFDA_AGENT_UNLOCK, refda_amm_ident_base_deinit(), refda_amm_ident_base_init(), refda_amm_ident_base_populate(), refda_amm_ident_base_set_move(), refda_alarms_entry_t::resource, refda_alarms_entry_key_t::resource, refda_alarms_history_item_t::severity, refda_alarms_entry_t::severity, refda_alarms_history_item_t::timestamp, and refda_alarms_entry_t::updated_at.
Referenced by test_refda_adm_ietf_alarms_list_no_category(), test_refda_adm_ietf_alarms_purge_all(), test_refda_alarms_compress_all(), test_refda_alarms_mgr_state_warning(), test_refda_alarms_purge_all(), test_refda_alarms_purge_warning(), and test_refda_alarms_set_state_no_category().