DTNMA Reference Tools v2.0.0 - 7.g88e232c
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
This file contains the definitions, prototypes, constants, and other information necessary for the identification and processing of AMM Resource Identifiers (ARIs). More...
#include "base.h"
#include "algo.h"
#include <m-array.h>
#include <m-bptree.h>
#include <m-deque.h>
#include <m-dict.h>
Data Structures | |
struct | cace_ari_ac_t |
struct | cace_ari_am_t |
struct | cace_ari_tbl_t |
struct | cace_ari_execset_t |
struct | cace_ari_report_t |
A report is always a member of a Reporting Set (see ::cace_ari_rptset_s). More... | |
struct | cace_ari_rptset_t |
Macros | |
#define | M_OPL_cace_ari_report_t() |
Functions | |
void | cace_ari_ac_init (cace_ari_ac_t *obj) |
void | cace_ari_ac_deinit (cace_ari_ac_t *obj) |
int | cace_ari_ac_cmp (const cace_ari_ac_t *left, const cace_ari_ac_t *right) |
bool | cace_ari_ac_equal (const cace_ari_ac_t *left, const cace_ari_ac_t *right) |
void | cace_ari_am_init (cace_ari_am_t *obj) |
void | cace_ari_am_deinit (cace_ari_am_t *obj) |
int | cace_ari_am_cmp (const cace_ari_am_t *left, const cace_ari_am_t *right) |
bool | cace_ari_am_equal (const cace_ari_am_t *left, const cace_ari_am_t *right) |
void | cace_ari_tbl_init (cace_ari_tbl_t *obj, size_t ncols, size_t nrows) |
void | cace_ari_tbl_deinit (cace_ari_tbl_t *obj) |
bool | cace_ari_tbl_cmp (const cace_ari_tbl_t *left, const cace_ari_tbl_t *right) |
bool | cace_ari_tbl_equal (const cace_ari_tbl_t *left, const cace_ari_tbl_t *right) |
int | cace_ari_tbl_move_row_ac (cace_ari_tbl_t *obj, cace_ari_ac_t *row) |
Append a row to a table, moving data from the source. | |
int | cace_ari_tbl_move_row_array (cace_ari_tbl_t *obj, cace_ari_array_t row) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | cace_ari_execset_init (cace_ari_execset_t *obj) |
void | cace_ari_execset_deinit (cace_ari_execset_t *obj) |
int | cace_ari_execset_cmp (const cace_ari_execset_t *left, const cace_ari_execset_t *right) |
bool | cace_ari_execset_equal (const cace_ari_execset_t *left, const cace_ari_execset_t *right) |
void | cace_ari_report_init (cace_ari_report_t *obj) |
void | cace_ari_report_init_copy (cace_ari_report_t *obj, const cace_ari_report_t *src) |
void | cace_ari_report_init_move (cace_ari_report_t *obj, cace_ari_report_t *src) |
void | cace_ari_report_deinit (cace_ari_report_t *obj) |
void | cace_ari_report_set_copy (cace_ari_report_t *obj, const cace_ari_report_t *src) |
void | cace_ari_report_set_move (cace_ari_report_t *obj, cace_ari_report_t *src) |
size_t | cace_ari_report_hash (const cace_ari_report_t *obj) |
int | cace_ari_report_cmp (const cace_ari_report_t *left, const cace_ari_report_t *right) |
bool | cace_ari_report_equal (const cace_ari_report_t *left, const cace_ari_report_t *right) |
void | cace_ari_rptset_init (cace_ari_rptset_t *obj) |
void | cace_ari_rptset_deinit (cace_ari_rptset_t *obj) |
int | cace_ari_rptset_cmp (const cace_ari_rptset_t *left, const cace_ari_rptset_t *right) |
bool | cace_ari_rptset_equal (const cace_ari_rptset_t *left, const cace_ari_rptset_t *right) |
int | cace_ari_rptset_join_move (cace_ari_rptset_t *out, cace_ari_list_t *src) |
Combine multiple RPTSET into a single value. | |
int | cace_ari_rptset_split_move (cace_ari_list_t *out, cace_ari_rptset_t *src) |
Split a single RPTSET into a list where each result contains exactly one report. | |
void | cace_ari_lit_init_container (cace_ari_lit_t *lit, cace_ari_type_t ctype) |
Helper to assign a new container to a literal ARI. | |
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.
#define M_OPL_cace_ari_report_t | ( | ) |
void cace_ari_lit_init_container | ( | cace_ari_lit_t * | lit, |
cace_ari_type_t | ctype | ||
) |
Helper to assign a new container to a literal ARI.
[in,out] | The | literal value to modify. |
ctype | The container type to create. |
References cace_ari_lit_t::ari_type, cace_ari_prim_val_u::as_ac, cace_ari_prim_val_u::as_am, cace_ari_prim_val_u::as_execset, cace_ari_prim_val_u::as_rptset, cace_ari_prim_val_u::as_tbl, CACE_ARI_PRIM_OTHER, CHKVOID, cace_ari_lit_t::has_ari_type, M_MEMORY_ALLOC, cace_ari_lit_t::prim_type, and cace_ari_lit_t::value.
Referenced by cace_ari_cbor_decode_stream().
int cace_ari_rptset_join_move | ( | cace_ari_rptset_t * | out, |
cace_ari_list_t * | src | ||
) |
Combine multiple RPTSET into a single value.
Each of the source values must have identical nonce parameters.
[in,out] | out | The result to combine into. |
[in,out] | src | The source list to move values from. |
int cace_ari_rptset_split_move | ( | cace_ari_list_t * | out, |
cace_ari_rptset_t * | src | ||
) |
Split a single RPTSET into a list where each result contains exactly one report.
int cace_ari_tbl_move_row_ac | ( | cace_ari_tbl_t * | obj, |
cace_ari_ac_t * | row | ||
) |
Append a row to a table, moving data from the source.
[in,out] | obj | The table to append to. |
[in,out] | row | The row to move items from. |
References cace_ari_deinit(), cace_ari_init(), CHKERR1, cace_ari_ac_t::items, cace_ari_tbl_t::items, and cace_ari_tbl_t::ncols.