X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Fevent-internal.h;h=5201ee53b7c54e353cd24789d97a4dc93054c125;hb=29664b2a3a15c7233d916887d2f58fc42e18521e;hp=171e7c78474ba91d3b1e5a8b836ad91de18295b7;hpb=b8248cc00f72ac2448c697c76033c8862d8db673;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/event-internal.h b/include/babeltrace/ctf-ir/event-internal.h index 171e7c78..5201ee53 100644 --- a/include/babeltrace/ctf-ir/event-internal.h +++ b/include/babeltrace/ctf-ir/event-internal.h @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include #define BT_CTF_EVENT_CLASS_ATTR_ID_INDEX 0 @@ -41,7 +43,10 @@ struct bt_ctf_event_class { struct bt_ctf_ref ref_count; struct bt_object *attributes; - /* An event class does not have ownership of a stream class */ + /* + * Weak reference; an event class does not have ownership of a + * stream class. + */ struct bt_ctf_stream_class *stream_class; /* Structure type containing the event's context */ struct bt_ctf_field_type *context; @@ -53,6 +58,8 @@ struct bt_ctf_event_class { struct bt_ctf_event { struct bt_ctf_ref ref_count; struct bt_ctf_event_class *event_class; + /* Weak reference; an event does not have ownership of a stream */ + struct bt_ctf_stream *stream; struct bt_ctf_field *event_header; struct bt_ctf_field *context_payload; struct bt_ctf_field *fields_payload; @@ -74,6 +81,10 @@ void bt_ctf_event_class_set_native_byte_order( struct bt_ctf_event_class *event_class, int byte_order); +BT_HIDDEN +int bt_ctf_event_class_set_stream_id(struct bt_ctf_event_class *event_class, + uint32_t stream_id); + BT_HIDDEN int bt_ctf_event_validate(struct bt_ctf_event *event); @@ -81,6 +92,10 @@ BT_HIDDEN int bt_ctf_event_serialize(struct bt_ctf_event *event, struct ctf_stream_pos *pos); +BT_HIDDEN +int bt_ctf_event_set_stream(struct bt_ctf_event *event, + struct bt_ctf_stream *stream); + /* * Attempt to populate the "id" and "timestamp" fields of the event header if * they are present, unset and their types are integers.