struct bt_trace_descriptor *trace);
int (*post_trace_cb)(struct bt_stream_pos *pos,
struct bt_trace_descriptor *trace);
+ struct bt_trace_descriptor *trace;
};
static inline
struct ctf_clock *clock;
};
+#ifdef ENABLE_DEBUG_INFO
+struct debug_info_source;
+#endif
+
struct definition_integer {
struct bt_definition p;
struct declaration_integer *declaration;
uint64_t _unsigned;
int64_t _signed;
} value;
+
+#ifdef ENABLE_DEBUG_INFO
+ /*
+ * Debug infos (NULL if not set).
+ *
+ * This is extended debug informations set by the CTF input plugin
+ * itself when available. If it's set, then this integer definition
+ * is the "_ip" field of the stream event context.
+ */
+ struct debug_info_source *debug_info_src;
+#endif
};
struct declaration_float {
int bt_get_int_byte_order(const struct bt_definition *field);
int bt_get_int_base(const struct bt_definition *field);
size_t bt_get_int_len(const struct bt_definition *field); /* in bits */
+bool bt_int_is_char(const struct bt_declaration *field);
enum ctf_string_encoding bt_get_int_encoding(const struct bt_definition *field);
/*
char *bt_get_string(const struct bt_definition *field);
enum ctf_string_encoding bt_get_string_encoding(const struct bt_definition *field);
+double bt_get_float(const struct bt_definition *field);
+
+const struct bt_definition *bt_get_variant_field(struct bt_definition *definition);
+
struct declaration_struct *
bt_struct_declaration_new(struct declaration_scope *parent_scope,
uint64_t min_align);
bt_struct_declaration_get_field_from_index(struct declaration_struct *struct_declaration,
int index);
struct bt_definition *
-bt_struct_definition_get_field_from_index(struct definition_struct *struct_definition,
+bt_struct_definition_get_field_from_index(const struct definition_struct *struct_definition,
int index);
int bt_struct_rw(struct bt_stream_pos *pos, struct bt_definition *definition);
-uint64_t bt_struct_declaration_len(struct declaration_struct *struct_declaration);
+uint64_t bt_struct_declaration_len(const struct declaration_struct *struct_declaration);
/*
* The tag enumeration is validated to ensure that it contains only mappings
*/
struct bt_definition *bt_lookup_definition(const struct bt_definition *definition,
const char *field_name);
+struct bt_definition *bt_lookup_definition_by_quark(const struct bt_definition *definition,
+ GQuark quark);
struct definition_integer *bt_lookup_integer(const struct bt_definition *definition,
const char *field_name,
int signedness);