DTNMA Reference Tools v2.0.0 - 9.gaff6489
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
semtype.h File Reference

This file contains definitions for AMM semantic typing of ARI values. More...

#include "typing.h"
#include "named_type.h"
#include "range.h"
#include "semtype_cnst.h"
#include <m-array.h>
+ Include dependency graph for semtype.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  cace_amm_semtype_use_t
 Configuration for an augmented use of another type. More...
 
struct  cace_amm_semtype_ulist_t
 Configuration for a uniform list within an AC. More...
 
struct  cace_amm_semtype_dlist_t
 Configuration for a diverse list within an AC. More...
 
struct  cace_amm_semtype_umap_t
 Configuration for a uniform list within an AM. More...
 
struct  cace_amm_semtype_tblt_t
 Configuration for a table template. More...
 
struct  cace_amm_semtype_union_t
 Configuration for a union of other types. More...
 
struct  cace_amm_semtype_seq_t
 Configuration for a sub-sequence list within an AC. More...
 

Functions

static void cace_amm_semtype_use_init (cace_amm_semtype_use_t *obj)
 
static void cace_amm_semtype_use_deinit (cace_amm_semtype_use_t *obj)
 
int cace_amm_type_set_use_ref (cace_amm_type_t *type, const cace_ari_t *name)
 Create a use type based on a type reference.
 
int cace_amm_type_set_use_ref_move (cace_amm_type_t *type, cace_ari_t *name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the name with move semantics.
 
int cace_amm_type_set_use_builtin (cace_amm_type_t *type, cace_ari_type_t ari_type)
 Create a use type based on a base type object.
 
static void cace_amm_semtype_ulist_init (cace_amm_semtype_ulist_t *obj)
 
static void cace_amm_semtype_ulist_deinit (cace_amm_semtype_ulist_t *obj)
 
cace_amm_semtype_ulist_tcace_amm_type_set_ulist (cace_amm_type_t *type)
 Create a uniform list semantic type.
 
static void cace_amm_semtype_dlist_init (cace_amm_semtype_dlist_t *obj)
 
static void cace_amm_semtype_dlist_deinit (cace_amm_semtype_dlist_t *obj)
 
cace_amm_semtype_dlist_tcace_amm_type_set_dlist (cace_amm_type_t *type, size_t num_types)
 Create a diverse list semantic type.
 
static void cace_amm_semtype_umap_init (cace_amm_semtype_umap_t *obj)
 
static void cace_amm_semtype_umap_deinit (cace_amm_semtype_umap_t *obj)
 
cace_amm_semtype_umap_tcace_amm_type_set_umap (cace_amm_type_t *type)
 Create a uniform map semantic type.
 
static void cace_amm_semtype_tblt_init (cace_amm_semtype_tblt_t *obj)
 
static void cace_amm_semtype_tblt_deinit (cace_amm_semtype_tblt_t *obj)
 
cace_amm_semtype_tblt_tcace_amm_type_set_tblt_size (cace_amm_type_t *type, size_t num_cols)
 Create a table template based on a set of typed columns.
 
static void cace_amm_semtype_union_init (cace_amm_semtype_union_t *obj)
 
static void cace_amm_semtype_union_deinit (cace_amm_semtype_union_t *obj)
 
cace_amm_semtype_union_tcace_amm_type_set_union_size (cace_amm_type_t *type, size_t num_choices)
 Create a union type based on a choice of other type objects.
 
static void cace_amm_semtype_seq_init (cace_amm_semtype_seq_t *obj)
 
static void cace_amm_semtype_seq_deinit (cace_amm_semtype_seq_t *obj)
 
cace_amm_semtype_seq_tcace_amm_type_set_seq (cace_amm_type_t *type)
 Create a sub-sequence list semantic type.
 

Detailed Description

This file contains definitions for AMM semantic typing of ARI values.

Function Documentation

◆ cace_amm_type_set_dlist()

cace_amm_semtype_dlist_t * cace_amm_type_set_dlist ( cace_amm_type_t *  type,
size_t  num_types 
)

Create a diverse list semantic type.

Parameters
[out]typeThe type to initialize and populate.
num_colsThe number of types to initialize.
Returns
Non-NULL upon success.

References CACE_MALLOC, CHKNULL, and cace_amm_semtype_dlist_t::types.

◆ cace_amm_type_set_seq()

cace_amm_semtype_seq_t * cace_amm_type_set_seq ( cace_amm_type_t *  type)

Create a sub-sequence list semantic type.

Parameters
[out]typeThe type to initialize and populate.
Returns
Non-NULL upon success.

References CACE_MALLOC, and CHKNULL.

◆ cace_amm_type_set_tblt_size()

cace_amm_semtype_tblt_t * cace_amm_type_set_tblt_size ( cace_amm_type_t *  type,
size_t  num_cols 
)

Create a table template based on a set of typed columns.

Parameters
[out]typeThe type to initialize and populate.
num_colsThe number of columns to initialize.
Returns
Non-NULL upon success.

References CACE_MALLOC, CHKNULL, and cace_amm_semtype_tblt_t::columns.

◆ cace_amm_type_set_ulist()

cace_amm_semtype_ulist_t * cace_amm_type_set_ulist ( cace_amm_type_t *  type)

Create a uniform list semantic type.

Parameters
[out]typeThe type to initialize and populate.
Returns
Non-NULL upon success.

References CACE_MALLOC, and CHKNULL.

◆ cace_amm_type_set_umap()

cace_amm_semtype_umap_t * cace_amm_type_set_umap ( cace_amm_type_t *  type)

Create a uniform map semantic type.

Parameters
[out]typeThe type to initialize and populate.
Returns
Non-NULL upon success.

References CACE_MALLOC, and CHKNULL.

◆ cace_amm_type_set_union_size()

cace_amm_semtype_union_t * cace_amm_type_set_union_size ( cace_amm_type_t *  type,
size_t  num_choices 
)

Create a union type based on a choice of other type objects.

A union type contains a list of underlying types to choose from.

Parameters
[out]typeThe type to initialize and populate.
num_choicesThe number of choices to initialize.
Returns
Non-NULL upon success.

References CACE_MALLOC, CHKNULL, and cace_amm_semtype_union_t::choices.

◆ cace_amm_type_set_use_builtin()

int cace_amm_type_set_use_builtin ( cace_amm_type_t *  type,
cace_ari_type_t  ari_type 
)

Create a use type based on a base type object.

A use type adds annotations and constraints onto a base type.

Warning
This is intended only for internal out-of-agent testing.
Parameters
[out]typeThe type to initialize and populate.
ari_typeThe builtin type to create a use of.

References cace_amm_semtype_use_t::base, and CACE_ARI_INIT_UNDEFINED.

◆ cace_amm_type_set_use_ref()

int cace_amm_type_set_use_ref ( cace_amm_type_t *  type,
const cace_ari_t name 
)

Create a use type based on a type reference.

A use type adds annotations and constraints onto a base type.

Parameters
[out]typeThe type to initialize and populate.
[in]nameThe ARITYPE literal or TYPEDEF reference value.

References cace_ari_init_copy().