#include <babeltrace/ctf-ir/event-types.h>
#include <babeltrace/ctf-ir/event-fields.h>
#include <babeltrace/babeltrace-internal.h>
+#include <babeltrace/objects.h>
#include <glib.h>
#include <sys/types.h>
#include <uuid/uuid.h>
struct bt_ctf_ref ref_count;
int frozen;
uuid_t uuid;
- int byte_order;
- GPtrArray *environment; /* Array of pointers to environment_variable */
+ int byte_order; /* A value defined in Babeltrace's "endian.h" */
+ struct bt_object *environment;
GPtrArray *clocks; /* Array of pointers to bt_ctf_clock */
GPtrArray *stream_classes; /* Array of ptrs to bt_ctf_stream_class */
GPtrArray *streams; /* Array of ptrs to bt_ctf_stream */
};
struct environment_variable {
- GString *name, *value;
+ GString *name;
+ enum bt_environment_field_type type;
+ union {
+ GString *string;
+ int64_t integer;
+ } value;
};
struct metadata_context {
unsigned int current_indentation_level;
};
-/* Checks that the string does not contain a reserved keyword */
-BT_HIDDEN
-int validate_identifier(const char *string);
-
BT_HIDDEN
const char *get_byte_order_string(int byte_order);