X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Ffields.h;h=a6250ed7ab7f1b10b3ede5ae0cdd1276a5fe0cc8;hb=53d65c1d23e2098901c411d670d87d40509c0f9f;hp=15468f4f014c5763ed091710f3afb15e7c27aafe;hpb=4d8ce03f185f10e7c7478a30ec92e9226409f19a;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/fields.h b/include/babeltrace/ctf-ir/fields.h index 15468f4f..a6250ed7 100644 --- a/include/babeltrace/ctf-ir/fields.h +++ b/include/babeltrace/ctf-ir/fields.h @@ -32,13 +32,16 @@ #include #include -#include + +/* For bt_bool */ #include #ifdef __cplusplus extern "C" { #endif +struct bt_ctf_field_type; + /** @defgroup ctfirfields CTF IR fields @ingroup ctfir @@ -213,7 +216,13 @@ extern struct bt_ctf_field_type *bt_ctf_field_get_type( @sa bt_ctf_field_is_variant(): Returns whether or not a given field is a @varfield. */ -extern enum bt_ctf_field_type_id bt_ctf_field_get_type_id(struct bt_ctf_field *field); +extern enum bt_ctf_field_type_id bt_ctf_field_get_type_id( + struct bt_ctf_field *field); + + +extern bt_bool bt_ctf_field_is_set(struct bt_ctf_field *field); + +extern int bt_ctf_field_reset(struct bt_ctf_field *field); /* * bt_ctf_field_signed_integer_get_value: get a signed integer field's value @@ -901,8 +910,9 @@ extern struct bt_ctf_field *bt_ctf_field_structure_get_field_by_index( @brief Sets the field of the @structfield \p struct_field named \p name to the @field \p field. -If \p struct_field already contains a field named \p name, then its -reference count is decremented, and \p field replaces it. +If \p struct_field already contains a field named \p name, then it may +either be replaced by \p field and its reference count is decremented, +or \p field's value is assigned to it. The field type of \p field, as returned by bt_ctf_field_get_type(), \em must be equivalent to the field type returned by @@ -927,9 +937,8 @@ bt_ctf_trace_get_packet_header_type() for the parent trace class of bt_ctf_field_type_structure_get_field_type_by_name() for the field type of \p struct_field with the name \p name. @postrefcountsame{struct_field} -@post On success, if there's an existing field in - \p struct_field named \p name, its reference count is - decremented. +@post On success, the field in \p struct_field named \p name + may either be replaced by \p field or have the same value as \p field. @postsuccessrefcountinc{field} @sa bt_ctf_field_structure_get_field_by_index(): Returns the field of a