X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Ftrace-internal.h;h=38c89e7b3c8d15756961c7a576fcef093354c587;hb=dc3fffef7b84cc4af1a7c99828fd57a106cd2257;hp=b8a3d8c821b024df11fa8c82b3f036d00b6db051;hpb=dac5c838a2e15f0da9acd223a119ae7962dbc79a;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/trace-internal.h b/include/babeltrace/ctf-ir/trace-internal.h index b8a3d8c8..38c89e7b 100644 --- a/include/babeltrace/ctf-ir/trace-internal.h +++ b/include/babeltrace/ctf-ir/trace-internal.h @@ -28,9 +28,9 @@ */ #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -48,16 +48,25 @@ enum field_type_alias { }; struct bt_ctf_trace { - struct bt_ctf_base base; + struct bt_object base; + GString *name; int frozen; uuid_t uuid; - int byte_order; /* A value defined in Babeltrace's "endian.h" */ + enum bt_ctf_byte_order native_byte_order; struct bt_value *environment; - GPtrArray *clocks; /* Array of pointers to bt_ctf_clock */ + GPtrArray *clocks; /* Array of pointers to bt_ctf_clock_class */ GPtrArray *stream_classes; /* Array of ptrs to bt_ctf_stream_class */ GPtrArray *streams; /* Array of ptrs to bt_ctf_stream */ struct bt_ctf_field_type *packet_header_type; uint64_t next_stream_id; + int is_created_by_writer; + + /* + * This flag indicates if the trace is valid. A valid + * trace is _always_ frozen. + */ + int valid; + GPtrArray *listeners; /* Array of struct listener_wrapper */ }; struct metadata_context { @@ -72,4 +81,8 @@ const char *get_byte_order_string(int byte_order); BT_HIDDEN struct bt_ctf_field_type *get_field_type(enum field_type_alias alias); +BT_HIDDEN +int bt_ctf_trace_object_modification(struct bt_ctf_object *object, + void *trace_ptr); + #endif /* BABELTRACE_CTF_IR_TRACE_INTERNAL_H */