/*
* the top-level scopes in CTF
*/
-enum bt_ctf_scope {
+enum ctf_scope {
BT_TRACE_PACKET_HEADER = 0,
BT_STREAM_PACKET_CONTEXT = 1,
BT_STREAM_EVENT_HEADER = 2,
/*
* bt_ctf_get_top_level_scope: return a definition of the top-level scope
*
- * Top-level scopes are defined in the bt_ctf_scope enum.
+ * Top-level scopes are defined in the ctf_scope enum.
* In order to get a field or a field list, the user needs to pass a
* scope as argument, this scope can be a top-level scope or a scope
* relative to an arbitrary field. This function provides the mapping
* On error return NULL.
*/
const struct bt_definition *bt_ctf_get_top_level_scope(const struct bt_ctf_event *event,
- enum bt_ctf_scope scope);
+ enum ctf_scope scope);
/*
* bt_ctf_event_get_name: returns the name of the event or NULL on error
uint64_t bt_ctf_get_cycles(const struct bt_ctf_event *event);
/*
- * bt_ctf_get_timestamp: returns the timestamp of the event offsetted
- * with the system clock source (in ns) or -1ULL on error
+ * bt_ctf_get_timestamp: get the timestamp of the event offsetted
+ * with the system clock source (in ns) in *timestamp.
+ *
+ * Return 0 on success, or -1ULL on error.
*/
-uint64_t bt_ctf_get_timestamp(const struct bt_ctf_event *event);
+int bt_ctf_get_timestamp(const struct bt_ctf_event *event, int64_t *timestamp);
/*
* bt_ctf_get_field_list: obtain the list of fields for compound type
*/
int bt_ctf_get_array_len(const struct bt_declaration *decl);
+/*
+ * bt_ctf_get_struct_field_count: return the number of fields in a structure.
+ * Returns a negative value on error.
+ */
+uint64_t bt_ctf_get_struct_field_count(const struct bt_definition *field);
+
/*
* Field access functions
*
const char *bt_ctf_get_enum_str(const struct bt_definition *field);
char *bt_ctf_get_char_array(const struct bt_definition *field);
char *bt_ctf_get_string(const struct bt_definition *field);
+double bt_ctf_get_float(const struct bt_definition *field);
+const struct bt_definition *bt_ctf_get_variant(const struct bt_definition *field);
+const struct bt_definition *bt_ctf_get_struct_field_index(
+ const struct bt_definition *field, uint64_t i);
/*
* bt_ctf_field_get_error: returns the last error code encountered while
*/
const char *bt_ctf_get_decl_event_name(const struct bt_ctf_event_decl *event);
+/*
+ * bt_ctf_get_decl_event_id: return the event-ID of the event or -1ULL on error
+ */
+uint64_t bt_ctf_get_decl_event_id(const struct bt_ctf_event_decl *event);
+
/*
* bt_ctf_get_decl_fields: get all field declarations in a scope of an event
*
* valid as long as the trace is opened.
*/
int bt_ctf_get_decl_fields(struct bt_ctf_event_decl *event_decl,
- enum bt_ctf_scope scope,
+ enum ctf_scope scope,
struct bt_ctf_field_decl const * const **list,
unsigned int *count);