Commit | Line | Data |
---|---|---|
f79cf0f0 | 1 | /* |
0235b0db | 2 | * SPDX-License-Identifier: MIT |
f79cf0f0 | 3 | * |
0235b0db | 4 | * Copyright 2016-2018 Philippe Proulx <pproulx@efficios.com> |
f79cf0f0 PP |
5 | */ |
6 | ||
0235b0db MJ |
7 | #ifndef BABELTRACE_TRACE_IR_PACKET_INTERNAL_H |
8 | #define BABELTRACE_TRACE_IR_PACKET_INTERNAL_H | |
9 | ||
ccf82993 | 10 | #include <stdbool.h> |
43c59509 | 11 | #include <babeltrace2/trace-ir/clock-snapshot.h> |
3fadfbc0 MJ |
12 | #include <babeltrace2/trace-ir/packet.h> |
13 | #include <babeltrace2/trace-ir/field.h> | |
14 | #include <babeltrace2/trace-ir/stream.h> | |
578e048b | 15 | #include "lib/object.h" |
578e048b MJ |
16 | |
17 | #include "field-wrapper.h" | |
ccf82993 | 18 | |
50842bdc | 19 | struct bt_packet { |
f79cf0f0 | 20 | struct bt_object base; |
44c440bc | 21 | struct bt_field_wrapper *context_field; |
50842bdc | 22 | struct bt_stream *stream; |
44c440bc | 23 | bool frozen; |
f79cf0f0 PP |
24 | }; |
25 | ||
40f4ba76 | 26 | void _bt_packet_set_is_frozen(const struct bt_packet *packet, bool is_frozen); |
f6ccaed9 PP |
27 | |
28 | #ifdef BT_DEV_MODE | |
6c677fb5 | 29 | # define bt_packet_set_is_frozen _bt_packet_set_is_frozen |
f6ccaed9 | 30 | #else |
6c677fb5 | 31 | # define bt_packet_set_is_frozen(_packet, _is_frozen) |
f6ccaed9 | 32 | #endif /* BT_DEV_MODE */ |
f79cf0f0 | 33 | |
312c056a PP |
34 | struct bt_packet *bt_packet_new(struct bt_stream *stream); |
35 | ||
312c056a PP |
36 | void bt_packet_recycle(struct bt_packet *packet); |
37 | ||
312c056a PP |
38 | void bt_packet_destroy(struct bt_packet *packet); |
39 | ||
56e18c4c | 40 | #endif /* BABELTRACE_TRACE_IR_PACKET_INTERNAL_H */ |