|
DTNMA Reference Tools v2.1.0 - 2.ga9a44fe
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>
Include dependency graph for lit.h:
This graph shows which files directly or indirectly include this file: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 [9] 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.