#include <babeltrace/assert-internal.h>
#include <babeltrace/ctf-ir/fields.h>
#include <babeltrace/ctf-ir/stream.h>
+#include <babeltrace/ctf-ir/field-wrapper-internal.h>
#include <babeltrace/object-internal.h>
#include <babeltrace/babeltrace-internal.h>
+#include <babeltrace/ctf-ir/clock-value-set-internal.h>
struct bt_packet {
struct bt_object base;
- struct bt_field *header;
- struct bt_field *context;
+ struct bt_field_wrapper *header;
+ struct bt_field_wrapper *context;
struct bt_stream *stream;
+ struct bt_clock_value_set begin_cv_set;
+ struct bt_clock_value_set end_cv_set;
int frozen;
};
BT_HIDDEN
-void _bt_packet_freeze(struct bt_packet *packet);
+void _bt_packet_set_is_frozen(struct bt_packet *packet, bool is_frozen);
#ifdef BT_DEV_MODE
-# define bt_packet_freeze _bt_packet_freeze
+# define bt_packet_set_is_frozen _bt_packet_set_is_frozen
#else
-# define bt_packet_freeze
+# define bt_packet_set_is_frozen(_packet, _is_frozen)
#endif /* BT_DEV_MODE */
-static inline
-struct bt_stream *bt_packet_borrow_stream(
- struct bt_packet *packet)
-{
- BT_ASSERT(packet);
- return packet->stream;
-}
+BT_HIDDEN
+struct bt_packet *bt_packet_new(struct bt_stream *stream);
+
+BT_HIDDEN
+void bt_packet_recycle(struct bt_packet *packet);
+
+BT_HIDDEN
+void bt_packet_destroy(struct bt_packet *packet);
#endif /* BABELTRACE_CTF_IR_PACKET_INTERNAL_H */