libyang 5.4.9
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
Loading...
Searching...
No Matches
instanceid.c File Reference

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

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

Go to the source code of this file.

Macros

#define _GNU_SOURCE   /* strdup */
 

Functions

LIBYANG_API_DEF 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.
 

Variables

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

Detailed Description

Built-in instance-identifier type plugin.

Author
Radek Krejci rkrej.nosp@m.ci@c.nosp@m.esnet.nosp@m..cz
Michal Vasko mvask.nosp@m.o@ce.nosp@m.snet..nosp@m.cz

Copyright (c) 2019 - 2026 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.

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE   /* strdup */

Definition at line 15 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 = "ly2 instance-identifier",
.plugin.store = lyplg_type_store_instanceid,
.plugin.validate_value = NULL,
.plugin.validate_tree = lyplg_type_validate_tree_instanceid,
.plugin.compare = lyplg_type_compare_simple,
.plugin.sort = lyplg_type_sort_simple,
.plugin.print = lyplg_type_print_instanceid,
.plugin.duplicate = lyplg_type_dup_instanceid,
},
{0}
}
LIBYANG_API_DEF 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:309
LIBYANG_API_DEF int lyplg_type_sort_simple(const struct ly_ctx *ctx, const struct lyd_value *val1, const struct lyd_value *val2)
Implementation of lyplg_type_sort_clb for a generic simple type.
LIBYANG_API_DECL LY_ERR lyplg_type_compare_simple(const struct ly_ctx *ctx, const struct lyd_value *val1, const struct lyd_value *val2)
Implementation of lyplg_type_compare_clb for a generic simple type.
LIBYANG_API_DECL void lyplg_type_lyb_size_variable_bytes(const struct lysc_type *type, enum lyplg_lyb_size_type *size_type, uint64_t *fixed_size_bits)
Implementation of lyplg_type_lyb_size_clb for a type with variable length rounded to bytes.

Plugin information for instance-identifier type implementation.

Note that external plugins are supposed to use:

LYPLG_TYPES = {

Definition at line 323 of file instanceid.c.