libyang  3.6.0
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
parser_data.h File Reference

Data parsers for libyang. More...

#include "tree_data.h"
Include dependency graph for parser_data.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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
 
#define LYD_VALIDATE_MULTI_ERROR   0x0004
 
#define LYD_VALIDATE_NO_DEFAULTS   0x0010
 
#define LYD_VALIDATE_NO_STATE   0x0001
 
#define LYD_VALIDATE_NOT_FINAL   0x0020
 
#define LYD_VALIDATE_OPERATIONAL   0x0008
 
#define LYD_VALIDATE_OPTS_MASK   0x0000FFFF
 
#define LYD_VALIDATE_PRESENT   0x0002
 

Enumerations

enum  lyd_type {
  LYD_TYPE_DATA_YANG = 0, LYD_TYPE_RPC_YANG, LYD_TYPE_NOTIF_YANG, LYD_TYPE_REPLY_YANG,
  LYD_TYPE_RPC_NETCONF, LYD_TYPE_NOTIF_NETCONF, LYD_TYPE_REPLY_NETCONF, LYD_TYPE_RPC_RESTCONF,
  LYD_TYPE_NOTIF_RESTCONF, LYD_TYPE_REPLY_RESTCONF
}
 

Functions

LIBYANG_API_DECL LY_ERR lyd_parse_data (const struct ly_ctx *ctx, struct lyd_node *parent, struct ly_in *in, LYD_FORMAT format, uint32_t parse_options, uint32_t validate_options, struct lyd_node **tree)
 Parse (and validate) data from the input handler as a YANG data tree. More...
 
LIBYANG_API_DECL LY_ERR lyd_parse_data_fd (const struct ly_ctx *ctx, int fd, LYD_FORMAT format, uint32_t parse_options, uint32_t validate_options, struct lyd_node **tree)
 Parse (and validate) input data as a YANG data tree. More...
 
LIBYANG_API_DECL LY_ERR lyd_parse_data_mem (const struct ly_ctx *ctx, const char *data, LYD_FORMAT format, uint32_t parse_options, uint32_t validate_options, struct lyd_node **tree)
 Parse (and validate) input data as a YANG data tree. More...
 
LIBYANG_API_DECL LY_ERR lyd_parse_data_path (const struct ly_ctx *ctx, const char *path, LYD_FORMAT format, uint32_t parse_options, uint32_t validate_options, struct lyd_node **tree)
 Parse (and validate) input data as a YANG data tree. More...
 
LIBYANG_API_DECL LY_ERR lyd_parse_ext_data (const struct lysc_ext_instance *ext, struct lyd_node *parent, struct ly_in *in, LYD_FORMAT format, uint32_t parse_options, uint32_t validate_options, struct lyd_node **tree)
 Parse (and validate) data from the input handler as an extension data tree following the schema tree of the given extension instance. More...
 
LIBYANG_API_DECL LY_ERR lyd_parse_ext_op (const struct lysc_ext_instance *ext, struct lyd_node *parent, struct ly_in *in, LYD_FORMAT format, enum lyd_type data_type, struct lyd_node **tree, struct lyd_node **op)
 Parse extension data into an operation data tree following only the specification from the given extension instance. More...
 
LIBYANG_API_DECL LY_ERR lyd_parse_op (const struct ly_ctx *ctx, struct lyd_node *parent, struct ly_in *in, LYD_FORMAT format, enum lyd_type data_type, struct lyd_node **tree, struct lyd_node **op)
 Parse YANG data into an operation data tree. Specific parsing flags LYD_PARSE_ONLY, LYD_PARSE_STRICT and no validation flags are used. More...
 
LIBYANG_API_DECL LY_ERR lyd_validate_all (struct lyd_node **tree, const struct ly_ctx *ctx, uint32_t val_opts, struct lyd_node **diff)
 Fully validate a data tree. More...
 
LIBYANG_API_DECL LY_ERR lyd_validate_module (struct lyd_node **tree, const struct lys_module *module, uint32_t val_opts, struct lyd_node **diff)
 Fully validate a data tree of a module. More...
 
LIBYANG_API_DECL LY_ERR lyd_validate_module_final (struct lyd_node *tree, const struct lys_module *module, uint32_t val_opts)
 Finish validation of a module data that have previously been validated with LYD_VALIDATE_NOT_FINAL flag. More...
 
LIBYANG_API_DECL LY_ERR lyd_validate_op (struct lyd_node *op_tree, const struct lyd_node *dep_tree, enum lyd_type data_type, struct lyd_node **diff)
 Validate an RPC/action request, reply, or notification. Only the operation data tree (input/output/notif) is validate, any parents are ignored. More...
 

Detailed Description

Data parsers for libyang.

Author
Radek Krejci rkrej.nosp@m.ci@c.nosp@m.esnet.nosp@m..cz
Michal Vasko mvask.nosp@m.o@ce.nosp@m.snet..nosp@m.cz Copyright (c) 2015-2023 CESNET, z.s.p.o.

This source code is licensed under BSD 3-Clause License (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License at

https://opensource.org/licenses/BSD-3-Clause

Definition in file parser_data.h.