23 #define GLOBUS_UUID_TEXTLEN 36
25 #define GLOBUS_UUID_VERSION(uuid) ((uuid).binary.bytes[6] >> 4)
26 #define GLOBUS_UUID_VERSION_TIME 1
27 #define GLOBUS_UUID_VERSION_DCE 2
28 #define GLOBUS_UUID_VERSION_NAME 3
29 #define GLOBUS_UUID_VERSION_RANDOM 4
31 #define GLOBUS_UUID_MATCH(u1, u2) \
32 (memcmp((u1).binary.bytes, (u2).binary.bytes, 16) == 0)
38 uint16_t time_hi_and_version;
39 uint8_t clock_seq_hi_and_reserved;
40 uint8_t clock_seq_low;
42 } globus_uuid_fields_t;
50 globus_uuid_fields_t fields;
53 char text[GLOBUS_UUID_TEXTLEN + 1];
64 globus_uuid_t * uuid);
93 globus_uuid_fields_t * uuid_fields);
int globus_uuid_create(globus_uuid_t *uuid)
Create UUIDCreates a time based, Leach-Salz variant uuid, using the mac address when available...
Definition: globus_uuid.c:202
int globus_uuid_import(globus_uuid_t *uuid, const char *str)
Import a UUIDImport a string in the text UUID format into a globus_uuid_t value.
Definition: globus_uuid.c:270
int globus_uuid_fields(globus_uuid_t *uuid, globus_uuid_fields_t *uuid_fields)
Extract fields from UUIDCopy the fields from uuid to uuid_fields in host byte order.
Definition: globus_uuid.c:329
Thread-safe libc macros, function prototypes.