drop svn:externals in the tree and add it locally.
[coreboot.git] / payloads / bayou / util / pbuilder / lzma / C / Common / MyGuidDef.h
diff --git a/payloads/bayou/util/pbuilder/lzma/C/Common/MyGuidDef.h b/payloads/bayou/util/pbuilder/lzma/C/Common/MyGuidDef.h
new file mode 100644 (file)
index 0000000..889ea41
--- /dev/null
@@ -0,0 +1,54 @@
+// Common/MyGuidDef.h\r
+\r
+#ifndef GUID_DEFINED\r
+#define GUID_DEFINED\r
+\r
+#include "Types.h"\r
+\r
+typedef struct {\r
+  UInt32 Data1;\r
+  UInt16 Data2;\r
+  UInt16 Data3;\r
+  unsigned char Data4[8];\r
+} GUID;\r
+\r
+#ifdef __cplusplus\r
+#define REFGUID const GUID &\r
+#else\r
+#define REFGUID const GUID *\r
+#endif\r
+\r
+#define REFCLSID REFGUID\r
+#define REFIID REFGUID\r
+\r
+#ifdef __cplusplus\r
+inline bool operator==(REFGUID g1, REFGUID g2)\r
+{ \r
+  for (int i = 0; i < (int)sizeof(g1); i++)\r
+    if (((const unsigned char *)&g1)[i] != ((const unsigned char *)&g2)[i])\r
+      return false;\r
+  return true;\r
+}\r
+inline bool operator!=(REFGUID g1, REFGUID g2) { return !(g1 == g2); }\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+  #define MY_EXTERN_C extern "C"\r
+#else\r
+  #define MY_EXTERN_C extern\r
+#endif\r
+\r
+#endif // GUID_DEFINED\r
+\r
+\r
+#ifdef DEFINE_GUID\r
+#undef DEFINE_GUID\r
+#endif\r
+\r
+#ifdef INITGUID\r
+  #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \\r
+    MY_EXTERN_C const GUID name = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }\r
+#else\r
+  #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \\r
+    MY_EXTERN_C const GUID name\r
+#endif\r