Port: Add Solaris libuuid compat
[babeltrace.git] / include / babeltrace / compat / uuid.h
index 2ce74670796506645c1527d48743e8f0f06d6a22..80e65260c25aa9dec772c2265f9120b89ce9f581 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef _BABELTRACE_UUID_H
-#define _BABELTRACE_UUID_H
+#ifndef _BABELTRACE_COMPAT_UUID_H
+#define _BABELTRACE_COMPAT_UUID_H
 
 /*
- * babeltrace/uuid.h
+ * babeltrace/compat/uuid.h
  *
  * Copyright (C) 2011   Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  *
@@ -41,6 +41,29 @@ int babeltrace_uuid_generate(unsigned char *uuid_out)
        return 0;
 }
 
+/* Sun's libuuid lacks const qualifiers */
+#if defined(__sun__)
+static inline
+int babeltrace_uuid_unparse(const unsigned char *uuid_in, char *str_out)
+{
+       uuid_unparse((unsigned char *) uuid_in, str_out);
+       return 0;
+}
+
+static inline
+int babeltrace_uuid_parse(const char *str_in, unsigned char *uuid_out)
+{
+       return uuid_parse((char *) str_in, uuid_out);
+}
+
+static inline
+int babeltrace_uuid_compare(const unsigned char *uuid_a,
+               const unsigned char *uuid_b)
+{
+       return uuid_compare((unsigned char *) uuid_a,
+               (unsigned char *) uuid_b);
+}
+#else
 static inline
 int babeltrace_uuid_unparse(const unsigned char *uuid_in, char *str_out)
 {
@@ -60,6 +83,7 @@ int babeltrace_uuid_compare(const unsigned char *uuid_a,
 {
        return uuid_compare(uuid_a, uuid_b);
 }
+#endif
 
 #elif defined(BABELTRACE_HAVE_LIBC_UUID)
 #include <uuid.h>
@@ -122,8 +146,16 @@ int babeltrace_uuid_compare(const unsigned char *uuid_a,
                return -1;
 }
 
+#elif defined(__MINGW32__)
+
+int babeltrace_uuid_generate(unsigned char *uuid_out);
+int babeltrace_uuid_unparse(const unsigned char *uuid_in, char *str_out);
+int babeltrace_uuid_parse(const char *str_in, unsigned char *uuid_out);
+int babeltrace_uuid_compare(const unsigned char *uuid_a,
+               const unsigned char *uuid_b);
+
 #else
 #error "Babeltrace needs to have a UUID generator configured."
 #endif
 
-#endif /* _BABELTRACE_UUID_H */
+#endif /* _BABELTRACE_COMPAT_UUID_H */
This page took 0.024472 seconds and 4 git commands to generate.