2 * SPDX-License-Identifier: LGPL-2.1-only
4 * Copyright (C) 2020 Francis Deslauriers <francis.deslauriers@efficios.com>
7 #ifndef _LTTNG_UST_MSGPACK_H
8 #define _LTTNG_UST_MSGPACK_H
12 #include <linux/types.h>
13 #else /* __KERNEL__ */
15 #include "ust-helper.h"
16 #endif /* __KERNEL__ */
18 struct lttng_msgpack_writer
{
21 const uint8_t *end_write_pos
;
22 uint8_t array_nesting
;
27 void lttng_msgpack_writer_init(
28 struct lttng_msgpack_writer
*writer
,
29 uint8_t *buffer
, size_t size
);
32 void lttng_msgpack_writer_fini(struct lttng_msgpack_writer
*writer
);
35 int lttng_msgpack_write_nil(struct lttng_msgpack_writer
*writer
);
37 int lttng_msgpack_write_true(struct lttng_msgpack_writer
*writer
);
39 int lttng_msgpack_write_false(struct lttng_msgpack_writer
*writer
);
41 int lttng_msgpack_write_unsigned_integer(
42 struct lttng_msgpack_writer
*writer
, uint64_t value
);
44 int lttng_msgpack_write_signed_integer(
45 struct lttng_msgpack_writer
*writer
, int64_t value
);
47 int lttng_msgpack_write_double(struct lttng_msgpack_writer
*writer
, double value
);
49 int lttng_msgpack_write_str(struct lttng_msgpack_writer
*writer
,
52 int lttng_msgpack_begin_map(struct lttng_msgpack_writer
*writer
, size_t count
);
54 int lttng_msgpack_end_map(struct lttng_msgpack_writer
*writer
);
56 int lttng_msgpack_begin_array(
57 struct lttng_msgpack_writer
*writer
, size_t count
);
59 int lttng_msgpack_end_array(struct lttng_msgpack_writer
*writer
);
61 #endif /* _LTTNG_UST_MSGPACK_H */
This page took 0.034695 seconds and 4 git commands to generate.