38 #include <sys/types.h> 44 typedef unsigned char uuid_t[16];
47 #define UUID_VARIANT_NCS 0 48 #define UUID_VARIANT_DCE 1 49 #define UUID_VARIANT_MICROSOFT 2 50 #define UUID_VARIANT_OTHER 3 53 #define UUID_TYPE_DCE_TIME 1 54 #define UUID_TYPE_DCE_RANDOM 4 58 #define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \ 59 static const uuid_t name __attribute__ ((unused)) = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15} 61 #define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \ 62 static const uuid_t name = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15} 70 void uuid_clear(uuid_t uu);
73 int uuid_compare(
const uuid_t uu1,
const uuid_t uu2);
76 void uuid_copy(uuid_t dst,
const uuid_t src);
79 void uuid_generate(uuid_t out);
80 void uuid_generate_random(uuid_t out);
81 void uuid_generate_time(uuid_t out);
84 int uuid_is_null(
const uuid_t uu);
87 int uuid_parse(
const char *in, uuid_t uu);
90 void uuid_unparse(
const uuid_t uu,
char *out);
91 void uuid_unparse_lower(
const uuid_t uu,
char *out);
92 void uuid_unparse_upper(
const uuid_t uu,
char *out);
95 time_t uuid_time(
const uuid_t uu,
struct timeval *ret_tv);
96 int uuid_type(
const uuid_t uu);
97 int uuid_variant(
const uuid_t uu);