+@sa bt_ctf_trace_get_environment_field_value(): Finds a trace class's
+ environment entry by index.
+@sa bt_ctf_trace_set_environment_field(): Sets the value of a trace
+ class's environment entry.
+*/
+extern struct bt_value *
+bt_ctf_trace_get_environment_field_value_by_name(
+ struct bt_ctf_trace *trace_class, const char *name);
+
+/**
+@brief Sets the environment entry named \p name in the
+ CTF IR trace class \p trace_class to \p value.
+
+If an environment entry named \p name exists in \p trace_class, its
+value is first put, and then replaced by \p value.
+
+@param[in] trace_class Trace class of which to set the environment
+ entry.
+@param[in] name Name of the environment entry to set (copied
+ on success).
+@param[in] value Value of the environment entry named \p name.
+@returns 0 on success, or a negative value on error.
+
+@prenotnull{trace_class}
+@prenotnull{name}
+@prenotnull{value}
+@prehot{trace_class}
+@pre \p value is an
+ \link bt_value_integer_create() integer value object\endlink
+ or a
+ \link bt_value_string_create() string value object\endlink.
+@postrefcountsame{trace_class}
+@postsuccessrefcountinc{value}
+
+@sa bt_ctf_trace_get_environment_field_value(): Finds a trace class's
+ environment entry by index.
+@sa bt_ctf_trace_get_environment_field_value_by_name(): Finds a trace
+ class's environment entry by name.
+*/
+extern int bt_ctf_trace_set_environment_field(
+ struct bt_ctf_trace *trace_class, const char *name,
+ struct bt_value *value);
+
+/**
+@brief Sets the environment entry named \p name in the
+ CTF IR trace class \p trace_class to \p value.
+
+If an environment entry named \p name exists in \p trace_class, its
+value is first put, and then replaced by a new
+\link bt_value_integer_create() integer value object\endlink
+containing \p value.
+
+@param[in] trace_class Trace class of which to set the environment
+ entry.
+@param[in] name Name of the environment entry to set (copied
+ on success).
+@param[in] value Value of the environment entry named \p name.
+@returns 0 on success, or a negative value on error.
+
+@prenotnull{trace_class}
+@prenotnull{name}
+@prehot{trace_class}
+@postrefcountsame{trace_class}
+
+@sa bt_ctf_trace_set_environment_field(): Sets the value of a trace
+ class's environment entry.
+*/
+extern int bt_ctf_trace_set_environment_field_integer(
+ struct bt_ctf_trace *trace_class, const char *name,
+ int64_t value);
+
+/**
+@brief Sets the environment entry named \p name in the
+ CTF IR trace class \p trace_class to \p value.
+
+If an environment entry named \p name exists in \p trace_class, its
+value is first put, and then replaced by a new
+\link bt_value_string_create() string value object\endlink
+containing \p value.
+
+@param[in] trace_class Trace class of which to set the environment
+ entry.
+@param[in] name Name of the environment entry to set (copied
+ on success).
+@param[in] value Value of the environment entry named \p name
+ (copied on success).
+@returns 0 on success, or a negative value on error.
+
+@prenotnull{trace_class}
+@prenotnull{name}
+@prenotnull{value}
+@prehot{trace_class}
+@postrefcountsame{trace_class}
+
+@sa bt_ctf_trace_set_environment_field(): Sets the value of a trace
+ class's environment entry.
+*/
+extern int bt_ctf_trace_set_environment_field_string(
+ struct bt_ctf_trace *trace_class, const char *name,
+ const char *value);
+
+/** @} */
+
+/**
+@name Contained field types functions
+@{
+*/
+
+/**
+@brief Returns the packet header field type of the CTF IR trace class
+ \p trace_class.
+
+@param[in] trace_class Trace class of which to get the packet
+ header field type.
+@returns Packet header field type of \p trace_class,
+ or \c NULL on error.
+
+@prenotnull{trace_class}
+@postrefcountsame{trace_class}
+@postsuccessrefcountretinc
+
+@sa bt_ctf_trace_set_packet_header_type(): Sets the packet
+ header field type of a given trace class.
+*/
+extern struct bt_ctf_field_type *bt_ctf_trace_get_packet_header_type(
+ struct bt_ctf_trace *trace_class);
+
+/**
+@brief Sets the packet header field type of the CTF IR trace class
+ \p trace_class to \p packet_context_type.
+
+As of Babeltrace \btversion, \p packet_context_type \em must be a
+CTF IR structure field type object.
+
+@param[in] trace_class Trace class of which to set the packet
+ header field type.
+@param[in] packet_header_type Packet header field type.
+@returns 0 on success, or a negative value on error.
+
+@prenotnull{trace_class}
+@prenotnull{packet_header_type}
+@prehot{trace_class}
+@preisstructft{packet_header_type}
+@postrefcountsame{trace_class}
+@postsuccessrefcountinc{packet_header_type}
+
+@sa bt_ctf_trace_get_packet_header_type(): Returns the packet
+ header field type of a given trace class.
+*/
+extern int bt_ctf_trace_set_packet_header_type(struct bt_ctf_trace *trace_class,
+ struct bt_ctf_field_type *packet_header_type);
+
+/** @} */
+
+/**
+@name Clock class children functions
+@{
+*/
+
+/**
+@brief Returns the number of clock classes contained in the
+ CTF IR trace class \p trace_class.
+
+@param[in] trace_class Trace class of which to get the number
+ of children clock classes.
+@returns Number of children clock classes
+ contained in \p trace_class, or a negative
+ value on error.
+
+@prenotnull{trace_class}
+@postrefcountsame{trace_class}
+*/
+extern int bt_ctf_trace_get_clock_count(struct bt_ctf_trace *trace_class);
+
+/**
+@brief Returns the clock class at index \p index in the CTF IR trace
+ class \p trace_class.
+
+@param[in] trace_class Trace class of which to get the clock class.
+@param[in] index Index of the clock class to find.
+@returns Clock class at index \p index, or \c NULL
+ on error.
+
+@prenotnull{trace_class}
+@pre \p index is lesser than the number of clock classes contained in
+ the trace class \p trace_class (see
+ bt_ctf_trace_get_clock_count()).
+@postrefcountsame{trace_class}
+@postsuccessrefcountretinc
+
+@sa bt_ctf_trace_get_clock_by_name(): Finds a clock class by name.
+@sa bt_ctf_trace_add_clock(): Adds a clock class to a trace class.
+*/