2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
12 unsigned char Data4
[8 ];
20 #ifndef DECLSPEC_SELECTANY
21 #define DECLSPEC_SELECTANY __declspec(selectany)
26 #define EXTERN_C extern "C"
28 #define EXTERN_C extern
38 #define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) EXTERN_C const GUID DECLSPEC_SELECTANY name = { l,w1,w2,{ b1,b2,b3,b4,b5,b6,b7,b8 } }
40 #define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID DECLSPEC_SELECTANY name = { l,w1,w2,{ b1,b2,b3,b4,b5,b6,b7,b8 } }
43 #define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) EXTERN_C const GUID name
46 #define DEFINE_OLEGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
51 #ifndef __LPGUID_DEFINED__
52 #define __LPGUID_DEFINED__
56 #ifndef __LPCGUID_DEFINED__
57 #define __LPCGUID_DEFINED__
58 typedef const GUID
*LPCGUID
;
61 #ifndef __IID_DEFINED__
62 #define __IID_DEFINED__
66 #define IID_NULL GUID_NULL
67 #define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
69 typedef CLSID
*LPCLSID
;
70 #define CLSID_NULL GUID_NULL
71 #define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
73 typedef FMTID
*LPFMTID
;
74 #define FMTID_NULL GUID_NULL
75 #define IsEqualFMTID(rfmtid1,rfmtid2) IsEqualGUID(rfmtid1,rfmtid2)
80 #define __MIDL_CONST const
83 #ifndef _REFGUID_DEFINED
84 #define _REFGUID_DEFINED
86 #define REFGUID const GUID &
88 #define REFGUID const GUID *__MIDL_CONST
92 #ifndef _REFIID_DEFINED
93 #define _REFIID_DEFINED
95 #define REFIID const IID &
97 #define REFIID const IID *__MIDL_CONST
101 #ifndef _REFCLSID_DEFINED
102 #define _REFCLSID_DEFINED
104 #define REFCLSID const IID &
106 #define REFCLSID const IID *__MIDL_CONST
110 #ifndef _REFFMTID_DEFINED
111 #define _REFFMTID_DEFINED
113 #define REFFMTID const IID &
115 #define REFFMTID const IID *__MIDL_CONST
120 #ifndef _SYS_GUID_OPERATORS_
121 #define _SYS_GUID_OPERATORS_
125 __inline
int InlineIsEqualGUID(REFGUID rguid1
,REFGUID rguid2
) {
126 return (((unsigned long *) &rguid1
)[0]==((unsigned long *) &rguid2
)[0] && ((unsigned long *) &rguid1
)[1]==((unsigned long *) &rguid2
)[1] &&
127 ((unsigned long *) &rguid1
)[2]==((unsigned long *) &rguid2
)[2] && ((unsigned long *) &rguid1
)[3]==((unsigned long *) &rguid2
)[3]);
129 __inline
int IsEqualGUID(REFGUID rguid1
,REFGUID rguid2
) { return !memcmp(&rguid1
,&rguid2
,sizeof(GUID
)); }
131 #define InlineIsEqualGUID(rguid1,rguid2) (((unsigned long *) rguid1)[0]==((unsigned long *) rguid2)[0] && ((unsigned long *) rguid1)[1]==((unsigned long *) rguid2)[1] && ((unsigned long *) rguid1)[2]==((unsigned long *) rguid2)[2] && ((unsigned long *) rguid1)[3]==((unsigned long *) rguid2)[3])
132 #define IsEqualGUID(rguid1,rguid2) (!memcmp(rguid1,rguid2,sizeof(GUID)))
135 #ifdef __INLINE_ISEQUAL_GUID
137 #define IsEqualGUID(rguid1,rguid2) InlineIsEqualGUID(rguid1,rguid2)
140 #define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
141 #define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
143 #if !defined _SYS_GUID_OPERATOR_EQ_ && !defined _NO_SYS_GUID_OPERATOR_EQ_
144 #define _SYS_GUID_OPERATOR_EQ_
146 __inline
int operator==(REFGUID guidOne
,REFGUID guidOther
) { return IsEqualGUID(guidOne
,guidOther
); }
147 __inline
int operator!=(REFGUID guidOne
,REFGUID guidOther
) { return !(guidOne
==guidOther
); }