#ifndef L2SU_UUID_H_INCLUDED #define L2SU_UUID_H_INCLUDED #include #include /* A 128-bit GUID as specified by RFC 4122. * NOTE: halves[0] is the least significant half of the GUID. */ typedef union tag_uuid_t { uint8_t bytes[16]; uint64_t halves[2]; } uuid_t; #define UUID_NULL_INIT { { 0 } } #define UUID_STRLEN (36u) #define UUID_STRLEN_SHORT (32u) void l2_uuid_random(uuid_t *id); void l2_uuid_to_string(const uuid_t *id, char *out); void l2_uuid_to_string_short(const uuid_t *id, char *out); bool l2_uuid_from_string(uuid_t *id, const char *str); bool l2_uuid_from_string_short(uuid_t *id, const char *str); #endif /* include guard */