X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf%2Fmetadata.h;h=903d018dd9cb7c6811fcb9ce42712a29864c88f3;hp=330238ba0dc5f0a2e63c5d381c4aeda693fcdb9c;hb=764af3f43c289a0a5cd8bf6fd85d9361ae17a253;hpb=0f980a3595f61930659e392b1248c59490dd5a22 diff --git a/include/babeltrace/ctf/metadata.h b/include/babeltrace/ctf/metadata.h index 330238ba..903d018d 100644 --- a/include/babeltrace/ctf/metadata.h +++ b/include/babeltrace/ctf/metadata.h @@ -20,6 +20,7 @@ */ #include +#include #include #include #include @@ -30,13 +31,19 @@ #define CTF_MAGIC 0xC1FC1FC1 struct ctf_trace; +struct ctf_stream_class; struct ctf_stream; struct ctf_event; +struct ctf_stream { + struct ctf_stream_class *stream_class; + uint64_t timestamp; /* Current timestamp, in ns */ +}; + struct ctf_file_stream { uint64_t stream_id; - struct ctf_stream *stream; - struct stream_pos pos; /* current stream position */ + struct ctf_stream stream; + struct ctf_stream_pos pos; /* current stream position */ }; #define CTF_TRACE_SET_FIELD(ctf_trace, field) \ @@ -55,13 +62,14 @@ struct ctf_file_stream { struct ctf_trace { + struct trace_descriptor parent; /* root scope */ struct declaration_scope *root_declaration_scope; struct declaration_scope *declaration_scope; /* innermost definition scope. to be used as parent of stream. */ struct definition_scope *definition_scope; - GPtrArray *streams; /* Array of struct ctf_stream pointers */ + GPtrArray *streams; /* Array of struct ctf_stream_class pointers */ struct ctf_file_stream metadata; /* Declarations only used when parsing */ @@ -103,7 +111,7 @@ struct ctf_trace { (ctf_stream)->(field); \ }) -struct ctf_stream { +struct ctf_stream_class { struct ctf_trace *trace; /* parent is lexical scope conaining the stream scope */ struct declaration_scope *declaration_scope; @@ -147,7 +155,7 @@ struct ctf_stream { struct ctf_event { /* stream mapped by stream_id */ - struct ctf_stream *stream; + struct ctf_stream_class *stream; /* parent is lexical scope conaining the event scope */ struct declaration_scope *declaration_scope;