Added stubs for CryptGenRandom(), CryptReleaseContext().
[wine/hacks.git] / include / wtypes.h
blob457a8ba1cd924c5940bfe97a8f5a1e5535ee9707
1 /*
2 * Defines the basic types used by COM interfaces.
3 */
5 #ifndef __WINE_WTYPES_H
6 #define __WINE_WTYPES_H
8 #include "basetsd.h"
9 #include "guiddef.h"
10 #include "rpc.h"
12 typedef WORD CLIPFORMAT, *LPCLIPFORMAT;
14 /* FIXME: does not belong here */
15 typedef CHAR OLECHAR16;
16 typedef LPSTR LPOLESTR16;
17 typedef LPCSTR LPCOLESTR16;
18 typedef OLECHAR16 *BSTR16;
19 typedef BSTR16 *LPBSTR16;
20 #define OLESTR16(x) x
22 typedef WCHAR OLECHAR;
23 typedef LPWSTR LPOLESTR;
24 typedef LPCWSTR LPCOLESTR;
25 typedef OLECHAR *BSTR;
26 typedef BSTR *LPBSTR;
28 #ifndef _DWORDLONG_
29 #define _DWORDLONG_
30 typedef __uint64 DWORDLONG, *PDWORDLONG;
31 #endif
33 #ifndef _ULONGLONG_
34 #define _ULONGLONG_
35 typedef __int64 LONGLONG, *PLONGLONG;
36 typedef __uint64 ULONGLONG, *PULONGLONG;
37 #endif
39 #define OLESTR(x) L##x
41 typedef enum tagDVASPECT
43 DVASPECT_CONTENT = 1,
44 DVASPECT_THUMBNAIL = 2,
45 DVASPECT_ICON = 4,
46 DVASPECT_DOCPRINT = 8
47 } DVASPECT;
49 typedef enum tagSTGC
51 STGC_DEFAULT = 0,
52 STGC_OVERWRITE = 1,
53 STGC_ONLYIFCURRENT = 2,
54 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
55 STGC_CONSOLIDATE = 8
56 } STGC;
58 typedef enum tagSTGMOVE
60 STGMOVE_MOVE = 0,
61 STGMOVE_COPY = 1,
62 STGMOVE_SHALLOWCOPY = 2
63 } STGMOVE;
66 typedef struct _COAUTHIDENTITY
68 USHORT* User;
69 ULONG UserLength;
70 USHORT* Domain;
71 ULONG DomainLength;
72 USHORT* Password;
73 ULONG PasswordLength;
74 ULONG Flags;
75 } COAUTHIDENTITY;
77 typedef struct _COAUTHINFO
79 DWORD dwAuthnSvc;
80 DWORD dwAuthzSvc;
81 LPWSTR pwszServerPrincName;
82 DWORD dwAuthnLevel;
83 DWORD dwImpersonationLevel;
84 COAUTHIDENTITY* pAuthIdentityData;
85 DWORD dwCapabilities;
86 } COAUTHINFO;
88 typedef struct _COSERVERINFO
90 DWORD dwReserved1;
91 LPWSTR pwszName;
92 COAUTHINFO* pAuthInfo;
93 DWORD dwReserved2;
94 } COSERVERINFO;
96 typedef enum tagCLSCTX
98 CLSCTX_INPROC_SERVER = 0x1,
99 CLSCTX_INPROC_HANDLER = 0x2,
100 CLSCTX_LOCAL_SERVER = 0x4,
101 CLSCTX_INPROC_SERVER16 = 0x8,
102 CLSCTX_REMOTE_SERVER = 0x10,
103 CLSCTX_INPROC_HANDLER16 = 0x20,
104 CLSCTX_INPROC_SERVERX86 = 0x40,
105 CLSCTX_INPROC_HANDLERX86 = 0x80,
106 CLSCTX_ESERVER_HANDLER = 0x100
107 } CLSCTX;
109 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
110 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
111 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
113 typedef enum tagMSHLFLAGS
115 MSHLFLAGS_NORMAL = 0,
116 MSHLFLAGS_TABLESTRONG = 1,
117 MSHLFLAGS_TABLEWEAK = 2,
118 MSHLFLAGS_NOPING = 4
119 } MSHLFLAGS;
121 typedef enum tagMSHCTX
123 MSHCTX_LOCAL = 0,
124 MSHCTX_NOSHAREDMEM = 1,
125 MSHCTX_DIFFERENTMACHINE = 2,
126 MSHCTX_INPROC = 3
127 } MSHCTX;
129 typedef unsigned short VARTYPE;
131 typedef ULONG PROPID;
133 #ifndef _tagBLOB_DEFINED
134 #define _tagBLOB_DEFINED
135 #define _BLOB_DEFINED
136 #define _LPBLOB_DEFINED
137 typedef struct tagBLOB
139 ULONG cbSize;
140 BYTE *pBlobData;
141 } BLOB, *LPBLOB;
142 #endif
144 #ifndef _tagCY_DEFINED
145 #define _tagCY_DEFINED
147 typedef union tagCY {
148 struct {
149 #ifdef BIG_ENDIAN
150 LONG Hi;
151 LONG Lo;
152 #else /* defined(BIG_ENDIAN) */
153 ULONG Lo;
154 LONG Hi;
155 #endif /* defined(BIG_ENDIAN) */
156 } DUMMYSTRUCTNAME;
157 LONGLONG int64;
158 } CY;
160 #endif /* _tagCY_DEFINED */
163 * 0 == FALSE and -1 == TRUE
165 #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
166 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
167 typedef short VARIANT_BOOL,_VARIANT_BOOL;
169 typedef struct tagCLIPDATA
171 ULONG cbSize;
172 long ulClipFmt;
173 BYTE *pClipData;
174 } CLIPDATA;
176 /* Macro to calculate the size of the above pClipData */
177 #define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
179 typedef LONG SCODE;
181 #ifndef _FILETIME_
182 #define _FILETIME_
183 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
184 typedef struct
186 DWORD dwLowDateTime;
187 DWORD dwHighDateTime;
188 } FILETIME, *LPFILETIME;
189 #endif /* _FILETIME_ */
191 #ifndef _SECURITY_DEFINED
192 #define _SECURITY_DEFINED
194 typedef struct {
195 BYTE Value[6];
196 } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
198 typedef struct _SID {
199 BYTE Revision;
200 BYTE SubAuthorityCount;
201 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
202 DWORD SubAuthority[1];
203 } SID,*PSID;
206 * ACL
209 typedef struct _ACL {
210 BYTE AclRevision;
211 BYTE Sbz1;
212 WORD AclSize;
213 WORD AceCount;
214 WORD Sbz2;
215 } ACL, *PACL;
217 typedef DWORD SECURITY_INFORMATION;
218 typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
219 typedef DWORD ACCESS_MASK, *PACCESS_MASK;
221 typedef PVOID PGENERIC_MAPPING;
223 /* The security descriptor structure */
224 typedef struct {
225 BYTE Revision;
226 BYTE Sbz1;
227 SECURITY_DESCRIPTOR_CONTROL Control;
228 PSID Owner;
229 PSID Group;
230 PACL Sacl;
231 PACL Dacl;
232 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
234 #endif /* _SECURITY_DEFINED */
236 #ifndef _ROTFLAGS_DEFINED
237 #define _ROTFLAGS_DEFINED
238 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
239 #define ROTFLAGS_ALLOWANYCLIENT 0x2
240 #endif /* !defined(_ROTFLAGS_DEFINED) */
242 #endif /* __WINE_WTYPES_H */