X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fcompat%2Fuuid.h;h=a283ea42af5ca41a8456eefe52d123ee5810c98f;hb=41066401b61b30ba9718a56e2fe87713a8e2fb71;hp=4a71f16c8af1cbb6a5d3d8dd46e470f5f861329d;hpb=890d8fe47755c3bad936389cf48ffa141cff41c9;p=lttng-tools.git diff --git a/src/common/compat/uuid.h b/src/common/compat/uuid.h index 4a71f16c8..a283ea42a 100644 --- a/src/common/compat/uuid.h +++ b/src/common/compat/uuid.h @@ -23,12 +23,17 @@ #ifndef LTTNG_UUID_H #define LTTNG_UUID_H +#include +#include + /* * Includes final \0. */ #define UUID_STR_LEN 37 #define UUID_LEN 16 +typedef unsigned char lttng_uuid[UUID_LEN]; + #ifdef LTTNG_HAVE_LIBUUID #include @@ -36,7 +41,7 @@ * 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; @@ -50,7 +55,7 @@ int lttng_uuid_generate(unsigned char *uuid_out) * 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; @@ -65,4 +70,22 @@ int lttng_uuid_generate(unsigned char *uuid_out) #error "LTTng-Tools needs to have a UUID generator configured." #endif +/* + * Convert a UUID to a human-readable, NULL-terminated, string of the form + * xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. + * + * Assumes uuid_str is at least UUID_STR_LEN byte long. + */ +LTTNG_HIDDEN +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 */