|
DTNMA Reference Tools v2.1.0 - 7.g389b8d8
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
This is the compilation unit for the implementation of the ADM module "ietf-dtnma-agent" for the C-language reference DA. More...
#include "ietf_dtnma_agent.h"#include "refda/agent.h"#include "refda/register.h"#include "refda/edd_prod_ctx.h"#include "refda/ctrl_exec_ctx.h"#include "refda/oper_eval_ctx.h"#include <cace/amm/semtype.h>#include <cace/ari/text.h>#include <cace/util/logging.h>#include <cace/util/defs.h>#include "refda/eval.h"#include "refda/exec.h"#include "refda/binding.h"#include "refda/reporting.h"#include "cace/amm/numeric.h"#include "cace/ari/text_util.h"#include <timespec.h>#include <math.h>
Include dependency graph for ietf_dtnma_agent.c:Data Structures | |
| struct | _tbl_row_pair_t |
Functions | |
| static void | timespec_normalize (struct timespec *target) |
| Ensure that the specified timespec is normalized. | |
| static void | refda_adm_ietf_dtnma_agent_ctrl_wait_finished (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_wait_cond_check (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_set_objpath (cace_ari_objpath_t *path, const cace_amm_obj_ns_t *ns, cace_ari_type_t obj_type, const cace_amm_obj_desc_t *obj) |
| static cace_ari_uvast | numeric_add_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | numeric_add_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_real64 | numeric_add_real64 (cace_ari_real64 left, cace_ari_real64 right) |
| static cace_ari_uvast | numeric_sub_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | numeric_sub_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_real64 | numeric_sub_real64 (cace_ari_real64 left, cace_ari_real64 right) |
| static cace_ari_uvast | numeric_mul_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | numeric_mul_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_real64 | numeric_mul_real64 (cace_ari_real64 left, cace_ari_real64 right) |
| static cace_ari_uvast | numeric_div_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | numeric_div_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_real64 | numeric_div_real64 (cace_ari_real64 left, cace_ari_real64 right) |
| static cace_ari_uvast | numeric_mod_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | numeric_mod_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_real64 | numeric_mod_real64 (cace_ari_real64 left, cace_ari_real64 right) |
| static cace_ari_uvast | numeric_gt_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | numeric_gt_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_real64 | numeric_gt_real64 (cace_ari_real64 left, cace_ari_real64 right) |
| static cace_ari_uvast | numeric_gte_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | numeric_gte_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_real64 | numeric_gte_real64 (cace_ari_real64 left, cace_ari_real64 right) |
| static cace_ari_uvast | numeric_lt_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | numeric_lt_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_real64 | numeric_lt_real64 (cace_ari_real64 left, cace_ari_real64 right) |
| static cace_ari_uvast | numeric_lte_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | numeric_lte_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_real64 | numeric_lte_real64 (cace_ari_real64 left, cace_ari_real64 right) |
| static cace_ari_uvast | bitwise_and_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | bitwise_and_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_uvast | bitwise_or_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | bitwise_or_vast (cace_ari_vast left, cace_ari_vast right) |
| static cace_ari_uvast | bitwise_xor_uvast (cace_ari_uvast left, cace_ari_uvast right) |
| static cace_ari_vast | bitwise_xor_vast (cace_ari_vast left, cace_ari_vast right) |
| static int | timespec_numeric_add (cace_ari_t *result, const cace_ari_t *valueA, const cace_ari_t *valueB) |
| static int | timespec_numeric_sub (cace_ari_t *result, const cace_ari_t *valueA, const cace_ari_t *valueB) |
| static int | timespec_numeric_mul (cace_ari_t *result, const cace_ari_t *valueA, const cace_ari_t *valueB) |
| static int | timespec_numeric_div (cace_ari_t *result, const cace_ari_t *valueA, const cace_ari_t *valueB) |
| static int | timespec_numeric_mod (cace_ari_t *result, const cace_ari_t *left, const cace_ari_t *right) |
| static void | refda_adm_ietf_dtnma_agent_edd_sw_vendor (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_sw_version (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_capability (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_last_msg_rx_time (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_num_msg_rx (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_num_msg_rx_failed (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_num_msg_tx (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_num_msg_tx_failed (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_num_exec_started (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_num_exec_succeeded (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_num_exec_failed (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_exec_running (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_odm_list (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_typedef_list (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_const_list (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_var_list (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_sbr_list (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_edd_tbr_list (refda_edd_prod_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_if_then_else (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_catch (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_wait_for (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_wait_until (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_wait_cond (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_inspect (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_report_on (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_ensure_odm (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_obsolete_odm (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_var_reset (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_var_store (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_ensure_const (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_obsolete_const (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_ensure_var (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_obsolete_var (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_ensure_sbr (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_ensure_tbr (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_ensure_rule_enabled (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_reset_rule_enabled (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_ctrl_obsolete_rule (refda_ctrl_exec_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_negate (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_add (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_sub (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_multiply (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_divide (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_remainder (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_bit_not (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_bit_and (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_bit_or (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_bit_xor (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_bool_not (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_bool_and (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_bool_or (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_bool_xor (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_compare_eq (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_compare_ne (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_compare_gt (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_compare_ge (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_compare_lt (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_compare_le (refda_oper_eval_ctx_t *ctx) |
| static int | tbl_filter_sub_label (cace_ari_lit_t *out, const cace_ari_lit_t *in, const cace_ari_translate_ctx_t *ctx) |
| Translation helper function to substitute any LABELS in the expression with corresponding data from the current table row. | |
| static void | refda_adm_ietf_dtnma_agent_oper_tbl_filter (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_list_get (refda_oper_eval_ctx_t *ctx) |
| static void | refda_adm_ietf_dtnma_agent_oper_map_get (refda_oper_eval_ctx_t *ctx) |
| int | refda_adm_ietf_dtnma_agent_init (refda_agent_t *agent) |
| Initializer for the ADM module ietf-dtnma-agent. | |
This is the compilation unit for the implementation of the ADM module "ietf-dtnma-agent" for the C-language reference DA.
This contains definitions of every AMM object instance in the ADM and file-local callback functions for all EDDs, CTRLs, and OPERs.
| int refda_adm_ietf_dtnma_agent_init | ( | refda_agent_t * | agent | ) |
Initializer for the ADM module ietf-dtnma-agent.
| [in,out] | agent | The agent to register this namespace and its objects within. |
Register CONST objects
Register EDD objects
Register CTRL objects
Register OPER objects
References CACE_ARI_INIT_UNDEFINED, cace_ari_set_objref_path_intid(), CACE_ARI_TYPE_NAMESPACE, CACE_LOG_DEBUG, CACE_MALLOC, CHKERR1, cace_amm_semtype_union_t::choices, cace_amm_semtype_tblt_t::columns, cace_amm_formal_param_t::defval, refda_amm_oper_desc_t::evaluate, refda_amm_ctrl_desc_t::execute, cace_amm_semtype_ulist_t::item_type, cace_ari_ac_t::items, cace_amm_named_type_t::name, refda_agent_t::objs, refda_amm_oper_desc_t::operand_types, refda_amm_edd_desc_t::prod_type, refda_amm_edd_desc_t::produce, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_ADM, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CONST_HELLO, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_CATCH, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_ENSURE_CONST, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_ENSURE_ODM, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_ENSURE_RULE_ENABLED, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_ENSURE_SBR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_ENSURE_TBR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_ENSURE_VAR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_IF_THEN_ELSE, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_INSPECT, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_OBSOLETE_CONST, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_OBSOLETE_ODM, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_OBSOLETE_RULE, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_OBSOLETE_VAR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_REPORT_ON, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_RESET_RULE_ENABLED, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_VAR_RESET, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_VAR_STORE, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_WAIT_COND, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_WAIT_FOR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_WAIT_UNTIL, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_CAPABILITY, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_CONST_LIST, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_EXEC_RUNNING, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_LAST_MSG_RX_TIME, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_NUM_EXEC_FAILED, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_NUM_EXEC_STARTED, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_NUM_EXEC_SUCCEEDED, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_NUM_MSG_RX, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_NUM_MSG_RX_FAILED, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_NUM_MSG_TX, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_NUM_MSG_TX_FAILED, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_ODM_LIST, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_SBR_LIST, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_SW_VENDOR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_SW_VERSION, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_TBR_LIST, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_TYPEDEF_LIST, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_VAR_LIST, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_ADD, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_BIT_AND, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_BIT_NOT, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_BIT_OR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_BIT_XOR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_BOOL_AND, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_BOOL_NOT, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_BOOL_OR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_BOOL_XOR, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_COMPARE_EQ, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_COMPARE_GE, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_COMPARE_GT, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_COMPARE_LE, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_COMPARE_LT, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_COMPARE_NE, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_DIVIDE, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_LIST_GET, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_MAP_GET, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_MULTIPLY, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_NEGATE, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_REMAINDER, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_SUB, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_OPER_TBL_FILTER, refda_amm_ctrl_desc_t::res_type, refda_amm_oper_desc_t::res_type, cace_amm_named_type_t::typeobj, cace_amm_formal_param_t::typeobj, and refda_amm_const_desc_t::value.
|
static |
Translation helper function to substitute any LABELS in the expression with corresponding data from the current table row.
Assumes the LABEL contains an index of the column which will substitute data
References cace_ari_lit_t::ari_type, cace_ari_prim_val_u::as_int64, cace_ari_t::as_lit, cace_ari_prim_val_u::as_uint64, cace_ari_lit_copy(), CACE_ARI_PRIM_INT64, CACE_ARI_PRIM_UINT64, CACE_LOG_WARNING, cace_ari_lit_t::has_ari_type, cace_ari_t::is_ref, cace_ari_tbl_t::items, cace_ari_tbl_t::ncols, cace_ari_lit_t::prim_type, cace_ari_translate_ctx_t::user_data, and cace_ari_lit_t::value.
|
static |
Ensure that the specified timespec is normalized.
Normalization consists of the absolute value of the timespec nano field being less than 1 billion.
| [in,out] | target | The timespec that is to be normalized. |