X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Ftypes.h;h=3d040d4f1a77d66b0ddee208a1fcf810479b2153;hb=b7b61ced2a4d4e3222640ad20e6655cb4379c012;hp=8d660bea0e747fa21b0e20221a038dc4fbb5fab0;hpb=ca334c7230d120ffe211efbfd6efe467b5d4d794;p=babeltrace.git diff --git a/include/babeltrace/types.h b/include/babeltrace/types.h index 8d660bea..3d040d4f 100644 --- a/include/babeltrace/types.h +++ b/include/babeltrace/types.h @@ -148,6 +148,10 @@ struct declaration_integer { struct ctf_clock *clock; }; +#ifdef ENABLE_DEBUGINFO +struct debug_info_source; +#endif + struct definition_integer { struct bt_definition p; struct declaration_integer *declaration; @@ -156,6 +160,17 @@ struct definition_integer { uint64_t _unsigned; int64_t _signed; } value; + +#ifdef ENABLE_DEBUGINFO + /* + * 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 { @@ -435,6 +450,10 @@ struct declaration_string * 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); @@ -453,10 +472,10 @@ struct declaration_field * 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 @@ -523,6 +542,8 @@ void bt_append_scope_path(const char *path, GArray *q); */ 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);