-struct bt_ctf_event_class;
-struct bt_ctf_event;
-struct bt_ctf_field;
-struct bt_ctf_field_type;
-
-/*
- * bt_ctf_field_create: create an instance of a field.
- *
- * Allocate a new field of the type described by the bt_ctf_field_type
- * structure.The creation of a field sets its reference count to 1.
- *
- * @param type Field type to be instanciated.
- *
- * Returns an allocated field on success, NULL on error.
- */
-extern struct bt_ctf_field *bt_ctf_field_create(
- struct bt_ctf_field_type *type);
-
-/*
- * bt_ctf_field_structure_get_field: get a structure's field.
- *
- * Get the structure's field corresponding to the provided field name.
- * bt_put() must be called on the returned value.
- *
- * @param structure Structure field instance.
- * @param name Name of the field in the provided structure.
- *
- * Returns a field instance on success, NULL on error.
- */
-extern struct bt_ctf_field *bt_ctf_field_structure_get_field(
- struct bt_ctf_field *structure, const char *name);
-
-/*
- * bt_ctf_field_structure_get_field_by_index: get a structure's field by index.
- *
- * Get the structure's field corresponding to the provided field name.
- * bt_put() must be called on the returned value.
- * The indexes are the same as those provided for bt_ctf_field_type_structure.
- *
- * @param structure Structure field instance.
- * @param index Index of the field in the provided structure.
- *
- * Returns a field instance on success, NULL on error.
- */
-extern struct bt_ctf_field *bt_ctf_field_structure_get_field_by_index(
- struct bt_ctf_field *structure, int index);
-
-/*
- * bt_ctf_field_array_get_field: get an array's field at position "index".
- *
- * Return the array's field at position "index". bt_put() must be
- * called on the returned value.
- *
- * @param array Array field instance.
- * @param index Position of the array's desired element.
- *
- * Returns a field instance on success, NULL on error.
- */
-extern struct bt_ctf_field *bt_ctf_field_array_get_field(
- struct bt_ctf_field *array, uint64_t index);
-
-/*
- * bt_ctf_field_sequence_get_length: get a sequence's length.
- *
- * Get the sequence's length field.
- *
- * @param sequence Sequence field instance.
- *
- * Returns a field instance on success, NULL if a length was never set.
- */
-extern struct bt_ctf_field *bt_ctf_field_sequence_get_length(
- struct bt_ctf_field *sequence);
-
-/*
- * bt_ctf_field_sequence_set_length: set a sequence's length.
- *
- * Set the sequence's length field.
- *
- * @param sequence Sequence field instance.
- * @param length_field Unsigned integer field instance indicating the
- * sequence's length.
- *
- * Returns 0 on success, a negative value on error.
- */
-extern int bt_ctf_field_sequence_set_length(struct bt_ctf_field *sequence,
- struct bt_ctf_field *length_field);
-
-/*
- * bt_ctf_field_sequence_get_field: get a sequence's field at position "index".
- *
- * Return the sequence's field at position "index". The sequence's length must
- * have been set prior to calling this function using
- * bt_ctf_field_sequence_set_length().
- * bt_put() must be called on the returned value.
- *
- * @param array Sequence field instance.
- * @param index Position of the sequence's desired element.
- *
- * Returns a field instance on success, NULL on error.
- */
-extern struct bt_ctf_field *bt_ctf_field_sequence_get_field(
- struct bt_ctf_field *sequence, uint64_t index);
-
-/*
- * bt_ctf_field_variant_get_field: get a variant's selected field.
- *
- * Return the variant's selected field. The "tag" field is the selector enum
- * field. bt_put() must be called on the returned value.
- *
- * @param variant Variant field instance.
- * @param tag Selector enumeration field.
- *
- * Returns a field instance on success, NULL on error.
- */
-extern struct bt_ctf_field *bt_ctf_field_variant_get_field(
- struct bt_ctf_field *variant, struct bt_ctf_field *tag);