Add afsUUID_to_string() and afsUUID_from_string() utility functions, from

arla.
This commit is contained in:
Derrick Brashear 2002-06-22 05:26:52 +00:00 committed by Garry Zacheiss
parent 691edd4ea6
commit 664e4f6f0d

View File

@ -141,6 +141,64 @@ uuid_time_p_t time2; {
return (0);
}
/*
* Converts a string UUID to binary representation.
*/
int
afsUUID_from_string(const char *str, afsUUID *uuid)
{
unsigned int time_low, time_mid, time_hi_and_version;
unsigned int clock_seq_hi_and_reserved, clock_seq_low;
unsigned int node[6];
int i;
i = sscanf(str, "%08x-%04x-%04x-%02x-%02x-%02x%02x%02x%02x%02x%02x",
&time_low,
&time_mid,
&time_hi_and_version,
&clock_seq_hi_and_reserved,
&clock_seq_low,
&node[0], &node[1], &node[2], &node[3], &node[4], &node[5]);
if (i != 11)
return -1;
uuid->time_low = time_low;
uuid->time_mid = time_mid;
uuid->time_hi_and_version = time_hi_and_version;
uuid->clock_seq_hi_and_reserved = clock_seq_hi_and_reserved;
uuid->clock_seq_low = clock_seq_low;
for (i = 0; i < 6; i++)
uuid->node[i] = node[i];
return 0;
}
/*
* Converts a UUID from binary representation to a string representation.
*/
int
afsUUID_to_string(const afsUUID *uuid, char *str, size_t strsz)
{
snprintf(str, strsz,
"%08x-%04x-%04x-%02x-%02x-%02x%02x%02x%02x%02x%02x",
uuid->time_low,
uuid->time_mid,
uuid->time_hi_and_version,
(unsigned char)uuid->clock_seq_hi_and_reserved,
(unsigned char)uuid->clock_seq_low,
(unsigned char)uuid->node[0],
(unsigned char)uuid->node[1],
(unsigned char)uuid->node[2],
(unsigned char)uuid->node[3],
(unsigned char)uuid->node[4],
(unsigned char)uuid->node[5]);
return 0;
}
afs_int32 afs_uuid_create (uuid)
afsUUID *uuid; {
uuid_address_t eaddr;