* SOFTWARE.
*/
+#include <stdbool.h>
#include <babeltrace/assert-internal.h>
+#include <babeltrace/ctf-ir/clock-value.h>
+#include <babeltrace/ctf-ir/packet.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/property-internal.h>
struct bt_packet {
struct bt_object base;
- struct bt_field *header;
- struct bt_field *context;
+ struct bt_field_wrapper *header_field;
+ struct bt_field_wrapper *context_field;
struct bt_stream *stream;
- int frozen;
+ struct bt_clock_value *default_beginning_cv;
+ struct bt_clock_value *default_end_cv;
+ struct bt_property_uint discarded_event_counter_snapshot;
+ struct bt_property_uint packet_counter_snapshot;
+ bool 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 */
+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 */