44typedef 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}
70void uuid_clear(uuid_t uu);
73int uuid_compare(
const uuid_t uu1,
const uuid_t uu2);
76void uuid_copy(uuid_t dst,
const uuid_t src);
79void uuid_generate(uuid_t out);
80void uuid_generate_random(uuid_t out);
81void uuid_generate_time(uuid_t out);
84int uuid_is_null(
const uuid_t uu);
87int uuid_parse(
const char *in, uuid_t uu);
90void uuid_unparse(
const uuid_t uu,
char *out);
91void uuid_unparse_lower(
const uuid_t uu,
char *out);
92void uuid_unparse_upper(
const uuid_t uu,
char *out);
95time_t uuid_time(
const uuid_t uu,
struct timeval *ret_tv);
96int uuid_type(
const uuid_t uu);
97int uuid_variant(
const uuid_t uu);