#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 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 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 */
};
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