libyang  2.0.7
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
instanceid.c File Reference

Built-in instance-identifier type plugin. More...

#include "plugins_types.h"
#include <assert.h>
#include <inttypes.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libyang.h"
#include "common.h"
#include "compat.h"
#include "path.h"
#include "plugins_internal.h"
Include dependency graph for instanceid.c:

Go to the source code of this file.

Functions

API LY_ERR lyplg_type_compare_instanceid (const struct lyd_value *val1, const struct lyd_value *val2)
 Implementation of lyplg_type_compare_clb for the built-in instance-identifier type. More...
 
API LY_ERR lyplg_type_dup_instanceid (const struct ly_ctx *ctx, const struct lyd_value *original, struct lyd_value *dup)
 Implementation of lyplg_type_dup_clb for the built-in instance-identifier type. More...
 
API void lyplg_type_free_instanceid (const struct ly_ctx *ctx, struct lyd_value *value)
 Implementation of lyplg_type_free_clb for the built-in instance-identifier type. More...
 
API const void * lyplg_type_print_instanceid (const struct ly_ctx *UNUSED(ctx), const struct lyd_value *value, LY_VALUE_FORMAT format, void *prefix_data, ly_bool *dynamic, size_t *value_len)
 
API LY_ERR lyplg_type_store_instanceid (const struct ly_ctx *ctx, const struct lysc_type *type, const void *value, size_t value_len, uint32_t options, LY_VALUE_FORMAT format, void *prefix_data, uint32_t hints, const struct lysc_node *ctx_node, struct lyd_value *storage, struct lys_glob_unres *unres, struct ly_err_item **err)
 Implementation of lyplg_type_store_clb for the built-in instance-identifier type. More...
 
API LY_ERR lyplg_type_validate_instanceid (const struct ly_ctx *ctx, const struct lysc_type *UNUSED(type), const struct lyd_node *UNUSED(ctx_node), const struct lyd_node *tree, struct lyd_value *storage, struct ly_err_item **err)
 

Variables

const struct lyplg_type_record plugins_instanceid []
 Plugin information for instance-identifier type implementation. More...
 

Detailed Description

Built-in instance-identifier type plugin.

Author
Radek Krejci rkrej.nosp@m.ci@c.nosp@m.esnet.nosp@m..cz

Copyright (c) 2019-2021 CESNET, z.s.p.o.

This source code is licensed under BSD 3-Clause License (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License at

https://opensource.org/licenses/BSD-3-Clause

Definition in file instanceid.c.

Function Documentation

◆ lyplg_type_print_instanceid()

API const void* lyplg_type_print_instanceid ( const struct ly_ctx UNUSEDctx,
const struct lyd_value value,
LY_VALUE_FORMAT  format,
void *  prefix_data,
ly_bool dynamic,
size_t *  value_len 
)

Definition at line 290 of file instanceid.c.

◆ lyplg_type_validate_instanceid()

API LY_ERR lyplg_type_validate_instanceid ( const struct ly_ctx ctx,
const struct lysc_type UNUSEDtype,
const struct lyd_node UNUSEDctx_node,
const struct lyd_node tree,
struct lyd_value storage,
struct ly_err_item **  err 
)

Definition at line 209 of file instanceid.c.

Variable Documentation

◆ plugins_instanceid

const struct lyplg_type_record plugins_instanceid[]
Initial value:
= {
{
.module = "",
.revision = NULL,
.name = LY_TYPE_INST_STR,
.plugin.id = "libyang 2 - instance-identifier, version 1",
.plugin.store = lyplg_type_store_instanceid,
.plugin.validate = lyplg_type_validate_instanceid,
.plugin.compare = lyplg_type_compare_instanceid,
.plugin.sort = NULL,
.plugin.print = lyplg_type_print_instanceid,
.plugin.duplicate = lyplg_type_dup_instanceid,
},
{0}
}
API LY_ERR lyplg_type_dup_instanceid(const struct ly_ctx *ctx, const struct lyd_value *original, struct lyd_value *dup)
Implementation of lyplg_type_dup_clb for the built-in instance-identifier type.
Definition: instanceid.c:317
API void lyplg_type_free_instanceid(const struct ly_ctx *ctx, struct lyd_value *value)
Implementation of lyplg_type_free_clb for the built-in instance-identifier type.
Definition: instanceid.c:340
API LY_ERR lyplg_type_compare_instanceid(const struct lyd_value *val1, const struct lyd_value *val2)
Implementation of lyplg_type_compare_clb for the built-in instance-identifier type.
Definition: instanceid.c:233
API LY_ERR lyplg_type_store_instanceid(const struct ly_ctx *ctx, const struct lysc_type *type, const void *value, size_t value_len, uint32_t options, LY_VALUE_FORMAT format, void *prefix_data, uint32_t hints, const struct lysc_node *ctx_node, struct lyd_value *storage, struct lys_glob_unres *unres, struct ly_err_item **err)
Implementation of lyplg_type_store_clb for the built-in instance-identifier type.
Definition: instanceid.c:148
API LY_ERR lyplg_type_validate_instanceid(const struct ly_ctx *ctx, const struct lysc_type *UNUSED(type), const struct lyd_node *UNUSED(ctx_node), const struct lyd_node *tree, struct lyd_value *storage, struct ly_err_item **err)
Definition: instanceid.c:209
API const void * lyplg_type_print_instanceid(const struct ly_ctx *UNUSED(ctx), const struct lyd_value *value, LY_VALUE_FORMAT format, void *prefix_data, ly_bool *dynamic, size_t *value_len)
Definition: instanceid.c:290

Plugin information for instance-identifier type implementation.

Note that external plugins are supposed to use:

LYPLG_TYPES = {

Definition at line 340 of file instanceid.c.