Fix: pass private data to context callbacks
[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
25void lttng_msgpack_writer_init(
26 struct lttng_msgpack_writer *writer,
1d18d519
MJ
27 uint8_t *buffer, size_t size)
28 __attribute__((visibility("hidden")));
49705576 29
1d18d519
MJ
30void lttng_msgpack_writer_fini(struct lttng_msgpack_writer *writer)
31 __attribute__((visibility("hidden")));
49705576 32
1d18d519
MJ
33int lttng_msgpack_write_nil(struct lttng_msgpack_writer *writer)
34 __attribute__((visibility("hidden")));
ddabe860 35
1d18d519
MJ
36int lttng_msgpack_write_true(struct lttng_msgpack_writer *writer)
37 __attribute__((visibility("hidden")));
ddabe860 38
1d18d519
MJ
39int lttng_msgpack_write_false(struct lttng_msgpack_writer *writer)
40 __attribute__((visibility("hidden")));
ddabe860 41
49705576 42int lttng_msgpack_write_unsigned_integer(
1d18d519
MJ
43 struct lttng_msgpack_writer *writer, uint64_t value)
44 __attribute__((visibility("hidden")));
ddabe860 45
49705576 46int lttng_msgpack_write_signed_integer(
1d18d519
MJ
47 struct lttng_msgpack_writer *writer, int64_t value)
48 __attribute__((visibility("hidden")));
ddabe860 49
1d18d519
MJ
50int lttng_msgpack_write_double(struct lttng_msgpack_writer *writer, double value)
51 __attribute__((visibility("hidden")));
ddabe860 52
49705576 53int lttng_msgpack_write_str(struct lttng_msgpack_writer *writer,
1d18d519
MJ
54 const char *value)
55 __attribute__((visibility("hidden")));
ddabe860 56
1d18d519
MJ
57int lttng_msgpack_begin_map(struct lttng_msgpack_writer *writer, size_t count)
58 __attribute__((visibility("hidden")));
ddabe860 59
1d18d519
MJ
60int lttng_msgpack_end_map(struct lttng_msgpack_writer *writer)
61 __attribute__((visibility("hidden")));
ddabe860 62
49705576 63int lttng_msgpack_begin_array(
1d18d519
MJ
64 struct lttng_msgpack_writer *writer, size_t count)
65 __attribute__((visibility("hidden")));
ddabe860 66
1d18d519
MJ
67int lttng_msgpack_end_array(struct lttng_msgpack_writer *writer)
68 __attribute__((visibility("hidden")));
49705576
FD
69
70#endif /* _LTTNG_UST_MSGPACK_H */
This page took 0.032183 seconds and 4 git commands to generate.