Export the list header with a new namespace
[babeltrace.git] / include / babeltrace / types.h
index a9fb5fe3ef6e30acd2b63d5b046128291ba1e064..0cedb337b03d389dfdda9199c8a2477986c33c46 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <babeltrace/align.h>
 #include <babeltrace/list.h>
+#include <babeltrace/ctf/events.h>
 #include <stdbool.h>
 #include <stdint.h>
 #include <limits.h>
@@ -37,6 +38,7 @@ struct ctf_stream;
 struct stream_pos;
 struct format;
 struct definition;
+struct ctf_clock;
 
 /* type scope */
 struct declaration_scope {
@@ -68,20 +70,6 @@ struct definition_scope {
        GArray *scope_path;     /* array of GQuark */
 };
 
-enum ctf_type_id {
-       CTF_TYPE_UNKNOWN = 0,
-       CTF_TYPE_INTEGER,
-       CTF_TYPE_FLOAT,
-       CTF_TYPE_ENUM,
-       CTF_TYPE_STRING,
-       CTF_TYPE_STRUCT,
-       CTF_TYPE_UNTAGGED_VARIANT,
-       CTF_TYPE_VARIANT,
-       CTF_TYPE_ARRAY,
-       CTF_TYPE_SEQUENCE,
-       NR_CTF_TYPES,
-};
-
 struct declaration {
        enum ctf_type_id id;
        size_t alignment;       /* type alignment, in bits */
@@ -151,6 +139,7 @@ struct declaration_integer {
        int signedness;
        int base;               /* Base for pretty-printing: 2, 8, 10, 16 */
        enum ctf_string_encoding encoding;
+       struct ctf_clock *clock;
 };
 
 struct definition_integer {
@@ -179,7 +168,7 @@ struct definition_float {
        struct definition_integer *mantissa;
        struct definition_integer *exp;
        /* Last values read */
-       long double value;
+       double value;
 };
 
 /*
@@ -197,7 +186,7 @@ struct enum_range {
 };
 
 struct enum_range_to_quark {
-       struct cds_list_head node;
+       struct bt_list_head node;
        struct enum_range range;
        GQuark quark;
 };
@@ -216,7 +205,7 @@ struct enum_range_to_quark {
  */
 struct enum_table {
        GHashTable *value_to_quark_set;         /* (value, GQuark GArray) */
-       struct cds_list_head range_to_quark;    /* (range, GQuark) */
+       struct bt_list_head range_to_quark;     /* (range, GQuark) */
        GHashTable *quark_to_range_set;         /* (GQuark, range GArray) */
 };
 
@@ -382,7 +371,10 @@ void definition_unref(struct definition *definition);
 
 struct declaration_integer *integer_declaration_new(size_t len, int byte_order,
                                  int signedness, size_t alignment,
-                                 int base, enum ctf_string_encoding encoding);
+                                 int base, enum ctf_string_encoding encoding,
+                                 struct ctf_clock *clock);
+uint64_t get_unsigned_int(struct definition *field);
+int64_t get_signed_int(struct definition *field);
 
 /*
  * mantissa_len is the length of the number of bytes represented by the mantissa
@@ -429,6 +421,7 @@ struct declaration_enum *
 
 struct declaration_string *
        string_declaration_new(enum ctf_string_encoding encoding);
+char *get_string(struct definition *field);
 
 struct declaration_struct *
        struct_declaration_new(struct declaration_scope *parent_scope,
@@ -493,6 +486,7 @@ struct declaration_array *
 uint64_t array_len(struct definition_array *array);
 struct definition *array_index(struct definition_array *array, uint64_t i);
 int array_rw(struct stream_pos *pos, struct definition *definition);
+GString *get_char_array(struct definition *field);
 
 /*
  * int_declaration and elem_declaration passed as parameter now belong
This page took 0.025264 seconds and 4 git commands to generate.