Always evaluate BT_ASSERT(); add BT_ASSERT_DBG() for debug mode only
[babeltrace.git] / src / plugins / ctf / common / metadata / ctf-meta.h
index c5874ad1f5b4b5676065130f8f85114bc02b81d1..929a39e14c01dfceaf9eddacea643977f5ca63aa 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,
@@ -308,6 +310,12 @@ struct ctf_trace_class {
 
        /* Weak, set during translation */
        bt_trace_class *ir_tc;
+
+       struct {
+               bool lttng_crash;
+               bool lttng_event_after_packet;
+               bool barectf_event_before_packet;
+       } quirks;
 };
 
 static inline
@@ -683,8 +691,8 @@ static inline
 struct ctf_range *ctf_field_class_enum_mapping_borrow_range_by_index(
                struct ctf_field_class_enum_mapping *mapping, uint64_t index)
 {
-       BT_ASSERT(mapping);
-       BT_ASSERT(index < mapping->ranges->len);
+       BT_ASSERT_DBG(mapping);
+       BT_ASSERT_DBG(index < mapping->ranges->len);
        return &g_array_index(mapping->ranges, struct ctf_range, index);
 }
 
@@ -692,8 +700,8 @@ static inline
 struct ctf_field_class_enum_mapping *ctf_field_class_enum_borrow_mapping_by_index(
                struct ctf_field_class_enum *fc, uint64_t index)
 {
-       BT_ASSERT(fc);
-       BT_ASSERT(index < fc->mappings->len);
+       BT_ASSERT_DBG(fc);
+       BT_ASSERT_DBG(index < fc->mappings->len);
        return &g_array_index(fc->mappings, struct ctf_field_class_enum_mapping,
                index);
 }
@@ -705,8 +713,8 @@ struct ctf_field_class_enum_mapping *ctf_field_class_enum_borrow_mapping_by_labe
        struct ctf_field_class_enum_mapping *ret_mapping = NULL;
        uint64_t i;
 
