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