libyang 3.13.5
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
Loading...
Searching...
No Matches
lyd_value Struct Reference

YANG data representation. More...

#include <tree_data.h>

Data Fields

union { 
int8_t boolean
int64_t dec64
void * dyn_mem
struct lysc_type_bitenum_itemenum_item
uint8_t fixed_mem [LYD_VALUE_FIXED_MEM_SIZE]
struct lysc_identident
int16_t int16
int32_t int32
int64_t int64
int8_t int8
struct lyd_value_unionsubvalue
struct ly_path * target
uint16_t uint16
uint32_t uint32
uint64_t uint64
uint8_t uint8
}; 
const char * _canonical
const struct lysc_typerealtype

Detailed Description

YANG data representation.

Definition at line 567 of file tree_data.h.

Field Documentation

◆ [union]

union { ... } lyd_value

The union is just a list of shorthands to possible values stored by a type's plugin. libyang itself uses the lyd_value.realtype plugin's callbacks to work with the data.

◆ _canonical

const char* lyd_value::_canonical

Should never be accessed directly, instead lyd_get_value() and lyd_get_meta_value() should be used. Serves as a cache for the canonical value or the JSON representation if no canonical value is defined.

Definition at line 568 of file tree_data.h.

◆ realtype

const struct lysc_type* lyd_value::realtype

pointer to the real type of the data stored in the value structure. This type can differ from the type in the schema node of the data node since the type's store plugin can use other types/plugins for storing data. Speaking about built-in types, this is the case of leafref which stores data as its target type. In contrast, union type also uses its subtype's callbacks, but inside an internal data stored in subvalue member of lyd_value structure, so here is the pointer to the union type. In general, this type is used to get free callback for this lyd_value structure, so it must reflect the type used to store data directly in the same lyd_value instance.

Definition at line 571 of file tree_data.h.


The documentation for this struct was generated from the following file: