![]() |
libyang
3.13.6
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
|
Built-in bits type plugin. More...
#include "plugins_types.h"#include <ctype.h>#include <stdint.h>#include <stdlib.h>#include <string.h>#include "libyang.h"#include "compat.h"#include "ly_common.h"#include "plugins_internal.h"Go to the source code of this file.
Macros | |
| #define | _GNU_SOURCE /* strdup */ |
| #define | BITS_BITMAP_BYTE(bitmap, size, idx) (bitmap + idx) |
| Get a specific byte in a bitmap. More... | |
| #define | BITS_LAST_BIT_POSITION(type_bits) (type_bits->bits[LY_ARRAY_COUNT(type_bits->bits) - 1].position) |
| Get the position of the last bit. More... | |
Functions | |
| if (memcmp(v1->bitmap, v2->bitmap, lyplg_type_bits_bitmap_size(type_bits))) | |
| LYD_VALUE_GET (val1, v1) | |
| LYD_VALUE_GET (val2, v2) | |
| LIBYANG_API_DEF size_t | lyplg_type_bits_bitmap_size (const struct lysc_type_bits *type) |
| Get the bitmap size of a bits value bitmap. More... | |
| LIBYANG_API_DEF ly_bool | lyplg_type_bits_is_bit_set (const char *bitmap, size_t size, uint32_t bit_position) |
| Check whether a particular bit of a bitmap is set. More... | |
| LIBYANG_API_DEF LY_ERR | lyplg_type_dup_bits (const struct ly_ctx *ctx, const struct lyd_value *original, struct lyd_value *dup) |
| Implementation of the lyplg_type_dup_clb for the built-in bits type. More... | |
| LIBYANG_API_DEF void | lyplg_type_free_bits (const struct ly_ctx *ctx, struct lyd_value *value) |
| Implementation of the lyplg_type_free_clb for the built-in bits type. More... | |
| LIBYANG_API_DEF const void * | lyplg_type_print_bits (const struct ly_ctx *ctx, const struct lyd_value *value, LY_VALUE_FORMAT format, void *UNUSED(prefix_data), ly_bool *dynamic, size_t *value_len) |
| LIBYANG_API_DEF LY_ERR | lyplg_type_store_bits (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 *UNUSED(prefix_data), uint32_t hints, const struct lysc_node *UNUSED(ctx_node), struct lyd_value *storage, struct lys_glob_unres *UNUSED(unres), struct ly_err_item **err) |
Variables | |
| int | cmp = memcmp(v1->data, v2->data, lyplg_type_bits_bitmap_size(type_bits)) |
| LIBYANG_API_DEF | int |
| LIBYANG_API_DEF | LY_ERR |
| return | LY_SUCCESS |
| struct lyplg_type_record | plugins_bits [] |
| Plugin information for bits type implementation. More... | |
| struct lysc_type_bits * | type_bits = (struct lysc_type_bits *)val1->realtype |
Built-in bits type plugin.
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 bits.c.
| #define BITS_BITMAP_BYTE | ( | bitmap, | |
| size, | |||
| idx | |||
| ) | (bitmap + idx) |
| #define BITS_LAST_BIT_POSITION | ( | type_bits | ) | (type_bits->bits[LY_ARRAY_COUNT(type_bits->bits) - 1].position) |
| if | ( | memcmp(v1->bitmap, v2->bitmap, lyplg_type_bits_bitmap_size(type_bits)) | ) |
| LYD_VALUE_GET | ( | val1 | , |
| v1 | |||
| ) |
| LYD_VALUE_GET | ( | val2 | , |
| v2 | |||
| ) |
| LIBYANG_API_DEF const void* lyplg_type_print_bits | ( | const struct ly_ctx * | ctx, |
| const struct lyd_value * | value, | ||
| LY_VALUE_FORMAT | format, | ||
| void * | UNUSEDprefix_data, | ||
| ly_bool * | dynamic, | ||
| size_t * | value_len | ||
| ) |
| LIBYANG_API_DEF LY_ERR lyplg_type_store_bits | ( | 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 * | UNUSEDprefix_data, | ||
| uint32_t | hints, | ||
| const struct lysc_node * | UNUSEDctx_node, | ||
| struct lyd_value * | storage, | ||
| struct lys_glob_unres * | UNUSEDunres, | ||
| struct ly_err_item ** | err | ||
| ) |
| return cmp = memcmp(v1->data, v2->data, lyplg_type_bits_bitmap_size(type_bits)) |
| LIBYANG_API_DEF int |
| LIBYANG_API_DEF LY_ERR |
| struct lyplg_type_record plugins_bits[] |
Plugin information for bits type implementation.
Note that external plugins are supposed to use:
LYPLG_TYPES = {
| struct lysc_type_bits * type_bits = (struct lysc_type_bits *)val1->realtype |