Initial bulk commit for "Git on MSys"
[msysgit/historical-msysgit.git] / mingw / include / wtypes.h
blob5192e1325da21b9b7c2518025402d566a4746ce4
1 #include <rpc.h>
2 #include <rpcndr.h>
4 #ifndef _WTYPES_H
5 #define _WTYPES_H
6 #if __GNUC__ >=3
7 #pragma GCC system_header
8 #endif
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
14 #define IID_NULL GUID_NULL
15 #define CLSID_NULL GUID_NULL
16 #define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt))
17 #define DECIMAL_NEG ((BYTE)0x80)
18 #ifdef NONAMELESSUNION
19 #define DECIMAL_SETZERO(d) {(d).DUMMYUNIONNAME2.Lo64=(d).Hi32=(d).DUMMYUNIONNAME.signscale=0;}
20 #else
21 #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
22 #endif
23 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x01
24 #define ROTFLAGS_ALLOWANYCLIENT 0x02
26 #ifndef __BLOB_T_DEFINED /* also in winsock2.h */
27 #define __BLOB_T_DEFINED
28 typedef struct _BLOB {
29 ULONG cbSize;
30 BYTE *pBlobData;
31 } BLOB,*PBLOB,*LPBLOB;
32 #endif
33 typedef enum tagDVASPECT {
34 DVASPECT_CONTENT=1,
35 DVASPECT_THUMBNAIL=2,
36 DVASPECT_ICON=4,
37 DVASPECT_DOCPRINT=8
38 } DVASPECT;
39 typedef enum tagDVASPECT2 {
40 DVASPECT_OPAQUE=16,
41 DVASPECT_TRANSPARENT=32
42 } DVASPECT2;
43 typedef enum tagSTATFLAG {
44 STATFLAG_DEFAULT=0,
45 STATFLAG_NONAME=1
46 } STATFLAG;
47 typedef enum tagMEMCTX {
48 MEMCTX_LOCAL=0,
49 MEMCTX_TASK,
50 MEMCTX_SHARED,
51 MEMCTX_MACSYSTEM,
52 MEMCTX_UNKNOWN=-1,
53 MEMCTX_SAME=-2
54 } MEMCTX;
55 typedef enum tagMSHCTX {
56 MSHCTX_LOCAL=0,
57 MSHCTX_NOSHAREDMEM,
58 MSHCTX_DIFFERENTMACHINE,
59 MSHCTX_INPROC,
60 MSHCTX_CROSSCTX
61 } MSHCTX;
62 typedef enum tagCLSCTX {
63 CLSCTX_INPROC_SERVER=1,CLSCTX_INPROC_HANDLER=2,CLSCTX_LOCAL_SERVER=4,
64 CLSCTX_INPROC_SERVER16=8,CLSCTX_REMOTE_SERVER=16
65 } CLSCTX;
66 typedef enum tagMSHLFLAGS {
67 MSHLFLAGS_NORMAL,MSHLFLAGS_TABLESTRONG,MSHLFLAGS_TABLEWEAK
68 } MSHLFLAGS;
69 typedef struct _FLAGGED_WORD_BLOB {
70 unsigned long fFlags;
71 unsigned long clSize;
72 unsigned short asData[1];
73 }FLAGGED_WORD_BLOB;
75 #ifndef OLE2ANSI
76 typedef WCHAR OLECHAR;
77 typedef LPWSTR LPOLESTR;
78 typedef LPCWSTR LPCOLESTR;
79 #define OLESTR(s) L##s
80 #else
81 typedef char OLECHAR;
82 typedef LPSTR LPOLESTR;
83 typedef LPCSTR LPCOLESTR;
84 #define OLESTR(s) s
85 #endif
86 typedef unsigned short VARTYPE;
87 typedef short VARIANT_BOOL;
88 typedef VARIANT_BOOL _VARIANT_BOOL;
89 #define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
90 #define VARIANT_FALSE ((VARIANT_BOOL)0)
91 typedef OLECHAR *BSTR;
92 typedef FLAGGED_WORD_BLOB *wireBSTR;
93 typedef BSTR *LPBSTR;
94 typedef LONG SCODE;
95 typedef void *HCONTEXT;
96 typedef union tagCY {
97 _ANONYMOUS_STRUCT struct {
98 unsigned long Lo;
99 long Hi;
100 }_STRUCT_NAME(s);
101 LONGLONG int64;
102 } CY;
103 typedef double DATE;
104 typedef struct tagBSTRBLOB {
105 ULONG cbSize;
106 PBYTE pData;
107 }BSTRBLOB;
108 typedef struct tagBSTRBLOB *LPBSTRBLOB;
109 typedef struct tagCLIPDATA {
110 ULONG cbSize;
111 long ulClipFmt;
112 PBYTE pClipData;
113 }CLIPDATA;
114 typedef enum tagSTGC {
115 STGC_DEFAULT,STGC_OVERWRITE,STGC_ONLYIFCURRENT,
116 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
117 }STGC;
118 typedef enum tagSTGMOVE {
119 STGMOVE_MOVE,STGMOVE_COPY,STGMOVE_SHALLOWCOPY
120 }STGMOVE;
121 enum VARENUM {
122 VT_EMPTY,VT_NULL,VT_I2,VT_I4,VT_R4,VT_R8,VT_CY,VT_DATE,VT_BSTR,VT_DISPATCH,
123 VT_ERROR,VT_BOOL,VT_VARIANT,VT_UNKNOWN,VT_DECIMAL,VT_I1=16,VT_UI1,VT_UI2,VT_UI4,VT_I8,
124 VT_UI8,VT_INT,VT_UINT,VT_VOID,VT_HRESULT,VT_PTR,VT_SAFEARRAY,VT_CARRAY,VT_USERDEFINED,
125 VT_LPSTR,VT_LPWSTR,VT_RECORD=36,VT_INT_PTR=37,VT_UINT_PTR=38,VT_FILETIME=64,VT_BLOB,VT_STREAM,VT_STORAGE,VT_STREAMED_OBJECT,
126 VT_STORED_OBJECT,VT_BLOB_OBJECT,VT_CF,VT_CLSID,VT_BSTR_BLOB=0xfff,VT_VECTOR=0x1000,
127 VT_ARRAY=0x2000,VT_BYREF=0x4000,VT_RESERVED=0x8000,VT_ILLEGAL= 0xffff,VT_ILLEGALMASKED=0xfff,
128 VT_TYPEMASK=0xfff
131 typedef struct _BYTE_SIZEDARR {
132 unsigned long clSize;
133 byte *pData;
134 }BYTE_SIZEDARR;
135 typedef struct _SHORT_SIZEDARR {
136 unsigned long clSize;
137 unsigned short *pData;
138 }WORD_SIZEDARR;
139 typedef struct _LONG_SIZEDARR {
140 unsigned long clSize;
141 unsigned long *pData;
142 }DWORD_SIZEDARR;
143 typedef struct _HYPER_SIZEDARR {
144 unsigned long clSize;
145 hyper *pData;
146 }HYPER_SIZEDARR;
147 typedef double DOUBLE;
148 typedef struct tagDEC {
149 USHORT wReserved;
150 _ANONYMOUS_UNION union {
151 _ANONYMOUS_STRUCT struct {
152 BYTE scale;
153 BYTE sign;
154 }_STRUCT_NAME(s);
155 USHORT signscale;
156 } DUMMYUNIONNAME;
157 ULONG Hi32;
158 _ANONYMOUS_UNION union {
159 _ANONYMOUS_STRUCT struct {
160 ULONG Lo32;
161 ULONG Mid32;
162 }_STRUCT_NAME(s2);
163 ULONGLONG Lo64;
164 } DUMMYUNIONNAME2;
165 } DECIMAL;
166 typedef void *HMETAFILEPICT;
167 #ifdef __cplusplus
169 #endif
170 #endif