X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fcompat%2Fuuid.h;h=a283ea42af5ca41a8456eefe52d123ee5810c98f;hp=35faf538875053ccc240ceb2253230d39cdf695e;hb=482b1157950e665c952ca8393e491fc9fc699157;hpb=d0b96690836f4b876096f3dc14801f8e25281a77 diff --git a/src/common/compat/uuid.h b/src/common/compat/uuid.h index 35faf5388..a283ea42a 100644 --- a/src/common/compat/uuid.h +++ b/src/common/compat/uuid.h @@ -23,13 +23,17 @@ #ifndef LTTNG_UUID_H #define LTTNG_UUID_H -#include +#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 @@ -37,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; @@ -51,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; @@ -66,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 */