DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
base.h File Reference

This file contains the definitions, prototypes, constants, and other information necessary for the identification and processing of AMM Resource Identifiers (ARIs). More...

#include "type.h"
#include "lit.h"
#include "ref.h"
#include "cace/config.h"
#include "cace/cace_data.h"
#include <m-string.h>
#include <m-list.h>
#include <m-dict.h>
#include <time.h>
#include <stdint.h>
#include <stdbool.h>
+ Include dependency graph for base.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  cace_ari_t
 Defines a general-purpose ARI structure. More...
 

Macros

#define CACE_ARI_INIT_UNDEFINED
 A static value to initialize an ARI to the undefined value.
 
#define CACE_ARI_INIT_NULL
 

Functions

void cace_ari_init (cace_ari_t *ari)
 Initialize an ARI to the undefined value.
 
cace_ari_lit_tcace_ari_init_lit (cace_ari_t *ari)
 Initialize an ARI to be a literal value which requires further state initialization.
 
cace_ari_ref_tcace_ari_init_objref (cace_ari_t *ari)
 Initialize an ARI to be an object reference value which requires further state initialization.
 
int cace_ari_init_copy (cace_ari_t *ari, const cace_ari_t *src)
 Initialize an ARI with copy semantics.
 
int cace_ari_init_move (cace_ari_t *ari, cace_ari_t *src)
 Initialize an ARI with move semantics.
 
int cace_ari_deinit (cace_ari_t *ari)
 De-initialize an ARI.
 
void cace_ari_reset (cace_ari_t *ari)
 Reset an initialized ARI to the undefined value.
 
cace_ari_ref_tcace_ari_set_objref (cace_ari_t *ari)
 Set an ARI to be an object reference value which requires further state setting.
 
void cace_ari_set_copy (cace_ari_t *ari, const cace_ari_t *src)
 Copy an ARI value into another ARI.
 
void cace_ari_set_move (cace_ari_t *ari, cace_ari_t *src)
 Move an ARI value into another ARI.
 

Detailed Description

This file contains the definitions, prototypes, constants, and other information necessary for the identification and processing of AMM Resource Identifiers (ARIs).

Every object in the AMM can be uniquely identified using an ARI.

Macro Definition Documentation

◆ CACE_ARI_INIT_NULL

#define CACE_ARI_INIT_NULL
Value:
{ \
.is_ref = false, .as_lit = {.prim_type = CACE_ARI_PRIM_NULL } \
}
@ CACE_ARI_PRIM_NULL
A singleton primitive associated with CACE_ARI_TYPE_NULL.
Definition lit.h:73
Defines a general-purpose ARI structure.
Definition base.h:51

◆ CACE_ARI_INIT_UNDEFINED

#define CACE_ARI_INIT_UNDEFINED
Value:
{ \
.is_ref = false, .as_lit = {.prim_type = CACE_ARI_PRIM_UNDEFINED } \
}
@ CACE_ARI_PRIM_UNDEFINED
A singleton primitive type with no specific value.
Definition lit.h:71

A static value to initialize an ARI to the undefined value.

This can be used as an alternative to cace_ari_init() for static initialization.

Function Documentation

◆ cace_ari_deinit()

int cace_ari_deinit ( cace_ari_t ari)

De-initialize an ARI.

This recurses into data and containers as necessary.

Parameters
[in,out]ariThe value to de-initialize.
Postcondition
The ARI is left as the undefined value.

References cace_ari_deinit_parts(), cace_ari_state_reset(), and CHKERR1.

