2 * Copyright (C) 2022 Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
4 * SPDX-License-Identifier: LGPL-2.1-only
8 #ifndef LTTNG_TRACE_FORMAT_DESCRIPTOR_H
9 #define LTTNG_TRACE_FORMAT_DESCRIPTOR_H
12 #include <lttng/lttng-export.h>
18 struct lttng_trace_format_descriptor
;
20 enum lttng_trace_format_descriptor_status
{
21 LTTNG_TRACE_FORMAT_DESCRIPTOR_STATUS_INVALID
= -1,
22 LTTNG_TRACE_FORMAT_DESCRIPTOR_STATUS_OK
= 0,
25 enum lttng_trace_format_descriptor_type
{
26 LTTNG_TRACE_FORMAT_DESCRIPTOR_TYPE_UNKNOWN
= -1,
27 LTTNG_TRACE_FORMAT_DESCRIPTOR_TYPE_CTF_1
= 0,
28 LTTNG_TRACE_FORMAT_DESCRIPTOR_TYPE_CTF_2
= 1,
31 LTTNG_EXPORT
extern enum lttng_trace_format_descriptor_type
lttng_trace_format_get_type(
32 const struct lttng_trace_format_descriptor
*descriptor
);
34 LTTNG_EXPORT
extern struct lttng_trace_format_descriptor
*
35 lttng_trace_format_ctf_1_descriptor_create(void);
37 LTTNG_EXPORT
extern enum lttng_trace_format_descriptor_status
lttng_trace_format_ctf_1_get_version(
38 const struct lttng_trace_format_descriptor
*descriptor
,
42 LTTNG_EXPORT
extern struct lttng_trace_format_descriptor
*
43 lttng_trace_format_ctf_2_descriptor_create(void);
45 LTTNG_EXPORT
extern enum lttng_trace_format_descriptor_status
lttng_trace_format_ctf_2_get_version(
46 const struct lttng_trace_format_descriptor
*descriptor
,
50 LTTNG_EXPORT
void lttng_trace_format_descriptor_destroy(
51 struct lttng_trace_format_descriptor
*descriptor
);
57 #endif /* LTTNG_TRACE_FORMAT_DESCRIPTOR_H */