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
Plugins

Enumerations

enum  LYPLG { LYPLG_TYPE, LYPLG_EXTENSION }
 Identifiers of the plugin type. More...
 

Functions

LIBYANG_API_DECL LY_ERR lyplg_add (const char *pathname)
 Manually load a plugin file. More...
 
LIBYANG_API_DECL LY_ERR lyplg_add_extension_plugin (struct ly_ctx *ctx, uint32_t version, const struct lyplg_ext_record *recs)
 Manually load extension plugins from memory. More...
 
LIBYANG_API_DECL LY_ERR lyplg_add_type_plugin (struct ly_ctx *ctx, uint32_t version, const struct lyplg_type_record *recs)
 Manually load type plugins from memory. More...
 

Detailed Description

Enumeration Type Documentation

enum LYPLG

Identifiers of the plugin type.

Enumerator
LYPLG_TYPE 

Specific type (typedef)

LYPLG_EXTENSION 

YANG extension

Definition at line 73 of file plugins.h.

Function Documentation

LIBYANG_API_DECL LY_ERR lyplg_add ( const char *  pathname)

Manually load a plugin file.

Note, that a plugin can be loaded only if there is at least one context. The loaded plugins are connected with the existence of a context. When all the contexts are destroyed, all the plugins are unloaded.

Parameters
[in]pathnamePath to the plugin file. It can contain types or extensions plugins, both are accepted and correctly loaded.
Returns
LY_SUCCESS if the file contains valid plugin compatible with the library version.
LY_EDENIED in case there is no context and the plugin cannot be loaded.
LY_EINVAL when pathname is NULL or the plugin contains invalid content for this libyang version.
LY_ESYS when the plugin file cannot be loaded.
LIBYANG_API_DECL LY_ERR lyplg_add_extension_plugin ( struct ly_ctx ctx,
uint32_t  version,
const struct lyplg_ext_record recs 
)

Manually load extension plugins from memory.

Note, that a plugin can be loaded only if there is at least one context. The loaded plugins are connected with the existence of a context. When all the contexts are destroyed, all the plugins are unloaded.

Parameters
[in]ctxThe context to which the plugin should be associated with. If NULL, the plugin is considered to be shared between all existing contexts.
[in]versionThe version of plugin records.
[in]recsAn array of plugin records provided by the plugin implementation. The array must be terminated by a zeroed record.
Returns
LY_SUCCESS if the plugins with compatible version were successfully loaded.
LY_EDENIED in case there is no context and the plugin cannot be loaded.
LY_EINVAL when recs is NULL or the plugin contains invalid content for this libyang version.
LIBYANG_API_DECL LY_ERR lyplg_add_type_plugin ( struct ly_ctx ctx,
uint32_t  version,
const struct lyplg_type_record recs 
)

Manually load type plugins from memory.

Note, that a plugin can be loaded only if there is at least one context. The loaded plugins are connected with the existence of a context. When all the contexts are destroyed, all the plugins are unloaded.

Parameters
[in]ctxThe context to which the plugin should be associated with. If NULL, the plugin is considered to be shared between all existing contexts.
[in]versionThe version of plugin records.
[in]recsAn array of plugin records provided by the plugin implementation. The array must be terminated by a zeroed record.
Returns
LY_SUCCESS if the plugins with compatible version were successfully loaded.
LY_EDENIED in case there is no context and the plugin cannot be loaded.
LY_EINVAL when recs is NULL or the plugin contains invalid content for this libyang version.