Teach winegcc to produce executables directly from a bunch of source files.
[wine/hacks.git] / include / wtypes.h
blob0b505757a45a6c91d8c3736582353134b1631e06
1 /*** Autogenerated by WIDL 0.1 from wtypes.idl - Do not edit ***/
2 #include "rpc.h"
3 #include "rpcndr.h"
5 #ifndef __WIDL_WTYPES_H
6 #define __WIDL_WTYPES_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include "basetsd.h"
11 #include "guiddef.h"
12 #if 0 /* winnt.h */
13 typedef unsigned char BYTE;
15 typedef unsigned short WORD;
17 typedef unsigned long DWORD;
19 typedef long BOOL;
21 typedef unsigned char UCHAR;
23 typedef int INT;
25 typedef unsigned int UINT;
27 typedef short SHORT;
29 typedef unsigned short USHORT;
31 typedef long LONG;
33 typedef unsigned long ULONG;
35 typedef float FLOAT;
37 typedef double DOUBLE;
39 typedef void *PVOID, *LPVOID;
41 typedef char CHAR;
43 typedef CHAR *LPSTR;
45 typedef const CHAR *LPCSTR;
47 typedef wchar_t WCHAR;
49 typedef WCHAR *LPWSTR;
51 typedef const WCHAR *LPCWSTR;
53 typedef boolean BOOLEAN;
55 typedef void *HANDLE;
57 typedef void *HMODULE;
59 typedef void *HINSTANCE;
61 typedef void *HRGN;
63 typedef void *HTASK;
65 typedef void *HKEY;
67 typedef double DATE;
69 typedef LONG HRESULT;
71 typedef DWORD LCID;
73 typedef unsigned __int64 DWORDLONG;
75 typedef __int64 LONGLONG;
77 typedef unsigned __int64 ULONGLONG;
79 typedef struct _LARGE_INTEGER {
80 LONGLONG QuadPart;
81 } LARGE_INTEGER;
83 typedef struct _ULARGE_INTEGER {
84 ULONGLONG QuadPart;
85 } ULARGE_INTEGER;
87 typedef struct _SID_IDENTIFIER_AUTHORITY {
88 UCHAR Value[6];
89 } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
91 typedef struct _SID {
92 UCHAR Revision;
93 UCHAR SubAuthorityCount;
94 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
95 ULONG SubAuthority[1];
96 } SID, *PSID;
98 typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
100 typedef struct _ACL {
101 UCHAR AclRevision;
102 UCHAR Sbz1;
103 USHORT AclSize;
104 USHORT AceCount;
105 USHORT Sbz2;
106 } ACL;
108 typedef ACL *PACL;
110 typedef struct _SECURITY_DESCRIPTOR {
111 UCHAR Revision;
112 UCHAR Sbz1;
113 SECURITY_DESCRIPTOR_CONTROL Control;
114 PSID Owner;
115 PSID Group;
116 PACL Sacl;
117 PACL Dacl;
118 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
120 #endif /* winnt.h */
121 #ifndef _PALETTEENTRY_DEFINED
122 #define _PALETTEENTRY_DEFINED
123 typedef struct tagPALETTEENTRY {
124 BYTE peRed;
125 BYTE peGreen;
126 BYTE peBlue;
127 BYTE peFlags;
128 } PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY;
130 #endif
131 #ifndef _LOGPALETTE_DEFINED
132 #define _LOGPALETTE_DEFINED
133 typedef struct tagLOGPALETTE {
134 WORD palVersion;
135 WORD palNumEntries;
136 PALETTEENTRY palPalEntry[1];
137 } LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
139 #endif
140 #ifndef _FILETIME_
141 #define _FILETIME_
142 typedef struct _FILETIME {
143 DWORD dwLowDateTime;
144 DWORD dwHighDateTime;
145 } FILETIME, *PFILETIME, *LPFILETIME;
147 #endif
148 typedef WCHAR OLECHAR;
150 typedef OLECHAR *LPOLESTR;
152 typedef const OLECHAR *LPCOLESTR;
154 #ifndef __WINESRC__
155 #define OLESTR(str) WINE_UNICODE_TEXT(str)
156 #endif
157 typedef CHAR OLECHAR16;
159 typedef LPSTR LPOLESTR16;
161 typedef LPCSTR LPCOLESTR16;
163 typedef OLECHAR16 *BSTR16;
164 typedef BSTR16 *LPBSTR16;
165 #define OLESTR16(x) x
166 typedef LONG SCODE;
168 typedef struct _COAUTHIDENTITY {
169 USHORT *User;
170 ULONG UserLength;
171 USHORT *Domain;
172 ULONG DomainLength;
173 USHORT *Password;
174 ULONG PasswordLength;
175 ULONG Flags;
176 } COAUTHIDENTITY;
178 typedef struct _COAUTHINFO {
179 DWORD dwAuthnSvc;
180 DWORD dwAuthzSvc;
181 LPWSTR pwszServerPrincName;
182 DWORD dwAuthnLevel;
183 DWORD dwImpersonationLevel;
184 COAUTHIDENTITY *pAuthIdentityData;
185 DWORD dwCapabilities;
186 } COAUTHINFO;
188 typedef struct _COSERVERINFO {
189 DWORD dwReserved1;
190 LPWSTR pwszName;
191 COAUTHINFO *pAuthInfo;
192 DWORD dwReserved2;
193 } COSERVERINFO;
195 typedef enum tagMEMCTX {
196 MEMCTX_TASK = 1,
197 MEMCTX_SHARED = 2,
198 MEMCTX_MACSYSTEM = 3,
199 MEMCTX_UNKNOWN = -1,
200 MEMCTX_SAME = -2
201 } MEMCTX;
203 #ifndef _ROTFLAGS_DEFINED
204 #define _ROTFLAGS_DEFINED
205 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
206 #define ROTFLAGS_ALLOWANYCLIENT 0x2
207 #endif
208 typedef enum tagCLSCTX {
209 CLSCTX_INPROC_SERVER = 0x1,
210 CLSCTX_INPROC_HANDLER = 0x2,
211 CLSCTX_LOCAL_SERVER = 0x4,
212 CLSCTX_INPROC_SERVER16 = 0x8,
213 CLSCTX_REMOTE_SERVER = 0x10,
214 CLSCTX_INPROC_HANDLER16 = 0x20,
215 CLSCTX_INPROC_SERVERX86 = 0x40,
216 CLSCTX_INPROC_HANDLERX86 = 0x80,
217 CLSCTX_ESERVER_HANDLER = 0x100,
218 CLSCTX_NO_CODE_DOWNLOAD = 0x400,
219 CLSCTX_NO_CUSTOM_MARSHAL = 0x1000,
220 CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000,
221 CLSCTX_NO_FAILURE_LOG = 0x4000,
222 CLSCTX_DISABLE_AAA = 0x8000,
223 CLSCTX_ENABLE_AAA = 0x10000,
224 CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000
225 } CLSCTX;
227 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
228 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
229 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
230 typedef enum tagMSHLFLAGS {
231 MSHLFLAGS_NORMAL = 0,
232 MSHLFLAGS_TABLESTRONG = 1,
233 MSHLFLAGS_TABLEWEAK = 2,
234 MSHLFLAGS_NOPING = 4
235 } MSHLFLAGS;
237 typedef enum tagMSHCTX {
238 MSHCTX_LOCAL = 0,
239 MSHCTX_NOSHAREDMEM = 1,
240 MSHCTX_DIFFERENTMACHINE = 2,
241 MSHCTX_INPROC = 3,
242 MSHCTX_CROSSCTX = 4
243 } MSHCTX;
245 typedef struct _BYTE_BLOB {
246 unsigned long clSize;
247 byte abData[1];
248 } BYTE_BLOB;
250 typedef BYTE_BLOB *UP_BYTE_BLOB;
252 typedef struct _FLAGGED_BYTE_BLOB {
253 unsigned long fFlags;
254 unsigned long clSize;
255 byte abData[1];
256 } FLAGGED_BYTE_BLOB;
258 typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
260 typedef struct _FLAGGED_WORD_BLOB {
261 unsigned long fFlags;
262 unsigned long clSize;
263 unsigned short asData[1];
264 } FLAGGED_WORD_BLOB;
266 typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
268 typedef struct _BYTE_SIZEDARR {
269 unsigned long clSize;
270 byte *pData;
271 } BYTE_SIZEDARR;
273 typedef struct _SHORT_SIZEDARR {
274 unsigned long clSize;
275 unsigned short *pData;
276 } WORD_SIZEDARR;
278 typedef struct _LONG_SIZEDARR {
279 unsigned long clSize;
280 unsigned long *pData;
281 } DWORD_SIZEDARR;
283 typedef struct _HYPER_SIZEDARR {
284 unsigned long clSize;
285 hyper *pData;
286 } HYPER_SIZEDARR;
288 #define WDT_INPROC_CALL (0x48746457)
290 #define WDT_REMOTE_CALL (0x52746457)
292 typedef struct _userCLIPFORMAT {
293 long fContext;
294 union {
295 DWORD dwValue;
296 LPWSTR pwszName;
297 } u;
298 } userCLIPFORMAT;
300 typedef userCLIPFORMAT *wireCLIPFORMAT;
302 typedef WORD CLIPFORMAT;
304 typedef struct tagRemHGLOBAL {
305 long fNullHGlobal;
306 unsigned long cbData;
307 byte data[1];
308 } RemHGLOBAL;
310 typedef struct _userHGLOBAL {
311 long fContext;
312 union {
313 long hInproc;
314 FLAGGED_BYTE_BLOB *hRemote;
315 long hGlobal;
316 } u;
317 } userHGLOBAL;
319 typedef userHGLOBAL *wireHGLOBAL;
321 typedef struct tagRemHMETAFILEPICT {
322 long mm;
323 long xExt;
324 long yExt;
325 unsigned long cbData;
326 byte data[1];
327 } RemHMETAFILEPICT;
329 typedef struct _userHMETAFILE {
330 long fContext;
331 union {
332 long hInproc;
333 BYTE_BLOB *hRemote;
334 long hGlobal;
335 } u;
336 } userHMETAFILE;
338 typedef userHMETAFILE *wireHMETAFILE;
340 typedef struct _remoteMETAFILEPICT {
341 long mm;
342 long xExt;
343 long yExt;
344 userHMETAFILE *hMF;
345 } remoteMETAFILEPICT;
347 typedef struct _userHMETAFILEPICT {
348 long fContext;
349 union {
350 long hInproc;
351 remoteMETAFILEPICT *hRemote;
352 long hGlobal;
353 } u;
354 } userHMETAFILEPICT;
356 typedef userHMETAFILEPICT *wireHMETAFILEPICT;
358 typedef struct tagRemHENHMETAFILE {
359 unsigned long cbData;
360 byte data[1];
361 } RemHENHMETAFILE;
363 typedef struct _userHENHMETAFILE {
364 long fContext;
365 union {
366 long hInproc;
367 BYTE_BLOB *hRemote;
368 long hGlobal;
369 } u;
370 } userHENHMETAFILE;
372 typedef userHENHMETAFILE *wireHENHMETAFILE;
374 typedef struct tagRemHBITMAP {
375 unsigned long cbData;
376 byte data[1];
377 } RemHBITMAP;
379 typedef struct _userBITMAP {
380 LONG bmType;
381 LONG bmWidth;
382 LONG bmHeight;
383 LONG bmWidthBytes;
384 WORD bmPlanes;
385 WORD bmBitsPixel;
386 ULONG cbSize;
387 byte pBuffer[1];
388 } userBITMAP;
390 typedef struct _userHBITMAP {
391 long fContext;
392 union {
393 long hInproc;
394 userBITMAP *hRemote;
395 long hGlobal;
396 } u;
397 } userHBITMAP;
399 typedef userHBITMAP *wireHBITMAP;
401 typedef struct tagRemHPALETTE {
402 unsigned long cbData;
403 byte data[1];
404 } RemHPALETTE;
406 typedef struct tagrpcLOGPALETTE {
407 WORD palVersion;
408 WORD palNumEntries;
409 PALETTEENTRY palPalEntry[1];
410 } rpcLOGPALETTE;
412 typedef struct _userHPALETTE {
413 long fContext;
414 union {
415 long hInproc;
416 rpcLOGPALETTE *hRemote;
417 long hGlobal;
418 } u;
419 } userHPALETTE;
421 typedef userHPALETTE *wireHPALETTE;
423 #if 0
424 typedef void *HGLOBAL;
426 typedef HGLOBAL HLOCAL;
428 typedef void *HBITMAP;
430 typedef void *HPALETTE;
432 typedef void *HENHMETAFILE;
434 typedef void *HMETAFILE;
436 #endif
437 typedef void *HMETAFILEPICT;
439 #ifndef GUID_DEFINED
440 #define GUID_DEFINED
441 typedef struct _GUID {
442 DWORD Data1;
443 WORD Data2;
444 WORD Data3;
445 BYTE Data4[8];
446 } GUID;
448 #endif
449 #if 0 /* guiddef.h */
450 typedef GUID *LPGUID;
452 typedef GUID IID;
454 typedef IID *LPIID;
456 typedef GUID CLSID;
458 typedef CLSID *LPCLSID;
460 typedef GUID FMTID;
462 typedef FMTID *LPFMTID;
464 #if 0
465 typedef GUID *REFGUID;
467 typedef IID *REFIID;
469 typedef CLSID *REFCLSID;
471 typedef FMTID *REFFMTID;
473 #endif
474 #endif /* guiddef.h */
475 typedef enum tagDVASPECT {
476 DVASPECT_CONTENT = 1,
477 DVASPECT_THUMBNAIL = 2,
478 DVASPECT_ICON = 4,
479 DVASPECT_DOCPRINT = 8
480 } DVASPECT;
482 typedef enum tagSTGC {
483 STGC_DEFAULT = 0,
484 STGC_OVERWRITE = 1,
485 STGC_ONLYIFCURRENT = 2,
486 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
487 STGC_CONSOLIDATE = 8
488 } STGC;
490 typedef enum tagSTGMOVE {
491 STGMOVE_MOVE = 0,
492 STGMOVE_COPY = 1,
493 STGMOVE_SHALLOWCOPY = 2
494 } STGMOVE;
496 typedef enum tagSTATFLAG {
497 STATFLAG_DEFAULT = 0,
498 STATFLAG_NONAME = 1,
499 STATFLAG_NOOPEN = 2
500 } STATFLAG;
502 #if 0
503 typedef struct tagCY {
504 LONGLONG int64;
505 } CY;
507 #else
508 typedef union tagCY {
509 struct {
510 #ifdef WORDS_BIGENDIAN
511 LONG Hi;
512 ULONG Lo;
513 #else
514 ULONG Lo;
515 LONG Hi;
516 #endif
517 } DUMMYSTRUCTNAME;
518 LONGLONG int64;
519 } CY;
520 #endif
521 typedef CY *LPCY;
523 typedef struct tagDEC {
524 USHORT wReserved;
525 BYTE scale;
526 BYTE sign;
527 ULONG Hi32;
528 ULONGLONG Lo64;
529 } DECIMAL;
531 typedef DECIMAL *LPDECIMAL;
533 typedef FLAGGED_WORD_BLOB *wireBSTR;
535 typedef OLECHAR *BSTR;
537 typedef BSTR *LPBSTR;
539 typedef short VARIANT_BOOL;
541 typedef VARIANT_BOOL _VARIANT_BOOL;
543 #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
544 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
545 typedef struct tagBSTRBLOB {
546 ULONG cbSize;
547 BYTE *pData;
548 } BSTRBLOB, *LPBSTRBLOB;
550 typedef struct tagBLOB {
551 ULONG cbSize;
552 BYTE *pBlobData;
553 } BLOB, *LPBLOB;
555 typedef struct tagCLIPDATA {
556 ULONG cbSize;
557 long ulClipFmt;
558 BYTE *pClipData;
559 } CLIPDATA;
561 #define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))
562 typedef ULONG PROPID;
564 typedef unsigned short VARTYPE;
566 enum VARENUM {
567 VT_EMPTY = 0,
568 VT_NULL = 1,
569 VT_I2 = 2,
570 VT_I4 = 3,
571 VT_R4 = 4,
572 VT_R8 = 5,
573 VT_CY = 6,
574 VT_DATE = 7,
575 VT_BSTR = 8,
576 VT_DISPATCH = 9,
577 VT_ERROR = 10,
578 VT_BOOL = 11,
579 VT_VARIANT = 12,
580 VT_UNKNOWN = 13,
581 VT_DECIMAL = 14,
582 VT_I1 = 16,
583 VT_UI1 = 17,
584 VT_UI2 = 18,
585 VT_UI4 = 19,
586 VT_I8 = 20,
587 VT_UI8 = 21,
588 VT_INT = 22,
589 VT_UINT = 23,
590 VT_VOID = 24,
591 VT_HRESULT = 25,
592 VT_PTR = 26,
593 VT_SAFEARRAY = 27,
594 VT_CARRAY = 28,
595 VT_USERDEFINED = 29,
596 VT_LPSTR = 30,
597 VT_LPWSTR = 31,
598 VT_RECORD = 36,
599 VT_FILETIME = 64,
600 VT_BLOB = 65,
601 VT_STREAM = 66,
602 VT_STORAGE = 67,
603 VT_STREAMED_OBJECT = 68,
604 VT_STORED_OBJECT = 69,
605 VT_BLOB_OBJECT = 70,
606 VT_CF = 71,
607 VT_CLSID = 72,
608 VT_BSTR_BLOB = 0xfff,
609 VT_VECTOR = 0x1000,
610 VT_ARRAY = 0x2000,
611 VT_BYREF = 0x4000,
612 VT_RESERVED = 0x8000,
613 VT_ILLEGAL = 0xffff,
614 VT_ILLEGALMASKED = 0xfff,
615 VT_TYPEMASK = 0xfff
618 #ifdef __cplusplus
620 #endif
621 #endif /* __WIDL_WTYPES_H */