BCM WL 6.30.102.9 (r366174)
[tomato.git] / release / src-rt / linux / linux-2.6 / scripts / squashfs / lzma / C / Common / MyGuidDef.h
blob2cc8d1993e5f7f9a1247677b0e545ee8b18d4d78
1 // Common/MyGuidDef.h
3 #ifndef GUID_DEFINED
4 #define GUID_DEFINED
6 #include "Types.h"
8 typedef struct {
9 UInt32 Data1;
10 UInt16 Data2;
11 UInt16 Data3;
12 unsigned char Data4[8];
13 } GUID;
15 #ifdef __cplusplus
16 #define REFGUID const GUID &
17 #else
18 #define REFGUID const GUID *
19 #endif
21 #define REFCLSID REFGUID
22 #define REFIID REFGUID
24 #ifdef __cplusplus
25 inline bool operator==(REFGUID g1, REFGUID g2)
27 for (int i = 0; i < (int)sizeof(g1); i++)
28 if (((unsigned char *)&g1)[i] != ((unsigned char *)&g2)[i])
29 return false;
30 return true;
32 inline bool operator!=(REFGUID g1, REFGUID g2) { return !(g1 == g2); }
33 #endif
35 #ifdef __cplusplus
36 #define MY_EXTERN_C extern "C"
37 #else
38 #define MY_EXTERN_C extern
39 #endif
41 #endif // GUID_DEFINED
44 #ifdef DEFINE_GUID
45 #undef DEFINE_GUID
46 #endif
48 #ifdef INITGUID
49 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
50 MY_EXTERN_C const GUID name = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
51 #else
52 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
53 MY_EXTERN_C const GUID name
54 #endif