projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update pretty-printing output
[babeltrace.git]
/
include
/
babeltrace
/
types.h
diff --git
a/include/babeltrace/types.h
b/include/babeltrace/types.h
index c44ea2ddbaab3e5bff4aa7072b3ad52062c6ad8b..b7e84da2ee22cf6bc488c27d76af2acf4ea76eab 100644
(file)
--- a/
include/babeltrace/types.h
+++ b/
include/babeltrace/types.h
@@
-31,6
+31,7
@@
/* Preallocate this many fields for structures */
#define DEFAULT_NR_STRUCT_FIELDS 8
/* Preallocate this many fields for structures */
#define DEFAULT_NR_STRUCT_FIELDS 8
+struct ctf_stream;
struct stream_pos;
struct format;
struct definition;
struct stream_pos;
struct format;
struct definition;
@@
-100,27
+101,31
@@
struct declaration {
struct definition {
struct declaration *declaration;
int index; /* Position of the definition in its container */
struct definition {
struct declaration *declaration;
int index; /* Position of the definition in its container */
+ GQuark name; /* Field name in its container (or 0 if unset) */
int ref; /* number of references to the definition */
int ref; /* number of references to the definition */
+ GQuark path;
};
};
-typedef
void
(*rw_dispatch)(struct stream_pos *pos,
-
struct definition *definition);
+typedef
int
(*rw_dispatch)(struct stream_pos *pos,
+ struct definition *definition);
/* Parent of per-plugin positions */
struct stream_pos {
/* read/write dispatch table. Specific to plugin used for stream. */
rw_dispatch *rw_table; /* rw dispatch table */
/* Parent of per-plugin positions */
struct stream_pos {
/* read/write dispatch table. Specific to plugin used for stream. */
rw_dispatch *rw_table; /* rw dispatch table */
+ int (*event_cb)(struct stream_pos *pos,
+ struct ctf_stream *stream);
};
static inline
};
static inline
-
void
generic_rw(struct stream_pos *pos, struct definition *definition)
+
int
generic_rw(struct stream_pos *pos, struct definition *definition)
{
enum ctf_type_id dispatch_id = definition->declaration->id;
rw_dispatch call;
assert(pos->rw_table[dispatch_id] != NULL);
call = pos->rw_table[dispatch_id];
{
enum ctf_type_id dispatch_id = definition->declaration->id;
rw_dispatch call;
assert(pos->rw_table[dispatch_id] != NULL);
call = pos->rw_table[dispatch_id];
- call(pos, definition);
+
return
call(pos, definition);
}
/*
}
/*
@@
-239,11
+244,6
@@
struct declaration_field {
struct declaration *declaration;
};
struct declaration *declaration;
};
-struct field {
- GQuark name;
- struct definition *definition;
-};
-
struct declaration_struct {
struct declaration p;
GHashTable *fields_by_name; /* Tuples (field name, field index) */
struct declaration_struct {
struct declaration p;
GHashTable *fields_by_name; /* Tuples (field name, field index) */
@@
-255,7
+255,7
@@
struct definition_struct {
struct definition p;
struct declaration_struct *declaration;
struct definition_scope *scope;
struct definition p;
struct declaration_struct *declaration;
struct definition_scope *scope;
- G
Array *fields; /* Array of struct field
*/
+ G
PtrArray *fields; /* Array of pointers to struct definition
*/
};
struct declaration_untagged_variant {
};
struct declaration_untagged_variant {
@@
-277,8
+277,8
@@
struct definition_variant {
struct declaration_variant *declaration;
struct definition_scope *scope;
struct definition *enum_tag;
struct declaration_variant *declaration;
struct definition_scope *scope;
struct definition *enum_tag;
- G
Array *fields; /* Array of struct field
*/
- struct
field *current_field;
/* Last field read */
+ G
PtrArray *fields; /* Array of pointers to struct definition
*/
+ struct
definition *current_field;
/* Last field read */
};
struct declaration_array {
};
struct declaration_array {
@@
-292,7
+292,7
@@
struct definition_array {
struct definition p;
struct declaration_array *declaration;
struct definition_scope *scope;
struct definition p;
struct declaration_array *declaration;
struct definition_scope *scope;
- G
Array *elems; /* struct field
*/
+ G
PtrArray *elems; /* Array of pointers to struct definition
*/
};
struct declaration_sequence {
};
struct declaration_sequence {
@@
-307,7
+307,7
@@
struct definition_sequence {
struct declaration_sequence *declaration;
struct definition_scope *scope;
struct definition_integer *len;
struct declaration_sequence *declaration;
struct definition_scope *scope;
struct definition_integer *len;
- G
Array *elems; /* struct field
*/
+ G
PtrArray *elems; /* Array of pointers to struct definition
*/
};
int register_declaration(GQuark declaration_name,
};
int register_declaration(GQuark declaration_name,
@@
-363,6
+363,14
@@
void set_dynamic_definition_scope(struct definition *definition,
const char *root_name);
void free_definition_scope(struct definition_scope *scope);
const char *root_name);
void free_definition_scope(struct definition_scope *scope);
+GQuark new_definition_path(struct definition_scope *parent_scope, GQuark field_name);
+
+static inline
+int compare_definition_path(struct definition *definition, GQuark path)
+{
+ return definition->path == path;
+}
+
void declaration_ref(struct declaration *declaration);
void declaration_unref(struct declaration *declaration);
void declaration_ref(struct declaration *declaration);
void declaration_unref(struct declaration *declaration);
@@
-434,10
+442,10
@@
int struct_declaration_lookup_field_index(struct declaration_struct *struct_decl
struct declaration_field *
struct_declaration_get_field_from_index(struct declaration_struct *struct_declaration,
int index);
struct declaration_field *
struct_declaration_get_field_from_index(struct declaration_struct *struct_declaration,
int index);
-struct
field
*
+struct
definition
*
struct_definition_get_field_from_index(struct definition_struct *struct_definition,
int index);
struct_definition_get_field_from_index(struct definition_struct *struct_definition,
int index);
-
void
struct_rw(struct stream_pos *pos, struct definition *definition);
+
int
struct_rw(struct stream_pos *pos, struct definition *definition);
/*
* The tag enumeration is validated to ensure that it contains only mappings
/*
* The tag enumeration is validated to ensure that it contains only mappings
@@
-465,8
+473,8
@@
int variant_definition_set_tag(struct definition_variant *variant,
* field returned only valid as long as the variant structure is not appended
* to.
*/
* field returned only valid as long as the variant structure is not appended
* to.
*/
-struct
field
*variant_get_current_field(struct definition_variant *variant);
-
void
variant_rw(struct stream_pos *pos, struct definition *definition);
+struct
definition
*variant_get_current_field(struct definition_variant *variant);
+
int
variant_rw(struct stream_pos *pos, struct definition *definition);
/*
* elem_declaration passed as parameter now belongs to the array. No
/*
* elem_declaration passed as parameter now belongs to the array. No
@@
-478,7
+486,7
@@
struct declaration_array *
struct declaration_scope *parent_scope);
uint64_t array_len(struct definition_array *array);
struct definition *array_index(struct definition_array *array, uint64_t i);
struct declaration_scope *parent_scope);
uint64_t array_len(struct definition_array *array);
struct definition *array_index(struct definition_array *array, uint64_t i);
-
void
array_rw(struct stream_pos *pos, struct definition *definition);
+
int
array_rw(struct stream_pos *pos, struct definition *definition);
/*
* int_declaration and elem_declaration passed as parameter now belong
/*
* int_declaration and elem_declaration passed as parameter now belong
@@
-490,11
+498,11
@@
struct declaration_sequence *
struct declaration_scope *parent_scope);
uint64_t sequence_len(struct definition_sequence *sequence);
struct definition *sequence_index(struct definition_sequence *sequence, uint64_t i);
struct declaration_scope *parent_scope);
uint64_t sequence_len(struct definition_sequence *sequence);
struct definition *sequence_index(struct definition_sequence *sequence, uint64_t i);
-
void
sequence_rw(struct stream_pos *pos, struct definition *definition);
+
int
sequence_rw(struct stream_pos *pos, struct definition *definition);
/*
* in: path (dot separated), out: q (GArray of GQuark)
*/
void append_scope_path(const char *path, GArray *q);
/*
* in: path (dot separated), out: q (GArray of GQuark)
*/
void append_scope_path(const char *path, GArray *q);
-#endif /* _BABELTRACE_
declaration
S_H */
+#endif /* _BABELTRACE_
TYPE
S_H */
This page took
0.025065 seconds
and
4
git commands to generate.