ade822582e3cb83dacaa34dffd720ef519aeb160
[lttng-tools.git] / include / lttng / trace-format-descriptor.h
1 /*
2 * Copyright (C) 2022 Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 *
6 */
7
8 #ifndef LTTNG_TRACE_FORMAT_DESCRIPTOR_H
9 #define LTTNG_TRACE_FORMAT_DESCRIPTOR_H
10
11 #include <inttypes.h>
12 #include <lttng/lttng-export.h>
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 struct lttng_trace_format_descriptor;
19
20 enum lttng_trace_format_descriptor_status {
21 LTTNG_TRACE_FORMAT_DESCRIPTOR_STATUS_INVALID = -1,
22 LTTNG_TRACE_FORMAT_DESCRIPTOR_STATUS_OK = 0,
23 };
24
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,
29 };
30
31 LTTNG_EXPORT extern enum lttng_trace_format_descriptor_type lttng_trace_format_get_type(
32 const struct lttng_trace_format_descriptor *descriptor);
33
34 LTTNG_EXPORT extern struct lttng_trace_format_descriptor *
35 lttng_trace_format_ctf_1_descriptor_create(void);
36
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,
39 uint64_t *major,
40 uint64_t *minor);
41
42 LTTNG_EXPORT extern struct lttng_trace_format_descriptor *
43 lttng_trace_format_ctf_2_descriptor_create(void);
44
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,
47 uint64_t *major,
48 uint64_t *minor);
49
50 LTTNG_EXPORT void lttng_trace_format_descriptor_destroy(
51 struct lttng_trace_format_descriptor *descriptor);
52
53 #ifdef __cplusplus
54 }
55 #endif
56
57 #endif /* LTTNG_TRACE_FORMAT_DESCRIPTOR_H */
This page took 0.031443 seconds and 4 git commands to generate.