fix: don't override the project wide AM_CPPFLAGS
[lttng-ust.git] / libmsgpack / msgpack.h
CommitLineData
49705576 1/*
c0c0989a 2 * SPDX-License-Identifier: LGPL-2.1-only
49705576
FD
3 *
4 * Copyright (C) 2020 Francis Deslauriers <francis.deslauriers@efficios.com>
49705576
FD
5 */
6
c0c0989a
MJ
7#ifndef _LTTNG_UST_MSGPACK_H
8#define _LTTNG_UST_MSGPACK_H
9
49705576
FD
10#include <stddef.h>
11#ifdef __KERNEL__
12#include <linux/types.h>
13#else /* __KERNEL__ */
14#include <stdint.h>
15#endif /* __KERNEL__ */
16
17struct lttng_msgpack_writer {
18 uint8_t *buffer;
19 uint8_t *write_pos;
20 const uint8_t *end_write_pos;
21 uint8_t array_nesting;
22 uint8_t map_nesting;
23};
24
ddabe860 25__attribute__((visibility("hidden")))
49705576
FD
26void lttng_msgpack_writer_init(
27 struct lttng_msgpack_writer *writer,
28 uint8_t *buffer, size_t size);
29
ddabe860 30__attribute__((visibility("hidden")))
49705576
FD
31void lttng_msgpack_writer_fini(struct lttng_msgpack_writer *writer);
32
ddabe860 33__attribute__((visibility("hidden")))
49705576 34int lttng_msgpack_write_nil(struct lttng_msgpack_writer *writer);
ddabe860
MJ
35
36__attribute__((visibility("hidden")))
49705576 37int lttng_msgpack_write_true(struct lttng_msgpack_writer *writer);
ddabe860
MJ
38
39__attribute__((visibility("hidden")))
49705576 40int lttng_msgpack_write_false(struct lttng_msgpack_writer *writer);
ddabe860
MJ
41
42__attribute__((visibility("hidden")))
49705576
FD
43int lttng_msgpack_write_unsigned_integer(
44 struct lttng_msgpack_writer *writer, uint64_t value);
ddabe860
MJ
45
46__attribute__((visibility("hidden")))
49705576
FD
47int lttng_msgpack_write_signed_integer(
48 struct lttng_msgpack_writer *writer, int64_t value);
ddabe860
MJ
49
50__attribute__((visibility("hidden")))
49705576 51int lttng_msgpack_write_double(struct lttng_msgpack_writer *writer, double value);
ddabe860
MJ
52
53__attribute__((visibility("hidden")))
49705576
FD
54int lttng_msgpack_write_str(struct lttng_msgpack_writer *writer,
55 const char *value);
ddabe860
MJ
56
57__attribute__((visibility("hidden")))
49705576 58int lttng_msgpack_begin_map(struct lttng_msgpack_writer *writer, size_t count);
ddabe860
MJ
59
60__attribute__((visibility("hidden")))
49705576 61int lttng_msgpack_end_map(struct lttng_msgpack_writer *writer);
ddabe860
MJ
62
63__attribute__((visibility("hidden")))
49705576
FD
64int lttng_msgpack_begin_array(
65 struct lttng_msgpack_writer *writer, size_t count);
ddabe860
MJ
66
67__attribute__((visibility("hidden")))
49705576
FD
68int lttng_msgpack_end_array(struct lttng_msgpack_writer *writer);
69
70#endif /* _LTTNG_UST_MSGPACK_H */
This page took 0.025563 seconds and 4 git commands to generate.