]> pd.if.org Git - uuid/blobdiff - pduuid.h
remove unused variable from makefile
[uuid] / pduuid.h
index 77cbcc19cbd95824fffe1369be2f7159166a0dfc..36f7efab8d0df9bfb8c3ddecfab9405470bfdde4 100644 (file)
--- a/pduuid.h
+++ b/pduuid.h
@@ -3,10 +3,16 @@
 
 #include <stdint.h>
 
+#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 {
@@ -24,17 +29,26 @@ struct pd_uuid {
 typedef struct pd_uuid pd_uuid_t;
 
 int pd_uuid_init_state(struct pd_uuid_state *s);
+int pd_uuid_init(struct pd_uuid_state *s, int f);
 int pd_uuid_make_v1(struct pd_uuid_state *s, pd_uuid_t *uuid);
 int pd_uuid_make_v1mc(struct pd_uuid_state *s, pd_uuid_t *uuid);
 int pd_uuid_make_v4(struct pd_uuid_state *s, pd_uuid_t *uuid);
 int pd_uuid_make_v3(struct pd_uuid_state *s, pd_uuid_t *uuid, pd_uuid_t *ns, void *data, int len);
 int pd_uuid_make_v5(struct pd_uuid_state *s, pd_uuid_t *uuid, pd_uuid_t *ns, void *data, int len);
 
+int pd_uuid_copy(pd_uuid_t *src, pd_uuid_t *dst);
+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);
 
+pd_uuid_t pd_uuid_ns_x500;
+pd_uuid_t pd_uuid_ns_url;
+pd_uuid_t pd_uuid_ns_dns;
+pd_uuid_t pd_uuid_ns_oid;
 
 #endif