wtypes.idl patch
Ove Kaaven
ovehk at ping.uio.no
Tue Dec 3 07:03:52 CST 2002
Enough types to parse oaidl.idl, it seems. Since the VARENUM type now gets
defined in wtypes.h, I commented it out of wine/obj_oleaut.h.
You need to regenerate wtypes.h (and it's best to apply my latest widl
patch first). Should regenerated .h files be part of submitted patches in
the future?
Log:
Ove Kaaven <ovek at transgaming.com>
Added more types to wtypes.idl.
Index: include/wtypes.idl
===================================================================
RCS file: /home/wine/wine/include/wtypes.idl,v
retrieving revision 1.3
diff -u -r1.3 wtypes.idl
--- include/wtypes.idl 30 Nov 2002 01:49:20 -0000 1.3
+++ include/wtypes.idl 3 Dec 2002 12:56:22 -0000
@@ -73,6 +73,12 @@
#define DECLARE_HANDLE(name) typedef void *name
#define DECLARE_WIREM_HANDLE(name) typedef [wire_marshal(wire##name)] void*name
+DECLARE_HANDLE(HMODULE);
+DECLARE_HANDLE(HINSTANCE);
+DECLARE_HANDLE(HRGN);
+DECLARE_HANDLE(HTASK);
+DECLARE_HANDLE(HKEY);
+
typedef double DATE;
typedef LONG HRESULT;
typedef DWORD LCID;
@@ -81,6 +87,14 @@
typedef __int64 LONGLONG;
typedef unsigned __int64 ULONGLONG;
+typedef struct _LARGE_INTEGER {
+ LONGLONG QuadPart;
+} LARGE_INTEGER;
+
+typedef struct _ULARGE_INTEGER {
+ ULONGLONG QuadPart;
+} ULARGE_INTEGER;
+
typedef struct _SID_IDENTIFIER_AUTHORITY {
UCHAR Value[6];
} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
@@ -115,6 +129,26 @@
cpp_quote("#endif /* winnt.h */")
+cpp_quote("#ifndef _PALETTEENTRY_DEFINED")
+cpp_quote("#define _PALETTEENTRY_DEFINED")
+typedef struct tagPALETTEENTRY {
+ BYTE peRed;
+ BYTE peGreen;
+ BYTE peBlue;
+ BYTE peFlags;
+} PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY;
+cpp_quote("#endif")
+
+cpp_quote("#ifndef _LOGPALETTE_DEFINED")
+cpp_quote("#define _LOGPALETTE_DEFINED")
+typedef struct tagLOGPALETTE
+{
+ WORD palVersion;
+ WORD palNumEntries;
+ [size_is(palNumEntries)] PALETTEENTRY palPalEntry[*];
+} LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
+cpp_quote("#endif")
+
cpp_quote("#ifndef _FILETIME_")
cpp_quote("#define _FILETIME_")
typedef struct _FILETIME {
@@ -168,8 +202,7 @@
cpp_quote("#define ROTFLAGS_ALLOWANYCLIENT 0x2")
cpp_quote("#endif")
-typedef enum tagCLSCTX
-{
+typedef enum tagCLSCTX {
CLSCTX_INPROC_SERVER = 0x1,
CLSCTX_INPROC_HANDLER = 0x2,
CLSCTX_LOCAL_SERVER = 0x4,
@@ -192,16 +225,14 @@
cpp_quote("#define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)")
cpp_quote("#define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)")
-typedef enum tagMSHLFLAGS
-{
+typedef enum tagMSHLFLAGS {
MSHLFLAGS_NORMAL = 0,
MSHLFLAGS_TABLESTRONG = 1,
MSHLFLAGS_TABLEWEAK = 2,
MSHLFLAGS_NOPING = 4
} MSHLFLAGS;
-typedef enum tagMSHCTX
-{
+typedef enum tagMSHCTX {
MSHCTX_LOCAL = 0,
MSHCTX_NOSHAREDMEM = 1,
MSHCTX_DIFFERENTMACHINE = 2,
@@ -217,6 +248,13 @@
} BYTE_BLOB;
typedef [unique] BYTE_BLOB *UP_BYTE_BLOB;
+typedef struct _FLAGGED_BYTE_BLOB {
+ unsigned long fFlags;
+ unsigned long clSize;
+ [size_is(clSize)] byte abData[];
+} FLAGGED_BYTE_BLOB;
+typedef [unique] FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
+
typedef struct _FLAGGED_WORD_BLOB {
unsigned long fFlags;
unsigned long clSize;
@@ -224,6 +262,26 @@
} FLAGGED_WORD_BLOB;
typedef [unique] FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
+typedef struct _BYTE_SIZEDARR {
+ unsigned long clSize;
+ [size_is(clSize)] byte *pData;
+} BYTE_SIZEDARR;
+
+typedef struct _SHORT_SIZEDARR {
+ unsigned long clSize;
+ [size_is(clSize)] unsigned short *pData;
+} WORD_SIZEDARR;
+
+typedef struct _LONG_SIZEDARR {
+ unsigned long clSize;
+ [size_is(clSize)] unsigned long *pData;
+} DWORD_SIZEDARR;
+
+typedef struct _HYPER_SIZEDARR {
+ unsigned long clSize;
+ [size_is(clSize)] hyper *pData;
+} HYPER_SIZEDARR;
+
/******************** GDI TYPES ********************/
const unsigned long WDT_INPROC_CALL = 0x48746457;
@@ -231,12 +289,26 @@
typedef union _userCLIPFORMAT switch(long fContext) u {
case WDT_INPROC_CALL: DWORD dwValue;
- case WDT_REMOTE_CALL: [string] WCHAR *pwszName;
+ case WDT_REMOTE_CALL: LPWSTR pwszName;
} userCLIPFORMAT;
typedef [unique] userCLIPFORMAT *wireCLIPFORMAT;
typedef [wire_marshal(wireCLIPFORMAT)] WORD CLIPFORMAT;
+typedef struct tagRemHGLOBAL {
+ long fNullHGlobal;
+ unsigned long cbData;
+ [size_is(cbData)] byte data[];
+} RemHGLOBAL;
+
+typedef union _userHGLOBAL switch(long fContext) u {
+ case WDT_INPROC_CALL: long hInproc;
+ case WDT_REMOTE_CALL: FLAGGED_BYTE_BLOB *hRemote;
+ default: long hGlobal;
+} userHGLOBAL;
+
+typedef [unique] userHGLOBAL *wireHGLOBAL;
+
typedef struct tagRemHMETAFILEPICT {
long mm;
long xExt;
@@ -268,7 +340,69 @@
typedef [unique] userHMETAFILEPICT *wireHMETAFILEPICT;
+typedef struct tagRemHENHMETAFILE {
+ unsigned long cbData;
+ [size_is(cbData)] byte data[];
+} RemHENHMETAFILE;
+
+typedef union _userHENHMETAFILE switch(long fContext) u {
+ case WDT_INPROC_CALL: long hInproc;
+ case WDT_REMOTE_CALL: BYTE_BLOB *hRemote;
+ default: long hGlobal;
+} userHENHMETAFILE;
+
+typedef [unique] userHENHMETAFILE *wireHENHMETAFILE;
+
+typedef struct tagRemHBITMAP
+{
+ unsigned long cbData;
+ [size_is(cbData)] byte data[];
+} RemHBITMAP;
+
+typedef struct _userBITMAP {
+ LONG bmType;
+ LONG bmWidth;
+ LONG bmHeight;
+ LONG bmWidthBytes;
+ WORD bmPlanes;
+ WORD bmBitsPixel;
+ ULONG cbSize;
+ [size_is(cbSize)] byte pBuffer[];
+} userBITMAP;
+
+typedef union _userHBITMAP switch(long fContext) u {
+ case WDT_INPROC_CALL: long hInproc;
+ case WDT_REMOTE_CALL: userBITMAP *hRemote;
+ default: long hGlobal;
+} userHBITMAP;
+
+typedef [unique] userHBITMAP *wireHBITMAP;
+
+typedef struct tagRemHPALETTE {
+ unsigned long cbData;
+ [size_is(cbData)] byte data[];
+} RemHPALETTE;
+
+typedef struct tagrpcLOGPALETTE {
+ WORD palVersion;
+ WORD palNumEntries;
+ [size_is(palNumEntries)] PALETTEENTRY palPalEntry[];
+} rpcLOGPALETTE;
+
+typedef union _userHPALETTE switch(long fContext) u {
+ case WDT_INPROC_CALL: long hInproc;
+ case WDT_REMOTE_CALL: rpcLOGPALETTE *hRemote;
+ default: long hGlobal;
+} userHPALETTE;
+
+typedef [unique] userHPALETTE *wireHPALETTE;
+
cpp_quote("#if 0")
+DECLARE_WIREM_HANDLE(HGLOBAL);
+typedef HGLOBAL HLOCAL;
+DECLARE_WIREM_HANDLE(HBITMAP);
+DECLARE_WIREM_HANDLE(HPALETTE);
+DECLARE_WIREM_HANDLE(HENHMETAFILE);
DECLARE_WIREM_HANDLE(HMETAFILE);
cpp_quote("#endif")
DECLARE_WIREM_HANDLE(HMETAFILEPICT);
@@ -287,39 +421,45 @@
cpp_quote("#if 0 /* guiddef.h */")
typedef GUID *LPGUID;
+
typedef GUID IID;
typedef IID *LPIID;
+typedef GUID CLSID;
+typedef CLSID *LPCLSID;
+
+typedef GUID FMTID;
+typedef FMTID *LPFMTID;
+
cpp_quote("#if 0") /* for IDL only (C/C++ defs are in guiddef.h) */
typedef GUID *REFGUID;
typedef IID *REFIID;
+typedef CLSID *REFCLSID;
+typedef FMTID *REFFMTID;
cpp_quote("#endif")
cpp_quote("#endif /* guiddef.h */")
/******************** MISC TYPES ********************/
-typedef enum tagDVASPECT
-{
+typedef enum tagDVASPECT {
DVASPECT_CONTENT = 1,
DVASPECT_THUMBNAIL = 2,
DVASPECT_ICON = 4,
DVASPECT_DOCPRINT = 8
} DVASPECT;
-typedef enum tagSTGC
-{
- STGC_DEFAULT = 0,
- STGC_OVERWRITE = 1,
+typedef enum tagSTGC {
+ STGC_DEFAULT = 0,
+ STGC_OVERWRITE = 1,
STGC_ONLYIFCURRENT = 2,
STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
- STGC_CONSOLIDATE = 8
+ STGC_CONSOLIDATE = 8
} STGC;
-typedef enum tagSTGMOVE
-{
- STGMOVE_MOVE = 0,
- STGMOVE_COPY = 1,
+typedef enum tagSTGMOVE {
+ STGMOVE_MOVE = 0,
+ STGMOVE_COPY = 1,
STGMOVE_SHALLOWCOPY = 2
} STGMOVE;
@@ -364,6 +504,11 @@
cpp_quote("#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)")
cpp_quote("#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)")
+typedef struct tagBSTRBLOB {
+ ULONG cbSize;
+ [size_is(cbSize)] BYTE *pData;
+} BSTRBLOB, *LPBSTRBLOB;
+
typedef struct tagBLOB {
ULONG cbSize;
[size_is(cbSize)] BYTE *pBlobData;
@@ -372,7 +517,7 @@
typedef struct tagCLIPDATA {
ULONG cbSize;
long ulClipFmt;
- [size_is(cbSize-4)] BYTE *pClipData;
+ [size_is(cbSize-sizeof(long))] BYTE *pClipData;
} CLIPDATA;
cpp_quote("#define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))")
@@ -381,6 +526,56 @@
/******************** VARTYPE ********************/
typedef unsigned short VARTYPE;
-/* FIXME: enum VARENUM */
+enum VARENUM {
+ VT_EMPTY = 0,
+ VT_NULL = 1,
+ VT_I2 = 2,
+ VT_I4 = 3,
+ VT_R4 = 4,
+ VT_R8 = 5,
+ VT_CY = 6,
+ VT_DATE = 7,
+ VT_BSTR = 8,
+ VT_DISPATCH = 9,
+ VT_ERROR = 10,
+ VT_BOOL = 11,
+ VT_VARIANT = 12,
+ VT_UNKNOWN = 13,
+ VT_DECIMAL = 14,
+ VT_I1 = 16,
+ VT_UI1 = 17,
+ VT_UI2 = 18,
+ VT_UI4 = 19,
+ VT_I8 = 20,
+ VT_UI8 = 21,
+ VT_INT = 22,
+ VT_UINT = 23,
+ VT_VOID = 24,
+ VT_HRESULT = 25,
+ VT_PTR = 26,
+ VT_SAFEARRAY = 27,
+ VT_CARRAY = 28,
+ VT_USERDEFINED = 29,
+ VT_LPSTR = 30,
+ VT_LPWSTR = 31,
+ VT_RECORD = 36,
+ VT_FILETIME = 64,
+ VT_BLOB = 65,
+ VT_STREAM = 66,
+ VT_STORAGE = 67,
+ VT_STREAMED_OBJECT = 68,
+ VT_STORED_OBJECT = 69,
+ VT_BLOB_OBJECT = 70,
+ VT_CF = 71,
+ VT_CLSID = 72,
+ VT_BSTR_BLOB = 0x0fff,
+ VT_VECTOR = 0x1000,
+ VT_ARRAY = 0x2000,
+ VT_BYREF = 0x4000,
+ VT_RESERVED = 0x8000,
+ VT_ILLEGAL = 0xffff,
+ VT_ILLEGALMASKED = 0x0fff,
+ VT_TYPEMASK = 0x0fff
+};
} /* interface IWinTypes */
Index: include/wine/obj_oleaut.h
===================================================================
RCS file: /home/wine/wine/include/wine/obj_oleaut.h,v
retrieving revision 1.34
diff -u -r1.34 obj_oleaut.h
--- include/wine/obj_oleaut.h 31 May 2002 23:06:50 -0000 1.34
+++ include/wine/obj_oleaut.h 3 Dec 2002 12:56:22 -0000
@@ -495,6 +495,7 @@
* Data types for Variants.
*/
+#if 0
enum VARENUM {
VT_EMPTY = 0,
VT_NULL = 1,
@@ -545,6 +546,7 @@
VT_ILLEGALMASKED = 0xfff,
VT_TYPEMASK = 0xfff
};
+#endif
/* the largest valide type
*/
More information about the wine-patches
mailing list