libyang 3.4.2
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
Loading...
Searching...
No Matches
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.
 
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.
 
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.
 

Detailed Description

Enumeration Type Documentation

◆ LYPLG

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

◆ lyplg_add()

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.

◆ lyplg_add_extension_plugin()

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.

◆ lyplg_add_type_plugin()

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.