fix: don't override the project wide AM_CPPFLAGS
[lttng-ust.git] / libmsgpack / msgpack.h
... / ...
CommitLineData
1/*
2 * SPDX-License-Identifier: LGPL-2.1-only
3 *
4 * Copyright (C) 2020 Francis Deslauriers <francis.deslauriers@efficios.com>
5 */
6
7#ifndef _LTTNG_UST_MSGPACK_H
8#define _LTTNG_UST_MSGPACK_H
9
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
25__attribute__((visibility("hidden")))
26void lttng_msgpack_writer_init(
27 struct lttng_msgpack_writer *writer,
28 uint8_t *buffer, size_t size);
29
30__attribute__((visibility("hidden")))
31void lttng_msgpack_writer_fini(struct lttng_msgpack_writer *writer);
32
33__attribute__((visibility("hidden")))
34int lttng_msgpack_write_nil(struct lttng_msgpack_writer *writer);
35
36__attribute__((visibility("hidden")))
37int lttng_msgpack_write_true(struct lttng_msgpack_writer *writer);
38
39__attribute__((visibility("hidden")))
40int lttng_msgpack_write_false(struct lttng_msgpack_writer *writer);
41
42__attribute__((visibility("hidden")))
43int lttng_msgpack_write_unsigned_integer(
44 struct lttng_msgpack_writer *writer, uint64_t value);
45
46__attribute__((visibility("hidden")))
47int lttng_msgpack_write_signed_integer(
48 struct lttng_msgpack_writer *writer, int64_t value);
49
50__attribute__((visibility("hidden")))
51int lttng_msgpack_write_double(struct lttng_msgpack_writer *writer, double value);
52
53__attribute__((visibility("hidden")))
54int lttng_msgpack_write_str(struct lttng_msgpack_writer *writer,
55 const char *value);
56
57__attribute__((visibility("hidden")))
58int lttng_msgpack_begin_map(struct lttng_msgpack_writer *writer, size_t count);
59
60__attribute__((visibility("hidden")))
61int lttng_msgpack_end_map(struct lttng_msgpack_writer *writer);
62
63__attribute__((visibility("hidden")))
64int lttng_msgpack_begin_array(
65 struct lttng_msgpack_writer *writer, size_t count);
66
67__attribute__((visibility("hidden")))
68int lttng_msgpack_end_array(struct lttng_msgpack_writer *writer);
69
70#endif /* _LTTNG_UST_MSGPACK_H */
This page took 0.023023 seconds and 4 git commands to generate.