-       BT_ASSERT(fc);
-       BT_ASSERT(label);
+       BT_ASSERT_DBG(fc);
+       BT_ASSERT_DBG(label);
 
        for (i = 0; i < fc->mappings->len; i++) {
                struct ctf_field_class_enum_mapping *mapping =
@@ -764,8 +772,8 @@ static inline
 struct ctf_named_field_class *ctf_field_class_struct_borrow_member_by_index(
                struct ctf_field_class_struct *fc, uint64_t index)
 {
-       BT_ASSERT(fc);
-       BT_ASSERT(index < fc->members->len);
+       BT_ASSERT_DBG(fc);
+       BT_ASSERT_DBG(index < fc->members->len);
        return &g_array_index(fc->members, struct ctf_named_field_class,
                index);
 }
@@ -777,8 +785,8 @@ struct ctf_named_field_class *ctf_field_class_struct_borrow_member_by_name(
        uint64_t i;
        struct ctf_named_field_class *ret_named_fc = NULL;
 
-       BT_ASSERT(fc);
-       BT_ASSERT(name);
+       BT_ASSERT_DBG(fc);
+       BT_ASSERT_DBG(name);
 
        for (i = 0; i < fc->members->len; i++) {
                struct ctf_named_field_class *named_fc =
@@ -879,8 +887,8 @@ static inline
 struct ctf_named_field_class *ctf_field_class_variant_borrow_option_by_index(
                struct ctf_field_class_variant *fc, uint64_t index)
 {
-       BT_ASSERT(fc);
-       BT_ASSERT(index < fc->options->len);
+       BT_ASSERT_DBG(fc);
+       BT_ASSERT_DBG(index < fc->options->len);
        return &g_array_index(fc->options, struct ctf_named_field_class,
                index);
 }
@@ -892,8 +900,8 @@ struct ctf_named_field_class *ctf_field_class_variant_borrow_option_by_name(
        uint64_t i;
        struct ctf_named_field_class *ret_named_fc = NULL;
 
-       BT_ASSERT(fc);
-       BT_ASSERT(name);
+       BT_ASSERT_DBG(fc);
+       BT_ASSERT_DBG(name);
 
        for (i = 0; i < fc->options->len; i++) {
                struct ctf_named_field_class *named_fc =
@@ -914,8 +922,8 @@ struct ctf_field_class_variant_range *
 ctf_field_class_variant_borrow_range_by_index(
                struct ctf_field_class_variant *fc, uint64_t index)
 {
-       BT_ASSERT(fc);
-       BT_ASSERT(index < fc->ranges->len);
+       BT_ASSERT_DBG(fc);
+       BT_ASSERT_DBG(index < fc->ranges->len);
        return &g_array_index(fc->ranges, struct ctf_field_class_variant_range,
                index);
 }
@@ -989,7 +997,7 @@ struct ctf_field_class *ctf_field_class_compound_borrow_field_class_by_index(
                        ctf_field_class_struct_borrow_member_by_index(
                                (void *) comp_fc, index);
 
-               BT_ASSERT(named_fc);
+               BT_ASSERT_DBG(named_fc);
                fc = named_fc->fc;
                break;
        }
@@ -999,7 +1007,7 @@ struct ctf_field_class *ctf_field_class_compound_borrow_field_class_by_index(
                        ctf_field_class_variant_borrow_option_by_index(
                                (void *) comp_fc, index);
 
-               BT_ASSERT(named_fc);
+               BT_ASSERT_DBG(named_fc);
                fc = named_fc->fc;
                break;
        }
@@ -1114,8 +1122,8 @@ static inline
 int64_t ctf_field_path_borrow_index_by_index(struct ctf_field_path *fp,
                uint64_t index)
 {
-       BT_ASSERT(fp);
-       BT_ASSERT(index < fp->path->len);
+       BT_ASSERT_DBG(fp);
+       BT_ASSERT_DBG(index < fp->path->len);
        return g_array_index(fp->path, int64_t, index);
 }
 
@@ -1205,7 +1213,7 @@ struct ctf_field_class *ctf_field_path_borrow_field_class(
                abort();
        }
 
-       BT_ASSERT(fc);
+       BT_ASSERT_DBG(fc);
 
        for (i = 0; i < field_path->path->len; i++) {
                int64_t child_index =
@@ -1213,11 +1221,11 @@ struct ctf_field_class *ctf_field_path_borrow_field_class(
                struct ctf_field_class *child_fc =
                        ctf_field_class_compound_borrow_field_class_by_index(
                                fc, child_index);
-               BT_ASSERT(child_fc);
+               BT_ASSERT_DBG(child_fc);
                fc = child_fc;
        }
 
-       BT_ASSERT(fc);
+       BT_ASSERT_DBG(fc);
        return fc;
 }
 
@@ -1568,7 +1576,7 @@ static inline
 struct ctf_event_class *ctf_stream_class_borrow_event_class_by_id(
                struct ctf_stream_class *sc, uint64_t type)
 {
-       BT_ASSERT(sc);
+       BT_ASSERT_DBG(sc);
        return g_hash_table_lookup(sc->event_classes_by_id,
                GUINT_TO_POINTER((guint) type));
 }
@@ -1635,7 +1643,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);
@@ -1712,7 +1720,7 @@ struct ctf_stream_class *ctf_trace_class_borrow_stream_class_by_id(
        uint64_t i;
        struct ctf_stream_class *ret_sc = NULL;
 
-       BT_ASSERT(tc);
+       BT_ASSERT_DBG(tc);
 
        for (i = 0; i < tc->stream_classes->len; i++) {
                struct ctf_stream_class *sc = tc->stream_classes->pdata[i];
@@ -1734,13 +1742,13 @@ struct ctf_clock_class *ctf_trace_class_borrow_clock_class_by_name(
        uint64_t i;
        struct ctf_clock_class *ret_cc = NULL;
 
-       BT_ASSERT(tc);
-       BT_ASSERT(name);
+       BT_ASSERT_DBG(tc);
+       BT_ASSERT_DBG(name);
 
        for (i = 0; i < tc->clock_classes->len; i++) {
                struct ctf_clock_class *cc = tc->clock_classes->pdata[i];
 
-               BT_ASSERT(cc->name);
+               BT_ASSERT_DBG(cc->name);
                if (strcmp(cc->name->str, name) == 0) {
                        ret_cc = cc;
                        goto end;
@@ -1755,8 +1763,8 @@ static inline
 struct ctf_trace_class_env_entry *ctf_trace_class_borrow_env_entry_by_index(
                struct ctf_trace_class *tc, uint64_t index)
 {
-       BT_ASSERT(tc);
-       BT_ASSERT(index < tc->env_entries->len);
+       BT_ASSERT_DBG(tc);
+       BT_ASSERT_DBG(index < tc->env_entries->len);
        return &g_array_index(tc->env_entries, struct ctf_trace_class_env_entry,
                index);
 }
@@ -1768,8 +1776,8 @@ struct ctf_trace_class_env_entry *ctf_trace_class_borrow_env_entry_by_name(
        struct ctf_trace_class_env_entry *ret_entry = NULL;
        uint64_t i;
 
-       BT_ASSERT(tc);
-       BT_ASSERT(name);
+       BT_ASSERT_DBG(tc);
+       BT_ASSERT_DBG(name);
 
        for (i = 0; i < tc->env_entries->len; i++) {
                struct ctf_trace_class_env_entry *env_entry =
This page took 0.026905 seconds and 4 git commands to generate.