DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
reporting.h File Reference
#include "runctx.h"
+ Include dependency graph for reporting.h:
+ This graph shows which files directly or indirectly include this file:

Macros

#define REFDA_REPORTING_ERR_BAD_TYPE   3
 Error result when an invalid type is present.
 
#define REFDA_REPORTING_ERR_DEREF_FAILED   4
 Error result when dereferencing fails.
 
#define REFDA_REPORTING_ERR_PROD_FAILED   5
 Error result when value production fails.
 
#define REFDA_REPORTING_ERR_EVAL_FAILED   6
 Error result when value EXPR evaluation fails.
 

Functions

int refda_reporting_ctrl (refda_runctx_t *runctx, const cace_ari_t *target, cace_ari_t *result)
 Generate a RPTSET for the conclusion of a CTRL execution.
 
int refda_reporting_target (refda_runctx_t *runctx, const cace_ari_t *target, const cace_ari_t *destination)
 Implement the reporting procedure from Section TBD of [ietf-dtn-amm-01].
 
int refda_reporting_gen (refda_agent_t *agent, const cace_ari_t *destination, const cace_ari_t *src, cace_ari_list_t items)
 Generate and queue a one-report RPTSET value.
 

Macro Definition Documentation

◆ REFDA_REPORTING_ERR_BAD_TYPE

#define REFDA_REPORTING_ERR_BAD_TYPE   3

Error result when an invalid type is present.

◆ REFDA_REPORTING_ERR_DEREF_FAILED

#define REFDA_REPORTING_ERR_DEREF_FAILED   4

Error result when dereferencing fails.

◆ REFDA_REPORTING_ERR_EVAL_FAILED

#define REFDA_REPORTING_ERR_EVAL_FAILED   6

Error result when value EXPR evaluation fails.

◆ REFDA_REPORTING_ERR_PROD_FAILED

#define REFDA_REPORTING_ERR_PROD_FAILED   5

Error result when value production fails.

Function Documentation

◆ refda_reporting_ctrl()

int refda_reporting_ctrl ( refda_runctx_t runctx,
const cace_ari_t target,
cace_ari_t result 
)

Generate a RPTSET for the conclusion of a CTRL execution.

Parameters
[in]runctxThe context for RPTSET aggregation.
[in]targetThe original execution target being reported on.
[in,out]resultThe result value to move into the report.
Returns
Zero if successful.

References refda_runctx_t::agent, cace_ari_is_undefined(), cace_ari_set_copy(), cace_ari_set_rptset(), cace_ari_set_td(), CACE_LOG_DEBUG, refda_msgdata_t::ident, cace_ari_report_t::items, refda_runctx_t::mgr_ident, cace_ari_rptset_t::nonce, refda_runctx_t::nonce, refda_agent_nowtime(), refda_msgdata_init(), cace_ari_rptset_t::reftime, cace_ari_report_t::reltime, cace_ari_rptset_t::reports, result, refda_agent_t::rptgs, refda_agent_t::rptgs_sem, cace_ari_report_t::source, and refda_msgdata_t::value.

Referenced by refda_exec_proc_ctrl_finish(), and refda_exec_proc_expand().

◆ refda_reporting_gen()

int refda_reporting_gen ( refda_agent_t agent,
const cace_ari_t destination,
const cace_ari_t src,
cace_ari_list_t  items 
)

◆ refda_reporting_target()

int refda_reporting_target ( refda_runctx_t runctx,
const cace_ari_t target,
const cace_ari_t destination 
)

Implement the reporting procedure from Section TBD of [ietf-dtn-amm-01].

Parameters
[in]runctxThe context for reporting.
[in]targetThe ARI to generate a report for.
[in]destinationA destination endpoint to report to. A null value or pointer sends to the manager in refda_runctx_t::mgr_ident.
Returns
Zero if successful.

References refda_runctx_t::agent, cace_ari_not_undefined(), CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), CACE_LOG_DEBUG, cace_log_is_enabled_for(), CACE_LOG_WARNING, CHKERR1, cace_ari_t::is_ref, refda_reporting_ctx_t::items, refda_reporting_ctx_deinit(), refda_reporting_ctx_init(), refda_reporting_gen(), refda_reporting_rptt_lit(), and refda_reporting_rptt_ref().

Referenced by refda_adm_ietf_dtnma_agent_ctrl_report_on(), and test_refda_reporting_target().