DTNMA Reference Tools v2.0.0 - 7.g88e232c
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
containers.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 "base.h"
#include "algo.h"
#include <m-array.h>
#include <m-bptree.h>
#include <m-deque.h>
#include <m-dict.h>
+ Include dependency graph for containers.h:
+ This graph shows which files directly or indirectly include this file:

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.
 

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

◆ M_OPL_cace_ari_report_t

#define M_OPL_cace_ari_report_t ( )
Value:
(INIT(API_2(cace_ari_report_init)), INIT_SET(API_6(cace_ari_report_init_copy)), \
INIT_MOVE(API_6(cace_ari_report_init_move)), CLEAR(API_2(cace_ari_report_deinit)), \
SET(API_6(cace_ari_report_set_copy)), MOVE(API_6(cace_ari_report_set_move)), HASH(API_2(cace_ari_report_hash)), \
CMP(API_6(cace_ari_report_cmp)), EQUAL(API_6(cace_ari_report_equal)))

Function Documentation

◆ cace_ari_lit_init_container()

void cace_ari_lit_init_container ( cace_ari_lit_t lit,
cace_ari_type_t  ctype 
)

◆ cace_ari_rptset_join_move()

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.

Parameters
[in,out]outThe result to combine into.
[in,out]srcThe source list to move values from.
Returns
Zero if successful.

◆ cace_ari_rptset_split_move()

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.

Returns
Zero if successful.

◆ cace_ari_tbl_move_row_ac()

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.

Parameters
[in,out]objThe table to append to.
[in,out]rowThe row to move items from.
Returns
Zero if successful. 2 if the row size is mismatched.

References cace_ari_deinit(), cace_ari_init(), CHKERR1, cace_ari_ac_t::items, cace_ari_tbl_t::items, and cace_ari_tbl_t::ncols.