#include <babeltrace/ctf/events.h>
#include <stdbool.h>
#include <stdint.h>
-#include <limits.h>
+#include <babeltrace/compat/limits.h>
#include <string.h>
#include <glib.h>
#include <assert.h>
};
struct bt_declaration {
- enum ctf_type_id id;
+ enum bt_ctf_type_id id;
size_t alignment; /* type alignment, in bits */
int ref; /* number of references to the type */
/*
static inline
int generic_rw(struct bt_stream_pos *pos, struct bt_definition *definition)
{
- enum ctf_type_id dispatch_id = definition->declaration->id;
+ enum bt_ctf_type_id dispatch_id = definition->declaration->id;
rw_dispatch call;
assert(pos->rw_table[dispatch_id] != NULL);
struct declaration_integer {
struct bt_declaration p;
size_t len; /* length, in bits. */
- int byte_order; /* byte order */
+ int byte_order; /* LITTLE_ENDIAN/BIG_ENDIAN, 0 == "Native" */
int signedness;
int base; /* Base for pretty-printing: 2, 8, 10, 16 */
enum ctf_string_encoding encoding;
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 {
struct declaration_integer *sign;
struct declaration_integer *mantissa;
struct declaration_integer *exp;
- int byte_order;
+ int byte_order; /* LITTLE_ENDIAN/BIG_ENDIAN, 0 == "Native" */
/* TODO: we might want to express more info about NaN, +inf and -inf */
};
*/
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);