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

ietf-yang-types xpath1.0 type plugin. More...

#include "plugins_types.h"
#include <assert.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "libyang.h"
#include "compat.h"
#include "ly_common.h"
#include "xml.h"
#include "xpath.h"
Include dependency graph for xpath1.0.c:

Go to the source code of this file.

Macros

#define _GNU_SOURCE

Functions

LIBYANG_API_DEF LY_ERR lyplg_type_dup_xpath10 (const struct ly_ctx *ctx, const struct lyd_value *original, struct lyd_value *dup)
 Implementation of lyplg_type_dup_clb for the ietf-yang-types xpath1.0 type.
LIBYANG_API_DEF void lyplg_type_free_xpath10 (const struct ly_ctx *ctx, struct lyd_value *value)
 Implementation of lyplg_type_free_clb for the ietf-yang-types xpath1.0 type.
LIBYANG_API_DEF const void * lyplg_type_print_xpath10 (const struct ly_ctx *ctx, const struct lyd_value *value, LY_VALUE_FORMAT format, void *prefix_data, ly_bool *dynamic, uint64_t *value_size_bits)
 Implementation of lyplg_type_print_clb for the ietf-yang-types xpath1.0 type.
LIBYANG_API_DEF LY_ERR lyplg_type_print_xpath10_value (const struct lyd_value_xpath10 *xp_val, LY_VALUE_FORMAT format, void *prefix_data, char **str_value, struct ly_err_item **err)
 Print xpath1.0 value in the specific format.
LIBYANG_API_DEF LY_ERR lyplg_type_xpath10_print_token (const char *token, uint16_t tok_len, ly_bool is_nametest, const struct lys_module **context_mod, const struct ly_ctx *resolve_ctx, LY_VALUE_FORMAT resolve_format, const void *resolve_prefix_data, LY_VALUE_FORMAT get_format, void *get_prefix_data, char **token_p, struct ly_err_item **err)
 Print xpath1.0 token in the specific format.

Variables

const struct lyplg_type_record plugins_xpath10 []
 Plugin information for xpath1.0 type implementation.

Detailed Description

ietf-yang-types xpath1.0 type plugin.

Author
Michal Vasko mvask.nosp@m.o@ce.nosp@m.snet..nosp@m.cz

Copyright (c) 2021 - 2025 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 xpath1.0.c.

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

Definition at line 15 of file xpath1.0.c.

Variable Documentation

◆ plugins_xpath10

const struct lyplg_type_record plugins_xpath10[]
Initial value:
= {
{
.module = "ietf-yang-types",
.revision = NULL,
.name = "xpath1.0",
.plugin.id = "ly2 xpath1.0",
.plugin.store = lyplg_type_store_xpath10,
.plugin.validate_value = NULL,
.plugin.validate_tree = lyplg_type_validate_tree_xpath10,
.plugin.compare = lyplg_type_compare_simple,
.plugin.sort = lyplg_type_sort_simple,
.plugin.print = lyplg_type_print_xpath10,
.plugin.duplicate = lyplg_type_dup_xpath10,
.plugin.free = lyplg_type_free_xpath10,
},
{0}
}
LIBYANG_API_DECL const void * lyplg_type_print_xpath10(const struct ly_ctx *ctx, const struct lyd_value *value, LY_VALUE_FORMAT format, void *prefix_data, ly_bool *dynamic, uint64_t *value_size_bits)
Implementation of lyplg_type_print_clb for the ietf-yang-types xpath1.0 type.
Definition xpath1.0.c:445
LIBYANG_API_DECL LY_ERR lyplg_type_dup_xpath10(const struct ly_ctx *ctx, const struct lyd_value *original, struct lyd_value *dup)
Implementation of lyplg_type_dup_clb for the ietf-yang-types xpath1.0 type.
Definition xpath1.0.c:484
LIBYANG_API_DECL void lyplg_type_free_xpath10(const struct ly_ctx *ctx, struct lyd_value *value)
Implementation of lyplg_type_free_clb for the ietf-yang-types xpath1.0 type.
Definition xpath1.0.c:516
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 xpath1.0 type implementation.

Note that external plugins are supposed to use:

LYPLG_TYPES = {

Definition at line 538 of file xpath1.0.c.