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
serialization.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_SERIALIZATION_H
9#define LIBCBOR_SERIALIZATION_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 * High level encoding
21 * ============================================================================
22 */
23
31_CBOR_NODISCARD CBOR_EXPORT size_t cbor_serialize(const cbor_item_t* item,
32 cbor_mutable_data buffer,
33 size_t buffer_size);
34
44_CBOR_NODISCARD CBOR_EXPORT size_t
46
65CBOR_EXPORT size_t cbor_serialize_alloc(const cbor_item_t* item,
66 unsigned char** buffer,
67 size_t* buffer_size);
68
77_CBOR_NODISCARD CBOR_EXPORT size_t cbor_serialize_uint(const cbor_item_t* item,
78 cbor_mutable_data buffer,
79 size_t buffer_size);
80
89_CBOR_NODISCARD CBOR_EXPORT size_t cbor_serialize_negint(
90 const cbor_item_t* item, cbor_mutable_data buffer, size_t buffer_size);
91
102 const cbor_item_t* item, cbor_mutable_data buffer, size_t buffer_size);
103
113_CBOR_NODISCARD CBOR_EXPORT size_t cbor_serialize_string(
114 const cbor_item_t* item, cbor_mutable_data buffer, size_t buffer_size);
124_CBOR_NODISCARD CBOR_EXPORT size_t cbor_serialize_array(
125 const cbor_item_t* item, cbor_mutable_data buffer, size_t buffer_size);
126
136_CBOR_NODISCARD CBOR_EXPORT size_t cbor_serialize_map(const cbor_item_t* item,
137 cbor_mutable_data buffer,
138 size_t buffer_size);
139
149_CBOR_NODISCARD CBOR_EXPORT size_t cbor_serialize_tag(const cbor_item_t* item,
150 cbor_mutable_data buffer,
151 size_t buffer_size);
152
162 const cbor_item_t* item, cbor_mutable_data buffer, size_t buffer_size);
163
164#ifdef __cplusplus
165}
166#endif
167
168#endif // LIBCBOR_SERIALIZATION_H
#define _CBOR_NODISCARD
Definition common.h:93
unsigned char * cbor_mutable_data
Definition data.h:21
size_t cbor_serialize_negint(const cbor_item_t *item, cbor_mutable_data buffer, size_t buffer_size)
Serialize a negint.
size_t cbor_serialize_array(const cbor_item_t *item, cbor_mutable_data buffer, size_t buffer_size)
Serialize an array.
size_t cbor_serialized_size(const cbor_item_t *item)
Compute the length (in bytes) of the item when serialized using cbor_serialize.
size_t cbor_serialize(const cbor_item_t *item, cbor_mutable_data buffer, size_t buffer_size)
Serialize the given item.
size_t cbor_serialize_uint(const cbor_item_t *item, cbor_mutable_data buffer, size_t buffer_size)
Serialize an uint.
size_t cbor_serialize_string(const cbor_item_t *item, cbor_mutable_data buffer, size_t buffer_size)
Serialize a string.
size_t cbor_serialize_bytestring(const cbor_item_t *item, cbor_mutable_data buffer, size_t buffer_size)
Serialize a bytestring.
size_t cbor_serialize_float_ctrl(const cbor_item_t *item, cbor_mutable_data buffer, size_t buffer_size)
Serialize a.
size_t cbor_serialize_tag(const cbor_item_t *item, cbor_mutable_data buffer, size_t buffer_size)
Serialize a tag.
size_t cbor_serialize_map(const cbor_item_t *item, cbor_mutable_data buffer, size_t buffer_size)
Serialize a map.
size_t cbor_serialize_alloc(const cbor_item_t *item, unsigned char **buffer, size_t *buffer_size)
Serialize the given item, allocating buffers as needed.
The item handle.
Definition data.h:171