Referenced by ari_numeric_add(), cace_amm_actual_param_set_populate(), cace_amm_formal_param_deinit(), cace_amm_msg_if_metadata_deinit(), cace_amm_obj_ns_add_obj(), cace_amm_semtype_dlist_convert(), cace_amm_semtype_dlist_name(), cace_amm_semtype_seq_name(), cace_amm_semtype_tblt_match(), cace_amm_semtype_tblt_name(), cace_amm_semtype_ulist_convert(), cace_amm_semtype_ulist_name(), cace_amm_semtype_umap_convert(), cace_amm_semtype_umap_name(), cace_amm_semtype_union_convert(), cace_amm_semtype_union_name(), cace_amm_semtype_use_deinit(), cace_amm_semtype_use_name(), cace_amp_msg_decode(), cace_ari_cbor_decode_ac(), cace_ari_cbor_decode_am(), cace_ari_cbor_decode_execset(), cace_ari_cbor_decode_report(), cace_ari_cbor_decode_tbl(), cace_ari_equal(), cace_ari_execset_deinit(), cace_ari_map_am(), cace_ari_report_deinit(), cace_ari_rptset_deinit(), cace_ari_set_ac(), cace_ari_set_am(), cace_ari_set_aritype(), cace_ari_set_aritype_text(), cace_ari_set_bool(), cace_ari_set_bstr(), cace_ari_set_byte(), cace_ari_set_execset(), cace_ari_set_int(), cace_ari_set_label_int(), cace_ari_set_label_tstr(), cace_ari_set_null(), cace_ari_set_prim_bool(), cace_ari_set_prim_float64(), cace_ari_set_prim_int64(), cace_ari_set_prim_uint64(), cace_ari_set_real32(), cace_ari_set_real64(), cace_ari_set_rptset(), cace_ari_set_tbl(), cace_ari_set_td(), cace_ari_set_tp(), cace_ari_set_tstr(), cace_ari_set_uint(), cace_ari_set_undefined(), cace_ari_set_uvast(), cace_ari_set_vast(), cace_ari_tbl_move_row_ac(), cace_numeric_binary_comparison_operator(), cace_numeric_binary_operator(), cace_numeric_integer_binary_operator(), check_cnst(), check_convert(), check_execute(), check_lookup(), check_match(), check_normalize(), check_produce(), LLVMFuzzerTestOneInput(), main(), prox_item_deinit(), refda_adm_ietf_alarms_edd_category_inventory(), refda_adm_ietf_alarms_edd_resource_inventory(), refda_adm_ietf_dtnma_agent_ctrl_wait_cond_check(), refda_adm_ietf_dtnma_agent_oper_tbl_filter(), refda_agent_get_object(), refda_agent_startup_exec(), refda_alarms_compress(), refda_alarms_entry_deinit(), refda_alarms_history_item_deinit(), refda_alarms_mgr_state(), refda_alarms_purge(), refda_amm_const_desc_deinit(), refda_amm_ident_base_deinit(), refda_amm_sbr_desc_deinit(), refda_amm_tbr_desc_deinit(), refda_amm_var_desc_deinit(), refda_ctrl_exec_ctx_check_result(), refda_edd_prod_check_result(), refda_eval_condition(), refda_eval_oper(), refda_exec_item_deinit(), refda_instr_deinit(), refda_msgdata_deinit(), refda_oper_eval_ctx_deinit(), refda_oper_eval_ctx_populate(), refda_reporting_rptt_val(), refda_runctx_deinit(), refda_valprod_ctx_deinit(), stdin_recv(), tearDown(), test_amm_type_set_name_builtin(), test_ari_cmp(), test_ari_equal(), test_ari_hash(), test_ari_text_encode_ariref(), test_ari_text_encode_lit_prim_float64(), test_ari_text_encode_lit_prim_int(), test_ari_text_encode_lit_prim_null(), test_ari_text_encode_lit_prim_uint(), test_ari_text_encode_lit_prim_undefined(), test_ari_text_encode_nsref_int(), test_ari_text_encode_nsref_text(), test_ari_text_encode_objref_int(), test_ari_text_encode_objref_text(), test_cace_ari_cbor_decode_invalid(), test_cace_ari_cbor_decode_lit_prim_bool(), test_cace_ari_cbor_decode_lit_prim_bstr(), test_cace_ari_cbor_decode_lit_prim_float32(), test_cace_ari_cbor_decode_lit_prim_float64(), test_cace_ari_cbor_decode_lit_prim_int64(), test_cace_ari_cbor_decode_lit_prim_null(), test_cace_ari_cbor_decode_lit_prim_tstr(), test_cace_ari_cbor_decode_lit_prim_uint64(), test_cace_ari_cbor_decode_lit_prim_undef(), test_cace_ari_cbor_decode_lit_typed_bool(), test_cace_ari_cbor_decode_lit_typed_int64(), test_cace_ari_cbor_decode_lit_typed_null(), test_cace_ari_cbor_decode_lit_typed_real64(), test_cace_ari_cbor_decode_objref_path_int(), test_cace_ari_cbor_decode_rptset(), test_cace_ari_cbor_encode_lit_prim_null(), test_cace_ari_cbor_encode_lit_prim_text_copy(), test_cace_ari_cbor_encode_lit_prim_text_nocopy(), test_cace_ari_cbor_encode_lit_prim_uint(), test_cace_ari_cbor_encode_lit_prim_undef(), test_cace_ari_cbor_encode_lit_typed_ac_1item(), test_cace_ari_cbor_encode_lit_typed_ac_empty(), test_cace_ari_cbor_encode_lit_typed_td(), test_cace_ari_cbor_encode_lit_typed_tp(), test_cace_ari_cbor_encode_objref_path_int(), test_cace_ari_cbor_encode_rptset(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), test_refda_adm_ietf_alarms_category_inventory(), test_refda_adm_ietf_alarms_list_no_category(), test_refda_adm_ietf_alarms_purge_all(), test_refda_adm_ietf_alarms_resource_inventory(), test_refda_adm_ietf_dtnma_agent_ctrl_ensure_var(), test_refda_adm_ietf_dtnma_agent_ctrl_var_store_reset(), test_refda_adm_ietf_dtnma_agent_edd_produce(), test_refda_alarms_compress_all(), test_refda_alarms_mgr_state_warning(), test_refda_alarms_purge_all(), test_refda_alarms_purge_warning(), test_refda_alarms_set_state_no_category(), test_refda_eval_target_failure(), test_refda_exec_target(), test_refda_exec_wait_cond(), test_refda_exec_wait_for(), test_refda_exec_wait_until(), test_refda_reporting_target(), test_reporting_oper_add(), test_util_agent_permission(), test_util_group_add(), test_util_group_permission(), timespec_numeric_add(), timespec_numeric_div(), timespec_numeric_mul(), and timespec_numeric_sub().

