};
enum ctf_byte_order {
+ CTF_BYTE_ORDER_UNKNOWN,
CTF_BYTE_ORDER_DEFAULT,
CTF_BYTE_ORDER_LITTLE,
CTF_BYTE_ORDER_BIG,
};
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,
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;
/* Weak, set during translation */
bt_trace_class *ir_tc;
+
+ struct {
+ bool lttng_crash;
+ } quirks;
};
static inline
{
switch (scope) {
case CTF_SCOPE_PACKET_HEADER:
- return "CTF_SCOPE_PACKET_HEADER";
+ return "PACKET_HEADER";
case CTF_SCOPE_PACKET_CONTEXT:
- return "CTF_SCOPE_PACKET_CONTEXT";
+ return "PACKET_CONTEXT";
case CTF_SCOPE_EVENT_HEADER:
- return "CTF_SCOPE_EVENT_HEADER";
+ return "EVENT_HEADER";
case CTF_SCOPE_EVENT_COMMON_CONTEXT:
- return "CTF_SCOPE_EVENT_COMMON_CONTEXT";
+ return "EVENT_COMMON_CONTEXT";
case CTF_SCOPE_EVENT_SPECIFIC_CONTEXT:
- return "CTF_SCOPE_EVENT_SPECIFIC_CONTEXT";
+ return "EVENT_SPECIFIC_CONTEXT";
case CTF_SCOPE_EVENT_PAYLOAD:
- return "CTF_SCOPE_EVENT_PAYLOAD";
+ return "EVENT_PAYLOAD";
default:
abort();
}
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)
{
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);