diff options
Diffstat (limited to 'libglusterfs/src/compat-uuid.h')
-rw-r--r-- | libglusterfs/src/compat-uuid.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/libglusterfs/src/compat-uuid.h b/libglusterfs/src/compat-uuid.h new file mode 100644 index 00000000000..4161b958508 --- /dev/null +++ b/libglusterfs/src/compat-uuid.h @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifndef _GF_UUID_H +#define _GF_UUID_H + +#if defined(HAVE_LIBUUID) /* Linux like libuuid.so */ + +#include <uuid.h> + +static inline void +gf_uuid_clear (uuid_t uuid) +{ + uuid_clear (uuid); +} + +static inline int +gf_uuid_compare (uuid_t u1, uuid_t u2) +{ + return uuid_compare (u1, u2); +} + +static inline void +gf_uuid_copy (uuid_t dst, uuid_t src) +{ + uuid_copy (dst, src); +} + +static inline void +gf_uuid_generate (uuid_t uuid) +{ + uuid_generate (uuid); +} + +static inline int +gf_uuid_is_null (uuid_t uuid) +{ + return uuid_is_null (uuid); +} + +static inline int +gf_uuid_parse (const char *in, uuid_t uuid) +{ + return uuid_parse (in, uuid); +} + +static inline void +gf_uuid_unparse (const uuid_t uuid, char *out) +{ + uuid_unparse (uuid, out); +} + +/* TODO: add more uuid APIs, use constructs like this: +#elif defined(__NetBSD__) * NetBSD libc * + +#include <string.h> + +static inline void +gf_uuid_clear (uuid_t uuid) +{ + memset (uuid, 0, sizeof (uuid_t)); +} + +*/ + +#else /* use bundled Linux like libuuid from contrib/uuid/ */ + +#include "uuid.h" + +#endif /* HAVE_UUID */ +#endif /* _GF_UUID_H */ |