* SOFTWARE.
*/
+#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 <assert.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);
-
-static inline
-struct bt_stream *bt_packet_borrow_stream(
- struct bt_packet *packet)
-{
- assert(packet);
- return packet->stream;
-}
+void _bt_packet_set_is_frozen(struct bt_packet *packet, bool is_frozen);
+
+#ifdef BT_DEV_MODE
+# define bt_packet_set_is_frozen _bt_packet_set_is_frozen
+#else
+# define bt_packet_set_is_frozen(_packet, _is_frozen)
+#endif /* BT_DEV_MODE */
+
+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 */