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 ];
25 #ifndef DECLSPEC_SELECTANY
26 #define DECLSPEC_SELECTANY __declspec(selectany)
31 #define EXTERN_C extern "C"
33 #define EXTERN_C extern
43 #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 } }
45 #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 } }
48 #define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) EXTERN_C const GUID name
51 #define DEFINE_OLEGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
56 #ifndef __LPGUID_DEFINED__
57 #define __LPGUID_DEFINED__
61 #ifndef __LPCGUID_DEFINED__
62 #define __LPCGUID_DEFINED__
63 typedef const GUID
*LPCGUID
;
66 #ifndef __IID_DEFINED__
67 #define __IID_DEFINED__
71 #define IID_NULL GUID_NULL
72 #define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
74 typedef CLSID
*LPCLSID
;
75 #define CLSID_NULL GUID_NULL
76 #define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
78 typedef FMTID
*LPFMTID
;
79 #define FMTID_NULL GUID_NULL
80 #define IsEqualFMTID(rfmtid1,rfmtid2) IsEqualGUID(rfmtid1,rfmtid2)
85 #define __MIDL_CONST const
88 #ifndef _REFGUID_DEFINED
89 #define _REFGUID_DEFINED
91 #define REFGUID const GUID &
93 #define REFGUID const GUID *__MIDL_CONST
97 #ifndef _REFIID_DEFINED
98 #define _REFIID_DEFINED
100 #define REFIID const IID &
102 #define REFIID const IID *__MIDL_CONST
106 #ifndef _REFCLSID_DEFINED
107 #define _REFCLSID_DEFINED
109 #define REFCLSID const IID &
111 #define REFCLSID const IID *__MIDL_CONST
115 #ifndef _REFFMTID_DEFINED
116 #define _REFFMTID_DEFINED
118 #define REFFMTID const IID &
120 #define REFFMTID const IID *__MIDL_CONST
125 #ifndef _SYS_GUID_OPERATORS_
126 #define _SYS_GUID_OPERATORS_
130 __inline
int InlineIsEqualGUID(REFGUID rguid1
,REFGUID rguid2
) {
131 return (((unsigned long *) &rguid1
)[0]==((unsigned long *) &rguid2
)[0] && ((unsigned long *) &rguid1
)[1]==((unsigned long *) &rguid2
)[1] &&
132 ((unsigned long *) &rguid1
)[2]==((unsigned long *) &rguid2
)[2] && ((unsigned long *) &rguid1
)[3]==((unsigned long *) &rguid2
)[3]);
134 __inline
int IsEqualGUID(REFGUID rguid1
,REFGUID rguid2
) { return !memcmp(&rguid1
,&rguid2
,sizeof(GUID
)); }
136 #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])
137 #define IsEqualGUID(rguid1,rguid2) (!memcmp(rguid1,rguid2,sizeof(GUID)))
140 #ifdef __INLINE_ISEQUAL_GUID
142 #define IsEqualGUID(rguid1,rguid2) InlineIsEqualGUID(rguid1,rguid2)
145 #define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
146 #define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
148 #if !defined _SYS_GUID_OPERATOR_EQ_ && !defined _NO_SYS_GUID_OPERATOR_EQ_
149 #define _SYS_GUID_OPERATOR_EQ_
151 __inline
int operator==(REFGUID guidOne
,REFGUID guidOther
) { return IsEqualGUID(guidOne
,guidOther
); }
152 __inline
int operator!=(REFGUID guidOne
,REFGUID guidOther
) { return !(guidOne
==guidOther
); }