source: Daodan/MinGW/include/wtypes.h@ 1051

Last change on this file since 1051 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

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