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] | pathname | Path 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] | ctx | The context to which the plugin should be associated with. If NULL, the plugin is considered to be shared between all existing contexts.
  [in] | version | The version of plugin records.
  [in] | recs | An 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] | ctx | The context to which the plugin should be associated with. If NULL, the plugin is considered to be shared between all existing contexts.
  [in] | version | The version of plugin records.
  [in] | recs | An 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.