X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Ftypes.h;h=e3c419d1bb86b37ba3e74ab6fa3aac9a1e702897;hb=1059a2bfb89dfcdea336d7fdd5ef9bbdf552f3f2;hp=15b82bd74e86a47d7c3e586c434caa34053fbc35;hpb=f72803caba1da2c19dc1c1f024a1462dc54d4fbf;p=babeltrace.git diff --git a/include/babeltrace/types.h b/include/babeltrace/types.h index 15b82bd7..e3c419d1 100644 --- a/include/babeltrace/types.h +++ b/include/babeltrace/types.h @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -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 { @@ -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