libyang  2.1.80
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data parser options

Macros

#define LYD_PARSE_LYB_MOD_UPDATE   0x100000
 
#define LYD_PARSE_NO_NEW   0x1000000
 
#define LYD_PARSE_NO_STATE   0x080000
 
#define LYD_PARSE_ONLY   0x010000
 
#define LYD_PARSE_OPAQ   0x040000
 
#define LYD_PARSE_OPTS_MASK   0xFFFF0000
 
#define LYD_PARSE_ORDERED   0x200000
 
#define LYD_PARSE_STRICT   0x020000
 
#define LYD_PARSE_SUBTREE   0x400000
 
#define LYD_PARSE_WHEN_TRUE   0x800000
 

Detailed Description

Various options to change the data tree parsers behavior.

Default parser behavior:

Default parser validation behavior:

Macro Definition Documentation

#define LYD_PARSE_LYB_MOD_UPDATE   0x100000

Only for LYB format, allow parsing data printed using a specific module revision to be loaded even with a module with the same name but newer revision.

Definition at line 155 of file parser_data.h.

#define LYD_PARSE_NO_NEW   0x1000000

Do not set LYD_NEW (non-validated node flag) for any nodes. Use when parsing validated data to skip some validation tasks and modify some validation behavior (auto-deletion of cases).

Definition at line 181 of file parser_data.h.

#define LYD_PARSE_NO_STATE   0x080000

Forbid state data in the parsed data. Usually used with LYD_VALIDATE_NO_STATE.

Definition at line 153 of file parser_data.h.

#define LYD_PARSE_ONLY   0x010000

Data will be only parsed and no validation will be performed. When statements are kept unevaluated, union types may not be fully resolved, and default values are not added (only the ones parsed are present).

Definition at line 142 of file parser_data.h.

#define LYD_PARSE_OPAQ   0x040000

Instead of silently ignoring data without definition, parse them into an opaq node. Do not combine with LYD_PARSE_STRICT (except for LYD_LYB).

Definition at line 150 of file parser_data.h.

#define LYD_PARSE_OPTS_MASK   0xFFFF0000

Mask for all the LYD_PARSE_ options.

Definition at line 187 of file parser_data.h.

#define LYD_PARSE_ORDERED   0x200000

Do not search for the correct place of each node but instead expect that the nodes are being parsed in the correct schema-based order, which is always true if the data were printed by libyang and not modified manually. If this flag is used incorrectly (for unordered data), the behavior is undefined and most functions executed with these data will not work correctly.

Definition at line 160 of file parser_data.h.

#define LYD_PARSE_STRICT   0x020000

Instead of silently ignoring data without schema definition raise an error. Do not combine with LYD_PARSE_OPAQ (except for LYD_LYB).

Definition at line 147 of file parser_data.h.

#define LYD_PARSE_SUBTREE   0x400000

Parse only the current data subtree with any descendants, no siblings. Also, a new return value LY_ENOT is returned if there is a sibling subtree following in the input data.

Definition at line 171 of file parser_data.h.

#define LYD_PARSE_WHEN_TRUE   0x800000

Mark all the parsed nodes dependend on a when condition with the flag that means the condition was satisifed before. This allows for auto-deletion of these nodes during validation.

Definition at line 176 of file parser_data.h.