15 #ifndef LY_PLUGINS_EXTS_H_ 16 #define LY_PLUGINS_EXTS_H_ 103 #define LYPLG_EXT_API_VERSION 2 111 #define LYPLG_EXTENSIONS \ 112 uint32_t plugins_extensions_apiver__ = LYPLG_EXT_API_VERSION; \ 113 const struct lyplg_ext_record plugins_extensions__[] 255 const char *format, ...);
LIBYANG_API_DECL void lyplg_ext_log(const struct lysc_ext_instance *ext, LY_LOG_LEVEL level, LY_ERR err_no, const char *path, const char *format,...)
Provide a log message from an extension plugin.
LY_ERR(* lyplg_ext_schema_printer_clb)(struct lyspr_ctx *ctx, struct lysc_ext_instance *ext, ly_bool *flag)
Callback to print the compiled extension instance's private data in the INFO format.
Extension plugin implementing various aspects of a YANG extension.
Generic structure for a data node.
lyplg_ext_schema_printer_clb sprinter
uint8_t ly_bool
Type to indicate boolean value.
libyang representation of YANG schema trees.
LY_ERR(* lyplg_ext_data_validate_clb)(struct lysc_ext_instance *ext, struct lyd_node *sibling, uint32_t val_opts)
Callback for validating parsed YANG instance data described by an extension instance.
LIBYANG_API_DECL void lyplg_ext_instance_substatements_free(struct ly_ctx *ctx, struct lysc_ext_substmt *substmts)
Free the extension instance's data compiled with lys_compile_extension_instance().
lyplg_ext_data_validate_clb validate
struct lyd_node_inner * parent
libyang representation of YANG data trees.
lyplg_ext_data_parse_clb parse
Parser input structure specifying where the data are read.
LYD_FORMAT
Data input/output formats supported by libyang parser and printer functions.
LIBYANG_API_DECL LY_ERR lyd_insert_ext(struct lyd_node *parent, struct lyd_node *first)
Insert extension instance data into a parent.
libyang support for YANG extensions implementation - schema print related items.
LY_ERR(* lyplg_ext_compile_clb)(struct lysc_ctx *cctx, const struct lysp_ext_instance *p_ext, struct lysc_ext_instance *c_ext)
Callback to compile extension from the lysp_ext_instance to the lysc_ext_instance. The later structure is generally prepared and only the extension specific data are supposed to be added (if any).
LY_LOG_LEVEL
Verbosity levels of the libyang logger.
lyplg_ext_compile_clb compile
Description of the extension instance substatements.
libyang support for YANG extensions implementation - schema compilation related items.
LY_ERR(* lyplg_ext_data_parse_clb)(struct ly_in *in, LYD_FORMAT format, struct lysc_ext_instance *ext, struct lyd_node *parent, uint32_t parse_opts)
Callback for parsing YANG instance data described by an extension instance.
void(* lyplg_ext_free_clb)(struct ly_ctx *ctx, struct lysc_ext_instance *ext)
Callback to free the extension-specific data created by its compilation.
libyang generic macros and functions to modify YANG schema or data trees. Intended for internal use a...
LIBYANG_API_DECL LY_ERR lyplg_ext_get_data(const struct ly_ctx *ctx, const struct lysc_ext_instance *ext, void **ext_data, ly_bool *ext_data_free)
Get specific run-time extension instance data from a callback set by ly_ctx_set_ext_data_clb().
LY_ERR
libyang's error codes returned by the libyang functions.
Logger manipulation routines and error definitions.