DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
type.h File Reference

This file contains ARI type definitions and basic lookup functions. More...

#include "cace/config.h"
#include <inttypes.h>
+ Include dependency graph for type.h:
+ This graph shows which files directly or indirectly include this file:

Macros

#define M_OPL_cace_ari_type_t()   M_ENUM_OPLIST(cace_ari_type_t, CACE_ARI_TYPE_NULL)
 M*LIB OPLIST for the enum cace_ari_type_t.
 

Enumerations

enum  cace_ari_type_t {
  CACE_ARI_TYPE_LITERAL = 255 , CACE_ARI_TYPE_NULL = 0 , CACE_ARI_TYPE_BOOL = 1 , CACE_ARI_TYPE_BYTE = 2 ,
  CACE_ARI_TYPE_INT = 4 , CACE_ARI_TYPE_UINT = 5 , CACE_ARI_TYPE_VAST = 6 , CACE_ARI_TYPE_UVAST = 7 ,
  CACE_ARI_TYPE_REAL32 = 8 , CACE_ARI_TYPE_REAL64 = 9 , CACE_ARI_TYPE_TEXTSTR = 10 , CACE_ARI_TYPE_BYTESTR = 11 ,
  CACE_ARI_TYPE_TP = 12 , CACE_ARI_TYPE_TD = 13 , CACE_ARI_TYPE_LABEL = 14 , CACE_ARI_TYPE_CBOR = 15 ,
  CACE_ARI_TYPE_ARITYPE = 16 , CACE_ARI_TYPE_AC = 17 , CACE_ARI_TYPE_AM = 18 , CACE_ARI_TYPE_TBL = 19 ,
  CACE_ARI_TYPE_EXECSET = 20 , CACE_ARI_TYPE_RPTSET = 21 , CACE_ARI_TYPE_OBJECT = -256 , CACE_ARI_TYPE_NAMESPACE = -255 ,
  CACE_ARI_TYPE_IDENT = -1 , CACE_ARI_TYPE_CONST = -2 , CACE_ARI_TYPE_CTRL = -3 , CACE_ARI_TYPE_EDD = -4 ,
  CACE_ARI_TYPE_OPER = -6 , CACE_ARI_TYPE_SBR = -8 , CACE_ARI_TYPE_TBR = -10 , CACE_ARI_TYPE_VAR = -11 ,
  CACE_ARI_TYPE_TYPEDEF = -12
}
 All value types representable by an ARI. More...
 

Functions

const char * cace_ari_type_to_name (int32_t typenum)
 Lookup a type ID from its integer enumeration.
 
int cace_ari_type_from_name (int32_t *typenum, const char *name)
 Lookup a type ID from its text name.
 

Detailed Description

This file contains ARI type definitions and basic lookup functions.

Macro Definition Documentation

◆ M_OPL_cace_ari_type_t

#define M_OPL_cace_ari_type_t ( )    M_ENUM_OPLIST(cace_ari_type_t, CACE_ARI_TYPE_NULL)

M*LIB OPLIST for the enum cace_ari_type_t.

Enumeration Type Documentation

◆ cace_ari_type_t

All value types representable by an ARI.

These are encodeable enumerations, which are different than ::ari_prim_type_e internal union-switching enumerations.

Enumerator
CACE_ARI_TYPE_LITERAL 
CACE_ARI_TYPE_NULL 
CACE_ARI_TYPE_BOOL 
CACE_ARI_TYPE_BYTE 
CACE_ARI_TYPE_INT 
CACE_ARI_TYPE_UINT 
CACE_ARI_TYPE_VAST 
CACE_ARI_TYPE_UVAST 
CACE_ARI_TYPE_REAL32 
CACE_ARI_TYPE_REAL64 
CACE_ARI_TYPE_TEXTSTR 
CACE_ARI_TYPE_BYTESTR 
CACE_ARI_TYPE_TP 
CACE_ARI_TYPE_TD 
CACE_ARI_TYPE_LABEL 
CACE_ARI_TYPE_CBOR 
CACE_ARI_TYPE_ARITYPE 
CACE_ARI_TYPE_AC 
CACE_ARI_TYPE_AM 
CACE_ARI_TYPE_TBL 
CACE_ARI_TYPE_EXECSET 
CACE_ARI_TYPE_RPTSET 
CACE_ARI_TYPE_OBJECT 

Catch-all object reference type ID.

CACE_ARI_TYPE_NAMESPACE 

Catch-all namespace reference type ID.

CACE_ARI_TYPE_IDENT 
CACE_ARI_TYPE_CONST 
CACE_ARI_TYPE_CTRL 
CACE_ARI_TYPE_EDD 
CACE_ARI_TYPE_OPER 
CACE_ARI_TYPE_SBR 
CACE_ARI_TYPE_TBR 
CACE_ARI_TYPE_VAR 
CACE_ARI_TYPE_TYPEDEF 

Function Documentation

◆ cace_ari_type_from_name()

int cace_ari_type_from_name ( int32_t *  typenum,
const char *  name 
)

Lookup a type ID from its text name.

Parameters
[out]typenumThe integer value to store the found result. A null value means just search but don't store.
[in]nameThe name to search for.
Returns
Zero upon success.

References _ari_type_dict_ctrl, _ari_type_dict_init(), _ari_type_name_dict, and CHKERR1.

Referenced by cace_amm_type_set_name_aritype(), and cace_ari_objpath_derive_type().

◆ cace_ari_type_to_name()

const char * cace_ari_type_to_name ( int32_t  typenum)

Lookup a type ID from its integer enumeration.

Parameters
typenumThe integer value to search for.
Returns
Non-null text pointer upon success.

References _ari_type_dict_ctrl, _ari_type_dict_init(), and _ari_type_id_dict.

Referenced by cace_ari_objpath_derive_type(), cace_ari_objpath_set_textid_opt(), cace_ari_set_aritype_text(), cace_ari_text_encode_aritype(), refda_agent_bindrefs(), refda_binding_obj(), test_amm_type_get_name_builtin(), and test_ari_text_encode_ariref().