libcbor 0.12.0
libcbor is a C library for parsing and generating CBOR, the general-purpose schema-less binary data format.
Loading...
Searching...
No Matches
ints.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2014-2020 Pavel Kalvoda <me@pavelkalvoda.com>
3 *
4 * libcbor is free software; you can redistribute it and/or modify
5 * it under the terms of the MIT license. See LICENSE for details.
6 */
7
8#ifndef LIBCBOR_INTS_H
9#define LIBCBOR_INTS_H
10
11#include "cbor/cbor_export.h"
12#include "cbor/common.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18/*
19 * ============================================================================
20 * Integer (uints and negints) manipulation
21 * ============================================================================
22 */
23
29_CBOR_NODISCARD CBOR_EXPORT uint8_t cbor_get_uint8(const cbor_item_t* item);
30
36_CBOR_NODISCARD CBOR_EXPORT uint16_t cbor_get_uint16(const cbor_item_t* item);
37
43_CBOR_NODISCARD CBOR_EXPORT uint32_t cbor_get_uint32(const cbor_item_t* item);
44
50_CBOR_NODISCARD CBOR_EXPORT uint64_t cbor_get_uint64(const cbor_item_t* item);
51
57_CBOR_NODISCARD CBOR_EXPORT uint64_t cbor_get_int(const cbor_item_t* item);
58
65CBOR_EXPORT void cbor_set_uint8(cbor_item_t* item, uint8_t value);
66
73CBOR_EXPORT void cbor_set_uint16(cbor_item_t* item, uint16_t value);
74
81CBOR_EXPORT void cbor_set_uint32(cbor_item_t* item, uint32_t value);
82
89CBOR_EXPORT void cbor_set_uint64(cbor_item_t* item, uint64_t value);
90
98
105CBOR_EXPORT void cbor_mark_uint(cbor_item_t* item);
106
113CBOR_EXPORT void cbor_mark_negint(cbor_item_t* item);
114
122_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_new_int8(void);
123
132
141
150
156_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_uint8(uint8_t value);
157
163_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_uint16(uint16_t value);
164
170_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_uint32(uint32_t value);
171
177_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_uint64(uint64_t value);
178
184_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_negint8(uint8_t value);
185
191_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_negint16(uint16_t value);
192
198_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_negint32(uint32_t value);
199
205_CBOR_NODISCARD CBOR_EXPORT cbor_item_t* cbor_build_negint64(uint64_t value);
206
207#ifdef __cplusplus
208}
209#endif
210
211#endif // LIBCBOR_INTS_H
#define _CBOR_NODISCARD
Definition common.h:93
cbor_int_width
Possible widths of CBOR_TYPE_UINT items.
Definition data.h:58
uint32_t cbor_get_uint32(const cbor_item_t *item)
Extracts the integer value.
Definition ints.c:27
uint16_t cbor_get_uint16(const cbor_item_t *item)
Extracts the integer value.
Definition ints.c:21
void cbor_set_uint16(cbor_item_t *item, uint16_t value)
Assigns the integer value.
Definition ints.c:63
cbor_item_t * cbor_new_int32(void)
Allocates new integer with 4B width.
Definition ints.c:111
uint8_t cbor_get_uint8(const cbor_item_t *item)
Extracts the integer value.
Definition ints.c:15
cbor_item_t * cbor_build_uint16(uint16_t value)
Constructs a new positive integer.
Definition ints.c:139
void cbor_set_uint32(cbor_item_t *item, uint32_t value)
Assigns the integer value.
Definition ints.c:69
cbor_int_width cbor_int_get_width(const cbor_item_t *item)
Queries the integer width.
Definition ints.c:10
cbor_item_t * cbor_new_int8(void)
Allocates new integer with 1B width.
Definition ints.c:91
cbor_item_t * cbor_build_negint16(uint16_t value)
Constructs a new negative integer.
Definition ints.c:171
cbor_item_t * cbor_build_negint64(uint64_t value)
Constructs a new negative integer.
Definition ints.c:187
void cbor_set_uint8(cbor_item_t *item, uint8_t value)
Assigns the integer value.
Definition ints.c:57
void cbor_mark_negint(cbor_item_t *item)
Marks the integer item as a negative integer.
Definition ints.c:86
uint64_t cbor_get_uint64(const cbor_item_t *item)
Extracts the integer value.
Definition ints.c:33
cbor_item_t * cbor_build_negint8(uint8_t value)
Constructs a new negative integer.
Definition ints.c:163
uint64_t cbor_get_int(const cbor_item_t *item)
Extracts the integer value.
Definition ints.c:39
cbor_item_t * cbor_new_int64(void)
Allocates new integer with 8B width.
Definition ints.c:121
cbor_item_t * cbor_build_uint32(uint32_t value)
Constructs a new positive integer.
Definition ints.c:147
cbor_item_t * cbor_build_uint8(uint8_t value)
Constructs a new positive integer.
Definition ints.c:131
cbor_item_t * cbor_build_negint32(uint32_t value)
Constructs a new negative integer.
Definition ints.c:179
cbor_item_t * cbor_new_int16(void)
Allocates new integer with 2B width.
Definition ints.c:101
void cbor_mark_uint(cbor_item_t *item)
Marks the integer item as a positive integer.
Definition ints.c:81
void cbor_set_uint64(cbor_item_t *item, uint64_t value)
Assigns the integer value.
Definition ints.c:75
cbor_item_t * cbor_build_uint64(uint64_t value)
Constructs a new positive integer.
Definition ints.c:155
The item handle.
Definition data.h:171