diff options
Diffstat (limited to 'winsup/w32api/include/wtypes.h')
-rw-r--r-- | winsup/w32api/include/wtypes.h | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/winsup/w32api/include/wtypes.h b/winsup/w32api/include/wtypes.h new file mode 100644 index 000000000..2222f91af --- /dev/null +++ b/winsup/w32api/include/wtypes.h @@ -0,0 +1,152 @@ +#ifndef _WTYPES_H +#define _WTYPES_H +#include <rpc.h> +#include <rpcndr.h> +#ifdef __cplusplus +extern "C" { +#endif + +#define IID_NULL GUID_NULL +#define CLSID_NULL GUID_NULL +#define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt)) +#define DECIMAL_NEG ((BYTE)0x80) +#define DECIMAL_SETZERO(d) {(dec).Lo64=(dec).Hi32=(dec).signscale=0;} +typedef struct _BLOB { + ULONG cbSize; + BYTE *pBlobData; +} BLOB; +typedef enum tagDVASPECT { + DVASPECT_CONTENT=1, + DVASPECT_THUMBNAIL=2, + DVASPECT_ICON=4, + DVASPECT_DOCPRINT=8 +} DVASPECT; +typedef enum tagDVASPECT2 { + DVASPECT_OPAQUE=16, + DVASPECT_TRANSPARENT=32 +} DVASPECT2; +typedef enum tagSTATFLAG { + STATFLAG_DEFAULT=0, + STATFLAG_NONAME=1 +} STATFLAG; +typedef enum tagMEMCTX { + MEMCTX_TASK=1, + MEMCTX_SHARED, + MEMCTX_MACSYSTEM, + MEMCTX_UNKNOWN=-1, + MEMCTX_SAME=-2 +} MEMCTX; +typedef enum tagMSHCTX { + MSHCTX_LOCAL, + MSHCTX_NOSHAREDMEM, + MSHCTX_DIFFERENTMACHINE, + MSHCTX_INPROC +} MSHCTX; +typedef +enum tagCLSCTX { + CLSCTX_INPROC_SERVER=1,CLSCTX_INPROC_HANDLER=2,CLSCTX_LOCAL_SERVER=4, + CLSCTX_INPROC_SERVER16=8,CLSCTX_REMOTE_SERVER=16 +} CLSCTX; +typedef enum tagMSHLFLAGS { + MSHLFLAGS_NORMAL,MSHLFLAGS_TABLESTRONG,MSHLFLAGS_TABLEWEAK +} MSHLFLAGS; +typedef struct _FLAGGED_WORD_BLOB { + unsigned long fFlags; + unsigned long clSize; + unsigned short asData[1]; +}FLAGGED_WORD_BLOB; + +#ifndef OLE2ANSI +typedef WCHAR OLECHAR; +typedef LPWSTR LPOLESTR; +typedef LPCWSTR LPCOLESTR; +#define OLESTR(s) L##s +#else +typedef char OLECHAR; +typedef LPSTR LPOLESTR; +typedef LPCSTR LPCOLESTR; +#define OLESTR(s) s +#endif +typedef unsigned short VARTYPE; +typedef short VARIANT_BOOL; +typedef VARIANT_BOOL _VARIANT_BOOL; +#define VARIANT_TRUE ((VARIANT_BOOL)0xffff) +#define VARIANT_FALSE ((VARIANT_BOOL)0) +typedef OLECHAR *BSTR; +typedef FLAGGED_WORD_BLOB *wireBSTR; +typedef BSTR *LPBSTR; +typedef LONG SCODE; +typedef void *HCONTEXT; +typedef union tagCY { + struct { + unsigned long Lo; + long Hi; + }_STRUCT_NAME(s); + LONGLONG int64; +} CY; +typedef double DATE; +typedef struct tagBSTRBLOB { + ULONG cbSize; + PBYTE pData; +}BSTRBLOB; +typedef struct tagBSTRBLOB *LPBSTRBLOB; +typedef struct tagCLIPDATA { + ULONG cbSize; + long ulClipFmt; + PBYTE pClipData; +}CLIPDATA; +typedef enum tagSTGC { + STGC_DEFAULT,STGC_OVERWRITE,STGC_ONLYIFCURRENT, + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE +}STGC; +typedef enum tagSTGMOVE { + STGMOVE_MOVE,STGMOVE_COPY,STGMOVE_SHALLOWCOPY +}STGMOVE; +enum VARENUM { + VT_EMPTY,VT_NULL,VT_I2,VT_I4,VT_R4,VT_R8,VT_CY,VT_DATE,VT_BSTR,VT_DISPATCH, + VT_ERROR,VT_BOOL,VT_VARIANT,VT_UNKNOWN,VT_DECIMAL,VT_I1=16,VT_UI1,VT_UI2,VT_UI4,VT_I8, + VT_UI8,VT_INT,VT_UINT,VT_VOID,VT_HRESULT,VT_PTR,VT_SAFEARRAY,VT_CARRAY,VT_USERDEFINED, + VT_LPSTR,VT_LPWSTR,VT_FILETIME=64,VT_BLOB,VT_STREAM,VT_STORAGE,VT_STREAMED_OBJECT, + VT_STORED_OBJECT,VT_BLOB_OBJECT,VT_CF,VT_CLSID,VT_BSTR_BLOB=0xfff,VT_VECTOR=0x1000, + VT_ARRAY=0x2000,VT_BYREF=0x4000,VT_RESERVED=0x8000,VT_ILLEGAL= 0xffff,VT_ILLEGALMASKED=0xfff, + VT_TYPEMASK=0xfff +}; +typedef struct _BYTE_SIZEDARR { + unsigned long clSize; + byte *pData; +}BYTE_SIZEDARR; +typedef struct _SHORT_SIZEDARR { + unsigned long clSize; + unsigned short *pData; +}WORD_SIZEDARR; +typedef struct _LONG_SIZEDARR { + unsigned long clSize; + unsigned long *pData; +}DWORD_SIZEDARR; +typedef struct _HYPER_SIZEDARR { + unsigned long clSize; + hyper *pData; +}HYPER_SIZEDARR; +typedef double DOUBLE; +typedef struct tagDEC { + USHORT wReserved; + union { + struct { + BYTE scale; + BYTE sign; + }_STRUCT_NAME(s); + USHORT signscale; + } DUMMYUNIONNAME; + ULONG Hi32; + union { + struct { + ULONG Lo32; + ULONG Mid32; + }_STRUCT_NAME(s2); + ULONGLONG Lo64; + } DUMMYUNIONNAME2; +} DECIMAL; +#ifdef __cplusplus +} +#endif +#endif |