2 * SPDX-License-Identifier: MIT
4 * Copyright (C) 2010-2019 EfficiOS Inc. and Linux Foundation
7 #ifndef BABELTRACE2_CTF_WRITER_TRACE_H
8 #define BABELTRACE2_CTF_WRITER_TRACE_H
15 struct bt_ctf_stream_class
;
18 extern enum bt_ctf_byte_order
bt_ctf_trace_get_native_byte_order(
19 struct bt_ctf_trace
*trace
);
21 extern int bt_ctf_trace_set_native_byte_order(struct bt_ctf_trace
*trace
,
22 enum bt_ctf_byte_order native_byte_order
);
24 extern const uint8_t *bt_ctf_trace_get_uuid(
25 struct bt_ctf_trace
*trace
);
27 extern int bt_ctf_trace_set_uuid(struct bt_ctf_trace
*trace
,
30 extern int bt_ctf_trace_set_environment_field_integer(
31 struct bt_ctf_trace
*trace
, const char *name
,
34 extern int bt_ctf_trace_set_environment_field_string(
35 struct bt_ctf_trace
*trace
, const char *name
,
38 extern struct bt_ctf_field_type
*bt_ctf_trace_get_packet_header_field_type(
39 struct bt_ctf_trace
*trace
);
41 extern int bt_ctf_trace_set_packet_header_field_type(struct bt_ctf_trace
*trace
,
42 struct bt_ctf_field_type
*packet_header_type
);
44 extern int64_t bt_ctf_trace_get_stream_class_count(
45 struct bt_ctf_trace
*trace
);
47 extern struct bt_ctf_stream_class
*bt_ctf_trace_get_stream_class_by_index(
48 struct bt_ctf_trace
*trace
, uint64_t index
);
50 extern struct bt_ctf_stream_class
*bt_ctf_trace_get_stream_class_by_id(
51 struct bt_ctf_trace
*trace
, uint64_t id
);
53 extern int bt_ctf_trace_add_stream_class(struct bt_ctf_trace
*trace
,
54 struct bt_ctf_stream_class
*stream_class
);
56 extern int64_t bt_ctf_trace_get_stream_count(struct bt_ctf_trace
*trace
);
58 extern struct bt_ctf_stream
*bt_ctf_trace_get_stream_by_index(
59 struct bt_ctf_trace
*trace
, uint64_t index
);
61 extern const char *bt_ctf_trace_get_name(struct bt_ctf_trace
*trace
);
67 #endif /* BABELTRACE2_CTF_WRITER_TRACE_H */