![]() |
libyang
4.0.0
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, bitmap_size)) | |
LYD_VALUE_GET (val1, v1) | |
LYD_VALUE_GET (val2, v2) | |
LIBYANG_API_DEF ly_bool | lyplg_type_bits_is_bit_set (const char *bitmap, uint32_t size_bits, uint32_t bit_position) |
Check whether a particular bit of a bitmap is set. More... | |
return | memcmp (v1->data, v2->data, bitmap_size) |
Variables | |
uint32_t | bitmap_size = LYPLG_BITS2BYTES((( (struct lysc_type_bits *)val1->realtype )->bits[LY_ARRAY_COUNT(( (struct lysc_type_bits *)val1->realtype )->bits) - 1].position) + 1) |
return | LY_SUCCESS |
struct lyplg_type_record | plugins_bits [] |
Plugin information for bits type implementation. More... | |
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, bitmap_size) | ) |
LYD_VALUE_GET | ( | val1 | , |
v1 | |||
) |
LYD_VALUE_GET | ( | val2 | , |
v2 | |||
) |
return memcmp | ( | v1-> | data, |
v2-> | data, | ||
bitmap_size | |||
) |
uint32_t bitmap_size = LYPLG_BITS2BYTES((( (struct lysc_type_bits *)val1->realtype )->bits[LY_ARRAY_COUNT(( (struct lysc_type_bits *)val1->realtype )->bits) - 1].position) + 1) |
struct lyplg_type_record plugins_bits[] |
Plugin information for bits type implementation.
Note that external plugins are supposed to use:
LYPLG_TYPES = {