X-Git-Url: https://pd.if.org/git/?p=uuid;a=blobdiff_plain;f=pduuid.h;h=36f7efab8d0df9bfb8c3ddecfab9405470bfdde4;hp=14ad6daf1dfb4d81f4e541ee51303b490ac08669;hb=2cf15043eba6ed7b16526145dcf6a2b563b9712d;hpb=a8c8ac860fcc5ff1af94f42432cdc9636a8de779 diff --git a/pduuid.h b/pduuid.h index 14ad6da..36f7efa 100644 --- a/pduuid.h +++ b/pduuid.h @@ -3,10 +3,16 @@ #include +#define PD_UUID_BINLEN 16 +#define PD_UUID_STRLEN 36 + struct pd_uuid_state { uint64_t timestamp, node; uint16_t clock_sequence; int available; + void *rng_state; + unsigned char uuid[16]; + int (*get_lock)(void *); int (*release_lock)(void *); void *lock_data; @@ -15,7 +21,6 @@ struct pd_uuid_state { /* TODO hook for a random number generator? */ unsigned long (*random_bytes)(void *out, unsigned long outlen, void *prng_state); - void *rng_state; }; struct pd_uuid { @@ -37,6 +42,7 @@ int pd_uuid_cmp(pd_uuid_t *a, pd_uuid_t *b); int pd_set_uuid_hash(pd_uuid_t *s, void *hash, int version); int pd_uuid_set_string(pd_uuid_t *uuid, char *s); +char *pd_uuid_get_string(pd_uuid_t *uuid, char *s); unsigned long pd_uuid_rng_get_bytes(unsigned char *out, unsigned long outlen);