7a29c47b1ac893757dfda04ba21502582772b06b
1 /* SPDX-License-Identifier: LGPL-2.1-only
2 * SPDX-FileCopyrightText: 2020 Francis Deslauriers <francis.deslauriers@efficios.com>
5 #ifndef _LTTNG_KERNEL_MSGPACK_H
6 #define _LTTNG_KERNEL_MSGPACK_H
9 #include <linux/types.h>
10 #else /* __KERNEL__ */
12 #endif /* __KERNEL__ */
14 struct lttng_msgpack_writer
{
17 const uint8_t *end_write_pos
;
18 uint8_t array_nesting
;
22 void lttng_msgpack_writer_init(
23 struct lttng_msgpack_writer
*writer
,
24 uint8_t *buffer
, size_t size
);
26 void lttng_msgpack_writer_fini(struct lttng_msgpack_writer
*writer
);
28 int lttng_msgpack_write_nil(struct lttng_msgpack_writer
*writer
);
29 int lttng_msgpack_write_true(struct lttng_msgpack_writer
*writer
);
30 int lttng_msgpack_write_false(struct lttng_msgpack_writer
*writer
);
31 int lttng_msgpack_write_unsigned_integer(
32 struct lttng_msgpack_writer
*writer
, uint64_t value
);
33 int lttng_msgpack_write_signed_integer(
34 struct lttng_msgpack_writer
*writer
, int64_t value
);
35 int lttng_msgpack_write_str(struct lttng_msgpack_writer
*writer
,
37 int lttng_msgpack_write_user_str(struct lttng_msgpack_writer
*writer
,
38 const char __user
*value
);
39 int lttng_msgpack_begin_map(struct lttng_msgpack_writer
*writer
, size_t count
);
40 int lttng_msgpack_end_map(struct lttng_msgpack_writer
*writer
);
41 int lttng_msgpack_begin_array(
42 struct lttng_msgpack_writer
*writer
, size_t count
);
43 int lttng_msgpack_end_array(struct lttng_msgpack_writer
*writer
);
45 int lttng_msgpack_save_writer_pos(struct lttng_msgpack_writer
*writer
, uint8_t **pos
);
46 int lttng_msgpack_restore_writer_pos(struct lttng_msgpack_writer
*writer
, uint8_t *pos
);
48 #endif /* _LTTNG_KERNEL_MSGPACK_H */
This page took 0.032135 seconds and 5 git commands to generate.