#define LTTNG_UUID_H
#include <common/macros.h>
+#include <stdbool.h>
/*
* Includes final \0.
#define UUID_STR_LEN 37
#define UUID_LEN 16
+typedef unsigned char lttng_uuid[UUID_LEN];
+
#ifdef LTTNG_HAVE_LIBUUID
#include <uuid/uuid.h>
* uuid_out is of len UUID_LEN.
*/
static inline
-int lttng_uuid_generate(unsigned char *uuid_out)
+int lttng_uuid_generate(lttng_uuid uuid_out)
{
uuid_generate(uuid_out);
return 0;
* uuid_out is of len UUID_LEN.
*/
static inline
-int lttng_uuid_generate(unsigned char *uuid_out)
+int lttng_uuid_generate(lttng_uuid uuid_out)
{
uint32_t status;
* Assumes uuid_str is at least UUID_STR_LEN byte long.
*/
LTTNG_HIDDEN
-void lttng_uuid_to_str(const unsigned char *uuid, char *uuid_str);
+void lttng_uuid_to_str(const lttng_uuid uuid, char *uuid_str);
+
+LTTNG_HIDDEN
+bool lttng_uuid_is_equal(const lttng_uuid a, const lttng_uuid b);
+
+LTTNG_HIDDEN
+bool lttng_uuid_is_nil(const lttng_uuid uuid);
+
+LTTNG_HIDDEN
+void lttng_uuid_copy(lttng_uuid dst, const lttng_uuid src);
#endif /* LTTNG_UUID_H */