diff options
author | Philip Prindeville | 2017-09-05 11:19:26 +0200 |
---|---|---|
committer | Karel Zak | 2017-09-05 11:26:39 +0200 |
commit | 00476268870b01938800af9a5ca776695df13f5d (patch) | |
tree | b9fabc95e52e620c5ff2ac0892947c785e8ad4d8 /libuuid/src/uuid.h | |
parent | tests: update sfdisk wipe test (diff) | |
download | kernel-qcow2-util-linux-00476268870b01938800af9a5ca776695df13f5d.tar.gz kernel-qcow2-util-linux-00476268870b01938800af9a5ca776695df13f5d.tar.xz kernel-qcow2-util-linux-00476268870b01938800af9a5ca776695df13f5d.zip |
libuuid: add support for hash-based UUIDs
Adding V3 and V5 UUIDs per RFC-4122.
[kzak@redhat.com: - fix symbols file]
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libuuid/src/uuid.h')
-rw-r--r-- | libuuid/src/uuid.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libuuid/src/uuid.h b/libuuid/src/uuid.h index 30bd4c0e0..bf4e50063 100644 --- a/libuuid/src/uuid.h +++ b/libuuid/src/uuid.h @@ -49,9 +49,18 @@ typedef unsigned char uuid_t[16]; #define UUID_VARIANT_MICROSOFT 2 #define UUID_VARIANT_OTHER 3 +#define UUID_VARIANT_SHIFT 5 +#define UUID_VARIANT_MASK 0x7 + /* UUID Type definitions */ #define UUID_TYPE_DCE_TIME 1 +#define UUID_TYPE_DCE_SECURITY 2 +#define UUID_TYPE_DCE_MD5 3 #define UUID_TYPE_DCE_RANDOM 4 +#define UUID_TYPE_DCE_SHA1 5 + +#define UUID_TYPE_SHIFT 4 +#define UUID_TYPE_MASK 0xf /* Allow UUID constants to be defined */ #ifdef __GNUC__ @@ -81,6 +90,9 @@ extern void uuid_generate_random(uuid_t out); extern void uuid_generate_time(uuid_t out); extern int uuid_generate_time_safe(uuid_t out); +extern void uuid_generate_md5(uuid_t out, const uuid_t ns, const char *name, size_t len); +extern void uuid_generate_sha1(uuid_t out, const uuid_t ns, const char *name, size_t len); + /* isnull.c */ extern int uuid_is_null(const uuid_t uu); @@ -97,6 +109,9 @@ extern time_t uuid_time(const uuid_t uu, struct timeval *ret_tv); extern int uuid_type(const uuid_t uu); extern int uuid_variant(const uuid_t uu); +/* predefined.c */ +extern const uuid_t *uuid_get_template(const char *alias); + #ifdef __cplusplus } #endif |