X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf%2Fevents.h;h=bbb9d9a558ca5d52db53562c86cfbd579c07464a;hp=2bf9c62d7a971f322b14a3c0e6884f91e2fe7538;hb=885885bfa41c56f7615d635d348ba7cec34b4684;hpb=b330165c14cce30cc7e97b27bc113194ec4fdd9b diff --git a/include/babeltrace/ctf/events.h b/include/babeltrace/ctf/events.h index 2bf9c62d..bbb9d9a5 100644 --- a/include/babeltrace/ctf/events.h +++ b/include/babeltrace/ctf/events.h @@ -27,6 +27,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + struct definition; struct bt_ctf_event; struct bt_ctf_event_decl; @@ -102,9 +106,19 @@ uint64_t bt_ctf_get_cycles(const struct bt_ctf_event *event); uint64_t bt_ctf_get_timestamp(const struct bt_ctf_event *event); /* - * bt_ctf_get_field_list: set list pointer to an array of definition + * bt_ctf_get_field_list: obtain the list of fields for compound type + * + * This function can be used to obtain the list of fields + * contained within a compound type: array, sequence, + * structure, or variant. + + * This function sets the "list" pointer to an array of definition * pointers and set count to the number of elements in the array. * Return 0 on success and a negative value on error. + * + * The content pointed to by "list" should *not* be freed. It stays + * valid as long as the event is unchanged (as long as the iterator + * from which the event is extracted is unchanged). */ int bt_ctf_get_field_list(const struct bt_ctf_event *event, const struct definition *scope, @@ -183,9 +197,15 @@ int bt_ctf_get_array_len(const struct definition *field); * If the field does not exist or is not of the type requested, the value * returned is undefined. To check if an error occured, use the * bt_ctf_field_get_error() function after accessing a field. + * + * bt_ctf_get_enum_int gets the integer field of an enumeration. + * bt_ctf_get_enum_str gets the string matching the current enumeration + * value, or NULL if the current value does not match any string. */ uint64_t bt_ctf_get_uint64(const struct definition *field); int64_t bt_ctf_get_int64(const struct definition *field); +const struct definition *bt_ctf_get_enum_int(const struct definition *field); +const char *bt_ctf_get_enum_str(const struct definition *field); char *bt_ctf_get_char_array(const struct definition *field); char *bt_ctf_get_string(const struct definition *field); @@ -227,4 +247,8 @@ int bt_ctf_get_decl_fields(struct bt_ctf_event_decl *event_decl, */ const char *bt_ctf_get_decl_field_name(const struct bt_ctf_field_decl *field); +#ifdef __cplusplus +} +#endif + #endif /* _BABELTRACE_CTF_EVENTS_H */