* http://www.efficios.com/ctf
*/
+/* For bt_bool */
+#include <babeltrace/types.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <babeltrace/babeltrace-internal.h>
-#include <babeltrace/objects.h>
+/**
+@defgroup ctfirutils CTF IR utilities
+@ingroup ctfir
+@brief CTF IR utilities.
-/*
- * bt_ctf_validate_identifier: validate an identifier against the CTF spec.
- *
- * Validate that an identifier meets the CTF specification's restrictions on
- * identifiers. An identifier will be rejected if it is a keyword defined
- * in the CTF specification or if it does not meet any other requirement imposed
- * on identifiers.
- *
- * Note that this will not check whether or not the identifier clashes with
- * identifiers used in a given trace.
- *
- * Returns 0 if the identifier is valid, a negative value on error.
- */
-extern int bt_ctf_validate_identifier(const char *identifier);
+@code
+#include <babeltrace/ctf-ir/utils.h>
+@endcode
-BT_HIDDEN
-struct bt_object *bt_ctf_attributes_create(void);
+@file
+@brief CTF IR utilities functions.
+@sa ctfirutils
-BT_HIDDEN
-void bt_ctf_attributes_destroy(struct bt_object *attr_obj);
+@addtogroup ctfirutils
+@{
+*/
-BT_HIDDEN
-int bt_ctf_attributes_get_count(struct bt_object *attr_obj);
+/**
+@brief Returns whether or not the string \p identifier is a valid
+ identifier according to CTF.
-BT_HIDDEN
-const char *bt_ctf_attributes_get_field_name(struct bt_object *attr_obj,
- int index);
+This function returns a negative value if \p identifier is a CTF keyword
+or if it does not meet any other imposed requirement.
-BT_HIDDEN
-struct bt_object *bt_ctf_attributes_get_field_value(struct bt_object *attr_obj,
- int index);
+@param[in] identifier String to test.
+@returns #BT_TRUE if \p identifier is a valid CTF
+ identifier, or #BT_FALSE otherwise.
-BT_HIDDEN
-int bt_ctf_attributes_set_field_value(struct bt_object *attr_obj,
- const char *name, struct bt_object *value_obj);
+@prenotnull{identifier}
+*/
+extern bt_bool bt_identifier_is_valid(const char *identifier);
-BT_HIDDEN
-struct bt_object *bt_ctf_attributes_get_field_value_by_name(
- struct bt_object *attr_obj, const char *name);
+/** @} */
-BT_HIDDEN
-int bt_ctf_attributes_freeze(struct bt_object *attr_obj);
+/* Pre-2.0 CTF writer compatibility */
+extern int bt_ctf_validate_identifier(const char *identifier);
#ifdef __cplusplus
}