ctf: decoding: accommodate lttng-crash timestamp quirk
[babeltrace.git] / src / plugins / ctf / common / metadata / ctf-meta.h
index 68ad988e2177e934fcab199b35224d84a49d3f34..884fe69ebfdf166e4230648080bdba2e44ad551c 100644 (file)
@@ -50,6 +50,7 @@ enum ctf_field_class_meaning {
 };
 
 enum ctf_byte_order {
+       CTF_BYTE_ORDER_UNKNOWN,
        CTF_BYTE_ORDER_DEFAULT,
        CTF_BYTE_ORDER_LITTLE,
        CTF_BYTE_ORDER_BIG,
@@ -61,7 +62,8 @@ enum ctf_encoding {
 };
 
 enum ctf_scope {
-       CTF_SCOPE_PACKET_HEADER,
+       CTF_SCOPE_PACKET_UNKNOWN = -1,
+       CTF_SCOPE_PACKET_HEADER = 0,
        CTF_SCOPE_PACKET_CONTEXT,
        CTF_SCOPE_EVENT_HEADER,
        CTF_SCOPE_EVENT_COMMON_CONTEXT,
@@ -221,6 +223,7 @@ struct ctf_event_class {
        GString *emf_uri;
        bt_event_class_log_level log_level;
        bool is_translated;
+       bool is_log_level_set;
 
        /* Owned by this */
        struct ctf_field_class *spec_context_fc;
@@ -307,6 +310,10 @@ struct ctf_trace_class {
 
        /* Weak, set during translation */
        bt_trace_class *ir_tc;
+
+       struct {
+               bool lttng_crash;
+       } quirks;
 };
 
 static inline
@@ -1485,10 +1492,19 @@ struct ctf_event_class *ctf_event_class_create(void)
        BT_ASSERT(ec->name);
        ec->emf_uri = g_string_new(NULL);
        BT_ASSERT(ec->emf_uri);
-       ec->log_level = -1;
+       ec->is_log_level_set = false;
        return ec;
 }
 
+static inline
+void ctf_event_class_set_log_level(struct ctf_event_class *ec,
+               enum bt_event_class_log_level log_level)
+{
+       BT_ASSERT(ec);
+       ec->log_level = log_level;
+       ec->is_log_level_set = true;
+}
+
 static inline
 void ctf_event_class_destroy(struct ctf_event_class *ec)
 {
@@ -1625,7 +1641,7 @@ struct ctf_trace_class *ctf_trace_class_create(void)
        struct ctf_trace_class *tc = g_new0(struct ctf_trace_class, 1);
 
        BT_ASSERT(tc);
-       tc->default_byte_order = -1;
+       tc->default_byte_order = CTF_BYTE_ORDER_UNKNOWN;
        tc->clock_classes = g_ptr_array_new_with_free_func(
                (GDestroyNotify) ctf_clock_class_destroy);
        BT_ASSERT(tc->clock_classes);
This page took 0.025357 seconds and 4 git commands to generate.