libyang
3.6.0
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
|
Macros | |
#define | LYD_PARSE_JSON_NULL 0x4000000 |
#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_STORE_ONLY 0x2010000 |
#define | LYD_PARSE_STRICT 0x020000 |
#define | LYD_PARSE_SUBTREE 0x400000 |
#define | LYD_PARSE_WHEN_TRUE 0x800000 |
Various options to change the data tree parsers behavior.
Default parser behavior:
Default parser validation behavior:
#define LYD_PARSE_JSON_NULL 0x4000000 |
Allow using JSON empty value 'null' within JSON input, such nodes are silently skipped and treated as non-existent. By default, such values are invalid.
Definition at line 206 of file parser_data.h.
#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 158 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 194 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 157 of file parser_data.h.
#define LYD_PARSE_ONLY 0x010000 |
Data will be only parsed and no data validation will be performed but type value restrictions will be checked (unlike LYD_PARSE_STORE_ONLY). 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 154 of file parser_data.h.
#define LYD_PARSE_OPTS_MASK 0xFFFF0000 |
Mask for all the LYD_PARSE_ options.
Definition at line 212 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 163 of file parser_data.h.
#define LYD_PARSE_STORE_ONLY 0x2010000 |
Similar to LYD_PARSE_ONLY but even type value restrictions will not be checked (length, range, pattern, ...) and if a value can be stored, it is. Calling separate validation on these data always checks all the restrictions as well.
Definition at line 199 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 151 of file parser_data.h.
#define LYD_PARSE_SUBTREE 0x400000 |
Parse only the first child item along with any descendants, but no siblings. This flag is not required when parsing data which do not start at the schema root; for that purpose, use lyd_parse_data's parent argument. Also, a new return value LY_ENOT is returned if there is a sibling subtree following in the input data. Note that if validation is requested, only the newly parsed subtree is validated. This might result in an invalid datastore content.
Definition at line 174 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 189 of file parser_data.h.