+/**
+@name Properties functions
+@{
+*/
+
+/**
+@brief Returns the name of the CTF IR trace class \p trace_class.
+
+On success, \p trace_class remains the sole owner of the returned
+string. The returned string is valid as long as \p trace_class exists
+and is not modified.
+
+@param[in] trace_class Trace class of which to get the name.
+@returns Name of trace class \p trace_class, or
+ \c NULL if \p trace_class is unnamed or
+ on error.
+
+@prenotnull{trace_class}
+@postrefcountsame{trace_class}
+
+@sa bt_ctf_trace_set_name(): Sets the name of a given trace class.
+*/
+extern const char *bt_ctf_trace_get_name(struct bt_ctf_trace *trace_class);
+
+/**
+@brief Sets the name of the CTF IR trace class \p trace_class
+ to \p name.
+
+@param[in] trace_class Trace class of which to set the name.
+@param[in] name Name of the trace class (copied on success).
+@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_get_name(): Returns the name of a given trace class.
+*/
+extern int bt_ctf_trace_set_name(struct bt_ctf_trace *trace_class,
+ const char *name);
+
+/**
+@brief Returns the native byte order of the CTF IR trace class
+ \p trace_class.
+
+@param[in] trace_class Trace class of which to get the default byte
+ order.
+@returns Default byte order of \p trace_class,
+ or #BT_CTF_BYTE_ORDER_UNKNOWN on error.
+
+@prenotnull{trace_class}
+@postrefcountsame{trace_class}
+
+@sa bt_ctf_trace_set_native_byte_order(): Sets the native byte order of
+ a given trace class.
+*/
+extern enum bt_ctf_byte_order bt_ctf_trace_get_native_byte_order(
+ struct bt_ctf_trace *trace_class);
+
+/**
+@brief Sets the native byte order of the CTF IR trace class
+ \p trace_class to \p native_byte_order.
+
+\p native_byte_order \em must be one of:
+
+- #BT_CTF_BYTE_ORDER_LITTLE_ENDIAN
+- #BT_CTF_BYTE_ORDER_BIG_ENDIAN
+- #BT_CTF_BYTE_ORDER_NETWORK
+
+@param[in] trace_class Trace class of which to set the native byte
+ order.
+@param[in] native_byte_order Default byte order of the trace class.
+@returns 0 on success, or a negative value on error.
+
+@prenotnull{trace_class}
+@prehot{trace_class}
+@pre \p native_byte_order is either #BT_CTF_BYTE_ORDER_LITTLE_ENDIAN,
+ #BT_CTF_BYTE_ORDER_BIG_ENDIAN, or
+ #BT_CTF_BYTE_ORDER_NETWORK.
+@postrefcountsame{trace_class}
+
+@sa bt_ctf_trace_get_native_byte_order(): Returns the native byte order of a
+ given trace class.
+*/
+extern int bt_ctf_trace_set_native_byte_order(struct bt_ctf_trace *trace_class,
+ enum bt_ctf_byte_order native_byte_order);
+
+/**
+@brief Returns the UUID of the CTF IR trace class \p trace_class.
+
+On success, the return value is an array of 16 bytes.
+
+@param[in] trace_class Trace class of which to get the UUID.
+@returns UUID of trace class \p trace_class, or
+ \c NULL if \p trace_class has no UUID or on error.
+
+@prenotnull{trace_class}
+@postrefcountsame{trace_class}
+
+@sa bt_ctf_trace_set_uuid(): Sets the UUID of a given trace class.
+*/
+extern const unsigned char *bt_ctf_trace_get_uuid(
+ struct bt_ctf_trace *trace_class);
+
+/**
+@brief Sets the UUID of the CTF IR trace class \p trace_class to
+ \p uuid.
+
+\p uuid \em must be an array of 16 bytes.
+
+@param[in] trace_class Trace class of which to set the UUID.
+@param[in] uuid UUID of the \p trace_class (copied on
+ success).
+@returns 0 on success, or a negative value on error.
+
+@prenotnull{trace_class}
+@prenotnull{uuid}
+@prehot{trace_class}
+@pre \p uuid is an array of 16 bytes.
+@postrefcountsame{trace_class}
+
+@sa bt_ctf_trace_get_uuid(): Returns the UUID of a given trace class.
+*/
+extern int bt_ctf_trace_set_uuid(struct bt_ctf_trace *trace_class,
+ const unsigned char *uuid);
+
+/**
+@brief Returns the number of entries contained in the environment of
+ the CTF IR trace class \p trace_class.
+
+@param[in] trace_class Trace class of which to get the number
+ of environment entries.
+@returns Number of environment entries
+ contained in \p trace_class, or
+ a negative value on error.
+
+@prenotnull{trace_class}
+@postrefcountsame{trace_class}
+*/
+extern int64_t bt_ctf_trace_get_environment_field_count(
+ struct bt_ctf_trace *trace_class);
+
+/**
+@brief Returns the field name of the environment entry at index
+ \p index in the CTF IR trace class \p trace_class.
+
+On success, the returned string is valid as long as this trace class
+exists and is \em not modified. \p trace_class remains the sole owner of
+the returned string.
+
+@param[in] trace_class Trace class of which to get the name of the
+ environment entry at index \p index.
+@param[in] index Index of environment entry to find.
+@returns Name of the environment entry at index \p index
+ in \p trace_class, or \c NULL on error.
+
+@prenotnull{trace_class}
+@pre \p index is lesser than the number of environment entries in
+ \p trace_class (see bt_ctf_trace_get_environment_field_count()).
+@postrefcountsame{trace_class}
+
+@sa bt_ctf_trace_get_environment_field_value_by_index(): 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.
+@sa bt_ctf_trace_set_environment_field(): Sets the value of a trace
+ class's environment entry.
+*/
+extern const char *
+bt_ctf_trace_get_environment_field_name_by_index(
+ struct bt_ctf_trace *trace_class, uint64_t index);
+
+/**
+@brief Returns the value of the environment entry at index
+ \p index in the CTF IR trace class \p trace_class.
+
+@param[in] trace_class Trace class of which to get the value of the
+ environment entry at index \p index.
+@param[in] index Index of the environment entry to find.
+@returns Value of the environment entry at index \p index
+ in \p trace_class, or \c NULL on error.
+
+@prenotnull{trace_class}
+@pre \p index is lesser than the number of environment entries in
+ \p trace_class (see bt_ctf_trace_get_environment_field_count()).
+@postrefcountsame{trace_class}
+@postsuccessrefcountretinc
+
+@sa bt_ctf_trace_get_environment_field_value_by_name(): Finds a trace
+ class's environment entry by name.
+@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_index(struct bt_ctf_trace *trace_class,
+ uint64_t index);
+
+/**
+@brief Returns the value of the environment entry named \p name
+ in the CTF IR trace class \p trace_class.
+
+@param[in] trace_class Trace class of which to get the value of the
+ environment entry named \p name.
+@param[in] name Name of the environment entry to find.
+@returns Value of the environment entry named \p name
+ in \p trace_class, or \c NULL if there's no such
+ entry or on error.
+
+@prenotnull{trace_class}
+@prenotnull{name}
+@postrefcountsame{trace_class}
+@postsuccessrefcountretinc
+
+@sa bt_ctf_trace_get_environment_field_value_by_index(): 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_by_index(): 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.
+*/