◆ cace_ari_init()

◆ cace_ari_init_copy()

int cace_ari_init_copy ( cace_ari_t ari,
const cace_ari_t src 
)

Initialize an ARI with copy semantics.

Parameters
[in,out]ariThe value to modify.
srcThe source to deep copy from.

References cace_ari_copy_deep(), and CHKERR1.

Referenced by cace_ari_report_init_copy(), normalize_key(), refda_adm_ietf_dtnma_agent_oper_tbl_filter(), and refda_reporting_ctx_init().

◆ cace_ari_init_lit()

◆ cace_ari_init_move()

int cace_ari_init_move ( cace_ari_t ari,
cace_ari_t src 
)

Initialize an ARI with move semantics.

Parameters
[in,out]ariThe value to modify.
[in,out]srcThe source to move from and reset.

References cace_ari_copy_shallow(), cace_ari_state_reset(), and CHKERR1.

Referenced by cace_ari_report_init_move(), and refda_msgdata_init_move().

◆ cace_ari_init_objref()

cace_ari_ref_t * cace_ari_init_objref ( cace_ari_t ari)

Initialize an ARI to be an object reference value which requires further state initialization.

Parameters
[out]ariThe value to modify.
Returns
A pointer to the object reference struct to set state in.

References cace_ari_t::as_ref, cace_ari_state_reset(), CHKNULL, and cace_ari_t::is_ref.

Referenced by cace_ari_cbor_decode_stream(), cace_ari_copy_deep(), cace_ari_set_objref(), test_ari_text_encode_ariref(), test_ari_text_encode_nsref_int(), and test_ari_text_encode_nsref_text().

◆ cace_ari_reset()

void cace_ari_reset ( cace_ari_t ari)

Reset an initialized ARI to the undefined value.

This is equivalent to calling cace_ari_deinit() and cace_ari_init() in sequence.

Parameters
[in,out]ariThe value to reset.
Postcondition
The ARI is left as the undefined value.

References cace_ari_deinit_parts(), cace_ari_state_reset(), and CHKVOID.

Referenced by cace_ari_cbor_decode(), cace_ari_cbor_decode_stream(), refda_reporting_rptt_val(), and refda_runctx_from().

◆ cace_ari_set_copy()

void cace_ari_set_copy ( cace_ari_t ari,
const cace_ari_t src 
)

Copy an ARI value into another ARI.

Parameters
[in,out]ariThe ARI to modify. The previous value is de-initialized prior to copy.
srcThe source to deep copy from.

References cace_ari_copy_deep(), cace_ari_deinit_parts(), and CHKVOID.

Referenced by alarm_list_filter_sub_label(), builtin_default_convert(), cace_amm_actual_param_set_populate(), cace_amm_semtype_union_convert(), cace_amm_semtype_use_name(), cace_amm_type_set_use_from_name(), cace_amm_type_set_use_ref(), cace_ari_lit_copy(), cace_ari_report_set_copy(), check_execute(), handle_recv(), refda_adm_ietf_dtnma_agent_acl_edd_access_list(), refda_adm_ietf_dtnma_agent_acl_edd_group_list(), refda_adm_ietf_dtnma_agent_ctrl_ensure_const(), refda_adm_ietf_dtnma_agent_ctrl_ensure_sbr(), refda_adm_ietf_dtnma_agent_ctrl_ensure_tbr(), refda_adm_ietf_dtnma_agent_ctrl_ensure_var(), refda_adm_ietf_dtnma_agent_ctrl_var_reset(), refda_adm_ietf_dtnma_agent_ctrl_var_store(), refda_adm_ietf_dtnma_agent_edd_exec_running(), refda_adm_ietf_dtnma_agent_edd_last_msg_rx_time(), refda_adm_ietf_dtnma_agent_edd_sbr_list(), refda_adm_ietf_dtnma_agent_edd_tbr_list(), refda_alarms_get_table(), refda_alarms_mgr_state(), refda_alarms_set_refs(), refda_amm_ident_base_populate(), refda_amm_ident_base_set(), refda_ctrl_exec_ctx_set_result_copy(), refda_edd_prod_ctx_set_result_copy(), refda_eval_target(), refda_exec_proc_exp_ref(), refda_ingress_push_move(), refda_ingress_worker(), refda_msgdata_set(), refda_oper_eval_ctx_set_result_copy(), refda_reporting_ctrl(), refda_reporting_gen(), refda_reporting_rptt_val(), refda_runctx_from(), refda_valprod_const_run(), and refda_valprod_var_run().

◆ cace_ari_set_move()

◆ cace_ari_set_objref()