Added BYTE explicit casts in RGB macro definition.
[wine] / include / wtypes.h
1 /*** Autogenerated by WIDL 0.1 from wtypes.idl - Do not edit ***/
2 #include "rpc.h"
3 #include "rpcndr.h"
4
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;
14
15 typedef unsigned short WORD;
16
17 typedef unsigned long DWORD;
18
19 typedef long BOOL;
20
21 typedef unsigned char UCHAR;
22
23 typedef int INT;
24
25 typedef unsigned int UINT;
26
27 typedef short SHORT;
28
29 typedef unsigned short USHORT;
30
31 typedef long LONG;
32
33 typedef unsigned long ULONG;
34
35 typedef float FLOAT;
36
37 typedef double DOUBLE;
38
39 typedef void *PVOID, *LPVOID;
40
41 typedef char CHAR;
42
43 typedef CHAR *LPSTR;
44
45 typedef const CHAR *LPCSTR;
46
47 typedef wchar_t WCHAR;
48
49 typedef WCHAR *LPWSTR;
50
51 typedef const WCHAR *LPCWSTR;
52
53 typedef boolean BOOLEAN;
54
55 typedef void *HANDLE;
56
57 typedef void *HMODULE;
58
59 typedef void *HINSTANCE;
60
61 typedef void *HRGN;
62
63 typedef void *HTASK;
64
65 typedef void *HKEY;
66
67 typedef double DATE;
68
69 typedef LONG HRESULT;
70
71 typedef DWORD LCID;
72
73 typedef unsigned __int64 DWORDLONG;
74
75 typedef __int64 LONGLONG;
76
77 typedef unsigned __int64 ULONGLONG;
78
79 typedef struct _LARGE_INTEGER {
80     LONGLONG QuadPart;
81 } LARGE_INTEGER;
82
83 typedef struct _ULARGE_INTEGER {
84     ULONGLONG QuadPart;
85 } ULARGE_INTEGER;
86
87 typedef struct _SID_IDENTIFIER_AUTHORITY {
88     UCHAR Value[6];
89 } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
90
91 typedef struct _SID {
92     UCHAR Revision;
93     UCHAR SubAuthorityCount;
94     SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
95     ULONG SubAuthority[1];
96 } SID, *PSID;
97
98 typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
99
100 typedef struct _ACL {
101     UCHAR AclRevision;
102     UCHAR Sbz1;
103     USHORT AclSize;
104     USHORT AceCount;
105     USHORT Sbz2;
106 } ACL;
107
108 typedef ACL *PACL;
109
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;
119
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;
129
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;
138
139 #endif
140 #ifndef _FILETIME_
141 #define _FILETIME_
142 typedef struct _FILETIME {
143     DWORD dwLowDateTime;
144     DWORD dwHighDateTime;
145 } FILETIME, *PFILETIME, *LPFILETIME;
146
147 #endif
148 typedef WCHAR OLECHAR;
149
150 typedef OLECHAR *LPOLESTR;
151
152 typedef const OLECHAR *LPCOLESTR;
153
154 #ifndef __WINESRC__
155 #define OLESTR(str) WINE_UNICODE_TEXT(str)
156 #endif
157 typedef CHAR OLECHAR16;
158
159 typedef LPSTR LPOLESTR16;
160
161 typedef LPCSTR LPCOLESTR16;
162
163 typedef OLECHAR16 *BSTR16;
164 typedef BSTR16 *LPBSTR16;
165 #define OLESTR16(x) x
166 typedef LONG SCODE;
167
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;
177
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;
187
188 typedef struct _COSERVERINFO {
189     DWORD dwReserved1;
190     LPWSTR pwszName;
191     COAUTHINFO *pAuthInfo;
192     DWORD dwReserved2;
193 } COSERVERINFO;
194
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;
202
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;
226
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;
236
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;
244
245 typedef struct _BYTE_BLOB {
246     unsigned long clSize;
247     byte abData[1];
248 } BYTE_BLOB;
249
250 typedef BYTE_BLOB *UP_BYTE_BLOB;
251
252 typedef struct _FLAGGED_BYTE_BLOB {
253     unsigned long fFlags;
254     unsigned long clSize;
255     byte abData[1];
256 } FLAGGED_BYTE_BLOB;
257
258 typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
259
260 typedef struct _FLAGGED_WORD_BLOB {
261     unsigned long fFlags;
262     unsigned long clSize;
263     unsigned short asData[1];
264 } FLAGGED_WORD_BLOB;
265
266 typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
267
268 typedef struct _BYTE_SIZEDARR {
269     unsigned long clSize;
270     byte *pData;
271 } BYTE_SIZEDARR;
272
273 typedef struct _SHORT_SIZEDARR {
274     unsigned long clSize;
275     unsigned short *pData;
276 } WORD_SIZEDARR;
277
278 typedef struct _LONG_SIZEDARR {
279     unsigned long clSize;
280     unsigned long *pData;
281 } DWORD_SIZEDARR;
282
283 typedef struct _HYPER_SIZEDARR {
284     unsigned long clSize;
285     hyper *pData;
286 } HYPER_SIZEDARR;
287
288 #define WDT_INPROC_CALL (0x48746457)
289
290 #define WDT_REMOTE_CALL (0x52746457)
291
292 typedef struct _userCLIPFORMAT {
293     long fContext;
294     union {
295         DWORD dwValue;
296         LPWSTR pwszName;
297     } u;
298 } userCLIPFORMAT;
299
300 typedef userCLIPFORMAT *wireCLIPFORMAT;
301
302 typedef WORD CLIPFORMAT;
303 unsigned long   __RPC_USER CLIPFORMAT_UserSize     (unsigned long *, unsigned long,   CLIPFORMAT *);
304 unsigned char * __RPC_USER CLIPFORMAT_UserMarshal  (unsigned long *, unsigned char *, CLIPFORMAT *);
305 unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(unsigned long *, unsigned char *, CLIPFORMAT *);
306 void            __RPC_USER CLIPFORMAT_UserFree     (unsigned long *, CLIPFORMAT *);
307
308 typedef struct tagRemHGLOBAL {
309     long fNullHGlobal;
310     unsigned long cbData;
311     byte data[1];
312 } RemHGLOBAL;
313
314 typedef struct _userHGLOBAL {
315     long fContext;
316     union {
317         long hInproc;
318         FLAGGED_BYTE_BLOB *hRemote;
319         long hGlobal;
320     } u;
321 } userHGLOBAL;
322
323 typedef userHGLOBAL *wireHGLOBAL;
324
325 typedef struct tagRemHMETAFILEPICT {
326     long mm;
327     long xExt;
328     long yExt;
329     unsigned long cbData;
330     byte data[1];
331 } RemHMETAFILEPICT;
332
333 typedef struct _userHMETAFILE {
334     long fContext;
335     union {
336         long hInproc;
337         BYTE_BLOB *hRemote;
338         long hGlobal;
339     } u;
340 } userHMETAFILE;
341
342 typedef userHMETAFILE *wireHMETAFILE;
343
344 typedef struct _remoteMETAFILEPICT {
345     long mm;
346     long xExt;
347     long yExt;
348     userHMETAFILE *hMF;
349 } remoteMETAFILEPICT;
350
351 typedef struct _userHMETAFILEPICT {
352     long fContext;
353     union {
354         long hInproc;
355         remoteMETAFILEPICT *hRemote;
356         long hGlobal;
357     } u;
358 } userHMETAFILEPICT;
359
360 typedef userHMETAFILEPICT *wireHMETAFILEPICT;
361
362 typedef struct tagRemHENHMETAFILE {
363     unsigned long cbData;
364     byte data[1];
365 } RemHENHMETAFILE;
366
367 typedef struct _userHENHMETAFILE {
368     long fContext;
369     union {
370         long hInproc;
371         BYTE_BLOB *hRemote;
372         long hGlobal;
373     } u;
374 } userHENHMETAFILE;
375
376 typedef userHENHMETAFILE *wireHENHMETAFILE;
377
378 typedef struct tagRemHBITMAP {
379     unsigned long cbData;
380     byte data[1];
381 } RemHBITMAP;
382
383 typedef struct _userBITMAP {
384     LONG bmType;
385     LONG bmWidth;
386     LONG bmHeight;
387     LONG bmWidthBytes;
388     WORD bmPlanes;
389     WORD bmBitsPixel;
390     ULONG cbSize;
391     byte pBuffer[1];
392 } userBITMAP;
393
394 typedef struct _userHBITMAP {
395     long fContext;
396     union {
397         long hInproc;
398         userBITMAP *hRemote;
399         long hGlobal;
400     } u;
401 } userHBITMAP;
402
403 typedef userHBITMAP *wireHBITMAP;
404
405 typedef struct tagRemHPALETTE {
406     unsigned long cbData;
407     byte data[1];
408 } RemHPALETTE;
409
410 typedef struct tagrpcLOGPALETTE {
411     WORD palVersion;
412     WORD palNumEntries;
413     PALETTEENTRY palPalEntry[1];
414 } rpcLOGPALETTE;
415
416 typedef struct _userHPALETTE {
417     long fContext;
418     union {
419         long hInproc;
420         rpcLOGPALETTE *hRemote;
421         long hGlobal;
422     } u;
423 } userHPALETTE;
424
425 typedef userHPALETTE *wireHPALETTE;
426
427 #if 0
428 typedef void *HGLOBAL;
429 unsigned long   __RPC_USER HGLOBAL_UserSize     (unsigned long *, unsigned long,   HGLOBAL *);
430 unsigned char * __RPC_USER HGLOBAL_UserMarshal  (unsigned long *, unsigned char *, HGLOBAL *);
431 unsigned char * __RPC_USER HGLOBAL_UserUnmarshal(unsigned long *, unsigned char *, HGLOBAL *);
432 void            __RPC_USER HGLOBAL_UserFree     (unsigned long *, HGLOBAL *);
433
434 typedef HGLOBAL HLOCAL;
435
436 typedef void *HBITMAP;
437 unsigned long   __RPC_USER HBITMAP_UserSize     (unsigned long *, unsigned long,   HBITMAP *);
438 unsigned char * __RPC_USER HBITMAP_UserMarshal  (unsigned long *, unsigned char *, HBITMAP *);
439 unsigned char * __RPC_USER HBITMAP_UserUnmarshal(unsigned long *, unsigned char *, HBITMAP *);
440 void            __RPC_USER HBITMAP_UserFree     (unsigned long *, HBITMAP *);
441
442 typedef void *HPALETTE;
443 unsigned long   __RPC_USER HPALETTE_UserSize     (unsigned long *, unsigned long,   HPALETTE *);
444 unsigned char * __RPC_USER HPALETTE_UserMarshal  (unsigned long *, unsigned char *, HPALETTE *);
445 unsigned char * __RPC_USER HPALETTE_UserUnmarshal(unsigned long *, unsigned char *, HPALETTE *);
446 void            __RPC_USER HPALETTE_UserFree     (unsigned long *, HPALETTE *);
447
448 typedef void *HENHMETAFILE;
449 unsigned long   __RPC_USER HENHMETAFILE_UserSize     (unsigned long *, unsigned long,   HENHMETAFILE *);
450 unsigned char * __RPC_USER HENHMETAFILE_UserMarshal  (unsigned long *, unsigned char *, HENHMETAFILE *);
451 unsigned char * __RPC_USER HENHMETAFILE_UserUnmarshal(unsigned long *, unsigned char *, HENHMETAFILE *);
452 void            __RPC_USER HENHMETAFILE_UserFree     (unsigned long *, HENHMETAFILE *);
453
454 typedef void *HMETAFILE;
455 unsigned long   __RPC_USER HMETAFILE_UserSize     (unsigned long *, unsigned long,   HMETAFILE *);
456 unsigned char * __RPC_USER HMETAFILE_UserMarshal  (unsigned long *, unsigned char *, HMETAFILE *);
457 unsigned char * __RPC_USER HMETAFILE_UserUnmarshal(unsigned long *, unsigned char *, HMETAFILE *);
458 void            __RPC_USER HMETAFILE_UserFree     (unsigned long *, HMETAFILE *);
459
460 #endif
461 typedef void *HMETAFILEPICT;
462 unsigned long   __RPC_USER HMETAFILEPICT_UserSize     (unsigned long *, unsigned long,   HMETAFILEPICT *);
463 unsigned char * __RPC_USER HMETAFILEPICT_UserMarshal  (unsigned long *, unsigned char *, HMETAFILEPICT *);
464 unsigned char * __RPC_USER HMETAFILEPICT_UserUnmarshal(unsigned long *, unsigned char *, HMETAFILEPICT *);
465 void            __RPC_USER HMETAFILEPICT_UserFree     (unsigned long *, HMETAFILEPICT *);
466
467 #ifndef GUID_DEFINED
468 #define GUID_DEFINED
469 typedef struct _GUID {
470     DWORD Data1;
471     WORD Data2;
472     WORD Data3;
473     BYTE Data4[8];
474 } GUID;
475
476 #endif
477 #if 0 /* guiddef.h */
478 typedef GUID *LPGUID;
479
480 typedef GUID IID;
481
482 typedef IID *LPIID;
483
484 typedef GUID CLSID;
485
486 typedef CLSID *LPCLSID;
487
488 typedef GUID FMTID;
489
490 typedef FMTID *LPFMTID;
491
492 #if 0
493 typedef GUID *REFGUID;
494
495 typedef IID *REFIID;
496
497 typedef CLSID *REFCLSID;
498
499 typedef FMTID *REFFMTID;
500
501 #endif
502 #endif /* guiddef.h */
503 typedef enum tagDVASPECT {
504     DVASPECT_CONTENT = 1,
505     DVASPECT_THUMBNAIL = 2,
506     DVASPECT_ICON = 4,
507     DVASPECT_DOCPRINT = 8
508 } DVASPECT;
509
510 typedef enum tagSTGC {
511     STGC_DEFAULT = 0,
512     STGC_OVERWRITE = 1,
513     STGC_ONLYIFCURRENT = 2,
514     STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
515     STGC_CONSOLIDATE = 8
516 } STGC;
517
518 typedef enum tagSTGMOVE {
519     STGMOVE_MOVE = 0,
520     STGMOVE_COPY = 1,
521     STGMOVE_SHALLOWCOPY = 2
522 } STGMOVE;
523
524 typedef enum tagSTATFLAG {
525     STATFLAG_DEFAULT = 0,
526     STATFLAG_NONAME = 1,
527     STATFLAG_NOOPEN = 2
528 } STATFLAG;
529
530 #if 0
531 typedef struct tagCY {
532     LONGLONG int64;
533 } CY;
534
535 #else
536 typedef union tagCY {
537     struct {
538 #ifdef WORDS_BIGENDIAN
539         LONG  Hi;
540         ULONG Lo;
541 #else
542         ULONG Lo;
543         LONG  Hi;
544 #endif
545     } DUMMYSTRUCTNAME;
546     LONGLONG int64;
547 } CY;
548 #endif
549 typedef CY *LPCY;
550
551 typedef struct tagDEC {
552     USHORT wReserved;
553     BYTE scale;
554     BYTE sign;
555     ULONG Hi32;
556     ULONGLONG Lo64;
557 } DECIMAL;
558
559 typedef DECIMAL *LPDECIMAL;
560
561 typedef FLAGGED_WORD_BLOB *wireBSTR;
562
563 typedef OLECHAR *BSTR;
564 unsigned long   __RPC_USER BSTR_UserSize     (unsigned long *, unsigned long,   BSTR *);
565 unsigned char * __RPC_USER BSTR_UserMarshal  (unsigned long *, unsigned char *, BSTR *);
566 unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR *);
567 void            __RPC_USER BSTR_UserFree     (unsigned long *, BSTR *);
568
569 typedef BSTR *LPBSTR;
570
571 typedef short VARIANT_BOOL;
572
573 typedef VARIANT_BOOL _VARIANT_BOOL;
574
575 #define VARIANT_TRUE  ((VARIANT_BOOL)0xFFFF)
576 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
577 typedef struct tagBSTRBLOB {
578     ULONG cbSize;
579     BYTE *pData;
580 } BSTRBLOB, *LPBSTRBLOB;
581
582 typedef struct tagBLOB {
583     ULONG cbSize;
584     BYTE *pBlobData;
585 } BLOB, *LPBLOB;
586
587 typedef struct tagCLIPDATA {
588     ULONG cbSize;
589     long ulClipFmt;
590     BYTE *pClipData;
591 } CLIPDATA;
592
593 #define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))
594 typedef ULONG PROPID;
595
596 typedef unsigned short VARTYPE;
597
598 enum VARENUM {
599     VT_EMPTY = 0,
600     VT_NULL = 1,
601     VT_I2 = 2,
602     VT_I4 = 3,
603     VT_R4 = 4,
604     VT_R8 = 5,
605     VT_CY = 6,
606     VT_DATE = 7,
607     VT_BSTR = 8,
608     VT_DISPATCH = 9,
609     VT_ERROR = 10,
610     VT_BOOL = 11,
611     VT_VARIANT = 12,
612     VT_UNKNOWN = 13,
613     VT_DECIMAL = 14,
614     VT_I1 = 16,
615     VT_UI1 = 17,
616     VT_UI2 = 18,
617     VT_UI4 = 19,
618     VT_I8 = 20,
619     VT_UI8 = 21,
620     VT_INT = 22,
621     VT_UINT = 23,
622     VT_VOID = 24,
623     VT_HRESULT = 25,
624     VT_PTR = 26,
625     VT_SAFEARRAY = 27,
626     VT_CARRAY = 28,
627     VT_USERDEFINED = 29,
628     VT_LPSTR = 30,
629     VT_LPWSTR = 31,
630     VT_RECORD = 36,
631     VT_FILETIME = 64,
632     VT_BLOB = 65,
633     VT_STREAM = 66,
634     VT_STORAGE = 67,
635     VT_STREAMED_OBJECT = 68,
636     VT_STORED_OBJECT = 69,
637     VT_BLOB_OBJECT = 70,
638     VT_CF = 71,
639     VT_CLSID = 72,
640     VT_BSTR_BLOB = 0xfff,
641     VT_VECTOR = 0x1000,
642     VT_ARRAY = 0x2000,
643     VT_BYREF = 0x4000,
644     VT_RESERVED = 0x8000,
645     VT_ILLEGAL = 0xffff,
646     VT_ILLEGALMASKED = 0xfff,
647     VT_TYPEMASK = 0xfff
648 };
649
650 #ifdef __cplusplus
651 }
652 #endif
653 #endif /* __WIDL_WTYPES_H */