clock: use freq field
[babeltrace.git] / include / babeltrace / ctf-ir / metadata.h
index ad40e03e75b3daa947f1b691d50f03cfb0be1964..79af77a768c0dda06e02023ba25850a8bde41dac 100644 (file)
@@ -32,6 +32,8 @@ struct ctf_trace;
 struct ctf_stream_class;
 struct ctf_stream;
 struct ctf_event;
+struct ctf_stream;
+struct ctf_clock;
 
 struct ctf_stream {
        struct ctf_stream_class *stream_class;
@@ -48,6 +50,8 @@ struct ctf_stream {
        struct definition_scope *parent_def_scope;      /* for initialization */
        int stream_definitions_created;
 
+       struct ctf_clock *current_clock;
+
        /* Event discarded information */
        uint32_t events_discarded;
        uint64_t prev_timestamp;        /* Last event */
@@ -108,6 +112,20 @@ struct ctf_clock {
                (ctf_trace)->(field);                                   \
        })
 
+#define TRACER_ENV_LEN 128
+
+/* tracer-specific environment */
+struct ctf_tracer_env {
+       int vpid;               /* negative if unset */
+
+       /* All strings below: "" if unset. */
+       char procname[TRACER_ENV_LEN];
+       char domain[TRACER_ENV_LEN];
+       char sysname[TRACER_ENV_LEN];
+       char release[TRACER_ENV_LEN];
+       char version[TRACER_ENV_LEN];
+};
+
 struct ctf_trace {
        struct trace_descriptor parent;
        /* root scope */
@@ -119,6 +137,7 @@ struct ctf_trace {
        GPtrArray *streams;                     /* Array of struct ctf_stream_class pointers */
        struct ctf_stream *metadata;
        GHashTable *clocks;
+       struct ctf_clock *single_clock;         /* currently supports only one clock */
        struct trace_collection *collection;    /* Container of this trace */
 
        struct declaration_struct *packet_header_decl;
@@ -127,6 +146,7 @@ struct ctf_trace {
        uint64_t minor;
        uuid_t uuid;
        int byte_order;         /* trace BYTE_ORDER. 0 if unset. */
+       struct ctf_tracer_env env;
 
        enum {                                  /* Fields populated mask */
                CTF_TRACE_major         =       (1U << 0),
@@ -143,11 +163,7 @@ struct ctf_trace {
 
        /* Heap of streams, ordered to always get the lowest timestam */
        struct ptr_heap *stream_heap;
-       char collection_path[PATH_MAX];
        char path[PATH_MAX];
-       char domain[PATH_MAX];
-       char procname[PATH_MAX];
-       char vpid[PATH_MAX];
 };
 
 #define CTF_STREAM_SET_FIELD(ctf_stream, field)                                \
@@ -212,15 +228,13 @@ struct ctf_event {
        GQuark name;
        uint64_t id;            /* Numeric identifier within the stream */
        uint64_t stream_id;
-       GQuark loglevel_identifier;
-       int64_t loglevel_value;
+       int loglevel;
 
        enum {                                  /* Fields populated mask */
                CTF_EVENT_name  =               (1 << 0),
                CTF_EVENT_id    =               (1 << 1),
                CTF_EVENT_stream_id =           (1 << 2),
-               CTF_EVENT_loglevel_identifier = (1 << 3),
-               CTF_EVENT_loglevel_value =      (1 << 4),
+               CTF_EVENT_loglevel =            (1 << 4),
        } field_mask;
 };
 
This page took 0.023864 seconds and 4 git commands to generate.