DTNMA Reference Tools v2.0.0 - 9.gaff6489
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
This file contains the definitions for literal-value ARI sub-structure. More...
#include "type.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>
Data Structures | |
union | cace_ari_prim_val_u |
Possible values types within an cace_ari_lit_t::value. More... | |
struct | cace_ari_lit_t |
Represent a literal-value ARI in accordance with [5]. More... | |
Macros | |
#define | CACE_ARI_DTN_EPOCH 946684800L |
Convenience definition of the DTN Time epoch offset from POSIX time epoch. | |
Enumerations | |
enum | cace_ari_prim_type_e { CACE_ARI_PRIM_UNDEFINED = 0 , CACE_ARI_PRIM_NULL , CACE_ARI_PRIM_BOOL , CACE_ARI_PRIM_UINT64 , CACE_ARI_PRIM_INT64 , CACE_ARI_PRIM_FLOAT64 , CACE_ARI_PRIM_TSTR , CACE_ARI_PRIM_BSTR , CACE_ARI_PRIM_TIMESPEC , CACE_ARI_PRIM_OTHER } |
These are enumerations for internal switching of the cace_ari_prim_val_u union. More... | |
Functions | |
int | cace_ari_lit_deinit (cace_ari_lit_t *obj) |
De-initialize a literal ARI struct. | |
int | cace_ari_lit_copy (cace_ari_lit_t *obj, const cace_ari_lit_t *src) |
Copy a literal struct by-value. | |
Variables | |
const time_t | cace_ari_dtn_epoch |
The value of CACE_ARI_DTN_EPOCH in a time_t . | |
const struct timespec | cace_ari_dtn_epoch_timespec |
The value of CACE_ARI_DTN_EPOCH in a struct timespec . | |
This file contains the definitions for literal-value ARI sub-structure.
#define CACE_ARI_DTN_EPOCH 946684800L |
Convenience definition of the DTN Time epoch offset from POSIX time epoch.
This is in units of seconds. DTN Time epoch is defined in [8] at 2000-01-01T00:00:00Z
enum cace_ari_prim_type_e |
These are enumerations for internal switching of the cace_ari_prim_val_u union.
Enumerator | |
---|---|
CACE_ARI_PRIM_UNDEFINED | A singleton primitive type with no specific value. This special case has no corresponding cace_ari_type_t enumeration. |
CACE_ARI_PRIM_NULL | A singleton primitive associated with CACE_ARI_TYPE_NULL. |
CACE_ARI_PRIM_BOOL | A selector for cace_ari_prim_val_u::as_bool associated with CACE_ARI_TYPE_BOOL. |
CACE_ARI_PRIM_UINT64 | A selector for cace_ari_prim_val_u::as_uint64 associated with CACE_ARI_TYPE_BYTE CACE_ARI_TYPE_UINT and CACE_ARI_TYPE_UVAST. |
CACE_ARI_PRIM_INT64 | A selector for cace_ari_prim_val_u::as_int64 associated with CACE_ARI_TYPE_INT and CACE_ARI_TYPE_VAST. |
CACE_ARI_PRIM_FLOAT64 | A selector for cace_ari_prim_val_u::as_float64 associated with CACE_ARI_TYPE_REAL32 and CACE_ARI_TYPE_REAL64. |
CACE_ARI_PRIM_TSTR | A selector for cace_ari_prim_val_u::as_data associated with CACE_ARI_TYPE_TEXTSTR. |
CACE_ARI_PRIM_BSTR | A selector for cace_ari_prim_val_u::as_data associated with CACE_ARI_TYPE_BYTESTR. |
CACE_ARI_PRIM_TIMESPEC | A selector for cace_ari_prim_val_u::as_data associated with CACE_ARI_TYPE_TP and CACE_ARI_TYPE_TD. |
CACE_ARI_PRIM_OTHER | Some other type which requires an cace_ari_lit_t::ari_type identifier. |
int cace_ari_lit_copy | ( | cace_ari_lit_t * | obj, |
const cace_ari_lit_t * | src | ||
) |
Copy a literal struct by-value.
[in,out] | obj | The object to affect. |
[in] | src | The source to copy from, recursively if necessary. |
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_data, cace_ari_prim_val_u::as_execset, cace_ari_prim_val_u::as_rptset, cace_ari_prim_val_u::as_tbl, CACE_ARI_PRIM_BSTR, CACE_ARI_PRIM_OTHER, CACE_ARI_PRIM_TSTR, cace_ari_set_copy(), CACE_MALLOC, cace_ari_lit_t::has_ari_type, cace_ari_ac_t::items, cace_ari_am_t::items, cace_ari_tbl_t::items, cace_ari_execset_t::nonce, cace_ari_rptset_t::nonce, cace_ari_lit_t::prim_type, cace_ari_rptset_t::reftime, cace_ari_rptset_t::reports, cace_ari_execset_t::targets, and cace_ari_lit_t::value.
int cace_ari_lit_deinit | ( | cace_ari_lit_t * | obj | ) |
De-initialize a literal ARI struct.
This recurses into data and containers as necessary.
[in,out] | obj | The object to affect. |
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_data, cace_ari_prim_val_u::as_execset, cace_ari_prim_val_u::as_rptset, cace_ari_prim_val_u::as_tbl, CACE_ARI_PRIM_BSTR, CACE_ARI_PRIM_TSTR, cace_data_deinit(), CHKERR1, cace_ari_lit_t::has_ari_type, M_MEMORY_DEL, cace_ari_lit_t::prim_type, and cace_ari_lit_t::value.