| /* | |
| * Defines the basic types used by COM interfaces. | |
| */ | |
| #ifndef __WINE_WTYPES_H | |
| #define __WINE_WTYPES_H | |
| #include "basetsd.h" | |
| #include "guiddef.h" | |
| #include "rpc.h" | |
| #include "rpcndr.h" | |
| typedef void* HMETAFILEPICT; | |
| typedef WORD CLIPFORMAT, *LPCLIPFORMAT; | |
| /* FIXME: does not belong here */ | |
| typedef CHAR OLECHAR16; | |
| typedef LPSTR LPOLESTR16; | |
| typedef LPCSTR LPCOLESTR16; | |
| typedef OLECHAR16 *BSTR16; | |
| typedef BSTR16 *LPBSTR16; | |
| #define OLESTR16(x) x | |
| typedef WCHAR OLECHAR; | |
| typedef LPWSTR LPOLESTR; | |
| typedef LPCWSTR LPCOLESTR; | |
| typedef OLECHAR *BSTR; | |
| typedef BSTR *LPBSTR; | |
| #ifndef __WINE__ | |
| #define OLESTR(str) WINE_UNICODE_TEXT(str) | |
| #endif | |
| #ifndef _DWORDLONG_ | |
| #define _DWORDLONG_ | |
| typedef __uint64 DWORDLONG, *PDWORDLONG; | |
| #endif | |
| #ifndef _ULONGLONG_ | |
| #define _ULONGLONG_ | |
| typedef __int64 LONGLONG, *PLONGLONG; | |
| typedef __uint64 ULONGLONG, *PULONGLONG; | |
| #endif | |
| 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, | |
| STGC_ONLYIFCURRENT = 2, | |
| STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, | |
| STGC_CONSOLIDATE = 8 | |
| } STGC; | |
| typedef enum tagSTGMOVE | |
| { | |
| STGMOVE_MOVE = 0, | |
| STGMOVE_COPY = 1, | |
| STGMOVE_SHALLOWCOPY = 2 | |
| } STGMOVE; | |
| typedef struct _COAUTHIDENTITY | |
| { | |
| USHORT* User; | |
| ULONG UserLength; | |
| USHORT* Domain; | |
| ULONG DomainLength; | |
| USHORT* Password; | |
| ULONG PasswordLength; | |
| ULONG Flags; | |
| } COAUTHIDENTITY; | |
| typedef struct _COAUTHINFO | |
| { | |
| DWORD dwAuthnSvc; | |
| DWORD dwAuthzSvc; | |
| LPWSTR pwszServerPrincName; | |
| DWORD dwAuthnLevel; | |
| DWORD dwImpersonationLevel; | |
| COAUTHIDENTITY* pAuthIdentityData; | |
| DWORD dwCapabilities; | |
| } COAUTHINFO; | |
| typedef struct _COSERVERINFO | |
| { | |
| DWORD dwReserved1; | |
| LPWSTR pwszName; | |
| COAUTHINFO* pAuthInfo; | |
| DWORD dwReserved2; | |
| } COSERVERINFO; | |
| typedef enum tagCLSCTX | |
| { | |
| CLSCTX_INPROC_SERVER = 0x1, | |
| CLSCTX_INPROC_HANDLER = 0x2, | |
| CLSCTX_LOCAL_SERVER = 0x4, | |
| CLSCTX_INPROC_SERVER16 = 0x8, | |
| CLSCTX_REMOTE_SERVER = 0x10, | |
| CLSCTX_INPROC_HANDLER16 = 0x20, | |
| CLSCTX_INPROC_SERVERX86 = 0x40, | |
| CLSCTX_INPROC_HANDLERX86 = 0x80, | |
| CLSCTX_ESERVER_HANDLER = 0x100 | |
| } CLSCTX; | |
| #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER) | |
| #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER) | |
| #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER) | |
| typedef enum tagMSHLFLAGS | |
| { | |
| MSHLFLAGS_NORMAL = 0, | |
| MSHLFLAGS_TABLESTRONG = 1, | |
| MSHLFLAGS_TABLEWEAK = 2, | |
| MSHLFLAGS_NOPING = 4 | |
| } MSHLFLAGS; | |
| typedef enum tagMSHCTX | |
| { | |
| MSHCTX_LOCAL = 0, | |
| MSHCTX_NOSHAREDMEM = 1, | |
| MSHCTX_DIFFERENTMACHINE = 2, | |
| MSHCTX_INPROC = 3 | |
| } MSHCTX; | |
| typedef unsigned short VARTYPE; | |
| typedef ULONG PROPID; | |
| #ifndef _tagBLOB_DEFINED | |
| #define _tagBLOB_DEFINED | |
| #define _BLOB_DEFINED | |
| #define _LPBLOB_DEFINED | |
| typedef struct tagBLOB | |
| { | |
| ULONG cbSize; | |
| BYTE *pBlobData; | |
| } BLOB, *LPBLOB; | |
| #endif | |
| #ifndef _tagCY_DEFINED | |
| #define _tagCY_DEFINED | |
| typedef union tagCY { | |
| struct { | |
| #ifdef BIG_ENDIAN | |
| LONG Hi; | |
| LONG Lo; | |
| #else /* defined(BIG_ENDIAN) */ | |
| ULONG Lo; | |
| LONG Hi; | |
| #endif /* defined(BIG_ENDIAN) */ | |
| } DUMMYSTRUCTNAME; | |
| LONGLONG int64; | |
| } CY; | |
| #endif /* _tagCY_DEFINED */ | |
| typedef struct tagDEC { | |
| USHORT wReserved; | |
| union { | |
| struct { | |
| BYTE scale; | |
| BYTE sign; | |
| } DUMMYSTRUCTNAME1; | |
| USHORT signscale; | |
| } DUMMYUNIONNAME1; | |
| ULONG Hi32; | |
| union { | |
| struct { | |
| #ifdef BIG_ENDIAN | |
| ULONG Mid32; | |
| ULONG Lo32; | |
| #else /* defined(BIG_ENDIAN) */ | |
| ULONG Lo32; | |
| ULONG Mid32; | |
| #endif /* defined(BIG_ENDIAN) */ | |
| } DUMMYSTRUCTNAME2; | |
| ULONGLONG Lo64; | |
| } DUMMYUNIONNAME2; | |
| } DECIMAL; | |
| #define DECIMAL_NEG ((BYTE)0x80) | |
| #ifndef NONAMELESSUNION | |
| #define DECIMAL_SETZERO(d) \ | |
| do {(d).Lo64 = 0; (d).Hi32 = 0; (d).signscale = 0;} while (0) | |
| #else | |
| #define DECIMAL_SETZERO(d) \ | |
| do {(d).u2.Lo64 = 0; (d).Hi32 = 0; (d).u1.signscale = 0;} while (0) | |
| #endif | |
| /* | |
| * 0 == FALSE and -1 == TRUE | |
| */ | |
| #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF) | |
| #define VARIANT_FALSE ((VARIANT_BOOL)0x0000) | |
| typedef short VARIANT_BOOL,_VARIANT_BOOL; | |
| typedef struct tagCLIPDATA | |
| { | |
| ULONG cbSize; | |
| long ulClipFmt; | |
| BYTE *pClipData; | |
| } CLIPDATA; | |
| /* Macro to calculate the size of the above pClipData */ | |
| #define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) ) | |
| typedef LONG SCODE; | |
| #ifndef _FILETIME_ | |
| #define _FILETIME_ | |
| /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */ | |
| typedef struct | |
| { | |
| DWORD dwLowDateTime; | |
| DWORD dwHighDateTime; | |
| } FILETIME, *LPFILETIME; | |
| #endif /* _FILETIME_ */ | |
| #ifndef _SECURITY_DEFINED | |
| #define _SECURITY_DEFINED | |
| typedef struct { | |
| BYTE Value[6]; | |
| } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY; | |
| typedef struct _SID { | |
| BYTE Revision; | |
| BYTE SubAuthorityCount; | |
| SID_IDENTIFIER_AUTHORITY IdentifierAuthority; | |
| DWORD SubAuthority[1]; | |
| } SID,*PSID; | |
| /* | |
| * ACL | |
| */ | |
| typedef struct _ACL { | |
| BYTE AclRevision; | |
| BYTE Sbz1; | |
| WORD AclSize; | |
| WORD AceCount; | |
| WORD Sbz2; | |
| } ACL, *PACL; | |
| typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL; | |
| /* The security descriptor structure */ | |
| typedef struct { | |
| BYTE Revision; | |
| BYTE Sbz1; | |
| SECURITY_DESCRIPTOR_CONTROL Control; | |
| PSID Owner; | |
| PSID Group; | |
| PACL Sacl; | |
| PACL Dacl; | |
| } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR; | |
| #endif /* _SECURITY_DEFINED */ | |
| #ifndef _ROTFLAGS_DEFINED | |
| #define _ROTFLAGS_DEFINED | |
| #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1 | |
| #define ROTFLAGS_ALLOWANYCLIENT 0x2 | |
| #endif /* !defined(_ROTFLAGS_DEFINED) */ | |
| #endif /* __WINE_WTYPES_H */ |