15 #ifndef LY_EXTENSIONS_H_ 16 #define LY_EXTENSIONS_H_ 222 #define LYEXT_LOG(ctx, level, plugin, str, args...) \ 223 lyext_log(ctx, level, plugin, __func__, str, ##args); \ 236 void (*private_destructor)(
const struct lys_node *node,
void *priv));
Common structure representing single YANG data statement describing.
lyext_check_inherit_clb check_inherit
LYEXT_PAR
Extension instance structure parent enumeration.
Compiled if-feature expression structure.
lyext_valid_data_clb valid_data
The main libyang public header.
int(* lyext_valid_data_clb)(struct lys_ext_instance *ext, struct lyd_node *node)
Callback to decide if data is valid towards to schema.
LYEXT_SUBSTMT
List of substatement without extensions storage. If the module contains extension instances in these ...
lyext_check_position_clb check_position
struct lys_ext_instance ** ext
struct lyext_plugin * plugin
void lyext_log(const struct ly_ctx *ctx, LY_LOG_LEVEL level, const char *plugin, const char *function, const char *format,...)
Logging function for extension plugins, use LYEXT_LOG macro instead!
struct lyext_substmt * substmt
LY_LOG_LEVEL
Verbosity levels of the libyang logger.
lyext_check_result_clb check_result
Description of the extension instance substatement.
Generic structure for a data node, directly applicable to the data nodes defined as LYS_CONTAINER...
LYEXT_TYPE
Extension types.
int(* lyext_check_position_clb)(const void *parent, LYEXT_PAR parent_type, LYEXT_SUBSTMT substmt_type)
Callback to check that the extension can be instantiated inside the provided node.
Generic extension instance structure.
int(* lyext_check_inherit_clb)(struct lys_ext_instance *ext, struct lys_node *node)
Callback to decide whether the extension will be inherited into the provided schema node...
void lys_iffeature_free(struct ly_ctx *ctx, struct lys_iffeature *iffeature, uint8_t iffeature_size, int shallow, void(*private_destructor)(const struct lys_node *node, void *priv))
Free iffeature structure. In API only for plugins that want to handle if-feature statements similarly...
int(* lyext_check_result_clb)(struct lys_ext_instance *ext)
Callback to check that the extension instance is correct - have the valid argument, cardinality, etc.