Added missing TOOLINFO structure.
[wine] / include / windows.h
1 #ifndef __WINE_WINDOWS_H
2 #define __WINE_WINDOWS_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #ifndef RC_INVOKED
9 #include <stdarg.h>
10 #endif
11
12 #include "wintypes.h"
13
14 #pragma pack(1)
15
16 /* The SIZE structure */
17
18 typedef struct
19 {
20     INT16  cx;
21     INT16  cy;
22 } SIZE16, *LPSIZE16;
23
24 typedef struct
25 {
26     INT32  cx;
27     INT32  cy;
28 } SIZE32, *LPSIZE32;
29
30 DECL_WINELIB_TYPE(SIZE)
31 DECL_WINELIB_TYPE(LPSIZE)
32
33 #define CONV_SIZE16TO32(s16,s32) \
34             ((s32)->cx = (INT32)(s16)->cx, (s32)->cy = (INT32)(s16)->cy)
35 #define CONV_SIZE32TO16(s32,s16) \
36             ((s16)->cx = (INT16)(s32)->cx, (s16)->cy = (INT16)(s32)->cy)
37
38 /* The POINT structure */
39
40 typedef struct
41 {
42     INT16  x;
43     INT16  y;
44 } POINT16, *LPPOINT16;
45
46 typedef struct
47 {
48     INT32  x;
49     INT32  y;
50 } POINT32, *LPPOINT32;
51
52 DECL_WINELIB_TYPE(POINT)
53 DECL_WINELIB_TYPE(LPPOINT)
54
55 #define CONV_POINT16TO32(p16,p32) \
56             ((p32)->x = (INT32)(p16)->x, (p32)->y = (INT32)(p16)->y)
57 #define CONV_POINT32TO16(p32,p16) \
58             ((p16)->x = (INT16)(p32)->x, (p16)->y = (INT16)(p32)->y)
59
60 #define MAKEPOINT16(l) (*((POINT16 *)&(l)))
61 #define MAKEPOINT WINELIB_NAME(MAKEPOINT)
62
63 /* The RECT structure */
64
65 typedef struct
66 {
67     INT16  left;
68     INT16  top;
69     INT16  right;
70     INT16  bottom;
71 } RECT16, *LPRECT16;
72
73 typedef struct
74 {
75     INT32  left;
76     INT32  top;
77     INT32  right;
78     INT32  bottom;
79 } RECT32, *LPRECT32;
80
81 DECL_WINELIB_TYPE(RECT)
82 DECL_WINELIB_TYPE(LPRECT)
83
84 #define CONV_RECT16TO32(r16,r32) \
85     ((r32)->left  = (INT32)(r16)->left,  (r32)->top    = (INT32)(r16)->top, \
86      (r32)->right = (INT32)(r16)->right, (r32)->bottom = (INT32)(r16)->bottom)
87 #define CONV_RECT32TO16(r32,r16) \
88     ((r16)->left  = (INT16)(r32)->left,  (r16)->top    = (INT16)(r32)->top, \
89      (r16)->right = (INT16)(r32)->right, (r16)->bottom = (INT16)(r32)->bottom)
90
91
92 typedef struct tagCOORD {
93     INT16 x;
94     INT16 y;
95 } COORD, *LPCOORD;
96
97
98 typedef struct
99 {
100     WORD   wFirst;
101     WORD   wSecond;
102     INT16  iKernAmount;
103 } KERNINGPAIR16, *LPKERNINGPAIR16;
104
105 typedef struct
106 {
107     WORD   wFirst;
108     WORD   wSecond;
109     INT32  iKernAmount;
110 } KERNINGPAIR32, *LPKERNINGPAIR32;
111
112 DECL_WINELIB_TYPE(KERNINGPAIR)
113 DECL_WINELIB_TYPE(LPKERNINGPAIR)
114
115 typedef struct
116 {
117     HDC16   hdc;
118     BOOL16  fErase;
119     RECT16  rcPaint;
120     BOOL16  fRestore;
121     BOOL16  fIncUpdate;
122     BYTE    rgbReserved[16];
123 } PAINTSTRUCT16, *LPPAINTSTRUCT16;
124
125 typedef struct
126 {
127     HDC32   hdc;
128     BOOL32  fErase;
129     RECT32  rcPaint;
130     BOOL32  fRestore;
131     BOOL32  fIncUpdate;
132     BYTE    rgbReserved[32];
133 } PAINTSTRUCT32, *LPPAINTSTRUCT32;
134
135 DECL_WINELIB_TYPE(PAINTSTRUCT)
136 DECL_WINELIB_TYPE(LPPAINTSTRUCT)
137
138
139 typedef struct tagPIXELFORMATDESCRIPTOR {
140     WORD  nSize;
141     WORD  nVersion;
142     DWORD dwFlags;
143     BYTE  iPixelType;
144     BYTE  cColorBits;
145     BYTE  cRedBits;
146     BYTE  cRedShift;
147     BYTE  cGreenBits;
148     BYTE  cGreenShift;
149     BYTE  cBlueBits;
150     BYTE  cBlueShift;
151     BYTE  cAlphaBits;
152     BYTE  cAlphaShift;
153     BYTE  cAccumBits;
154     BYTE  cAccumRedBits;
155     BYTE  cAccumGreenBits;
156     BYTE  cAccumBlueBits;
157     BYTE  cAccumAlphaBits;
158     BYTE  cDepthBits;
159     BYTE  cStencilBits;
160     BYTE  cAuxBuffers;
161     BYTE  iLayerType;
162     BYTE  bReserved;
163     DWORD dwLayerMask;
164     DWORD dwVisibleMask;
165     DWORD dwDamageMask;
166 } PIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
167
168   /* Windows */
169
170 typedef struct
171 {
172     LPVOID      lpCreateParams;
173     HINSTANCE16 hInstance;
174     HMENU16     hMenu;
175     HWND16      hwndParent;
176     INT16       cy;
177     INT16       cx;
178     INT16       y;
179     INT16       x;
180     LONG        style WINE_PACKED;
181     SEGPTR      lpszName WINE_PACKED;
182     SEGPTR      lpszClass WINE_PACKED;
183     DWORD       dwExStyle WINE_PACKED;
184 } CREATESTRUCT16, *LPCREATESTRUCT16;
185
186 typedef struct
187 {
188     LPVOID      lpCreateParams;
189     HINSTANCE32 hInstance;
190     HMENU32     hMenu;
191     HWND32      hwndParent;
192     INT32       cy;
193     INT32       cx;
194     INT32       y;
195     INT32       x;
196     LONG        style;
197     LPCSTR      lpszName;
198     LPCSTR      lpszClass;
199     DWORD       dwExStyle;
200 } CREATESTRUCT32A, *LPCREATESTRUCT32A;
201
202 typedef struct
203 {
204     LPVOID      lpCreateParams;
205     HINSTANCE32 hInstance;
206     HMENU32     hMenu;
207     HWND32      hwndParent;
208     INT32       cy;
209     INT32       cx;
210     INT32       y;
211     INT32       x;
212     LONG        style;
213     LPCWSTR     lpszName;
214     LPCWSTR     lpszClass;
215     DWORD       dwExStyle;
216 } CREATESTRUCT32W, *LPCREATESTRUCT32W;
217
218 DECL_WINELIB_TYPE_AW(CREATESTRUCT)
219 DECL_WINELIB_TYPE_AW(LPCREATESTRUCT)
220
221 typedef struct 
222 {
223     HMENU16   hWindowMenu;
224     UINT16    idFirstChild;
225 } CLIENTCREATESTRUCT16, *LPCLIENTCREATESTRUCT16;
226
227 typedef struct 
228 {
229     HMENU32   hWindowMenu;
230     UINT32    idFirstChild;
231 } CLIENTCREATESTRUCT32, *LPCLIENTCREATESTRUCT32;
232
233 DECL_WINELIB_TYPE(CLIENTCREATESTRUCT)
234 DECL_WINELIB_TYPE(LPCLIENTCREATESTRUCT)
235
236 typedef struct
237 {
238     SEGPTR       szClass;
239     SEGPTR       szTitle;
240     HINSTANCE16  hOwner;
241     INT16        x;
242     INT16        y;
243     INT16        cx;
244     INT16        cy;
245     DWORD        style WINE_PACKED;
246     LPARAM       lParam WINE_PACKED;
247 } MDICREATESTRUCT16, *LPMDICREATESTRUCT16;
248
249 typedef struct
250 {
251     LPCSTR       szClass;
252     LPCSTR       szTitle;
253     HINSTANCE32  hOwner;
254     INT32        x;
255     INT32        y;
256     INT32        cx;
257     INT32        cy;
258     DWORD        style;
259     LPARAM       lParam;
260 } MDICREATESTRUCT32A, *LPMDICREATESTRUCT32A;
261
262 typedef struct
263 {
264     LPCWSTR      szClass;
265     LPCWSTR      szTitle;
266     HINSTANCE32  hOwner;
267     INT32        x;
268     INT32        y;
269     INT32        cx;
270     INT32        cy;
271     DWORD        style;
272     LPARAM       lParam;
273 } MDICREATESTRUCT32W, *LPMDICREATESTRUCT32W;
274
275 DECL_WINELIB_TYPE_AW(MDICREATESTRUCT)
276 DECL_WINELIB_TYPE_AW(LPMDICREATESTRUCT)
277
278 #define MDITILE_VERTICAL     0x0000   
279 #define MDITILE_HORIZONTAL   0x0001
280 #define MDITILE_SKIPDISABLED 0x0002
281
282 #define MDIS_ALLCHILDSTYLES  0x0001
283
284 typedef struct {
285     DWORD   styleOld;
286     DWORD   styleNew;
287 } STYLESTRUCT, *LPSTYLESTRUCT;
288
289   /* Offsets for GetWindowLong() and GetWindowWord() */
290 #define GWL_USERDATA        (-21)
291 #define GWL_EXSTYLE         (-20)
292 #define GWL_STYLE           (-16)
293 #define GWW_ID              (-12)
294 #define GWL_ID              GWW_ID
295 #define GWW_HWNDPARENT      (-8)
296 #define GWL_HWNDPARENT      GWW_HWNDPARENT
297 #define GWW_HINSTANCE       (-6)
298 #define GWL_HINSTANCE       GWW_HINSTANCE
299 #define GWL_WNDPROC         (-4)
300 #define DWL_MSGRESULT       0
301 #define DWL_DLGPROC         4
302 #define DWL_USER            8
303
304   /* GetWindow() constants */
305 #define GW_HWNDFIRST    0
306 #define GW_HWNDLAST     1
307 #define GW_HWNDNEXT     2
308 #define GW_HWNDPREV     3
309 #define GW_OWNER        4
310 #define GW_CHILD        5
311
312   /* WM_GETMINMAXINFO struct */
313 typedef struct
314 {
315     POINT16   ptReserved;
316     POINT16   ptMaxSize;
317     POINT16   ptMaxPosition;
318     POINT16   ptMinTrackSize;
319     POINT16   ptMaxTrackSize;
320 } MINMAXINFO16;
321
322 typedef struct
323 {
324     POINT32   ptReserved;
325     POINT32   ptMaxSize;
326     POINT32   ptMaxPosition;
327     POINT32   ptMinTrackSize;
328     POINT32   ptMaxTrackSize;
329 } MINMAXINFO32;
330
331 DECL_WINELIB_TYPE(MINMAXINFO)
332
333   /* RedrawWindow() flags */
334 #define RDW_INVALIDATE       0x0001
335 #define RDW_INTERNALPAINT    0x0002
336 #define RDW_ERASE            0x0004
337 #define RDW_VALIDATE         0x0008
338 #define RDW_NOINTERNALPAINT  0x0010
339 #define RDW_NOERASE          0x0020
340 #define RDW_NOCHILDREN       0x0040
341 #define RDW_ALLCHILDREN      0x0080
342 #define RDW_UPDATENOW        0x0100
343 #define RDW_ERASENOW         0x0200
344 #define RDW_FRAME            0x0400
345 #define RDW_NOFRAME          0x0800
346
347 /* debug flags */
348 #define DBGFILL_ALLOC  0xfd
349 #define DBGFILL_FREE   0xfb
350 #define DBGFILL_BUFFER 0xf9
351 #define DBGFILL_STACK  0xf7
352
353   /* WM_WINDOWPOSCHANGING/CHANGED struct */
354 typedef struct
355 {
356     HWND16  hwnd;
357     HWND16  hwndInsertAfter;
358     INT16   x;
359     INT16   y;
360     INT16   cx;
361     INT16   cy;
362     UINT16  flags;
363 } WINDOWPOS16;
364
365 typedef struct
366 {
367     HWND32  hwnd;
368     HWND32  hwndInsertAfter;
369     INT32   x;
370     INT32   y;
371     INT32   cx;
372     INT32   cy;
373     UINT32  flags;
374 } WINDOWPOS32;
375
376 DECL_WINELIB_TYPE(WINDOWPOS)
377
378   /* SetWindowPlacement() struct */
379 typedef struct
380 {
381     UINT16   length;
382     UINT16   flags;
383     UINT16   showCmd;
384     POINT16  ptMinPosition WINE_PACKED;
385     POINT16  ptMaxPosition WINE_PACKED;
386     RECT16   rcNormalPosition WINE_PACKED;
387 } WINDOWPLACEMENT16, *LPWINDOWPLACEMENT16;
388
389 typedef struct
390 {
391     UINT32   length;
392     UINT32   flags;
393     UINT32   showCmd;
394     POINT32  ptMinPosition WINE_PACKED;
395     POINT32  ptMaxPosition WINE_PACKED;
396     RECT32   rcNormalPosition WINE_PACKED;
397 } WINDOWPLACEMENT32, *LPWINDOWPLACEMENT32;
398
399 DECL_WINELIB_TYPE(WINDOWPLACEMENT)
400 DECL_WINELIB_TYPE(LPWINDOWPLACEMENT)
401
402   /* WINDOWPLACEMENT flags */
403 #define WPF_SETMINPOSITION      0x0001
404 #define WPF_RESTORETOMAXIMIZED  0x0002
405
406   /* WM_MOUSEACTIVATE return values */
407 #define MA_ACTIVATE             1
408 #define MA_ACTIVATEANDEAT       2
409 #define MA_NOACTIVATE           3
410 #define MA_NOACTIVATEANDEAT     4
411
412   /* WM_ACTIVATE wParam values */
413 #define WA_INACTIVE             0
414 #define WA_ACTIVE               1
415 #define WA_CLICKACTIVE          2
416
417   /* WM_NCCALCSIZE parameter structure */
418 typedef struct
419 {
420     RECT16  rgrc[3];
421     SEGPTR  lppos;
422 } NCCALCSIZE_PARAMS16, *LPNCCALCSIZE_PARAMS16;
423
424 typedef struct
425 {
426     RECT32       rgrc[3];
427     WINDOWPOS32 *lppos;
428 } NCCALCSIZE_PARAMS32, *LPNCCALCSIZE_PARAMS32;
429
430 DECL_WINELIB_TYPE(NCCALCSIZE_PARAMS)
431 DECL_WINELIB_TYPE(LPNCCALCSIZE_PARAMS)
432
433   /* WM_NCCALCSIZE return flags */
434 #define WVR_ALIGNTOP        0x0010
435 #define WVR_ALIGNLEFT       0x0020
436 #define WVR_ALIGNBOTTOM     0x0040
437 #define WVR_ALIGNRIGHT      0x0080
438 #define WVR_HREDRAW         0x0100
439 #define WVR_VREDRAW         0x0200
440 #define WVR_REDRAW          (WVR_HREDRAW | WVR_VREDRAW)
441 #define WVR_VALIDRECTS      0x0400
442
443   /* WM_NCHITTEST return codes */
444 #define HTERROR             (-2)
445 #define HTTRANSPARENT       (-1)
446 #define HTNOWHERE           0
447 #define HTCLIENT            1
448 #define HTCAPTION           2
449 #define HTSYSMENU           3
450 #define HTSIZE              4
451 #define HTMENU              5
452 #define HTHSCROLL           6
453 #define HTVSCROLL           7
454 #define HTMINBUTTON         8
455 #define HTMAXBUTTON         9
456 #define HTLEFT              10
457 #define HTRIGHT             11
458 #define HTTOP               12
459 #define HTTOPLEFT           13
460 #define HTTOPRIGHT          14
461 #define HTBOTTOM            15
462 #define HTBOTTOMLEFT        16
463 #define HTBOTTOMRIGHT       17
464 #define HTBORDER            18
465 #define HTGROWBOX           HTSIZE
466 #define HTREDUCE            HTMINBUTTON
467 #define HTZOOM              HTMAXBUTTON
468 #define HTOBJECT            19
469 #define HTCLOSE             20
470 #define HTHELP              21
471
472   /* WM_SYSCOMMAND parameters */
473 #ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */
474 #undef SC_SIZE
475 #endif
476 #define SC_SIZE         0xf000
477 #define SC_MOVE         0xf010
478 #define SC_MINIMIZE     0xf020
479 #define SC_MAXIMIZE     0xf030
480 #define SC_NEXTWINDOW   0xf040
481 #define SC_PREVWINDOW   0xf050
482 #define SC_CLOSE        0xf060
483 #define SC_VSCROLL      0xf070
484 #define SC_HSCROLL      0xf080
485 #define SC_MOUSEMENU    0xf090
486 #define SC_KEYMENU      0xf100
487 #define SC_ARRANGE      0xf110
488 #define SC_RESTORE      0xf120
489 #define SC_TASKLIST     0xf130
490 #define SC_SCREENSAVE   0xf140
491 #define SC_HOTKEY       0xf150
492
493 /****** Window classes ******/
494
495 typedef struct
496 {
497     UINT16      style;
498     WNDPROC16   lpfnWndProc WINE_PACKED;
499     INT16       cbClsExtra;
500     INT16       cbWndExtra;
501     HANDLE16    hInstance;
502     HICON16     hIcon;
503     HCURSOR16   hCursor;
504     HBRUSH16    hbrBackground;
505     SEGPTR      lpszMenuName WINE_PACKED;
506     SEGPTR      lpszClassName WINE_PACKED;
507 } WNDCLASS16, *LPWNDCLASS16;
508
509 typedef struct
510 {
511     UINT32      style;
512     WNDPROC32   lpfnWndProc;
513     INT32       cbClsExtra;
514     INT32       cbWndExtra;
515     HINSTANCE32 hInstance;
516     HICON32     hIcon;
517     HCURSOR32   hCursor;
518     HBRUSH32    hbrBackground;
519     LPCSTR      lpszMenuName;
520     LPCSTR      lpszClassName;
521 } WNDCLASS32A, *LPWNDCLASS32A;
522
523 typedef struct
524 {
525     UINT32      style;
526     WNDPROC32   lpfnWndProc;
527     INT32       cbClsExtra;
528     INT32       cbWndExtra;
529     HINSTANCE32 hInstance;
530     HICON32     hIcon;
531     HCURSOR32   hCursor;
532     HBRUSH32    hbrBackground;
533     LPCWSTR     lpszMenuName;
534     LPCWSTR     lpszClassName;
535 } WNDCLASS32W, *LPWNDCLASS32W;
536
537 DECL_WINELIB_TYPE_AW(WNDCLASS)
538 DECL_WINELIB_TYPE_AW(LPWNDCLASS)
539
540 typedef struct
541 {
542     UINT32      cbSize;
543     UINT32      style;
544     WNDPROC16   lpfnWndProc;
545     INT16       cbClsExtra;
546     INT16       cbWndExtra;
547     HANDLE16    hInstance;
548     HICON16     hIcon;
549     HCURSOR16   hCursor;
550     HBRUSH16    hbrBackground;
551     SEGPTR      lpszMenuName;
552     SEGPTR      lpszClassName;
553     HICON16     hIconSm;
554 } WNDCLASSEX16, *LPWNDCLASSEX16;
555
556 typedef struct
557 {
558     UINT32      cbSize;
559     UINT32      style;
560     WNDPROC32   lpfnWndProc;
561     INT32       cbClsExtra;
562     INT32       cbWndExtra;
563     HINSTANCE32 hInstance;
564     HICON32     hIcon;
565     HCURSOR32   hCursor;
566     HBRUSH32    hbrBackground;
567     LPCSTR      lpszMenuName;
568     LPCSTR      lpszClassName;
569     HICON32     hIconSm;
570 } WNDCLASSEX32A, *LPWNDCLASSEX32A;
571
572 typedef struct
573 {
574     UINT32      cbSize;
575     UINT32      style;
576     WNDPROC32   lpfnWndProc;
577     INT32       cbClsExtra;
578     INT32       cbWndExtra;
579     HINSTANCE32 hInstance;
580     HICON32     hIcon;
581     HCURSOR32   hCursor;
582     HBRUSH32    hbrBackground;
583     LPCWSTR     lpszMenuName;
584     LPCWSTR     lpszClassName;
585     HICON32     hIconSm;
586 } WNDCLASSEX32W, *LPWNDCLASSEX32W;
587
588 DECL_WINELIB_TYPE_AW(WNDCLASSEX)
589 DECL_WINELIB_TYPE_AW(LPWNDCLASSEX)
590
591 #define CS_VREDRAW          0x0001
592 #define CS_HREDRAW          0x0002
593 #define CS_KEYCVTWINDOW     0x0004
594 #define CS_DBLCLKS          0x0008
595 #define CS_OWNDC            0x0020
596 #define CS_CLASSDC          0x0040
597 #define CS_PARENTDC         0x0080
598 #define CS_NOKEYCVT         0x0100
599 #define CS_NOCLOSE          0x0200
600 #define CS_SAVEBITS         0x0800
601 #define CS_BYTEALIGNCLIENT  0x1000
602 #define CS_BYTEALIGNWINDOW  0x2000
603 #define CS_GLOBALCLASS      0x4000
604
605   /* Offsets for GetClassLong() and GetClassWord() */
606 #define GCL_MENUNAME        (-8)
607 #define GCW_HBRBACKGROUND   (-10)
608 #define GCL_HBRBACKGROUND   GCW_HBRBACKGROUND
609 #define GCW_HCURSOR         (-12)
610 #define GCL_HCURSOR         GCW_HCURSOR
611 #define GCW_HICON           (-14)
612 #define GCL_HICON           GCW_HICON
613 #define GCW_HMODULE         (-16)
614 #define GCL_HMODULE         GCW_HMODULE
615 #define GCW_CBWNDEXTRA      (-18)
616 #define GCL_CBWNDEXTRA      GCW_CBWNDEXTRA
617 #define GCW_CBCLSEXTRA      (-20)
618 #define GCL_CBCLSEXTRA      GCW_CBCLSEXTRA
619 #define GCL_WNDPROC         (-24)
620 #define GCW_STYLE           (-26)
621 #define GCL_STYLE           GCW_STYLE
622 #define GCW_ATOM            (-32)
623 #define GCW_HICONSM         (-34)
624 #define GCL_HICONSM         GCW_HICONSM
625
626 /***** Window hooks *****/
627
628   /* Hook values */
629 #define WH_MIN              (-1)
630 #define WH_MSGFILTER        (-1)
631 #define WH_JOURNALRECORD    0
632 #define WH_JOURNALPLAYBACK  1
633 #define WH_KEYBOARD         2
634 #define WH_GETMESSAGE       3
635 #define WH_CALLWNDPROC      4
636 #define WH_CBT              5
637 #define WH_SYSMSGFILTER     6
638 #define WH_MOUSE            7
639 #define WH_HARDWARE         8
640 #define WH_DEBUG            9
641 #define WH_SHELL            10
642 #define WH_FOREGROUNDIDLE   11
643 #define WH_CALLWNDPROCRET   12
644 #define WH_MAX              12
645
646 #define WH_MINHOOK          WH_MIN
647 #define WH_MAXHOOK          WH_MAX
648 #define WH_NB_HOOKS         (WH_MAXHOOK-WH_MINHOOK+1)
649
650   /* Hook action codes */
651 #define HC_ACTION           0
652 #define HC_GETNEXT          1
653 #define HC_SKIP             2
654 #define HC_NOREMOVE         3
655 #define HC_NOREM            HC_NOREMOVE
656 #define HC_SYSMODALON       4
657 #define HC_SYSMODALOFF      5
658
659   /* CallMsgFilter() values */
660 #define MSGF_DIALOGBOX      0
661 #define MSGF_MESSAGEBOX     1
662 #define MSGF_MENU           2
663 #define MSGF_MOVE           3
664 #define MSGF_SIZE           4
665 #define MSGF_SCROLLBAR      5
666 #define MSGF_NEXTWINDOW     6
667 #define MSGF_MAINLOOP       8
668 #define MSGF_USER        4096
669
670   /* Windows Exit Procedure flag values */
671 #define WEP_FREE_DLL        0
672 #define WEP_SYSTEM_EXIT     1
673
674   /* Journalling hook structure */
675
676 typedef struct
677 {
678     UINT16  message;
679     UINT16  paramL;
680     UINT16  paramH;
681     DWORD   time WINE_PACKED;
682 } EVENTMSG16, *LPEVENTMSG16;
683
684 typedef struct
685 {
686     UINT32  message;
687     UINT32  paramL;
688     UINT32  paramH;
689     DWORD   time;
690     HWND32  hwnd;
691 } EVENTMSG32, *LPEVENTMSG32;
692
693 DECL_WINELIB_TYPE(EVENTMSG)
694 DECL_WINELIB_TYPE(LPEVENTMSG)
695
696   /* Mouse hook structure */
697
698 typedef struct
699 {
700     POINT16 pt;
701     HWND16  hwnd;
702     UINT16  wHitTestCode;
703     DWORD   dwExtraInfo;
704 } MOUSEHOOKSTRUCT16, *LPMOUSEHOOKSTRUCT16;
705
706 typedef struct
707 {
708     POINT32 pt;
709     HWND32  hwnd;
710     UINT32  wHitTestCode;
711     DWORD   dwExtraInfo;
712 } MOUSEHOOKSTRUCT32, *LPMOUSEHOOKSTRUCT32;
713
714 DECL_WINELIB_TYPE(MOUSEHOOKSTRUCT)
715 DECL_WINELIB_TYPE(LPMOUSEHOOKSTRUCT)
716
717   /* Hardware hook structure */
718
719 typedef struct
720 {
721     HWND16    hWnd;
722     UINT16    wMessage;
723     WPARAM16  wParam;
724     LPARAM    lParam WINE_PACKED;
725 } HARDWAREHOOKSTRUCT16, *LPHARDWAREHOOKSTRUCT16;
726
727 typedef struct
728 {
729     HWND32    hWnd;
730     UINT32    wMessage;
731     WPARAM32  wParam;
732     LPARAM    lParam;
733 } HARDWAREHOOKSTRUCT32, *LPHARDWAREHOOKSTRUCT32;
734
735 DECL_WINELIB_TYPE(HARDWAREHOOKSTRUCT)
736 DECL_WINELIB_TYPE(LPHARDWAREHOOKSTRUCT)
737
738   /* CBT hook values */
739 #define HCBT_MOVESIZE       0
740 #define HCBT_MINMAX         1
741 #define HCBT_QS             2
742 #define HCBT_CREATEWND      3
743 #define HCBT_DESTROYWND     4
744 #define HCBT_ACTIVATE       5
745 #define HCBT_CLICKSKIPPED   6
746 #define HCBT_KEYSKIPPED     7
747 #define HCBT_SYSCOMMAND     8
748 #define HCBT_SETFOCUS       9
749
750   /* CBT hook structures */
751
752 typedef struct
753 {
754     CREATESTRUCT16  *lpcs;
755     HWND16           hwndInsertAfter;
756 } CBT_CREATEWND16, *LPCBT_CREATEWND16;
757
758 typedef struct
759 {
760     CREATESTRUCT32A *lpcs;
761     HWND32           hwndInsertAfter;
762 } CBT_CREATEWND32A, *LPCBT_CREATEWND32A;
763
764 typedef struct
765 {
766     CREATESTRUCT32W *lpcs;
767     HWND32           hwndInsertAfter;
768 } CBT_CREATEWND32W, *LPCBT_CREATEWND32W;
769
770 DECL_WINELIB_TYPE_AW(CBT_CREATEWND)
771 DECL_WINELIB_TYPE_AW(LPCBT_CREATEWND)
772
773 typedef struct
774 {
775     BOOL16    fMouse;
776     HWND16    hWndActive;
777 } CBTACTIVATESTRUCT16, *LPCBTACTIVATESTRUCT16;
778
779 typedef struct
780 {
781     BOOL32    fMouse;
782     HWND32    hWndActive;
783 } CBTACTIVATESTRUCT32, *LPCBTACTIVATESTRUCT32;
784
785 DECL_WINELIB_TYPE(CBTACTIVATESTRUCT)
786 DECL_WINELIB_TYPE(LPCBTACTIVATESTRUCT)
787
788   /* Shell hook values */
789 #define HSHELL_WINDOWCREATED       1
790 #define HSHELL_WINDOWDESTROYED     2
791 #define HSHELL_ACTIVATESHELLWINDOW 3
792
793   /* Debug hook structure */
794
795 typedef struct
796 {
797     HMODULE16   hModuleHook;
798     LPARAM      reserved WINE_PACKED;
799     LPARAM      lParam WINE_PACKED;
800     WPARAM16    wParam;
801     INT16       code;
802 } DEBUGHOOKINFO16, *LPDEBUGHOOKINFO16;
803
804 typedef struct
805 {
806     DWORD       idThread;
807     DWORD       idThreadInstaller;
808     LPARAM      lParam;
809     WPARAM32    wParam;
810     INT32       code;
811 } DEBUGHOOKINFO32, *LPDEBUGHOOKINFO32;
812
813 DECL_WINELIB_TYPE(DEBUGHOOKINFO)
814 DECL_WINELIB_TYPE(LPDEBUGHOOKINFO)
815
816 typedef DWORD (CALLBACK *LPTHREAD_START_ROUTINE)(LPVOID);
817
818 /* This is also defined in winnt.h */
819 /* typedef struct _EXCEPTION_RECORD {
820     DWORD   ExceptionCode;
821     DWORD   ExceptionFlags;
822     struct  _EXCEPTION_RECORD *ExceptionRecord;
823     LPVOID  ExceptionAddress;
824     DWORD   NumberParameters;
825     DWORD   ExceptionInformation[15];
826 } EXCEPTION_RECORD; */
827
828 typedef struct _EXCEPTION_DEBUG_INFO {
829 /*    EXCEPTION_RECORD ExceptionRecord; */
830     DWORD dwFirstChange;
831 } EXCEPTION_DEBUG_INFO;
832
833 typedef struct _CREATE_THREAD_DEBUG_INFO {
834     HANDLE32 hThread;
835     LPVOID lpThreadLocalBase;
836     LPTHREAD_START_ROUTINE lpStartAddress;
837 } CREATE_THREAD_DEBUG_INFO;
838
839 typedef struct _CREATE_PROCESS_DEBUG_INFO {
840     HANDLE32 hFile;
841     HANDLE32 hProcess;
842     HANDLE32 hThread;
843     LPVOID lpBaseOfImage;
844     DWORD dwDebugInfoFileOffset;
845     DWORD nDebugInfoSize;
846     LPVOID lpThreadLocalBase;
847     LPTHREAD_START_ROUTINE lpStartAddress;
848     LPVOID lpImageName;
849     WORD fUnicode;
850 } CREATE_PROCESS_DEBUG_INFO;
851
852 typedef struct _EXIT_THREAD_DEBUG_INFO {
853     DWORD dwExitCode;
854 } EXIT_THREAD_DEBUG_INFO;
855
856 typedef struct _EXIT_PROCESS_DEBUG_INFO {
857     DWORD dwExitCode;
858 } EXIT_PROCESS_DEBUG_INFO;
859
860 typedef struct _LOAD_DLL_DEBUG_INFO {
861     HANDLE32 hFile;
862     LPVOID   lpBaseOfDll;
863     DWORD    dwDebugInfoFileOffset;
864     DWORD    nDebugInfoSize;
865     LPVOID   lpImageName;
866     WORD     fUnicode;
867 } LOAD_DLL_DEBUG_INFO;
868
869 typedef struct _UNLOAD_DLL_DEBUG_INFO {
870     LPVOID lpBaseOfDll;
871 } UNLOAD_DLL_DEBUG_INFO;
872
873 typedef struct _OUTPUT_DEBUG_STRING_INFO {
874     LPSTR lpDebugStringData;
875     WORD  fUnicode;
876     WORD  nDebugStringLength;
877 } OUTPUT_DEBUG_STRING_INFO;
878
879 typedef struct _RIP_INFO {
880     DWORD dwError;
881     DWORD dwType;
882 } RIP_INFO;
883
884 typedef struct _DEBUG_EVENT {
885     DWORD dwDebugEventCode;
886     DWORD dwProcessId;
887     DWORD dwThreadId;
888     union {
889         EXCEPTION_DEBUG_INFO      Exception;
890         CREATE_THREAD_DEBUG_INFO  CreateThread;
891         CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
892         EXIT_THREAD_DEBUG_INFO    ExitThread;
893         EXIT_PROCESS_DEBUG_INFO   ExitProcess;
894         LOAD_DLL_DEBUG_INFO       LoadDll;
895         UNLOAD_DLL_DEBUG_INFO     UnloadDll;
896         OUTPUT_DEBUG_STRING_INFO  DebugString;
897         RIP_INFO                  RipInfo;
898     } u;
899 } DEBUG_EVENT, *LPDEBUG_EVENT;
900
901
902 /***** Dialogs *****/
903
904   /* cbWndExtra bytes for dialog class */
905 #define DLGWINDOWEXTRA      30
906
907   /* Dialog styles */
908 #define DS_ABSALIGN             0x0001
909 #define DS_SYSMODAL             0x0002
910 #define DS_3DLOOK               0x0004  /* win95 */
911 #define DS_FIXEDSYS             0x0008  /* win95 */
912 #define DS_NOFAILCREATE         0x0010  /* win95 */
913 #define DS_LOCALEDIT            0x0020
914 #define DS_SETFONT              0x0040
915 #define DS_MODALFRAME           0x0080
916 #define DS_NOIDLEMSG            0x0100
917 #define DS_SETFOREGROUND        0x0200  /* win95 */
918 #define DS_CONTROL              0x0400  /* win95 */
919 #define DS_CENTER               0x0800  /* win95 */
920 #define DS_CENTERMOUSE          0x1000  /* win95 */
921 #define DS_CONTEXTHELP          0x2000  /* win95 */
922
923
924   /* Dialog messages */
925 #define DM_GETDEFID         (WM_USER+0)
926 #define DM_SETDEFID         (WM_USER+1)
927
928 #define DC_HASDEFID         0x534b
929
930   /* WM_GETDLGCODE values */
931 #define DLGC_WANTARROWS      0x0001
932 #define DLGC_WANTTAB         0x0002
933 #define DLGC_WANTALLKEYS     0x0004
934 #define DLGC_WANTMESSAGE     0x0004
935 #define DLGC_HASSETSEL       0x0008
936 #define DLGC_DEFPUSHBUTTON   0x0010
937 #define DLGC_UNDEFPUSHBUTTON 0x0020
938 #define DLGC_RADIOBUTTON     0x0040
939 #define DLGC_WANTCHARS       0x0080
940 #define DLGC_STATIC          0x0100
941 #define DLGC_BUTTON          0x2000
942
943 /* Standard dialog button IDs */
944 #define IDOK                1
945 #define IDCANCEL            2
946 #define IDABORT             3
947 #define IDRETRY             4
948 #define IDIGNORE            5
949 #define IDYES               6
950 #define IDNO                7
951 #define IDCLOSE             8
952 #define IDHELP              9      
953
954
955 typedef struct
956 {
957     HWND16    hwnd;
958     UINT16    message;
959     WPARAM16  wParam;
960     LPARAM    lParam WINE_PACKED;
961     DWORD     time WINE_PACKED;
962     POINT16   pt WINE_PACKED;
963 } MSG16, *LPMSG16;
964
965 typedef struct
966 {
967     HWND32    hwnd;
968     UINT32    message;
969     WPARAM32  wParam;
970     LPARAM    lParam;
971     DWORD     time;
972     POINT32   pt;
973 } MSG32, *LPMSG32;
974
975 DECL_WINELIB_TYPE(MSG)
976 DECL_WINELIB_TYPE(LPMSG)
977         
978   /* Raster operations */
979
980 #define R2_BLACK         1
981 #define R2_NOTMERGEPEN   2
982 #define R2_MASKNOTPEN    3
983 #define R2_NOTCOPYPEN    4
984 #define R2_MASKPENNOT    5
985 #define R2_NOT           6
986 #define R2_XORPEN        7
987 #define R2_NOTMASKPEN    8
988 #define R2_MASKPEN       9
989 #define R2_NOTXORPEN    10
990 #define R2_NOP          11
991 #define R2_MERGENOTPEN  12
992 #define R2_COPYPEN      13
993 #define R2_MERGEPENNOT  14
994 #define R2_MERGEPEN     15
995 #define R2_WHITE        16
996
997 #define SRCCOPY         0xcc0020
998 #define SRCPAINT        0xee0086
999 #define SRCAND          0x8800c6
1000 #define SRCINVERT       0x660046
1001 #define SRCERASE        0x440328
1002 #define NOTSRCCOPY      0x330008
1003 #define NOTSRCERASE     0x1100a6
1004 #define MERGECOPY       0xc000ca
1005 #define MERGEPAINT      0xbb0226
1006 #define PATCOPY         0xf00021
1007 #define PATPAINT        0xfb0a09
1008 #define PATINVERT       0x5a0049
1009 #define DSTINVERT       0x550009
1010 #define BLACKNESS       0x000042
1011 #define WHITENESS       0xff0062
1012
1013   /* StretchBlt() modes */
1014 #define BLACKONWHITE         1
1015 #define WHITEONBLACK         2
1016 #define COLORONCOLOR         3
1017
1018 #define STRETCH_ANDSCANS     BLACKONWHITE
1019 #define STRETCH_ORSCANS      WHITEONBLACK
1020 #define STRETCH_DELETESCANS  COLORONCOLOR
1021
1022
1023   /* Colors */
1024
1025 typedef DWORD COLORREF;
1026
1027 #define RGB(r,g,b)          ((COLORREF)((r) | ((g) << 8) | ((b) << 16)))
1028 #define PALETTERGB(r,g,b)   (0x02000000 | RGB(r,g,b))
1029 #define PALETTEINDEX(i)     ((COLORREF)(0x01000000 | (WORD)(i)))
1030
1031 #define GetRValue(rgb)      ((rgb) & 0xff)
1032 #define GetGValue(rgb)      (((rgb) >> 8) & 0xff)
1033 #define GetBValue(rgb)      (((rgb) >> 16) & 0xff)
1034
1035 #define COLOR_SCROLLBAR             0
1036 #define COLOR_BACKGROUND            1
1037 #define COLOR_ACTIVECAPTION         2
1038 #define COLOR_INACTIVECAPTION       3
1039 #define COLOR_MENU                  4
1040 #define COLOR_WINDOW                5
1041 #define COLOR_WINDOWFRAME           6
1042 #define COLOR_MENUTEXT              7
1043 #define COLOR_WINDOWTEXT            8
1044 #define COLOR_CAPTIONTEXT           9
1045 #define COLOR_ACTIVEBORDER         10
1046 #define COLOR_INACTIVEBORDER       11
1047 #define COLOR_APPWORKSPACE         12
1048 #define COLOR_HIGHLIGHT            13
1049 #define COLOR_HIGHLIGHTTEXT        14
1050 #define COLOR_BTNFACE              15
1051 #define COLOR_BTNSHADOW            16
1052 #define COLOR_GRAYTEXT             17
1053 #define COLOR_BTNTEXT              18
1054 #define COLOR_INACTIVECAPTIONTEXT  19
1055 #define COLOR_BTNHIGHLIGHT         20
1056 /* win95 colors */
1057 #define COLOR_3DDKSHADOW           21
1058 #define COLOR_3DLIGHT              22
1059 #define COLOR_INFOTEXT             23
1060 #define COLOR_INFOBK               24
1061 #define COLOR_DESKTOP              COLOR_BACKGROUND
1062 #define COLOR_3DFACE               COLOR_BTNFACE
1063 #define COLOR_3DSHADOW             COLOR_BTNSHADOW
1064 #define COLOR_3DHIGHLIGHT          COLOR_BTNHIGHLIGHT
1065 #define COLOR_3DHILIGHT            COLOR_BTNHIGHLIGHT
1066 #define COLOR_BTNHILIGHT           COLOR_BTNHIGHLIGHT
1067 /* win98 colors */
1068 #define COLOR_ALTERNATEBTNFACE         25  /* undocumented, constant's name unknown */
1069 #define COLOR_HOTLIGHT                 26
1070 #define COLOR_GRADIENTACTIVECAPTION    27
1071 #define COLOR_GRADIENTINACTIVECAPTION  28
1072
1073   /* WM_CTLCOLOR values */
1074 #define CTLCOLOR_MSGBOX             0
1075 #define CTLCOLOR_EDIT               1
1076 #define CTLCOLOR_LISTBOX            2
1077 #define CTLCOLOR_BTN                3
1078 #define CTLCOLOR_DLG                4
1079 #define CTLCOLOR_SCROLLBAR          5
1080 #define CTLCOLOR_STATIC             6
1081
1082 #define ICM_OFF   1
1083 #define ICM_ON    2
1084 #define ICM_QUERY 3
1085
1086   /* Bounds Accumulation APIs */
1087 #define DCB_RESET       0x0001
1088 #define DCB_ACCUMULATE  0x0002
1089 #define DCB_DIRTY       DCB_ACCUMULATE
1090 #define DCB_SET         (DCB_RESET | DCB_ACCUMULATE)
1091 #define DCB_ENABLE      0x0004
1092 #define DCB_DISABLE     0x0008
1093
1094
1095   /* Bitmaps */
1096
1097 typedef struct
1098 {
1099     INT16  bmType;
1100     INT16  bmWidth;
1101     INT16  bmHeight;
1102     INT16  bmWidthBytes;
1103     BYTE   bmPlanes;
1104     BYTE   bmBitsPixel;
1105     SEGPTR bmBits WINE_PACKED;
1106 } BITMAP16, *LPBITMAP16;
1107
1108 typedef struct
1109 {
1110     INT32  bmType;
1111     INT32  bmWidth;
1112     INT32  bmHeight;
1113     INT32  bmWidthBytes;
1114     WORD   bmPlanes;
1115     WORD   bmBitsPixel;
1116     LPVOID bmBits WINE_PACKED;
1117 } BITMAP32, *LPBITMAP32;
1118
1119 DECL_WINELIB_TYPE(BITMAP)
1120 DECL_WINELIB_TYPE(LPBITMAP)
1121
1122   /* Brushes */
1123
1124 typedef struct
1125
1126     UINT16     lbStyle;
1127     COLORREF   lbColor WINE_PACKED;
1128     INT16      lbHatch;
1129 } LOGBRUSH16, *LPLOGBRUSH16;
1130
1131 typedef struct
1132
1133     UINT32     lbStyle;
1134     COLORREF   lbColor;
1135     INT32      lbHatch;
1136 } LOGBRUSH32, *LPLOGBRUSH32;
1137
1138 DECL_WINELIB_TYPE(LOGBRUSH)
1139 DECL_WINELIB_TYPE(LPLOGBRUSH)
1140
1141   /* Brush styles */
1142 #define BS_SOLID            0
1143 #define BS_NULL             1
1144 #define BS_HOLLOW           1
1145 #define BS_HATCHED          2
1146 #define BS_PATTERN          3
1147 #define BS_INDEXED          4
1148 #define BS_DIBPATTERN       5
1149 #define BS_DIBPATTERNPT     6
1150 #define BS_PATTERN8X8       7
1151 #define BS_DIBPATTERN8X8    8
1152 #define BS_MONOPATTERN      9
1153
1154   /* Hatch styles */
1155 #define HS_HORIZONTAL       0
1156 #define HS_VERTICAL         1
1157 #define HS_FDIAGONAL        2
1158 #define HS_BDIAGONAL        3
1159 #define HS_CROSS            4
1160 #define HS_DIAGCROSS        5
1161
1162   /* Fonts */
1163
1164 #define LF_FACESIZE     32
1165 #define LF_FULLFACESIZE 64
1166
1167 #define RASTER_FONTTYPE     0x0001
1168 #define DEVICE_FONTTYPE     0x0002
1169 #define TRUETYPE_FONTTYPE   0x0004
1170
1171 typedef struct
1172 {
1173     INT16  lfHeight;
1174     INT16  lfWidth;
1175     INT16  lfEscapement;
1176     INT16  lfOrientation;
1177     INT16  lfWeight;
1178     BYTE   lfItalic;
1179     BYTE   lfUnderline;
1180     BYTE   lfStrikeOut;
1181     BYTE   lfCharSet;
1182     BYTE   lfOutPrecision;
1183     BYTE   lfClipPrecision;
1184     BYTE   lfQuality;
1185     BYTE   lfPitchAndFamily;
1186     CHAR   lfFaceName[LF_FACESIZE] WINE_PACKED;
1187 } LOGFONT16, *LPLOGFONT16;
1188
1189 typedef struct
1190 {
1191     INT32  lfHeight;
1192     INT32  lfWidth;
1193     INT32  lfEscapement;
1194     INT32  lfOrientation;
1195     INT32  lfWeight;
1196     BYTE   lfItalic;
1197     BYTE   lfUnderline;
1198     BYTE   lfStrikeOut;
1199     BYTE   lfCharSet;
1200     BYTE   lfOutPrecision;
1201     BYTE   lfClipPrecision;
1202     BYTE   lfQuality;
1203     BYTE   lfPitchAndFamily;
1204     CHAR   lfFaceName[LF_FACESIZE];
1205 } LOGFONT32A, *LPLOGFONT32A;
1206
1207 typedef struct
1208 {
1209     INT32  lfHeight;
1210     INT32  lfWidth;
1211     INT32  lfEscapement;
1212     INT32  lfOrientation;
1213     INT32  lfWeight;
1214     BYTE   lfItalic;
1215     BYTE   lfUnderline;
1216     BYTE   lfStrikeOut;
1217     BYTE   lfCharSet;
1218     BYTE   lfOutPrecision;
1219     BYTE   lfClipPrecision;
1220     BYTE   lfQuality;
1221     BYTE   lfPitchAndFamily;
1222     WCHAR  lfFaceName[LF_FACESIZE];
1223 } LOGFONT32W, *LPLOGFONT32W;
1224
1225 DECL_WINELIB_TYPE_AW(LOGFONT)
1226 DECL_WINELIB_TYPE_AW(LPLOGFONT)
1227
1228 typedef struct
1229 {
1230   LOGFONT16  elfLogFont;
1231   BYTE       elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1232   BYTE       elfStyle[LF_FACESIZE] WINE_PACKED;
1233 } ENUMLOGFONT16, *LPENUMLOGFONT16;
1234
1235 typedef struct
1236 {
1237   LOGFONT32A elfLogFont;
1238   BYTE       elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1239   BYTE       elfStyle[LF_FACESIZE] WINE_PACKED;
1240 } ENUMLOGFONT32A, *LPENUMLOGFONT32A;
1241
1242 typedef struct
1243 {
1244   LOGFONT32W elfLogFont;
1245   WCHAR      elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1246   WCHAR      elfStyle[LF_FACESIZE] WINE_PACKED;
1247 } ENUMLOGFONT32W, *LPENUMLOGFONT32W;
1248
1249 typedef struct
1250 {
1251   LOGFONT16  elfLogFont;
1252   BYTE       elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1253   BYTE       elfStyle[LF_FACESIZE] WINE_PACKED;
1254   BYTE       elfScript[LF_FACESIZE] WINE_PACKED;
1255 } ENUMLOGFONTEX16, *LPENUMLOGFONTEX16;
1256
1257 typedef struct
1258 {
1259   LOGFONT32A elfLogFont;
1260   BYTE       elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1261   BYTE       elfStyle[LF_FACESIZE] WINE_PACKED;
1262   BYTE       elfScript[LF_FACESIZE] WINE_PACKED;
1263 } ENUMLOGFONTEX32A,*LPENUMLOGFONTEX32A;
1264
1265 typedef struct
1266 {
1267   LOGFONT32W elfLogFont;
1268   WCHAR      elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1269   WCHAR      elfStyle[LF_FACESIZE] WINE_PACKED;
1270   WCHAR      elfScript[LF_FACESIZE] WINE_PACKED;
1271 } ENUMLOGFONTEX32W,*LPENUMLOGFONTEX32W;
1272
1273 DECL_WINELIB_TYPE_AW(ENUMLOGFONT)
1274 DECL_WINELIB_TYPE_AW(LPENUMLOGFONT)
1275 DECL_WINELIB_TYPE_AW(LPENUMLOGFONTEX)
1276
1277 typedef struct
1278 {
1279   DWORD fsUsb[4];
1280   DWORD fsCsb[2];
1281 } FONTSIGNATURE,*LPFONTSIGNATURE;
1282
1283 typedef struct 
1284 {
1285   UINT32        ciCharset;
1286   UINT32        ciACP;
1287   FONTSIGNATURE fs;
1288 } CHARSETINFO,*LPCHARSETINFO;
1289
1290 /* Flags for ModifyWorldTransform */
1291 #define MWT_IDENTITY      1
1292 #define MWT_LEFTMULTIPLY  2
1293 #define MWT_RIGHTMULTIPLY 3
1294
1295 typedef struct
1296 {
1297     FLOAT  eM11;
1298     FLOAT  eM12;
1299     FLOAT  eM21;
1300     FLOAT  eM22;
1301     FLOAT  eDx;
1302     FLOAT  eDy;
1303 } XFORM, *LPXFORM;
1304
1305 typedef struct 
1306 {
1307     INT16  txfHeight;
1308     INT16  txfWidth;
1309     INT16  txfEscapement;
1310     INT16  txfOrientation;
1311     INT16  txfWeight;
1312     CHAR   txfItalic;
1313     CHAR   txfUnderline;
1314     CHAR   txfStrikeOut;
1315     CHAR   txfOutPrecision;
1316     CHAR   txfClipPrecision;
1317     INT16  txfAccelerator WINE_PACKED;
1318     INT16  txfOverhang WINE_PACKED;
1319 } TEXTXFORM16, *LPTEXTXFORM16;
1320
1321 typedef struct
1322 {
1323     INT16 dfType;
1324     INT16 dfPoints;
1325     INT16 dfVertRes;
1326     INT16 dfHorizRes;
1327     INT16 dfAscent;
1328     INT16 dfInternalLeading;
1329     INT16 dfExternalLeading;
1330     CHAR  dfItalic;
1331     CHAR  dfUnderline;
1332     CHAR  dfStrikeOut;
1333     INT16 dfWeight;
1334     CHAR  dfCharSet;
1335     INT16 dfPixWidth;
1336     INT16 dfPixHeight;
1337     CHAR  dfPitchAndFamily;
1338     INT16 dfAvgWidth;
1339     INT16 dfMaxWidth;
1340     CHAR  dfFirstChar;
1341     CHAR  dfLastChar;
1342     CHAR  dfDefaultChar;
1343     CHAR  dfBreakChar;
1344     INT16 dfWidthBytes;
1345     LONG  dfDevice;
1346     LONG  dfFace;
1347     LONG  dfBitsPointer;
1348     LONG  dfBitsOffset;
1349     CHAR  dfReserved;
1350     LONG  dfFlags;
1351     INT16 dfAspace;
1352     INT16 dfBspace;
1353     INT16 dfCspace;
1354     LONG  dfColorPointer;
1355     LONG  dfReserved1[4];
1356 } FONTINFO16, *LPFONTINFO16;
1357
1358   /* lfWeight values */
1359 #define FW_DONTCARE         0
1360 #define FW_THIN             100
1361 #define FW_EXTRALIGHT       200
1362 #define FW_ULTRALIGHT       200
1363 #define FW_LIGHT            300
1364 #define FW_NORMAL           400
1365 #define FW_REGULAR          400
1366 #define FW_MEDIUM           500
1367 #define FW_SEMIBOLD         600
1368 #define FW_DEMIBOLD         600
1369 #define FW_BOLD             700
1370 #define FW_EXTRABOLD        800
1371 #define FW_ULTRABOLD        800
1372 #define FW_HEAVY            900
1373 #define FW_BLACK            900
1374
1375   /* lfCharSet values */
1376 #define ANSI_CHARSET          0
1377 #define DEFAULT_CHARSET       1
1378 #define SYMBOL_CHARSET        2
1379 #define SHIFTJIS_CHARSET      128
1380 #define HANGEUL_CHARSET       129
1381 #define GB2313_CHARSET        134
1382 #define CHINESEBIG5_CHARSET   136
1383 #define GREEK_CHARSET         161       /* CP1253 */
1384 #define TURKISH_CHARSET       162       /* CP1254, -iso8859-9 */
1385 #define HEBREW_CHARSET        177       /* CP1255 */
1386 #define ARABIC_CHARSET        178       /* CP1256 */
1387 #define BALTIC_CHARSET        186       /* CP1257 */
1388 #define RUSSIAN_CHARSET       204       /* CP1251 */
1389 #define EE_CHARSET            238       /* CP1250, -iso8859-2 */
1390 #define OEM_CHARSET           255
1391
1392   /* lfOutPrecision values */
1393 #define OUT_DEFAULT_PRECIS      0
1394 #define OUT_STRING_PRECIS       1
1395 #define OUT_CHARACTER_PRECIS    2
1396 #define OUT_STROKE_PRECIS       3
1397 #define OUT_TT_PRECIS           4
1398 #define OUT_DEVICE_PRECIS       5
1399 #define OUT_RASTER_PRECIS       6
1400 #define OUT_TT_ONLY_PRECIS      7
1401
1402   /* lfClipPrecision values */
1403 #define CLIP_DEFAULT_PRECIS     0x00
1404 #define CLIP_CHARACTER_PRECIS   0x01
1405 #define CLIP_STROKE_PRECIS      0x02
1406 #define CLIP_MASK               0x0F
1407 #define CLIP_LH_ANGLES          0x10
1408 #define CLIP_TT_ALWAYS          0x20
1409 #define CLIP_EMBEDDED           0x80
1410
1411   /* lfQuality values */
1412 #define DEFAULT_QUALITY     0
1413 #define DRAFT_QUALITY       1
1414 #define PROOF_QUALITY       2
1415
1416   /* lfPitchAndFamily pitch values */
1417 #define DEFAULT_PITCH       0x00
1418 #define FIXED_PITCH         0x01
1419 #define VARIABLE_PITCH      0x02
1420 #define FF_DONTCARE         0x00
1421 #define FF_ROMAN            0x10
1422 #define FF_SWISS            0x20
1423 #define FF_MODERN           0x30
1424 #define FF_SCRIPT           0x40
1425 #define FF_DECORATIVE       0x50
1426
1427 typedef struct
1428 {
1429     INT16     tmHeight;
1430     INT16     tmAscent;
1431     INT16     tmDescent;
1432     INT16     tmInternalLeading;
1433     INT16     tmExternalLeading;
1434     INT16     tmAveCharWidth;
1435     INT16     tmMaxCharWidth;
1436     INT16     tmWeight;
1437     BYTE      tmItalic;
1438     BYTE      tmUnderlined;
1439     BYTE      tmStruckOut;
1440     BYTE      tmFirstChar;
1441     BYTE      tmLastChar;
1442     BYTE      tmDefaultChar;
1443     BYTE      tmBreakChar;
1444     BYTE      tmPitchAndFamily;
1445     BYTE      tmCharSet;
1446     INT16     tmOverhang WINE_PACKED;
1447     INT16     tmDigitizedAspectX WINE_PACKED;
1448     INT16     tmDigitizedAspectY WINE_PACKED;
1449 } TEXTMETRIC16, *LPTEXTMETRIC16;
1450
1451 typedef struct
1452 {
1453     INT32     tmHeight;
1454     INT32     tmAscent;
1455     INT32     tmDescent;
1456     INT32     tmInternalLeading;
1457     INT32     tmExternalLeading;
1458     INT32     tmAveCharWidth;
1459     INT32     tmMaxCharWidth;
1460     INT32     tmWeight;
1461     INT32     tmOverhang;
1462     INT32     tmDigitizedAspectX;
1463     INT32     tmDigitizedAspectY;
1464     BYTE      tmFirstChar;
1465     BYTE      tmLastChar;
1466     BYTE      tmDefaultChar;
1467     BYTE      tmBreakChar;
1468     BYTE      tmItalic;
1469     BYTE      tmUnderlined;
1470     BYTE      tmStruckOut;
1471     BYTE      tmPitchAndFamily;
1472     BYTE      tmCharSet;
1473 } TEXTMETRIC32A, *LPTEXTMETRIC32A;
1474
1475 typedef struct
1476 {
1477     INT32     tmHeight;
1478     INT32     tmAscent;
1479     INT32     tmDescent;
1480     INT32     tmInternalLeading;
1481     INT32     tmExternalLeading;
1482     INT32     tmAveCharWidth;
1483     INT32     tmMaxCharWidth;
1484     INT32     tmWeight;
1485     INT32     tmOverhang;
1486     INT32     tmDigitizedAspectX;
1487     INT32     tmDigitizedAspectY;
1488     WCHAR     tmFirstChar;
1489     WCHAR     tmLastChar;
1490     WCHAR     tmDefaultChar;
1491     WCHAR     tmBreakChar;
1492     BYTE      tmItalic;
1493     BYTE      tmUnderlined;
1494     BYTE      tmStruckOut;
1495     BYTE      tmPitchAndFamily;
1496     BYTE      tmCharSet;
1497 } TEXTMETRIC32W, *LPTEXTMETRIC32W;
1498
1499 DECL_WINELIB_TYPE_AW(TEXTMETRIC)
1500 DECL_WINELIB_TYPE_AW(LPTEXTMETRIC)
1501
1502
1503 typedef struct tagPANOSE
1504 {
1505     BYTE bFamilyType;
1506     BYTE bSerifStyle;
1507     BYTE bWeight;
1508     BYTE bProportion;
1509     BYTE bContrast;
1510     BYTE bStrokeVariation;
1511     BYTE bArmStyle;
1512     BYTE bLetterform;
1513     BYTE bMidline;
1514     BYTE bXHeight;
1515 } PANOSE;
1516
1517
1518 typedef struct _OUTLINETEXTMETRIC32A
1519 {
1520     UINT32          otmSize;
1521     TEXTMETRIC32A   otmTextMetrics;
1522     BYTE            otmFilter;
1523     PANOSE          otmPanoseNumber;
1524     UINT32          otmfsSelection;
1525     UINT32          otmfsType;
1526     INT32           otmsCharSlopeRise;
1527     INT32           otmsCharSlopeRun;
1528     INT32           otmItalicAngle;
1529     UINT32          otmEMSquare;
1530     INT32           otmAscent;
1531     INT32           otmDescent;
1532     UINT32          otmLineGap;
1533     UINT32          otmsCapEmHeight;
1534     UINT32          otmsXHeight;
1535     RECT32          otmrcFontBox;
1536     INT32           otmMacAscent;
1537     INT32           otmMacDescent;
1538     UINT32          otmMacLineGap;
1539     UINT32          otmusMinimumPPEM;
1540     POINT32         otmptSubscriptSize;
1541     POINT32         otmptSubscriptOffset;
1542     POINT32         otmptSuperscriptSize;
1543     POINT32         otmptSuperscriptOffset;
1544     UINT32          otmsStrikeoutSize;
1545     INT32           otmsStrikeoutPosition;
1546     INT32           otmsUnderscoreSize;
1547     INT32           otmsUnderscorePosition;
1548     LPSTR           otmpFamilyName;
1549     LPSTR           otmpFaceName;
1550     LPSTR           otmpStyleName;
1551     LPSTR           otmpFullName;
1552 } OUTLINETEXTMETRIC32A, *LPOUTLINETEXTMETRIC32A;
1553
1554 typedef struct _OUTLINETEXTMETRIC32W
1555 {
1556     UINT32          otmSize;
1557     TEXTMETRIC32W   otmTextMetrics;
1558     BYTE            otmFilter;
1559     PANOSE          otmPanoseNumber;
1560     UINT32          otmfsSelection;
1561     UINT32          otmfsType;
1562     INT32           otmsCharSlopeRise;
1563     INT32           otmsCharSlopeRun;
1564     INT32           otmItalicAngle;
1565     UINT32          otmEMSquare;
1566     INT32           otmAscent;
1567     INT32           otmDescent;
1568     UINT32          otmLineGap;
1569     UINT32          otmsCapEmHeight;
1570     UINT32          otmsXHeight;
1571     RECT32          otmrcFontBox;
1572     INT32           otmMacAscent;
1573     INT32           otmMacDescent;
1574     UINT32          otmMacLineGap;
1575     UINT32          otmusMinimumPPEM;
1576     POINT32         otmptSubscriptSize;
1577     POINT32         otmptSubscriptOffset;
1578     POINT32         otmptSuperscriptSize;
1579     POINT32         otmptSuperscriptOffset;
1580     UINT32          otmsStrikeoutSize;
1581     INT32           otmsStrikeoutPosition;
1582     INT32           otmsUnderscoreSize;
1583     INT32           otmsUnderscorePosition;
1584     LPSTR           otmpFamilyName;
1585     LPSTR           otmpFaceName;
1586     LPSTR           otmpStyleName;
1587     LPSTR           otmpFullName;
1588 } OUTLINETEXTMETRIC32W, *LPOUTLINETEXTMETRIC32W;
1589
1590 typedef struct _OUTLINETEXTMETRIC16
1591 {
1592     UINT16          otmSize;
1593     TEXTMETRIC16    otmTextMetrics;
1594     BYTE            otmFilter;
1595     PANOSE          otmPanoseNumber;
1596     UINT16          otmfsSelection;
1597     UINT16          otmfsType;
1598     INT16           otmsCharSlopeRise;
1599     INT16           otmsCharSlopeRun;
1600     INT16           otmItalicAngle;
1601     UINT16          otmEMSquare;
1602     INT16           otmAscent;
1603     INT16           otmDescent;
1604     UINT16          otmLineGap;
1605     UINT16          otmsCapEmHeight;
1606     UINT16          otmsXHeight;
1607     RECT16          otmrcFontBox;
1608     INT16           otmMacAscent;
1609     INT16           otmMacDescent;
1610     UINT16          otmMacLineGap;
1611     UINT16          otmusMinimumPPEM;
1612     POINT16         otmptSubscriptSize;
1613     POINT16         otmptSubscriptOffset;
1614     POINT16         otmptSuperscriptSize;
1615     POINT16         otmptSuperscriptOffset;
1616     UINT16          otmsStrikeoutSize;
1617     INT16           otmsStrikeoutPosition;
1618     INT16           otmsUnderscoreSize;
1619     INT32           otmsUnderscorePosition;
1620     LPSTR           otmpFamilyName;
1621     LPSTR           otmpFaceName;
1622     LPSTR           otmpStyleName;
1623     LPSTR           otmpFullName;
1624 } OUTLINETEXTMETRIC16,*LPOUTLINETEXTMETRIC16;
1625
1626 DECL_WINELIB_TYPE_AW(OUTLINETEXTMETRIC)
1627 DECL_WINELIB_TYPE_AW(LPOUTLINETEXTMETRIC)
1628
1629
1630
1631 /* ntmFlags field flags */
1632 #define NTM_REGULAR     0x00000040L
1633 #define NTM_BOLD        0x00000020L
1634 #define NTM_ITALIC      0x00000001L
1635
1636 typedef struct
1637 {
1638     INT16     tmHeight;
1639     INT16     tmAscent;
1640     INT16     tmDescent;
1641     INT16     tmInternalLeading;
1642     INT16     tmExternalLeading;
1643     INT16     tmAveCharWidth;
1644     INT16     tmMaxCharWidth;
1645     INT16     tmWeight;
1646     BYTE      tmItalic;
1647     BYTE      tmUnderlined;
1648     BYTE      tmStruckOut;
1649     BYTE      tmFirstChar;
1650     BYTE      tmLastChar;
1651     BYTE      tmDefaultChar;
1652     BYTE      tmBreakChar;
1653     BYTE      tmPitchAndFamily;
1654     BYTE      tmCharSet;
1655     INT16     tmOverhang WINE_PACKED;
1656     INT16     tmDigitizedAspectX WINE_PACKED;
1657     INT16     tmDigitizedAspectY WINE_PACKED;
1658     DWORD     ntmFlags;
1659     UINT16    ntmSizeEM;
1660     UINT16    ntmCellHeight;
1661     UINT16    ntmAvgWidth;
1662 } NEWTEXTMETRIC16,*LPNEWTEXTMETRIC16;
1663
1664 typedef struct
1665 {
1666     INT32     tmHeight;
1667     INT32     tmAscent;
1668     INT32     tmDescent;
1669     INT32     tmInternalLeading;
1670     INT32     tmExternalLeading;
1671     INT32     tmAveCharWidth;
1672     INT32     tmMaxCharWidth;
1673     INT32     tmWeight;
1674     INT32     tmOverhang;
1675     INT32     tmDigitizedAspectX;
1676     INT32     tmDigitizedAspectY;
1677     BYTE      tmFirstChar;
1678     BYTE      tmLastChar;
1679     BYTE      tmDefaultChar;
1680     BYTE      tmBreakChar;
1681     BYTE      tmItalic;
1682     BYTE      tmUnderlined;
1683     BYTE      tmStruckOut;
1684     BYTE      tmPitchAndFamily;
1685     BYTE      tmCharSet;
1686     DWORD     ntmFlags;
1687     UINT32    ntmSizeEM;
1688     UINT32    ntmCellHeight;
1689     UINT32    ntmAvgWidth;
1690 } NEWTEXTMETRIC32A, *LPNEWTEXTMETRIC32A;
1691
1692 typedef struct
1693 {
1694     INT32     tmHeight;
1695     INT32     tmAscent;
1696     INT32     tmDescent;
1697     INT32     tmInternalLeading;
1698     INT32     tmExternalLeading;
1699     INT32     tmAveCharWidth;
1700     INT32     tmMaxCharWidth;
1701     INT32     tmWeight;
1702     INT32     tmOverhang;
1703     INT32     tmDigitizedAspectX;
1704     INT32     tmDigitizedAspectY;
1705     WCHAR     tmFirstChar;
1706     WCHAR     tmLastChar;
1707     WCHAR     tmDefaultChar;
1708     WCHAR     tmBreakChar;
1709     BYTE      tmItalic;
1710     BYTE      tmUnderlined;
1711     BYTE      tmStruckOut;
1712     BYTE      tmPitchAndFamily;
1713     BYTE      tmCharSet;
1714     DWORD     ntmFlags;
1715     UINT32    ntmSizeEM;
1716     UINT32    ntmCellHeight;
1717     UINT32    ntmAvgWidth;
1718 } NEWTEXTMETRIC32W, *LPNEWTEXTMETRIC32W;
1719
1720 DECL_WINELIB_TYPE_AW(NEWTEXTMETRIC)
1721 DECL_WINELIB_TYPE_AW(LPNEWTEXTMETRIC)
1722
1723 typedef struct
1724 {
1725     NEWTEXTMETRIC16     ntmetm;
1726     FONTSIGNATURE       ntmeFontSignature;
1727 } NEWTEXTMETRICEX16,*LPNEWTEXTMETRICEX16;
1728
1729 typedef struct
1730 {
1731     NEWTEXTMETRIC32A    ntmetm;
1732     FONTSIGNATURE       ntmeFontSignature;
1733 } NEWTEXTMETRICEX32A,*LPNEWTEXTMETRICEX32A;
1734
1735 typedef struct
1736 {
1737     NEWTEXTMETRIC32W    ntmetm;
1738     FONTSIGNATURE       ntmeFontSignature;
1739 } NEWTEXTMETRICEX32W,*LPNEWTEXTMETRICEX32W;
1740
1741 DECL_WINELIB_TYPE_AW(NEWTEXTMETRICEX)
1742 DECL_WINELIB_TYPE_AW(LPNEWTEXTMETRICEX)
1743
1744
1745 typedef INT16 (CALLBACK *FONTENUMPROC16)(SEGPTR,SEGPTR,UINT16,LPARAM);
1746 typedef INT32 (CALLBACK *FONTENUMPROC32A)(LPENUMLOGFONT32A,LPNEWTEXTMETRIC32A,
1747                                           UINT32,LPARAM);
1748 typedef INT32 (CALLBACK *FONTENUMPROC32W)(LPENUMLOGFONT32W,LPNEWTEXTMETRIC32W,
1749                                           UINT32,LPARAM);
1750 DECL_WINELIB_TYPE_AW(FONTENUMPROC)
1751
1752 typedef INT16 (CALLBACK *FONTENUMPROCEX16)(SEGPTR,SEGPTR,UINT16,LPARAM);
1753 typedef INT32 (CALLBACK *FONTENUMPROCEX32A)(LPENUMLOGFONTEX32A,LPNEWTEXTMETRICEX32A,UINT32,LPARAM);
1754 typedef INT32 (CALLBACK *FONTENUMPROCEX32W)(LPENUMLOGFONTEX32W,LPNEWTEXTMETRICEX32W,UINT32,LPARAM);
1755 DECL_WINELIB_TYPE_AW(FONTENUMPROCEX)
1756
1757   /* tmPitchAndFamily bits */
1758 #define TMPF_FIXED_PITCH    1           /* means variable pitch */
1759 #define TMPF_VECTOR         2
1760 #define TMPF_TRUETYPE       4
1761 #define TMPF_DEVICE         8
1762
1763   /* Text alignment */
1764 #define TA_NOUPDATECP       0x00
1765 #define TA_UPDATECP         0x01
1766 #define TA_LEFT             0x00
1767 #define TA_RIGHT            0x02
1768 #define TA_CENTER           0x06
1769 #define TA_TOP              0x00
1770 #define TA_BOTTOM           0x08
1771 #define TA_BASELINE         0x18
1772
1773   /* ExtTextOut() parameters */
1774 #define ETO_GRAYED          0x01
1775 #define ETO_OPAQUE          0x02
1776 #define ETO_CLIPPED         0x04
1777
1778 typedef struct
1779 {
1780     UINT16      gmBlackBoxX;
1781     UINT16      gmBlackBoxY;
1782     POINT16     gmptGlyphOrigin;
1783     INT16       gmCellIncX;
1784     INT16       gmCellIncY;
1785 } GLYPHMETRICS16, *LPGLYPHMETRICS16;
1786
1787 typedef struct
1788 {
1789     UINT32      gmBlackBoxX;
1790     UINT32      gmBlackBoxY;
1791     POINT32     gmptGlyphOrigin;
1792     INT16       gmCellIncX;
1793     INT16       gmCellIncY;
1794 } GLYPHMETRICS32, *LPGLYPHMETRICS32;
1795
1796 DECL_WINELIB_TYPE(GLYPHMETRICS)
1797 DECL_WINELIB_TYPE(LPGLYPHMETRICS)
1798
1799 #define GGO_METRICS         0
1800 #define GGO_BITMAP          1
1801 #define GGO_NATIVE          2
1802
1803 typedef struct
1804 {
1805     UINT16  fract;
1806     INT16   value;
1807 } FIXED;
1808
1809 typedef struct
1810 {
1811      FIXED  eM11;
1812      FIXED  eM12;
1813      FIXED  eM21;
1814      FIXED  eM22;
1815 } MAT2, *LPMAT2;
1816
1817   /* for GetCharABCWidths() */
1818 typedef struct
1819 {
1820     INT16   abcA;
1821     UINT16  abcB;
1822     INT16   abcC;
1823 } ABC16, *LPABC16;
1824
1825 typedef struct
1826 {
1827     INT32   abcA;
1828     UINT32  abcB;
1829     INT32   abcC;
1830 } ABC32, *LPABC32;
1831
1832 DECL_WINELIB_TYPE(ABC)
1833 DECL_WINELIB_TYPE(LPABC)
1834
1835   /* for GetCharacterPlacement () */
1836 typedef struct tagGCP_RESULTS32A
1837 {
1838     DWORD  lStructSize;
1839     LPSTR  lpOutString;
1840     UINT32 *lpOrder;
1841     INT32  *lpDx;
1842     INT32  *lpCaretPos;
1843     LPSTR  lpClass;
1844     UINT32 *lpGlyphs;
1845     UINT32 nGlyphs;
1846     UINT32 nMaxFit;
1847 } GCP_RESULTS32A;
1848
1849 typedef struct tagGCP_RESULTS32W
1850 {
1851     DWORD  lStructSize;
1852     LPWSTR lpOutString;
1853     UINT32 *lpOrder;
1854     INT32  *lpDx;
1855     INT32  *lpCaretPos;
1856     LPWSTR lpClass;
1857     UINT32 *lpGlyphs;
1858     UINT32 nGlyphs;
1859     UINT32 nMaxFit;
1860 } GCP_RESULTS32W;
1861
1862 DECL_WINELIB_TYPE_AW(GCP_RESULTS)
1863
1864   /* Rasterizer status */
1865 typedef struct
1866 {
1867     INT16 nSize;
1868     INT16 wFlags;
1869     INT16 nLanguageID;
1870 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
1871
1872 #define TT_AVAILABLE        0x0001
1873 #define TT_ENABLED          0x0002
1874
1875 /* Get/SetSystemPaletteUse() values */
1876 #define SYSPAL_STATIC   1
1877 #define SYSPAL_NOSTATIC 2
1878
1879 typedef struct tagPALETTEENTRY
1880 {
1881         BYTE peRed, peGreen, peBlue, peFlags;
1882 } PALETTEENTRY, *LPPALETTEENTRY;
1883
1884 /* Logical palette entry flags */
1885 #define PC_RESERVED     0x01
1886 #define PC_EXPLICIT     0x02
1887 #define PC_NOCOLLAPSE   0x04
1888
1889 typedef struct
1890
1891     WORD           palVersion;
1892     WORD           palNumEntries;
1893     PALETTEENTRY   palPalEntry[1] WINE_PACKED;
1894 } LOGPALETTE, *LPLOGPALETTE;
1895
1896   /* Pens */
1897
1898 typedef struct
1899 {
1900     UINT16   lopnStyle; 
1901     POINT16  lopnWidth WINE_PACKED;
1902     COLORREF lopnColor WINE_PACKED;
1903 } LOGPEN16, *LPLOGPEN16;
1904
1905 typedef struct
1906 {
1907     UINT32   lopnStyle; 
1908     POINT32  lopnWidth WINE_PACKED;
1909     COLORREF lopnColor WINE_PACKED;
1910 } LOGPEN32, *LPLOGPEN32;
1911
1912 DECL_WINELIB_TYPE(LOGPEN)
1913 DECL_WINELIB_TYPE(LPLOGPEN)
1914
1915 #define PS_SOLID         0x00000000
1916 #define PS_DASH          0x00000001
1917 #define PS_DOT           0x00000002
1918 #define PS_DASHDOT       0x00000003
1919 #define PS_DASHDOTDOT    0x00000004
1920 #define PS_NULL          0x00000005
1921 #define PS_INSIDEFRAME   0x00000006
1922 #define PS_USERSTYLE     0x00000007
1923 #define PS_ALTERNATE     0x00000008
1924 #define PS_STYLE_MASK    0x0000000f
1925
1926 #define PS_ENDCAP_ROUND  0x00000000
1927 #define PS_ENDCAP_SQUARE 0x00000100
1928 #define PS_ENDCAP_FLAT   0x00000200
1929 #define PS_ENDCAP_MASK   0x00000f00
1930
1931 #define PS_JOIN_ROUND    0x00000000
1932 #define PS_JOIN_BEVEL    0x00001000
1933 #define PS_JOIN_MITER    0x00002000
1934 #define PS_JOIN_MASK     0x0000f000
1935
1936 #define PS_COSMETIC      0x00000000
1937 #define PS_GEOMETRIC     0x00010000
1938 #define PS_TYPE_MASK     0x000f0000
1939
1940   /* Regions */
1941
1942 #define ERROR             0
1943 #define NULLREGION        1
1944 #define SIMPLEREGION      2
1945 #define COMPLEXREGION     3
1946
1947 #define RGN_AND           1
1948 #define RGN_OR            2
1949 #define RGN_XOR           3
1950 #define RGN_DIFF          4
1951 #define RGN_COPY          5
1952
1953   /* Device contexts */
1954
1955 /* GetDCEx flags */
1956 #define DCX_WINDOW           0x00000001
1957 #define DCX_CACHE            0x00000002
1958 #define DCX_CLIPCHILDREN     0x00000008
1959 #define DCX_CLIPSIBLINGS     0x00000010
1960 #define DCX_PARENTCLIP       0x00000020
1961 #define DCX_EXCLUDERGN       0x00000040
1962 #define DCX_INTERSECTRGN     0x00000080
1963 #define DCX_LOCKWINDOWUPDATE 0x00000400
1964 #define DCX_USESTYLE         0x00010000
1965
1966   /* Polygon modes */
1967 #define ALTERNATE         1
1968 #define WINDING           2
1969
1970   /* Background modes */
1971 #ifdef TRANSPARENT  /*Apparently some broken svr4 includes define TRANSPARENT*/
1972 #undef TRANSPARENT
1973 #endif
1974 #define TRANSPARENT       1
1975 #define OPAQUE            2
1976
1977
1978   /* Graphics Modes */
1979 #define GM_COMPATIBLE     1
1980 #define GM_ADVANCED       2
1981 #define GM_LAST           2
1982
1983   /* Arc direction modes */
1984 #define AD_COUNTERCLOCKWISE 1
1985 #define AD_CLOCKWISE        2
1986
1987   /* Map modes */
1988 #define MM_TEXT           1
1989 #define MM_LOMETRIC       2
1990 #define MM_HIMETRIC       3
1991 #define MM_LOENGLISH      4
1992 #define MM_HIENGLISH      5
1993 #define MM_TWIPS          6
1994 #define MM_ISOTROPIC      7
1995 #define MM_ANISOTROPIC    8
1996
1997   /* Coordinate modes */
1998 #define ABSOLUTE          1
1999 #define RELATIVE          2
2000
2001   /* Flood fill modes */
2002 #define FLOODFILLBORDER   0
2003 #define FLOODFILLSURFACE  1
2004
2005   /* Device parameters for GetDeviceCaps() */
2006 #define DRIVERVERSION     0
2007 #define TECHNOLOGY        2
2008 #define HORZSIZE          4
2009 #define VERTSIZE          6
2010 #define HORZRES           8
2011 #define VERTRES           10
2012 #define BITSPIXEL         12
2013 #define PLANES            14
2014 #define NUMBRUSHES        16
2015 #define NUMPENS           18
2016 #define NUMMARKERS        20
2017 #define NUMFONTS          22
2018 #define NUMCOLORS         24
2019 #define PDEVICESIZE       26
2020 #define CURVECAPS         28
2021 #define LINECAPS          30
2022 #define POLYGONALCAPS     32
2023 #define TEXTCAPS          34
2024 #define CLIPCAPS          36
2025 #define RASTERCAPS        38
2026 #define ASPECTX           40
2027 #define ASPECTY           42
2028 #define ASPECTXY          44
2029 #define LOGPIXELSX        88
2030 #define LOGPIXELSY        90
2031 #define SIZEPALETTE       104
2032 #define NUMRESERVED       106
2033 #define COLORRES          108
2034
2035 /* TECHNOLOGY */
2036 #define DT_PLOTTER        0
2037 #define DT_RASDISPLAY     1
2038 #define DT_RASPRINTER     2
2039 #define DT_RASCAMERA      3
2040 #define DT_CHARSTREAM     4
2041 #define DT_METAFILE       5
2042 #define DT_DISPFILE       6
2043
2044 /* CURVECAPS */
2045 #define CC_NONE           0x0000
2046 #define CC_CIRCLES        0x0001
2047 #define CC_PIE            0x0002
2048 #define CC_CHORD          0x0004
2049 #define CC_ELLIPSES       0x0008
2050 #define CC_WIDE           0x0010
2051 #define CC_STYLED         0x0020
2052 #define CC_WIDESTYLED     0x0040
2053 #define CC_INTERIORS      0x0080
2054 #define CC_ROUNDRECT      0x0100
2055
2056 /* LINECAPS */
2057 #define LC_NONE           0x0000
2058 #define LC_POLYLINE       0x0002
2059 #define LC_MARKER         0x0004
2060 #define LC_POLYMARKER     0x0008
2061 #define LC_WIDE           0x0010
2062 #define LC_STYLED         0x0020
2063 #define LC_WIDESTYLED     0x0040
2064 #define LC_INTERIORS      0x0080
2065
2066 /* POLYGONALCAPS */
2067 #define PC_NONE           0x0000
2068 #define PC_POLYGON        0x0001
2069 #define PC_RECTANGLE      0x0002
2070 #define PC_WINDPOLYGON    0x0004
2071 #define PC_SCANLINE       0x0008
2072 #define PC_WIDE           0x0010
2073 #define PC_STYLED         0x0020
2074 #define PC_WIDESTYLED     0x0040
2075 #define PC_INTERIORS      0x0080
2076
2077 /* TEXTCAPS */
2078 #define TC_OP_CHARACTER   0x0001
2079 #define TC_OP_STROKE      0x0002
2080 #define TC_CP_STROKE      0x0004
2081 #define TC_CR_90          0x0008
2082 #define TC_CR_ANY         0x0010
2083 #define TC_SF_X_YINDEP    0x0020
2084 #define TC_SA_DOUBLE      0x0040
2085 #define TC_SA_INTEGER     0x0080
2086 #define TC_SA_CONTIN      0x0100
2087 #define TC_EA_DOUBLE      0x0200
2088 #define TC_IA_ABLE        0x0400
2089 #define TC_UA_ABLE        0x0800
2090 #define TC_SO_ABLE        0x1000
2091 #define TC_RA_ABLE        0x2000
2092 #define TC_VA_ABLE        0x4000
2093 #define TC_RESERVED       0x8000
2094
2095 /* CLIPCAPS */
2096 #define CP_NONE           0x0000
2097 #define CP_RECTANGLE      0x0001
2098 #define CP_REGION         0x0002
2099
2100 /* RASTERCAPS */
2101 #define RC_NONE           0x0000
2102 #define RC_BITBLT         0x0001
2103 #define RC_BANDING        0x0002
2104 #define RC_SCALING        0x0004
2105 #define RC_BITMAP64       0x0008
2106 #define RC_GDI20_OUTPUT   0x0010
2107 #define RC_GDI20_STATE    0x0020
2108 #define RC_SAVEBITMAP     0x0040
2109 #define RC_DI_BITMAP      0x0080
2110 #define RC_PALETTE        0x0100
2111 #define RC_DIBTODEV       0x0200
2112 #define RC_BIGFONT        0x0400
2113 #define RC_STRETCHBLT     0x0800
2114 #define RC_FLOODFILL      0x1000
2115 #define RC_STRETCHDIB     0x2000
2116 #define RC_OP_DX_OUTPUT   0x4000
2117 #define RC_DEVBITS        0x8000
2118
2119   /* GetSystemMetrics() codes */
2120 #define SM_CXSCREEN            0
2121 #define SM_CYSCREEN            1
2122 #define SM_CXVSCROLL           2
2123 #define SM_CYHSCROLL           3
2124 #define SM_CYCAPTION           4
2125 #define SM_CXBORDER            5
2126 #define SM_CYBORDER            6
2127 #define SM_CXDLGFRAME          7
2128 #define SM_CYDLGFRAME          8
2129 #define SM_CYVTHUMB            9
2130 #define SM_CXHTHUMB           10
2131 #define SM_CXICON             11
2132 #define SM_CYICON             12
2133 #define SM_CXCURSOR           13
2134 #define SM_CYCURSOR           14
2135 #define SM_CYMENU             15
2136 #define SM_CXFULLSCREEN       16
2137 #define SM_CYFULLSCREEN       17
2138 #define SM_CYKANJIWINDOW      18
2139 #define SM_MOUSEPRESENT       19
2140 #define SM_CYVSCROLL          20
2141 #define SM_CXHSCROLL          21
2142 #define SM_DEBUG              22
2143 #define SM_SWAPBUTTON         23
2144 #define SM_RESERVED1          24
2145 #define SM_RESERVED2          25
2146 #define SM_RESERVED3          26
2147 #define SM_RESERVED4          27
2148 #define SM_CXMIN              28
2149 #define SM_CYMIN              29
2150 #define SM_CXSIZE             30
2151 #define SM_CYSIZE             31
2152 #define SM_CXFRAME            32
2153 #define SM_CYFRAME            33
2154 #define SM_CXMINTRACK         34
2155 #define SM_CYMINTRACK         35
2156 #define SM_CXDOUBLECLK        36
2157 #define SM_CYDOUBLECLK        37
2158 #define SM_CXICONSPACING      38
2159 #define SM_CYICONSPACING      39
2160 #define SM_MENUDROPALIGNMENT  40
2161 #define SM_PENWINDOWS         41
2162 #define SM_DBCSENABLED        42
2163 #define SM_CMOUSEBUTTONS      43
2164 #define SM_CXFIXEDFRAME       SM_CXDLGFRAME
2165 #define SM_CYFIXEDFRAME       SM_CYDLGFRAME
2166 #define SM_CXSIZEFRAME        SM_CXFRAME
2167 #define SM_CYSIZEFRAME        SM_CYFRAME
2168 #define SM_SECURE             44
2169 #define SM_CXEDGE             45
2170 #define SM_CYEDGE             46
2171 #define SM_CXMINSPACING       47
2172 #define SM_CYMINSPACING       48
2173 #define SM_CXSMICON           49
2174 #define SM_CYSMICON           50
2175 #define SM_CYSMCAPTION        51
2176 #define SM_CXSMSIZE           52
2177 #define SM_CYSMSIZE           53
2178 #define SM_CXMENUSIZE         54
2179 #define SM_CYMENUSIZE         55
2180 #define SM_ARRANGE            56
2181 #define SM_CXMINIMIZED        57
2182 #define SM_CYMINIMIZED        58
2183 #define SM_CXMAXTRACK         59
2184 #define SM_CYMAXTRACK         60
2185 #define SM_CXMAXIMIZED        61
2186 #define SM_CYMAXIMIZED        62
2187 #define SM_NETWORK            63
2188 #define SM_CLEANBOOT          67
2189 #define SM_CXDRAG             68
2190 #define SM_CYDRAG             69
2191 #define SM_SHOWSOUNDS         70
2192 #define SM_CXMENUCHECK        71
2193 #define SM_CYMENUCHECK        72
2194 #define SM_SLOWMACHINE        73
2195 #define SM_MIDEASTENABLED     74
2196 #define SM_MOUSEWHEELPRESENT  75
2197 #define SM_XVIRTUALSCREEN     76
2198 #define SM_YVIRTUALSCREEN     77
2199 #define SM_CXVIRTUALSCREEN    78
2200 #define SM_CYVIRTUALSCREEN    79
2201 #define SM_CMONITORS          80
2202 #define SM_SAMEDISPLAYFORMAT  81
2203 #define SM_CMETRICS           83
2204
2205
2206   /* Device-independent bitmaps */
2207
2208 typedef struct { BYTE rgbBlue, rgbGreen, rgbRed, rgbReserved; } RGBQUAD;
2209 typedef struct { BYTE rgbtBlue, rgbtGreen, rgbtRed; } RGBTRIPLE;
2210
2211 typedef struct
2212 {
2213     UINT16  bfType;
2214     DWORD   bfSize WINE_PACKED;
2215     UINT16  bfReserved1 WINE_PACKED;
2216     UINT16  bfReserved2 WINE_PACKED;
2217     DWORD   bfOffBits WINE_PACKED;
2218 } BITMAPFILEHEADER;
2219
2220 typedef struct
2221 {
2222     DWORD       biSize;
2223     LONG        biWidth;
2224     LONG        biHeight;
2225     WORD        biPlanes;
2226     WORD        biBitCount;
2227     DWORD       biCompression;
2228     DWORD       biSizeImage;
2229     LONG        biXPelsPerMeter;
2230     LONG        biYPelsPerMeter;
2231     DWORD       biClrUsed;
2232     DWORD       biClrImportant;
2233 } BITMAPINFOHEADER, *LPBITMAPINFOHEADER;
2234
2235   /* biCompression */
2236 #define BI_RGB           0
2237 #define BI_RLE8          1
2238 #define BI_RLE4          2
2239
2240 typedef struct {
2241         BITMAPINFOHEADER bmiHeader;
2242         RGBQUAD bmiColors[1];
2243 } BITMAPINFO;
2244 typedef BITMAPINFO *LPBITMAPINFO;
2245 typedef BITMAPINFO *NPBITMAPINFO;
2246 typedef BITMAPINFO *PBITMAPINFO;
2247
2248 typedef struct
2249 {
2250     DWORD   bcSize;
2251     UINT16  bcWidth;
2252     UINT16  bcHeight;
2253     UINT16  bcPlanes;
2254     UINT16  bcBitCount;
2255 } BITMAPCOREHEADER;
2256
2257 typedef struct
2258 {
2259     BITMAPCOREHEADER bmciHeader;
2260     RGBTRIPLE        bmciColors[1];
2261 } BITMAPCOREINFO, *LPBITMAPCOREINFO;
2262
2263 #define DIB_RGB_COLORS   0
2264 #define DIB_PAL_COLORS   1
2265 #define CBM_INIT         4
2266
2267 typedef struct 
2268 {
2269         BITMAP32                dsBm;
2270         BITMAPINFOHEADER        dsBmih;
2271         DWORD                   dsBitfields[3];
2272         HANDLE32                dshSection;
2273         DWORD                   dsOffset;
2274 } DIBSECTION,*LPDIBSECTION;
2275
2276
2277 /* Cursors / Icons */
2278
2279 typedef struct
2280 {
2281     POINT16 ptHotSpot;
2282     WORD    nWidth;
2283     WORD    nHeight;
2284     WORD    nWidthBytes;
2285     BYTE    bPlanes;
2286     BYTE    bBitsPerPixel;
2287 } CURSORICONINFO;
2288
2289 /* only used by Win32 functions */
2290 typedef struct {
2291         BOOL32          fIcon;
2292         DWORD           xHotspot;
2293         DWORD           yHotspot;
2294         HBITMAP32       hbmMask;
2295         HBITMAP32       hbmColor;
2296 } ICONINFO,*LPICONINFO;
2297
2298 #ifdef FSHIFT
2299 /* Gcc on Solaris has a version of this that we don't care about.  */
2300 #undef FSHIFT
2301 #endif
2302
2303 #define FVIRTKEY        TRUE          /* Assumed to be == TRUE */
2304 #define FNOINVERT       0x02
2305 #define FSHIFT          0x04
2306 #define FCONTROL        0x08
2307 #define FALT            0x10
2308
2309 typedef struct
2310 {
2311     BYTE   fVirt;
2312     WORD   key;
2313     WORD   cmd;
2314 } ACCEL16, *LPACCEL16;
2315
2316 typedef struct
2317 {
2318     BYTE   fVirt;
2319     BYTE   pad0;
2320     WORD   key;
2321     WORD   cmd;
2322     WORD   pad1;
2323 } ACCEL32, *LPACCEL32;
2324
2325 DECL_WINELIB_TYPE(ACCEL)
2326 DECL_WINELIB_TYPE(LPACCEL)
2327
2328 /* modifiers for RegisterHotKey */
2329 #define MOD_ALT         0x0001
2330 #define MOD_CONTROL     0x0002
2331 #define MOD_SHIFT       0x0004
2332 #define MOD_WIN         0x0008
2333
2334 /* ids for RegisterHotKey */
2335 #define IDHOT_SNAPWINDOW        (-1)    /* SHIFT-PRINTSCRN  */
2336 #define IDHOT_SNAPDESKTOP       (-2)    /* PRINTSCRN        */
2337
2338 /* Flags for DrawIconEx.  */
2339 #define DI_MASK                 1
2340 #define DI_IMAGE                2
2341 #define DI_NORMAL               (DI_MASK | DI_IMAGE)
2342 #define DI_COMPAT               4
2343 #define DI_DEFAULTSIZE          8
2344
2345 typedef struct {
2346         BYTE i;  /* much more .... */
2347 } KANJISTRUCT;
2348 typedef KANJISTRUCT *LPKANJISTRUCT;
2349 typedef KANJISTRUCT *NPKANJISTRUCT;
2350 typedef KANJISTRUCT *PKANJISTRUCT;
2351
2352 #define OFS_MAXPATHNAME 128
2353 typedef struct
2354 {
2355     BYTE cBytes;
2356     BYTE fFixedDisk;
2357     WORD nErrCode;
2358     BYTE reserved[4];
2359     BYTE szPathName[OFS_MAXPATHNAME];
2360 } OFSTRUCT, *LPOFSTRUCT;
2361
2362 #define OF_READ               0x0000
2363 #define OF_WRITE              0x0001
2364 #define OF_READWRITE          0x0002
2365 #define OF_SHARE_COMPAT       0x0000
2366 #define OF_SHARE_EXCLUSIVE    0x0010
2367 #define OF_SHARE_DENY_WRITE   0x0020
2368 #define OF_SHARE_DENY_READ    0x0030
2369 #define OF_SHARE_DENY_NONE    0x0040
2370 #define OF_PARSE              0x0100
2371 #define OF_DELETE             0x0200
2372 #define OF_VERIFY             0x0400   /* Used with OF_REOPEN */
2373 #define OF_SEARCH             0x0400   /* Used without OF_REOPEN */
2374 #define OF_CANCEL             0x0800
2375 #define OF_CREATE             0x1000
2376 #define OF_PROMPT             0x2000
2377 #define OF_EXIST              0x4000
2378 #define OF_REOPEN             0x8000
2379
2380 /* SetErrorMode values */
2381 #define SEM_FAILCRITICALERRORS      0x0001
2382 #define SEM_NOGPFAULTERRORBOX       0x0002
2383 #define SEM_NOALIGNMENTFAULTEXCEPT  0x0004
2384 #define SEM_NOOPENFILEERRORBOX      0x8000
2385
2386 /* GetTempFileName() Flags */
2387 #define TF_FORCEDRIVE           0x80
2388
2389 #define DRIVE_CANNOTDETERMINE      0
2390 #define DRIVE_DOESNOTEXIST         1
2391 #define DRIVE_REMOVABLE            2
2392 #define DRIVE_FIXED                3
2393 #define DRIVE_REMOTE               4
2394 /* Win32 additions */
2395 #define DRIVE_CDROM                5
2396 #define DRIVE_RAMDISK              6
2397
2398 #define HFILE_ERROR16   ((HFILE16)-1)
2399 #define HFILE_ERROR32   ((HFILE32)-1)
2400 #define HFILE_ERROR     WINELIB_NAME(HFILE_ERROR)
2401
2402 #define DDL_READWRITE   0x0000
2403 #define DDL_READONLY    0x0001
2404 #define DDL_HIDDEN      0x0002
2405 #define DDL_SYSTEM      0x0004
2406 #define DDL_DIRECTORY   0x0010
2407 #define DDL_ARCHIVE     0x0020
2408
2409 #define DDL_POSTMSGS    0x2000
2410 #define DDL_DRIVES      0x4000
2411 #define DDL_EXCLUSIVE   0x8000
2412
2413 typedef struct _ACL {
2414     BYTE AclRevision;
2415     BYTE Sbz1;
2416     WORD AclSize;
2417     WORD AceCount;
2418     WORD Sbz2;
2419 } ACL, *LPACL;
2420
2421 typedef struct {
2422     BYTE Value[6];
2423 } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
2424
2425 typedef struct _SID {
2426     BYTE Revision;
2427     BYTE SubAuthorityCount;
2428     SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
2429     DWORD SubAuthority[1];
2430 } SID,*PSID,*LPSID;
2431
2432 /* The security attributes structure */
2433 typedef struct
2434 {
2435     DWORD   nLength;
2436     LPVOID  lpSecurityDescriptor;
2437     BOOL32  bInheritHandle;
2438 } SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
2439
2440 typedef WORD SECURITY_DESCRIPTOR_CONTROL;
2441
2442 /* The security descriptor structure */
2443 typedef struct {
2444     BYTE Revision;
2445     BYTE Sbz1;
2446     SECURITY_DESCRIPTOR_CONTROL Control;
2447     LPSID Owner;
2448     LPSID Group;
2449     LPACL Sacl;
2450     LPACL Dacl;
2451 } SECURITY_DESCRIPTOR, *LPSECURITY_DESCRIPTOR;
2452
2453 typedef DWORD   SECURITY_INFORMATION;
2454
2455
2456 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
2457 typedef struct
2458 {
2459   DWORD  dwLowDateTime;
2460   DWORD  dwHighDateTime;
2461 } FILETIME, *LPFILETIME;
2462
2463 /* Find* structures */
2464 typedef struct
2465 {
2466     DWORD     dwFileAttributes;
2467     FILETIME  ftCreationTime;
2468     FILETIME  ftLastAccessTime;
2469     FILETIME  ftLastWriteTime;
2470     DWORD     nFileSizeHigh;
2471     DWORD     nFileSizeLow;
2472     DWORD     dwReserved0;
2473     DWORD     dwReserved1;
2474     CHAR      cFileName[260];
2475     CHAR      cAlternateFileName[14];
2476 } WIN32_FIND_DATA32A, *LPWIN32_FIND_DATA32A;
2477
2478 typedef struct
2479 {
2480     DWORD     dwFileAttributes;
2481     FILETIME  ftCreationTime;
2482     FILETIME  ftLastAccessTime;
2483     FILETIME  ftLastWriteTime;
2484     DWORD     nFileSizeHigh;
2485     DWORD     nFileSizeLow;
2486     DWORD     dwReserved0;
2487     DWORD     dwReserved1;
2488     WCHAR     cFileName[260];
2489     WCHAR     cAlternateFileName[14];
2490 } WIN32_FIND_DATA32W, *LPWIN32_FIND_DATA32W;
2491
2492 DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA)
2493 DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA)
2494
2495 #define INVALID_HANDLE_VALUE16  ((HANDLE16) -1)
2496 #define INVALID_HANDLE_VALUE32  ((HANDLE32) -1)
2497 #define INVALID_HANDLE_VALUE WINELIB_NAME(INVALID_HANDLE_VALUE)
2498
2499 /* comm */
2500
2501 #define CBR_110 0xFF10
2502 #define CBR_300 0xFF11
2503 #define CBR_600 0xFF12
2504 #define CBR_1200        0xFF13
2505 #define CBR_2400        0xFF14
2506 #define CBR_4800        0xFF15
2507 #define CBR_9600        0xFF16
2508 #define CBR_14400       0xFF17
2509 #define CBR_19200       0xFF18
2510 #define CBR_38400       0xFF1B
2511 #define CBR_56000       0xFF1F
2512 #define CBR_128000      0xFF23
2513 #define CBR_256000      0xFF27
2514
2515 #define NOPARITY        0
2516 #define ODDPARITY       1
2517 #define EVENPARITY      2
2518 #define MARKPARITY      3
2519 #define SPACEPARITY     4
2520 #define ONESTOPBIT      0
2521 #define ONE5STOPBITS    1
2522 #define TWOSTOPBITS     2
2523
2524 #define IGNORE          0
2525 #define INFINITE16      0xFFFF
2526 #define INFINITE32      0xFFFFFFFF
2527 #define INFINITE WINELIB_NAME(INFINITE)
2528
2529 #define CE_RXOVER       0x0001
2530 #define CE_OVERRUN      0x0002
2531 #define CE_RXPARITY     0x0004
2532 #define CE_FRAME        0x0008
2533 #define CE_BREAK        0x0010
2534 #define CE_CTSTO        0x0020
2535 #define CE_DSRTO        0x0040
2536 #define CE_RLSDTO       0x0080
2537 #define CE_TXFULL       0x0100
2538 #define CE_PTO          0x0200
2539 #define CE_IOE          0x0400
2540 #define CE_DNS          0x0800
2541 #define CE_OOP          0x1000
2542 #define CE_MODE 0x8000
2543
2544 #define IE_BADID        -1
2545 #define IE_OPEN -2
2546 #define IE_NOPEN        -3
2547 #define IE_MEMORY       -4
2548 #define IE_DEFAULT      -5
2549 #define IE_HARDWARE     -10
2550 #define IE_BYTESIZE     -11
2551 #define IE_BAUDRATE     -12
2552
2553 #define EV_RXCHAR       0x0001
2554 #define EV_RXFLAG       0x0002
2555 #define EV_TXEMPTY      0x0004
2556 #define EV_CTS          0x0008
2557 #define EV_DSR          0x0010
2558 #define EV_RLSD 0x0020
2559 #define EV_BREAK        0x0040
2560 #define EV_ERR          0x0080
2561 #define EV_RING 0x0100
2562 #define EV_PERR 0x0200
2563 #define EV_CTSS 0x0400
2564 #define EV_DSRS 0x0800
2565 #define EV_RLSDS        0x1000
2566 #define EV_RINGTE       0x2000
2567 #define EV_RingTe       EV_RINGTE
2568
2569 #define SETXOFF 1
2570 #define SETXON          2
2571 #define SETRTS          3
2572 #define CLRRTS          4
2573 #define SETDTR          5
2574 #define CLRDTR          6
2575 #define RESETDEV        7
2576 /* win16 only */
2577 #define GETMAXLPT       8
2578 #define GETMAXCOM       9
2579 /* win32 only */
2580 #define SETBREAK        8
2581 #define CLRBREAK        9
2582
2583 #define GETBASEIRQ      10
2584
2585 /* Purge functions for Comm Port */
2586 #define PURGE_TXABORT       0x0001  /* Kill the pending/current writes to the 
2587                                        comm port */
2588 #define PURGE_RXABORT       0x0002  /*Kill the pending/current reads to 
2589                                      the comm port */
2590 #define PURGE_TXCLEAR       0x0004  /* Kill the transmit queue if there*/
2591 #define PURGE_RXCLEAR       0x0008  /* Kill the typeahead buffer if there*/
2592
2593
2594 /* Modem Status Flags */
2595 #define MS_CTS_ON           ((DWORD)0x0010)
2596 #define MS_DSR_ON           ((DWORD)0x0020)
2597 #define MS_RING_ON          ((DWORD)0x0040)
2598 #define MS_RLSD_ON          ((DWORD)0x0080)
2599
2600
2601 #define CN_RECEIVE      0x0001
2602 #define CN_TRANSMIT     0x0002
2603 #define CN_EVENT        0x0004
2604
2605 typedef struct tagDCB16
2606 {
2607     BYTE   Id;
2608     UINT16 BaudRate WINE_PACKED;
2609     BYTE   ByteSize;
2610     BYTE   Parity;
2611     BYTE   StopBits;
2612     UINT16 RlsTimeout;
2613     UINT16 CtsTimeout;
2614     UINT16 DsrTimeout;
2615
2616     UINT16 fBinary        :1;
2617     UINT16 fRtsDisable    :1;
2618     UINT16 fParity        :1;
2619     UINT16 fOutxCtsFlow   :1;
2620     UINT16 fOutxDsrFlow   :1;
2621     UINT16 fDummy         :2;
2622     UINT16 fDtrDisable    :1;
2623
2624     UINT16 fOutX          :1;
2625     UINT16 fInX           :1;
2626     UINT16 fPeChar        :1;
2627     UINT16 fNull          :1;
2628     UINT16 fChEvt         :1;
2629     UINT16 fDtrflow       :1;
2630     UINT16 fRtsflow       :1;
2631     UINT16 fDummy2        :1;
2632
2633     CHAR   XonChar;
2634     CHAR   XoffChar;
2635     UINT16 XonLim;
2636     UINT16 XoffLim;
2637     CHAR   PeChar;
2638     CHAR   EofChar;
2639     CHAR   EvtChar;
2640     UINT16 TxDelay WINE_PACKED;
2641 } DCB16, *LPDCB16;
2642
2643 typedef struct tagDCB32
2644 {
2645     DWORD DCBlength;
2646     DWORD BaudRate;
2647     DWORD fBinary               :1;
2648     DWORD fParity               :1;
2649     DWORD fOutxCtsFlow          :1;
2650     DWORD fOutxDsrFlow          :1;
2651     DWORD fDtrControl           :2;
2652     DWORD fDsrSensitivity       :1;
2653     DWORD fTXContinueOnXoff     :1;
2654     DWORD fOutX                 :1;
2655     DWORD fInX                  :1;
2656     DWORD fErrorChar            :1;
2657     DWORD fNull                 :1;
2658     DWORD fRtsControl           :2;
2659     DWORD fAbortOnError         :1;
2660     DWORD fDummy2               :17;
2661     WORD wReserved;
2662     WORD XonLim;
2663     WORD XoffLim;
2664     BYTE ByteSize;
2665     BYTE Parity;
2666     BYTE StopBits;
2667     char XonChar;
2668     char XoffChar;
2669     char ErrorChar;
2670     char EofChar;
2671     char EvtChar;
2672 } DCB32, *LPDCB32;
2673
2674 DECL_WINELIB_TYPE(DCB)
2675 DECL_WINELIB_TYPE(LPDCB)
2676
2677 #define RTS_CONTROL_DISABLE     0
2678 #define RTS_CONTROL_ENABLE      1
2679 #define RTS_CONTROL_HANDSHAKE   2
2680 #define RTS_CONTROL_TOGGLE      3
2681
2682 #define DTR_CONTROL_DISABLE     0
2683 #define DTR_CONTROL_ENABLE      1
2684 #define DTR_CONTROL_HANDSHAKE   2
2685
2686 typedef struct tagCOMMTIMEOUTS {
2687         DWORD   ReadIntervalTimeout;
2688         DWORD   ReadTotalTimeoutMultiplier;
2689         DWORD   ReadTotalTimeoutConstant;
2690         DWORD   WriteTotalTimeoutMultiplier;
2691         DWORD   WriteTotalTimeoutConstant;
2692 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
2693
2694 typedef struct tagCOMSTAT
2695 {
2696     BYTE   status;
2697     UINT16 cbInQue WINE_PACKED;
2698     UINT16 cbOutQue WINE_PACKED;
2699 } COMSTAT,*LPCOMSTAT;
2700
2701 #define CSTF_CTSHOLD    0x01
2702 #define CSTF_DSRHOLD    0x02
2703 #define CSTF_RLSDHOLD   0x04
2704 #define CSTF_XOFFHOLD   0x08
2705 #define CSTF_XOFFSENT   0x10
2706 #define CSTF_EOF        0x20
2707 #define CSTF_TXIM       0x40
2708
2709 /* SystemParametersInfo */
2710 /* defines below are for all win versions */
2711 #define SPI_GETBEEP               1
2712 #define SPI_SETBEEP               2
2713 #define SPI_GETMOUSE              3
2714 #define SPI_SETMOUSE              4
2715 #define SPI_GETBORDER             5
2716 #define SPI_SETBORDER             6
2717 #define SPI_GETKEYBOARDSPEED      10
2718 #define SPI_SETKEYBOARDSPEED      11
2719 #define SPI_LANGDRIVER            12
2720 #define SPI_ICONHORIZONTALSPACING 13
2721 #define SPI_GETSCREENSAVETIMEOUT  14
2722 #define SPI_SETSCREENSAVETIMEOUT  15
2723 #define SPI_GETSCREENSAVEACTIVE   16
2724 #define SPI_SETSCREENSAVEACTIVE   17
2725 #define SPI_GETGRIDGRANULARITY    18
2726 #define SPI_SETGRIDGRANULARITY    19
2727 #define SPI_SETDESKWALLPAPER      20
2728 #define SPI_SETDESKPATTERN        21
2729 #define SPI_GETKEYBOARDDELAY      22
2730 #define SPI_SETKEYBOARDDELAY      23
2731 #define SPI_ICONVERTICALSPACING   24
2732 #define SPI_GETICONTITLEWRAP      25
2733 #define SPI_SETICONTITLEWRAP      26
2734 #define SPI_GETMENUDROPALIGNMENT  27
2735 #define SPI_SETMENUDROPALIGNMENT  28
2736 #define SPI_SETDOUBLECLKWIDTH     29
2737 #define SPI_SETDOUBLECLKHEIGHT    30
2738 #define SPI_GETICONTITLELOGFONT   31
2739 #define SPI_SETDOUBLECLICKTIME    32
2740 #define SPI_SETMOUSEBUTTONSWAP    33
2741 #define SPI_SETICONTITLELOGFONT   34
2742 #define SPI_GETFASTTASKSWITCH     35
2743 #define SPI_SETFASTTASKSWITCH     36
2744 #define SPI_SETDRAGFULLWINDOWS    37
2745 #define SPI_GETDRAGFULLWINDOWS    38
2746
2747 #define SPI_GETFILTERKEYS         50
2748 #define SPI_SETFILTERKEYS         51
2749 #define SPI_GETTOGGLEKEYS         52
2750 #define SPI_SETTOGGLEKEYS         53
2751 #define SPI_GETMOUSEKEYS          54
2752 #define SPI_SETMOUSEKEYS          55
2753 #define SPI_GETSHOWSOUNDS         56
2754 #define SPI_SETSHOWSOUNDS         57
2755 #define SPI_GETSTICKYKEYS         58
2756 #define SPI_SETSTICKYKEYS         59
2757 #define SPI_GETACCESSTIMEOUT      60
2758 #define SPI_SETACCESSTIMEOUT      61
2759
2760 #define SPI_GETSOUNDSENTRY        64
2761 #define SPI_SETSOUNDSENTRY        65
2762
2763 /* defines below are for all win versions WINVER >= 0x0400 */
2764 #define SPI_SETDRAGFULLWINDOWS    37
2765 #define SPI_GETDRAGFULLWINDOWS    38
2766 #define SPI_GETNONCLIENTMETRICS   41
2767 #define SPI_SETNONCLIENTMETRICS   42
2768 #define SPI_GETMINIMIZEDMETRICS   43
2769 #define SPI_SETMINIMIZEDMETRICS   44
2770 #define SPI_GETICONMETRICS        45
2771 #define SPI_SETICONMETRICS        46
2772 #define SPI_SETWORKAREA           47
2773 #define SPI_GETWORKAREA           48
2774 #define SPI_SETPENWINDOWS         49
2775
2776 #define SPI_GETSERIALKEYS         62
2777 #define SPI_SETSERIALKEYS         63
2778 #define SPI_GETHIGHCONTRAST       66
2779 #define SPI_SETHIGHCONTRAST       67
2780 #define SPI_GETKEYBOARDPREF       68
2781 #define SPI_SETKEYBOARDPREF       69
2782 #define SPI_GETSCREENREADER       70
2783 #define SPI_SETSCREENREADER       71
2784 #define SPI_GETANIMATION          72
2785 #define SPI_SETANIMATION          73
2786 #define SPI_GETFONTSMOOTHING      74
2787 #define SPI_SETFONTSMOOTHING      75
2788 #define SPI_SETDRAGWIDTH          76
2789 #define SPI_SETDRAGHEIGHT         77
2790 #define SPI_SETHANDHELD           78
2791 #define SPI_GETLOWPOWERTIMEOUT    79
2792 #define SPI_GETPOWEROFFTIMEOUT    80
2793 #define SPI_SETLOWPOWERTIMEOUT    81
2794 #define SPI_SETPOWEROFFTIMEOUT    82
2795 #define SPI_GETLOWPOWERACTIVE     83
2796 #define SPI_GETPOWEROFFACTIVE     84
2797 #define SPI_SETLOWPOWERACTIVE     85
2798 #define SPI_SETPOWEROFFACTIVE     86
2799 #define SPI_SETCURSORS            87
2800 #define SPI_SETICONS              88
2801 #define SPI_GETDEFAULTINPUTLANG   89
2802 #define SPI_SETDEFAULTINPUTLANG   90
2803 #define SPI_SETLANGTOGGLE         91
2804 #define SPI_GETWINDOWSEXTENSION   92
2805 #define SPI_SETMOUSETRAILS        93
2806 #define SPI_GETMOUSETRAILS        94
2807 #define SPI_SETSCREENSAVERRUNNING 97
2808 #define SPI_SCREENSAVERRUNNING    SPI_SETSCREENSAVERRUNNING
2809
2810 /* defines below are for all win versions (_WIN32_WINNT >= 0x0400) ||
2811  *                                        (_WIN32_WINDOWS > 0x0400) */
2812 #define SPI_GETMOUSEHOVERWIDTH    98
2813 #define SPI_SETMOUSEHOVERWIDTH    99
2814 #define SPI_GETMOUSEHOVERHEIGHT   100
2815 #define SPI_SETMOUSEHOVERHEIGHT   101
2816 #define SPI_GETMOUSEHOVERTIME     102
2817 #define SPI_SETMOUSEHOVERTIME     103
2818 #define SPI_GETWHEELSCROLLLINES   104
2819 #define SPI_SETWHEELSCROLLLINES   105
2820
2821 #define SPI_GETSHOWIMEUI          110
2822 #define SPI_SETSHOWIMEUI          111
2823
2824 /* defines below are for all win versions WINVER >= 0x0500 */
2825 #define SPI_GETMOUSESPEED         112
2826 #define SPI_SETMOUSESPEED         113
2827 #define SPI_GETSCREENSAVERRUNNING 114
2828
2829 #define SPI_GETACTIVEWINDOWTRACKING    0x1000
2830 #define SPI_SETACTIVEWINDOWTRACKING    0x1001
2831 #define SPI_GETMENUANIMATION           0x1002
2832 #define SPI_SETMENUANIMATION           0x1003
2833 #define SPI_GETCOMBOBOXANIMATION       0x1004
2834 #define SPI_SETCOMBOBOXANIMATION       0x1005
2835 #define SPI_GETLISTBOXSMOOTHSCROLLING  0x1006
2836 #define SPI_SETLISTBOXSMOOTHSCROLLING  0x1007
2837 #define SPI_GETGRADIENTCAPTIONS        0x1008
2838 #define SPI_SETGRADIENTCAPTIONS        0x1009
2839 #define SPI_GETMENUUNDERLINES          0x100A
2840 #define SPI_SETMENUUNDERLINES          0x100B
2841 #define SPI_GETACTIVEWNDTRKZORDER      0x100C
2842 #define SPI_SETACTIVEWNDTRKZORDER      0x100D
2843 #define SPI_GETHOTTRACKING             0x100E
2844 #define SPI_SETHOTTRACKING             0x100F
2845 #define SPI_GETFOREGROUNDLOCKTIMEOUT   0x2000
2846 #define SPI_SETFOREGROUNDLOCKTIMEOUT   0x2001
2847 #define SPI_GETACTIVEWNDTRKTIMEOUT     0x2002
2848 #define SPI_SETACTIVEWNDTRKTIMEOUT     0x2003
2849 #define SPI_GETFOREGROUNDFLASHCOUNT    0x2004
2850 #define SPI_SETFOREGROUNDFLASHCOUNT    0x2005
2851
2852 /* SystemParametersInfo flags */
2853
2854 #define SPIF_UPDATEINIFILE              1
2855 #define SPIF_SENDWININICHANGE           2
2856 #define SPIF_SENDCHANGE                 SPIF_SENDWININICHANGE
2857
2858 /* flags for HIGHCONTRAST dwFlags field */
2859 #define HCF_HIGHCONTRASTON  0x00000001
2860 #define HCF_AVAILABLE       0x00000002
2861 #define HCF_HOTKEYACTIVE    0x00000004
2862 #define HCF_CONFIRMHOTKEY   0x00000008
2863 #define HCF_HOTKEYSOUND     0x00000010
2864 #define HCF_INDICATOR       0x00000020
2865 #define HCF_HOTKEYAVAILABLE 0x00000040
2866 typedef struct tagHIGHCONTRASTA
2867 {
2868     UINT32  cbSize;
2869     DWORD   dwFlags;
2870     LPSTR   lpszDefaultScheme;
2871 }   HIGHCONTRASTA, *LPHIGHCONTRASTA;
2872
2873 typedef struct tagHIGHCONTRASTW
2874 {
2875     UINT32  cbSize;
2876     DWORD   dwFlags;
2877     LPWSTR  lpszDefaultScheme;
2878 }   HIGHCONTRASTW, *LPHIGHCONTRASTW;
2879
2880 /* GetFreeSystemResources() parameters */
2881
2882 #define GFSR_SYSTEMRESOURCES   0x0000
2883 #define GFSR_GDIRESOURCES      0x0001
2884 #define GFSR_USERRESOURCES     0x0002
2885
2886 /* GetWinFlags */
2887
2888 #define WF_PMODE        0x0001
2889 #define WF_CPU286       0x0002
2890 #define WF_CPU386       0x0004
2891 #define WF_CPU486       0x0008
2892 #define WF_STANDARD     0x0010
2893 #define WF_WIN286       0x0010
2894 #define WF_ENHANCED     0x0020
2895 #define WF_WIN386       0x0020
2896 #define WF_CPU086       0x0040
2897 #define WF_CPU186       0x0080
2898 #define WF_LARGEFRAME   0x0100
2899 #define WF_SMALLFRAME   0x0200
2900 #define WF_80x87        0x0400
2901 #define WF_PAGING       0x0800
2902 #define WF_HASCPUID     0x2000
2903 #define WF_WIN32WOW     0x4000  /* undoc */
2904 #define WF_WLO          0x8000
2905
2906 #define MAKEINTRESOURCE16(i)  (SEGPTR)((DWORD)((WORD)(i)))
2907 #define MAKEINTRESOURCE32A(i) (LPSTR)((DWORD)((WORD)(i)))
2908 #define MAKEINTRESOURCE32W(i) (LPWSTR)((DWORD)((WORD)(i)))
2909 #define MAKEINTRESOURCE WINELIB_NAME_AW(MAKEINTRESOURCE)
2910
2911 /* Predefined resource types */
2912 #define RT_CURSOR16          MAKEINTRESOURCE16(1)
2913 #define RT_CURSOR32A         MAKEINTRESOURCE32A(1)
2914 #define RT_CURSOR32W         MAKEINTRESOURCE32W(1)
2915 #define RT_CURSOR            WINELIB_NAME_AW(RT_CURSOR)
2916 #define RT_BITMAP16          MAKEINTRESOURCE16(2)
2917 #define RT_BITMAP32A         MAKEINTRESOURCE32A(2)
2918 #define RT_BITMAP32W         MAKEINTRESOURCE32W(2)
2919 #define RT_BITMAP            WINELIB_NAME_AW(RT_BITMAP)
2920 #define RT_ICON16            MAKEINTRESOURCE16(3)
2921 #define RT_ICON32A           MAKEINTRESOURCE32A(3)
2922 #define RT_ICON32W           MAKEINTRESOURCE32W(3)
2923 #define RT_ICON              WINELIB_NAME_AW(RT_ICON)
2924 #define RT_MENU16            MAKEINTRESOURCE16(4)
2925 #define RT_MENU32A           MAKEINTRESOURCE32A(4)
2926 #define RT_MENU32W           MAKEINTRESOURCE32W(4)
2927 #define RT_MENU              WINELIB_NAME_AW(RT_MENU)
2928 #define RT_DIALOG16          MAKEINTRESOURCE16(5)
2929 #define RT_DIALOG32A         MAKEINTRESOURCE32A(5)
2930 #define RT_DIALOG32W         MAKEINTRESOURCE32W(5)
2931 #define RT_DIALOG            WINELIB_NAME_AW(RT_DIALOG)
2932 #define RT_STRING16          MAKEINTRESOURCE16(6)
2933 #define RT_STRING32A         MAKEINTRESOURCE32A(6)
2934 #define RT_STRING32W         MAKEINTRESOURCE32W(6)
2935 #define RT_STRING            WINELIB_NAME_AW(RT_STRING)
2936 #define RT_FONTDIR16         MAKEINTRESOURCE16(7)
2937 #define RT_FONTDIR32A        MAKEINTRESOURCE32A(7)
2938 #define RT_FONTDIR32W        MAKEINTRESOURCE32W(7)
2939 #define RT_FONTDIR           WINELIB_NAME_AW(RT_FONTDIR)
2940 #define RT_FONT16            MAKEINTRESOURCE16(8)
2941 #define RT_FONT32A           MAKEINTRESOURCE32A(8)
2942 #define RT_FONT32W           MAKEINTRESOURCE32W(8)
2943 #define RT_FONT              WINELIB_NAME_AW(RT_FONT)
2944 #define RT_ACCELERATOR16     MAKEINTRESOURCE16(9)
2945 #define RT_ACCELERATOR32A    MAKEINTRESOURCE32A(9)
2946 #define RT_ACCELERATOR32W    MAKEINTRESOURCE32W(9)
2947 #define RT_ACCELERATOR       WINELIB_NAME_AW(RT_ACCELERATOR)
2948 #define RT_RCDATA16          MAKEINTRESOURCE16(10)
2949 #define RT_RCDATA32A         MAKEINTRESOURCE32A(10)
2950 #define RT_RCDATA32W         MAKEINTRESOURCE32W(10)
2951 #define RT_RCDATA            WINELIB_NAME_AW(RT_RCDATA)
2952 #define RT_MESSAGELIST16     MAKEINTRESOURCE16(11)
2953 #define RT_MESSAGELIST32A    MAKEINTRESOURCE32A(11)
2954 #define RT_MESSAGELIST32W    MAKEINTRESOURCE32W(11)
2955 #define RT_MESSAGELIST       WINELIB_NAME_AW(RT_MESSAGELIST)
2956 #define RT_GROUP_CURSOR16    MAKEINTRESOURCE16(12)
2957 #define RT_GROUP_CURSOR32A   MAKEINTRESOURCE32A(12)
2958 #define RT_GROUP_CURSOR32W   MAKEINTRESOURCE32W(12)
2959 #define RT_GROUP_CURSOR      WINELIB_NAME_AW(RT_GROUP_CURSOR)
2960 #define RT_GROUP_ICON16      MAKEINTRESOURCE16(14)
2961 #define RT_GROUP_ICON32A     MAKEINTRESOURCE32A(14)
2962 #define RT_GROUP_ICON32W     MAKEINTRESOURCE32W(14)
2963 #define RT_GROUP_ICON        WINELIB_NAME_AW(RT_GROUP_ICON)
2964
2965 /* Predefined resources */
2966 #define IDI_APPLICATION16  MAKEINTRESOURCE16(32512)
2967 #define IDI_APPLICATION32A MAKEINTRESOURCE32A(32512)
2968 #define IDI_APPLICATION32W MAKEINTRESOURCE32W(32512)
2969 #define IDI_APPLICATION    WINELIB_NAME_AW(IDI_APPLICATION)
2970 #define IDI_HAND16         MAKEINTRESOURCE16(32513)
2971 #define IDI_HAND32A        MAKEINTRESOURCE32A(32513)
2972 #define IDI_HAND32W        MAKEINTRESOURCE32W(32513)
2973 #define IDI_HAND           WINELIB_NAME_AW(IDI_HAND)
2974 #define IDI_QUESTION16     MAKEINTRESOURCE16(32514)
2975 #define IDI_QUESTION32A    MAKEINTRESOURCE32A(32514)
2976 #define IDI_QUESTION32W    MAKEINTRESOURCE32W(32514)
2977 #define IDI_QUESTION       WINELIB_NAME_AW(IDI_QUESTION)
2978 #define IDI_EXCLAMATION16  MAKEINTRESOURCE16(32515)
2979 #define IDI_EXCLAMATION32A MAKEINTRESOURCE32A(32515)
2980 #define IDI_EXCLAMATION32W MAKEINTRESOURCE32W(32515)
2981 #define IDI_EXCLAMATION    WINELIB_NAME_AW(IDI_EXCLAMATION)
2982 #define IDI_ASTERISK16     MAKEINTRESOURCE16(32516)
2983 #define IDI_ASTERISK32A    MAKEINTRESOURCE32A(32516)
2984 #define IDI_ASTERISK32W    MAKEINTRESOURCE32W(32516)
2985 #define IDI_ASTERISK       WINELIB_NAME_AW(IDI_ASTERISK)
2986
2987 #define IDC_BUMMER16       MAKEINTRESOURCE16(100)
2988 #define IDC_BUMMER32A      MAKEINTRESOURCE32A(100)
2989 #define IDC_BUMMER32W      MAKEINTRESOURCE32W(100)
2990 #define IDC_BUMMER         WINELIB_NAME_AW(IDC_BUMMER)
2991 #define IDC_ARROW16        MAKEINTRESOURCE16(32512)
2992 #define IDC_ARROW32A       MAKEINTRESOURCE32A(32512)
2993 #define IDC_ARROW32W       MAKEINTRESOURCE32W(32512)
2994 #define IDC_ARROW          WINELIB_NAME_AW(IDC_ARROW)
2995 #define IDC_IBEAM16        MAKEINTRESOURCE16(32513)
2996 #define IDC_IBEAM32A       MAKEINTRESOURCE32A(32513)
2997 #define IDC_IBEAM32W       MAKEINTRESOURCE32W(32513)
2998 #define IDC_IBEAM          WINELIB_NAME_AW(IDC_IBEAM)
2999 #define IDC_WAIT16         MAKEINTRESOURCE16(32514)
3000 #define IDC_WAIT32A        MAKEINTRESOURCE32A(32514)
3001 #define IDC_WAIT32W        MAKEINTRESOURCE32W(32514)
3002 #define IDC_WAIT           WINELIB_NAME_AW(IDC_WAIT)
3003 #define IDC_CROSS16        MAKEINTRESOURCE16(32515)
3004 #define IDC_CROSS32A       MAKEINTRESOURCE32A(32515)
3005 #define IDC_CROSS32W       MAKEINTRESOURCE32W(32515)
3006 #define IDC_CROSS          WINELIB_NAME_AW(IDC_CROSS)
3007 #define IDC_UPARROW16      MAKEINTRESOURCE16(32516)
3008 #define IDC_UPARROW32A     MAKEINTRESOURCE32A(32516)
3009 #define IDC_UPARROW32W     MAKEINTRESOURCE32W(32516)
3010 #define IDC_UPARROW        WINELIB_NAME_AW(IDC_UPARROW)
3011 #define IDC_SIZE16         MAKEINTRESOURCE16(32640)
3012 #define IDC_SIZE32A        MAKEINTRESOURCE32A(32640)
3013 #define IDC_SIZE32W        MAKEINTRESOURCE32W(32640)
3014 #define IDC_SIZE           WINELIB_NAME_AW(IDC_SIZE)
3015 #define IDC_ICON16         MAKEINTRESOURCE16(32641)
3016 #define IDC_ICON32A        MAKEINTRESOURCE32A(32641)
3017 #define IDC_ICON32W        MAKEINTRESOURCE32W(32641)
3018 #define IDC_ICON           WINELIB_NAME_AW(IDC_ICON)
3019 #define IDC_SIZENWSE16     MAKEINTRESOURCE16(32642)
3020 #define IDC_SIZENWSE32A    MAKEINTRESOURCE32A(32642)
3021 #define IDC_SIZENWSE32W    MAKEINTRESOURCE32W(32642)
3022 #define IDC_SIZENWSE       WINELIB_NAME_AW(IDC_SIZENWSE)
3023 #define IDC_SIZENESW16     MAKEINTRESOURCE16(32643)
3024 #define IDC_SIZENESW32A    MAKEINTRESOURCE32A(32643)
3025 #define IDC_SIZENESW32W    MAKEINTRESOURCE32W(32643)
3026 #define IDC_SIZENESW       WINELIB_NAME_AW(IDC_SIZENESW)
3027 #define IDC_SIZEWE16       MAKEINTRESOURCE16(32644)
3028 #define IDC_SIZEWE32A      MAKEINTRESOURCE32A(32644)
3029 #define IDC_SIZEWE32W      MAKEINTRESOURCE32W(32644)
3030 #define IDC_SIZEWE         WINELIB_NAME_AW(IDC_SIZEWE)
3031 #define IDC_SIZENS16       MAKEINTRESOURCE16(32645)
3032 #define IDC_SIZENS32A      MAKEINTRESOURCE32A(32645)
3033 #define IDC_SIZENS32W      MAKEINTRESOURCE32W(32645)
3034 #define IDC_SIZENS         WINELIB_NAME_AW(IDC_SIZENS)
3035 #define IDC_NO16           MAKEINTRESOURCE16(32648)
3036 #define IDC_NO32A          MAKEINTRESOURCE32A(32648)
3037 #define IDC_NO32W          MAKEINTRESOURCE32W(32648)
3038 #define IDC_NO             WINELIB_NAME_AW(IDC_NO)
3039 #define IDC_APPSTARTING16  MAKEINTRESOURCE16(32650)
3040 #define IDC_APPSTARTING32A MAKEINTRESOURCE32A(32650)
3041 #define IDC_APPSTARTING32W MAKEINTRESOURCE32W(32650)
3042 #define IDC_APPSTARTING    WINELIB_NAME_AW(IDC_APPSTARTING)
3043 #define IDC_HELP16         MAKEINTRESOURCE16(32651)
3044 #define IDC_HELP32A        MAKEINTRESOURCE32A(32651)
3045 #define IDC_HELP32W        MAKEINTRESOURCE32W(32651)
3046 #define IDC_HELP           WINELIB_NAME_AW(IDC_HELP)
3047
3048 /* OEM Resource Ordinal Numbers */
3049 #define OBM_CLOSE           32754
3050 #define OBM_UPARROW         32753
3051 #define OBM_DNARROW         32752
3052 #define OBM_RGARROW         32751
3053 #define OBM_LFARROW         32750
3054 #define OBM_REDUCE          32749
3055 #define OBM_ZOOM            32748
3056 #define OBM_RESTORE         32747
3057 #define OBM_REDUCED         32746
3058 #define OBM_ZOOMD           32745
3059 #define OBM_RESTORED        32744
3060 #define OBM_UPARROWD        32743
3061 #define OBM_DNARROWD        32742
3062 #define OBM_RGARROWD        32741
3063 #define OBM_LFARROWD        32740
3064 #define OBM_MNARROW         32739
3065 #define OBM_COMBO           32738
3066 #define OBM_UPARROWI        32737
3067 #define OBM_DNARROWI        32736
3068 #define OBM_RGARROWI        32735
3069 #define OBM_LFARROWI        32734
3070
3071 #define OBM_FOLDER          32733
3072 #define OBM_FOLDER2         32732
3073 #define OBM_FLOPPY          32731
3074 #define OBM_HDISK           32730
3075 #define OBM_CDROM           32729
3076 #define OBM_TRTYPE          32728
3077
3078 /* Wine extension, I think.  */
3079 #define OBM_RADIOCHECK      32727
3080
3081 #define OBM_OLD_CLOSE       32767
3082 #define OBM_SIZE            32766
3083 #define OBM_OLD_UPARROW     32765
3084 #define OBM_OLD_DNARROW     32764
3085 #define OBM_OLD_RGARROW     32763
3086 #define OBM_OLD_LFARROW     32762
3087 #define OBM_BTSIZE          32761
3088 #define OBM_CHECK           32760
3089 #define OBM_CHECKBOXES      32759
3090 #define OBM_BTNCORNERS      32758
3091 #define OBM_OLD_REDUCE      32757
3092 #define OBM_OLD_ZOOM        32756
3093 #define OBM_OLD_RESTORE     32755
3094
3095 #define OCR_BUMMER          100
3096 #define OCR_DRAGOBJECT      101
3097
3098 #define OCR_NORMAL          32512
3099 #define OCR_IBEAM           32513
3100 #define OCR_WAIT            32514
3101 #define OCR_CROSS           32515
3102 #define OCR_UP              32516
3103 #define OCR_SIZE            32640
3104 #define OCR_ICON            32641
3105 #define OCR_SIZENWSE        32642
3106 #define OCR_SIZENESW        32643
3107 #define OCR_SIZEWE          32644
3108 #define OCR_SIZENS          32645
3109 #define OCR_SIZEALL         32646
3110 #define OCR_ICOCUR          32647
3111 #define OCR_NO              32648
3112 #define OCR_APPSTARTING     32650
3113 #define OCR_HELP            32651  /* only defined in wine */
3114
3115 #define OIC_SAMPLE          32512
3116 #define OIC_HAND            32513
3117 #define OIC_QUES            32514
3118 #define OIC_BANG            32515
3119 #define OIC_NOTE            32516
3120 #define OIC_PORTRAIT        32517
3121 #define OIC_LANDSCAPE       32518
3122 #define OIC_WINEICON        32519
3123
3124   /* Stock GDI objects for GetStockObject() */
3125
3126 #define WHITE_BRUSH         0
3127 #define LTGRAY_BRUSH        1
3128 #define GRAY_BRUSH          2
3129 #define DKGRAY_BRUSH        3
3130 #define BLACK_BRUSH         4
3131 #define NULL_BRUSH          5
3132 #define HOLLOW_BRUSH        5
3133 #define WHITE_PEN           6
3134 #define BLACK_PEN           7
3135 #define NULL_PEN            8
3136 #define OEM_FIXED_FONT      10
3137 #define ANSI_FIXED_FONT     11
3138 #define ANSI_VAR_FONT       12
3139 #define SYSTEM_FONT         13
3140 #define DEVICE_DEFAULT_FONT 14
3141 #define DEFAULT_PALETTE     15
3142 #define SYSTEM_FIXED_FONT   16
3143 #define DEFAULT_GUI_FONT    17
3144
3145 /* DragObject stuff */
3146
3147 typedef struct
3148 {
3149     HWND16     hWnd;
3150     HANDLE16   hScope;
3151     WORD       wFlags;
3152     HANDLE16   hList;
3153     HANDLE16   hOfStruct;
3154     POINT16 pt WINE_PACKED;
3155     LONG       l WINE_PACKED;
3156 } DRAGINFO, *LPDRAGINFO;
3157
3158 #define DRAGOBJ_PROGRAM         0x0001
3159 #define DRAGOBJ_DATA            0x0002
3160 #define DRAGOBJ_DIRECTORY       0x0004
3161 #define DRAGOBJ_MULTIPLE        0x0008
3162 #define DRAGOBJ_EXTERNAL        0x8000
3163
3164 #define DRAG_PRINT              0x544E5250
3165 #define DRAG_FILE               0x454C4946
3166
3167 /* Messages */
3168
3169 #define WM_NULL                 0x0000
3170 #define WM_CREATE               0x0001
3171 #define WM_DESTROY              0x0002
3172 #define WM_MOVE                 0x0003
3173 #define WM_SIZEWAIT             0x0004
3174 #define WM_SIZE                 0x0005
3175 #define WM_ACTIVATE             0x0006
3176 #define WM_SETFOCUS             0x0007
3177 #define WM_KILLFOCUS            0x0008
3178 #define WM_SETVISIBLE           0x0009
3179 #define WM_ENABLE               0x000a
3180 #define WM_SETREDRAW            0x000b
3181 #define WM_SETTEXT              0x000c
3182 #define WM_GETTEXT              0x000d
3183 #define WM_GETTEXTLENGTH        0x000e
3184 #define WM_PAINT                0x000f
3185 #define WM_CLOSE                0x0010
3186 #define WM_QUERYENDSESSION      0x0011
3187 #define WM_QUIT                 0x0012
3188 #define WM_QUERYOPEN            0x0013
3189 #define WM_ERASEBKGND           0x0014
3190 #define WM_SYSCOLORCHANGE       0x0015
3191 #define WM_ENDSESSION           0x0016
3192 #define WM_SYSTEMERROR          0x0017
3193 #define WM_SHOWWINDOW           0x0018
3194 #define WM_CTLCOLOR             0x0019
3195 #define WM_WININICHANGE         0x001a
3196 #define WM_DEVMODECHANGE        0x001b
3197 #define WM_ACTIVATEAPP          0x001c
3198 #define WM_FONTCHANGE           0x001d
3199 #define WM_TIMECHANGE           0x001e
3200 #define WM_CANCELMODE           0x001f
3201 #define WM_SETCURSOR            0x0020
3202 #define WM_MOUSEACTIVATE        0x0021
3203 #define WM_CHILDACTIVATE        0x0022
3204 #define WM_QUEUESYNC            0x0023
3205 #define WM_GETMINMAXINFO        0x0024
3206
3207 #define WM_PAINTICON            0x0026
3208 #define WM_ICONERASEBKGND       0x0027
3209 #define WM_NEXTDLGCTL           0x0028
3210 #define WM_ALTTABACTIVE         0x0029
3211 #define WM_SPOOLERSTATUS        0x002a
3212 #define WM_DRAWITEM             0x002b
3213 #define WM_MEASUREITEM          0x002c
3214 #define WM_DELETEITEM           0x002d
3215 #define WM_VKEYTOITEM           0x002e
3216 #define WM_CHARTOITEM           0x002f
3217 #define WM_SETFONT              0x0030
3218 #define WM_GETFONT              0x0031
3219 #define WM_SETHOTKEY            0x0032
3220 #define WM_GETHOTKEY            0x0033
3221 #define WM_FILESYSCHANGE        0x0034
3222 #define WM_ISACTIVEICON         0x0035
3223 #define WM_QUERYPARKICON        0x0036
3224 #define WM_QUERYDRAGICON        0x0037
3225 #define WM_QUERYSAVESTATE       0x0038
3226 #define WM_COMPAREITEM          0x0039
3227 #define WM_TESTING              0x003a
3228
3229 #define WM_OTHERWINDOWCREATED   0x003c
3230 #define WM_OTHERWINDOWDESTROYED 0x003d
3231 #define WM_ACTIVATESHELLWINDOW  0x003e
3232
3233 #define WM_COMPACTING           0x0041
3234
3235 #define WM_COMMNOTIFY           0x0044
3236 #define WM_WINDOWPOSCHANGING    0x0046
3237 #define WM_WINDOWPOSCHANGED     0x0047
3238 #define WM_POWER                0x0048
3239
3240   /* Win32 4.0 messages */
3241 #define WM_COPYDATA             0x004a
3242 #define WM_CANCELJOURNAL        0x004b
3243 #define WM_NOTIFY               0x004e
3244 #define WM_HELP                 0x0053
3245 #define WM_NOTIFYFORMAT         0x0055
3246
3247 #define WM_CONTEXTMENU          0x007b
3248 #define WM_STYLECHANGING        0x007c
3249 #define WM_STYLECHANGED         0x007d
3250
3251 #define WM_GETICON              0x007f
3252 #define WM_SETICON              0x0080
3253
3254   /* Non-client system messages */
3255 #define WM_NCCREATE         0x0081
3256 #define WM_NCDESTROY        0x0082
3257 #define WM_NCCALCSIZE       0x0083
3258 #define WM_NCHITTEST        0x0084
3259 #define WM_NCPAINT          0x0085
3260 #define WM_NCACTIVATE       0x0086
3261
3262 #define WM_GETDLGCODE       0x0087
3263 #define WM_SYNCPAINT        0x0088
3264 #define WM_SYNCTASK         0x0089
3265
3266   /* Non-client mouse messages */
3267 #define WM_NCMOUSEMOVE      0x00a0
3268 #define WM_NCLBUTTONDOWN    0x00a1
3269 #define WM_NCLBUTTONUP      0x00a2
3270 #define WM_NCLBUTTONDBLCLK  0x00a3
3271 #define WM_NCRBUTTONDOWN    0x00a4
3272 #define WM_NCRBUTTONUP      0x00a5
3273 #define WM_NCRBUTTONDBLCLK  0x00a6
3274 #define WM_NCMBUTTONDOWN    0x00a7
3275 #define WM_NCMBUTTONUP      0x00a8
3276 #define WM_NCMBUTTONDBLCLK  0x00a9
3277
3278   /* Keyboard messages */
3279 #define WM_KEYDOWN          0x0100
3280 #define WM_KEYUP            0x0101
3281 #define WM_CHAR             0x0102
3282 #define WM_DEADCHAR         0x0103
3283 #define WM_SYSKEYDOWN       0x0104
3284 #define WM_SYSKEYUP         0x0105
3285 #define WM_SYSCHAR          0x0106
3286 #define WM_SYSDEADCHAR      0x0107
3287 #define WM_KEYFIRST         WM_KEYDOWN
3288 #define WM_KEYLAST          0x0108
3289
3290 #define WM_INITDIALOG       0x0110 
3291 #define WM_COMMAND          0x0111
3292 #define WM_SYSCOMMAND       0x0112
3293 #define WM_TIMER            0x0113
3294 #define WM_SYSTIMER         0x0118
3295
3296   /* scroll messages */
3297 #define WM_HSCROLL          0x0114
3298 #define WM_VSCROLL          0x0115
3299
3300 /* Menu messages */
3301 #define WM_INITMENU         0x0116
3302 #define WM_INITMENUPOPUP    0x0117
3303
3304 #define WM_MENUSELECT       0x011F
3305 #define WM_MENUCHAR         0x0120
3306 #define WM_ENTERIDLE        0x0121
3307
3308 #define WM_LBTRACKPOINT     0x0131
3309
3310   /* Win32 CTLCOLOR messages */
3311 #define WM_CTLCOLORMSGBOX    0x0132
3312 #define WM_CTLCOLOREDIT      0x0133
3313 #define WM_CTLCOLORLISTBOX   0x0134
3314 #define WM_CTLCOLORBTN       0x0135
3315 #define WM_CTLCOLORDLG       0x0136
3316 #define WM_CTLCOLORSCROLLBAR 0x0137
3317 #define WM_CTLCOLORSTATIC    0x0138
3318
3319   /* Mouse messages */
3320 #define WM_MOUSEMOVE        0x0200
3321 #define WM_LBUTTONDOWN      0x0201
3322 #define WM_LBUTTONUP        0x0202
3323 #define WM_LBUTTONDBLCLK    0x0203
3324 #define WM_RBUTTONDOWN      0x0204
3325 #define WM_RBUTTONUP        0x0205
3326 #define WM_RBUTTONDBLCLK    0x0206
3327 #define WM_MBUTTONDOWN      0x0207
3328 #define WM_MBUTTONUP        0x0208
3329 #define WM_MBUTTONDBLCLK    0x0209
3330 #define WM_MOUSEFIRST       WM_MOUSEMOVE
3331 #define WM_MOUSELAST        WM_MBUTTONDBLCLK
3332
3333 #define WM_PARENTNOTIFY     0x0210
3334 #define WM_ENTERMENULOOP    0x0211
3335 #define WM_EXITMENULOOP     0x0212
3336 #define WM_NEXTMENU         0x0213
3337
3338   /* Win32 4.0 messages */
3339 #define WM_SIZING           0x0214
3340 #define WM_CAPTURECHANGED   0x0215
3341 #define WM_MOVING           0x0216
3342
3343   /* MDI messages */
3344 #define WM_MDICREATE        0x0220
3345 #define WM_MDIDESTROY       0x0221
3346 #define WM_MDIACTIVATE      0x0222
3347 #define WM_MDIRESTORE       0x0223
3348 #define WM_MDINEXT          0x0224
3349 #define WM_MDIMAXIMIZE      0x0225
3350 #define WM_MDITILE          0x0226
3351 #define WM_MDICASCADE       0x0227
3352 #define WM_MDIICONARRANGE   0x0228
3353 #define WM_MDIGETACTIVE     0x0229
3354 #define WM_MDIREFRESHMENU   0x0234
3355
3356   /* D&D messages */
3357 #define WM_DROPOBJECT       0x022A
3358 #define WM_QUERYDROPOBJECT  0x022B
3359 #define WM_BEGINDRAG        0x022C
3360 #define WM_DRAGLOOP         0x022D
3361 #define WM_DRAGSELECT       0x022E
3362 #define WM_DRAGMOVE         0x022F
3363 #define WM_MDISETMENU       0x0230
3364
3365 #define WM_ENTERSIZEMOVE    0x0231
3366 #define WM_EXITSIZEMOVE     0x0232
3367 #define WM_DROPFILES        0x0233
3368
3369 #define WM_CUT               0x0300
3370 #define WM_COPY              0x0301
3371 #define WM_PASTE             0x0302
3372 #define WM_CLEAR             0x0303
3373 #define WM_UNDO              0x0304
3374 #define WM_RENDERFORMAT      0x0305
3375 #define WM_RENDERALLFORMATS  0x0306
3376 #define WM_DESTROYCLIPBOARD  0x0307
3377 #define WM_DRAWCLIPBOARD     0x0308
3378 #define WM_PAINTCLIPBOARD    0x0309
3379 #define WM_VSCROLLCLIPBOARD  0x030A
3380 #define WM_SIZECLIPBOARD     0x030B
3381 #define WM_ASKCBFORMATNAME   0x030C
3382 #define WM_CHANGECBCHAIN     0x030D
3383 #define WM_HSCROLLCLIPBOARD  0x030E
3384 #define WM_QUERYNEWPALETTE   0x030F
3385 #define WM_PALETTEISCHANGING 0x0310
3386 #define WM_PALETTECHANGED    0x0311
3387 #define WM_HOTKEY            0x0312
3388
3389 #define WM_PRINT             0x0317
3390 #define WM_PRINTCLIENT       0x0318
3391
3392   /* MFC messages [370-37f] */
3393
3394 #define WM_QUERYAFXWNDPROC  0x0360
3395 #define WM_SIZEPARENT       0x0361
3396 #define WM_SETMESSAGESTRING 0x0362
3397 #define WM_IDLEUPDATECMDUI  0x0363 
3398 #define WM_INITIALUPDATE    0x0364
3399 #define WM_COMMANDHELP      0x0365
3400 #define WM_HELPHITTEST      0x0366
3401 #define WM_EXITHELPMODE     0x0367
3402 #define WM_RECALCPARENT     0x0368
3403 #define WM_SIZECHILD        0x0369
3404 #define WM_KICKIDLE         0x036A 
3405 #define WM_QUERYCENTERWND   0x036B
3406 #define WM_DISABLEMODAL     0x036C
3407 #define WM_FLOATSTATUS      0x036D 
3408 #define WM_ACTIVATETOPLEVEL 0x036E 
3409 #define WM_QUERY3DCONTROLS  0x036F 
3410 #define WM_SOCKET_NOTIFY    0x0373
3411 #define WM_SOCKET_DEAD      0x0374
3412 #define WM_POPMESSAGESTRING 0x0375
3413 #define WM_OCC_LOADFROMSTREAM           0x0376
3414 #define WM_OCC_LOADFROMSTORAGE          0x0377
3415 #define WM_OCC_INITNEW                  0x0378
3416 #define WM_OCC_LOADFROMSTREAM_EX        0x037A
3417 #define WM_OCC_LOADFROMSTORAGE_EX       0x037B
3418 #define WM_QUEUE_SENTINEL   0x0379
3419
3420 /* end of MFC messages */
3421
3422 #define WM_COALESCE_FIRST    0x0390
3423 #define WM_COALESCE_LAST     0x039F
3424
3425   /* misc messages */
3426 #define WM_NULL             0x0000
3427 #define WM_USER             0x0400
3428 #define WM_CPL_LAUNCH       (WM_USER + 1000)
3429 #define WM_CPL_LAUNCHED     (WM_USER + 1001)
3430
3431 /* WM_NOTIFYFORMAT commands and return values */
3432 #define NFR_ANSI            1
3433 #define NFR_UNICODE         2
3434 #define NF_QUERY            3
3435 #define NF_REQUERY          4
3436
3437   /* Key status flags for mouse events */
3438 #define MK_LBUTTON          0x0001
3439 #define MK_RBUTTON          0x0002
3440 #define MK_SHIFT            0x0004
3441 #define MK_CONTROL          0x0008
3442 #define MK_MBUTTON          0x0010
3443
3444   /* keybd_event flags */
3445 #define KEYEVENTF_EXTENDEDKEY        0x0001
3446 #define KEYEVENTF_KEYUP              0x0002
3447 #define KEYEVENTF_WINE_FORCEEXTENDED 0x8000
3448
3449   /* mouse_event flags */
3450 #define MOUSEEVENTF_MOVE        0x0001
3451 #define MOUSEEVENTF_LEFTDOWN    0x0002
3452 #define MOUSEEVENTF_LEFTUP      0x0004
3453 #define MOUSEEVENTF_RIGHTDOWN   0x0008
3454 #define MOUSEEVENTF_RIGHTUP     0x0010
3455 #define MOUSEEVENTF_MIDDLEDOWN  0x0020
3456 #define MOUSEEVENTF_MIDDLEUP    0x0040
3457 #define MOUSEEVENTF_ABSOLUTE    0x8000
3458
3459   /* Queue status flags */
3460 #define QS_KEY          0x0001
3461 #define QS_MOUSEMOVE    0x0002
3462 #define QS_MOUSEBUTTON  0x0004
3463 #define QS_MOUSE        (QS_MOUSEMOVE | QS_MOUSEBUTTON)
3464 #define QS_POSTMESSAGE  0x0008
3465 #define QS_TIMER        0x0010
3466 #define QS_PAINT        0x0020
3467 #define QS_SENDMESSAGE  0x0040
3468 #define QS_ALLINPUT     0x007f
3469
3470   /* PeekMessage() options */
3471 #define PM_NOREMOVE     0x0000
3472 #define PM_REMOVE       0x0001
3473 #define PM_NOYIELD      0x0002
3474
3475 #define WM_SHOWWINDOW       0x0018
3476
3477 /* WM_SHOWWINDOW wParam codes */
3478 #define SW_PARENTCLOSING    1
3479 #define SW_OTHERMAXIMIZED   2
3480 #define SW_PARENTOPENING    3
3481 #define SW_OTHERRESTORED    4
3482
3483   /* ShowWindow() codes */
3484 #define SW_HIDE             0
3485 #define SW_SHOWNORMAL       1
3486 #define SW_NORMAL           1
3487 #define SW_SHOWMINIMIZED    2
3488 #define SW_SHOWMAXIMIZED    3
3489 #define SW_MAXIMIZE         3
3490 #define SW_SHOWNOACTIVATE   4
3491 #define SW_SHOW             5
3492 #define SW_MINIMIZE         6
3493 #define SW_SHOWMINNOACTIVE  7
3494 #define SW_SHOWNA           8
3495 #define SW_RESTORE          9
3496 #define SW_SHOWDEFAULT      10
3497 #define SW_MAX              10
3498 #define SW_NORMALNA         0xCC        /* undoc. flag in MinMaximize */
3499
3500   /* WM_SIZE message wParam values */
3501 #define SIZE_RESTORED        0
3502 #define SIZE_MINIMIZED       1
3503 #define SIZE_MAXIMIZED       2
3504 #define SIZE_MAXSHOW         3
3505 #define SIZE_MAXHIDE         4
3506 #define SIZENORMAL           SIZE_RESTORED
3507 #define SIZEICONIC           SIZE_MINIMIZED
3508 #define SIZEFULLSCREEN       SIZE_MAXIMIZED
3509 #define SIZEZOOMSHOW         SIZE_MAXSHOW
3510 #define SIZEZOOMHIDE         SIZE_MAXHIDE
3511
3512 /* SetWindowPos() and WINDOWPOS flags */
3513 #define SWP_NOSIZE          0x0001
3514 #define SWP_NOMOVE          0x0002
3515 #define SWP_NOZORDER        0x0004
3516 #define SWP_NOREDRAW        0x0008
3517 #define SWP_NOACTIVATE      0x0010
3518 #define SWP_FRAMECHANGED    0x0020  /* The frame changed: send WM_NCCALCSIZE */
3519 #define SWP_SHOWWINDOW      0x0040
3520 #define SWP_HIDEWINDOW      0x0080
3521 #define SWP_NOCOPYBITS      0x0100
3522 #define SWP_NOOWNERZORDER   0x0200  /* Don't do owner Z ordering */
3523
3524 #define SWP_DRAWFRAME       SWP_FRAMECHANGED
3525 #define SWP_NOREPOSITION    SWP_NOOWNERZORDER
3526
3527 #define SWP_NOSENDCHANGING  0x0400
3528 #define SWP_DEFERERASE      0x2000
3529
3530 #define HWND_DESKTOP        ((HWND32)0)
3531 #define HWND_BROADCAST      ((HWND32)0xffff)
3532
3533 /* SetWindowPos() hwndInsertAfter field values */
3534 #define HWND_TOP            ((HWND32)0)
3535 #define HWND_BOTTOM         ((HWND32)1)
3536 #define HWND_TOPMOST        ((HWND32)-1)
3537 #define HWND_NOTOPMOST      ((HWND32)-2)
3538
3539 /* Flags for TrackPopupMenu */
3540 #define TPM_LEFTBUTTON    0x0000
3541 #define TPM_RIGHTBUTTON   0x0002
3542 #define TPM_LEFTALIGN     0x0000
3543 #define TPM_CENTERALIGN   0x0004
3544 #define TPM_RIGHTALIGN    0x0008
3545 #define TPM_TOPALIGN      0x0000
3546 #define TPM_VCENTERALIGN  0x0010
3547 #define TPM_BOTTOMALIGN   0x0020
3548 #define TPM_HORIZONTAL    0x0000
3549 #define TPM_VERTICAL      0x0040
3550 #define TPM_NONOTIFY      0x0080
3551 #define TPM_RETURNCMD     0x0100
3552
3553 typedef struct 
3554 {
3555     UINT32   cbSize;
3556     RECT32   rcExclude;
3557 } TPMPARAMS, *LPTPMPARAMS;
3558
3559
3560 #define MF_INSERT          0x0000
3561 #define MF_CHANGE          0x0080
3562 #define MF_APPEND          0x0100
3563 #define MF_DELETE          0x0200
3564 #define MF_REMOVE          0x1000
3565 #define MF_END             0x0080
3566
3567 #define MF_ENABLED         0x0000
3568 #define MF_GRAYED          0x0001
3569 #define MF_DISABLED        0x0002
3570 #define MF_STRING          0x0000
3571 #define MF_BITMAP          0x0004
3572 #define MF_UNCHECKED       0x0000
3573 #define MF_CHECKED         0x0008
3574 #define MF_POPUP           0x0010
3575 #define MF_MENUBARBREAK    0x0020
3576 #define MF_MENUBREAK       0x0040
3577 #define MF_UNHILITE        0x0000
3578 #define MF_HILITE          0x0080
3579 #define MF_OWNERDRAW       0x0100
3580 #define MF_USECHECKBITMAPS 0x0200
3581 #define MF_BYCOMMAND       0x0000
3582 #define MF_BYPOSITION      0x0400
3583 #define MF_SEPARATOR       0x0800
3584 #define MF_DEFAULT         0x1000
3585 #define MF_SYSMENU         0x2000
3586 #define MF_HELP            0x4000
3587 #define MF_RIGHTJUSTIFY    0x4000
3588 #define MF_MOUSESELECT     0x8000
3589
3590 /* Flags for extended menu item types.  */
3591 #define MFT_STRING         MF_STRING
3592 #define MFT_BITMAP         MF_BITMAP
3593 #define MFT_MENUBARBREAK   MF_MENUBARBREAK
3594 #define MFT_MENUBREAK      MF_MENUBREAK
3595 #define MFT_OWNERDRAW      MF_OWNERDRAW
3596 #define MFT_RADIOCHECK     0x00000200L
3597 #define MFT_SEPARATOR      MF_SEPARATOR
3598 #define MFT_RIGHTORDER     0x00002000L
3599 #define MFT_RIGHTJUSTIFY   MF_RIGHTJUSTIFY
3600
3601 /* Flags for extended menu item states.  */
3602 #define MFS_GRAYED          0x00000003L
3603 #define MFS_DISABLED        MFS_GRAYED
3604 #define MFS_CHECKED         MF_CHECKED
3605 #define MFS_HILITE          MF_HILITE
3606 #define MFS_ENABLED         MF_ENABLED
3607 #define MFS_UNCHECKED       MF_UNCHECKED
3608 #define MFS_UNHILITE        MF_UNHILITE
3609 #define MFS_DEFAULT         MF_DEFAULT
3610
3611 /* FIXME: not sure this one is correct */
3612 typedef struct {
3613   UINT16    cbSize;
3614   UINT16    fMask;
3615   UINT16    fType;
3616   UINT16    fState;
3617   UINT16    wID;
3618   HMENU16   hSubMenu;
3619   HBITMAP16 hbmpChecked;
3620   HBITMAP16 hbmpUnchecked;
3621   DWORD     dwItemData;
3622   LPSTR     dwTypeData;
3623   UINT16    cch;
3624 } MENUITEMINFO16, *LPMENUITEMINFO16;
3625
3626 typedef struct {
3627   UINT32    cbSize;
3628   UINT32    fMask;
3629   UINT32    fType;
3630   UINT32    fState;
3631   UINT32    wID;
3632   HMENU32   hSubMenu;
3633   HBITMAP32 hbmpChecked;
3634   HBITMAP32 hbmpUnchecked;
3635   DWORD     dwItemData;
3636   LPSTR     dwTypeData;
3637   UINT32    cch;
3638 } MENUITEMINFO32A, *LPMENUITEMINFO32A;
3639
3640 typedef struct {
3641   UINT32    cbSize;
3642   UINT32    fMask;
3643   UINT32    fType;
3644   UINT32    fState;
3645   UINT32    wID;
3646   HMENU32   hSubMenu;
3647   HBITMAP32 hbmpChecked;
3648   HBITMAP32 hbmpUnchecked;
3649   DWORD     dwItemData;
3650   LPWSTR    dwTypeData;
3651   UINT32    cch;
3652 } MENUITEMINFO32W, *LPMENUITEMINFO32W;
3653
3654 DECL_WINELIB_TYPE_AW(MENUITEMINFO)
3655 DECL_WINELIB_TYPE_AW(LPMENUITEMINFO)
3656
3657 /* Field specifiers for MENUITEMINFO[AW] type.  */
3658 #define MIIM_STATE       0x00000001
3659 #define MIIM_ID          0x00000002
3660 #define MIIM_SUBMENU     0x00000004
3661 #define MIIM_CHECKMARKS  0x00000008
3662 #define MIIM_TYPE        0x00000010
3663 #define MIIM_DATA        0x00000020
3664
3665
3666 #ifndef NOWINOFFSETS
3667 #define GCW_HBRBACKGROUND (-10)
3668 #endif
3669
3670 #define MB_OK                   0x00000000
3671 #define MB_OKCANCEL             0x00000001
3672 #define MB_ABORTRETRYIGNORE     0x00000002
3673 #define MB_YESNOCANCEL          0x00000003
3674 #define MB_YESNO                0x00000004
3675 #define MB_RETRYCANCEL          0x00000005
3676 #define MB_TYPEMASK             0x0000000F
3677
3678 #define MB_ICONHAND             0x00000010
3679 #define MB_ICONQUESTION         0x00000020
3680 #define MB_ICONEXCLAMATION      0x00000030
3681 #define MB_ICONASTERISK         0x00000040
3682 #define MB_USERICON             0x00000080
3683 #define MB_ICONMASK             0x000000F0
3684
3685 #define MB_ICONINFORMATION      MB_ICONASTERISK
3686 #define MB_ICONSTOP             MB_ICONHAND
3687 #define MB_ICONWARNING          MB_ICONEXCLAMATION
3688 #define MB_ICONERROR            MB_ICONHAND
3689
3690 #define MB_DEFBUTTON1           0x00000000
3691 #define MB_DEFBUTTON2           0x00000100
3692 #define MB_DEFBUTTON3           0x00000200
3693 #define MB_DEFBUTTON4           0x00000300
3694 #define MB_DEFMASK              0x00000F00
3695
3696 #define MB_APPLMODAL            0x00000000
3697 #define MB_SYSTEMMODAL          0x00001000
3698 #define MB_TASKMODAL            0x00002000
3699 #define MB_MODEMASK             0x00003000
3700
3701 #define MB_HELP                 0x00004000
3702 #define MB_NOFOCUS              0x00008000
3703 #define MB_MISCMASK             0x0000C000
3704
3705 #define MB_SETFOREGROUND        0x00010000
3706 #define MB_DEFAULT_DESKTOP_ONLY 0x00020000
3707 #define MB_SERVICE_NOTIFICATION 0x00040000
3708 #define MB_TOPMOST              0x00040000
3709 #define MB_RIGHT                0x00080000
3710 #define MB_RTLREADING           0x00100000
3711
3712
3713 #define DT_TOP 0
3714 #define DT_LEFT 0
3715 #define DT_CENTER 1
3716 #define DT_RIGHT 2
3717 #define DT_VCENTER 4
3718 #define DT_BOTTOM 8
3719 #define DT_WORDBREAK 16
3720 #define DT_SINGLELINE 32
3721 #define DT_EXPANDTABS 64
3722 #define DT_TABSTOP 128
3723 #define DT_NOCLIP 256
3724 #define DT_EXTERNALLEADING 512
3725 #define DT_CALCRECT 1024
3726 #define DT_NOPREFIX 2048
3727 #define DT_INTERNAL 4096
3728
3729 /* DrawCaption()/DrawCaptionTemp() flags */
3730 #define DC_ACTIVE               0x0001
3731 #define DC_SMALLCAP             0x0002
3732 #define DC_ICON                 0x0004
3733 #define DC_TEXT                 0x0008
3734 #define DC_INBUTTON             0x0010
3735
3736 /* DrawEdge() flags */
3737 #define BDR_RAISEDOUTER    0x0001
3738 #define BDR_SUNKENOUTER    0x0002
3739 #define BDR_RAISEDINNER    0x0004
3740 #define BDR_SUNKENINNER    0x0008
3741
3742 #define BDR_OUTER          0x0003
3743 #define BDR_INNER          0x000c
3744 #define BDR_RAISED         0x0005
3745 #define BDR_SUNKEN         0x000a
3746
3747 #define EDGE_RAISED        (BDR_RAISEDOUTER | BDR_RAISEDINNER)
3748 #define EDGE_SUNKEN        (BDR_SUNKENOUTER | BDR_SUNKENINNER)
3749 #define EDGE_ETCHED        (BDR_SUNKENOUTER | BDR_RAISEDINNER)
3750 #define EDGE_BUMP          (BDR_RAISEDOUTER | BDR_SUNKENINNER)
3751
3752 /* border flags */
3753 #define BF_LEFT            0x0001
3754 #define BF_TOP             0x0002
3755 #define BF_RIGHT           0x0004
3756 #define BF_BOTTOM          0x0008
3757 #define BF_DIAGONAL        0x0010
3758 #define BF_MIDDLE          0x0800  /* Fill in the middle */
3759 #define BF_SOFT            0x1000  /* For softer buttons */
3760 #define BF_ADJUST          0x2000  /* Calculate the space left over */
3761 #define BF_FLAT            0x4000  /* For flat rather than 3D borders */
3762 #define BF_MONO            0x8000  /* For monochrome borders */
3763 #define BF_TOPLEFT         (BF_TOP | BF_LEFT)
3764 #define BF_TOPRIGHT        (BF_TOP | BF_RIGHT)
3765 #define BF_BOTTOMLEFT      (BF_BOTTOM | BF_LEFT)
3766 #define BF_BOTTOMRIGHT     (BF_BOTTOM | BF_RIGHT)
3767 #define BF_RECT            (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
3768 #define BF_DIAGONAL_ENDTOPRIGHT     (BF_DIAGONAL | BF_TOP | BF_RIGHT)
3769 #define BF_DIAGONAL_ENDTOPLEFT      (BF_DIAGONAL | BF_TOP | BF_LEFT)
3770 #define BF_DIAGONAL_ENDBOTTOMLEFT   (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
3771 #define BF_DIAGONAL_ENDBOTTOMRIGHT  (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
3772
3773 /* DrawFrameControl() uType's */
3774
3775 #define DFC_CAPTION             1
3776 #define DFC_MENU                2
3777 #define DFC_SCROLL              3
3778 #define DFC_BUTTON              4
3779
3780 /* uState's */
3781
3782 #define DFCS_CAPTIONCLOSE       0x0000
3783 #define DFCS_CAPTIONMIN         0x0001
3784 #define DFCS_CAPTIONMAX         0x0002
3785 #define DFCS_CAPTIONRESTORE     0x0003
3786 #define DFCS_CAPTIONHELP        0x0004          /* Windows 95 only */
3787
3788 #define DFCS_MENUARROW          0x0000
3789 #define DFCS_MENUCHECK          0x0001
3790 #define DFCS_MENUBULLET         0x0002
3791 #define DFCS_MENUARROWRIGHT     0x0004
3792
3793 #define DFCS_SCROLLUP            0x0000
3794 #define DFCS_SCROLLDOWN          0x0001
3795 #define DFCS_SCROLLLEFT          0x0002
3796 #define DFCS_SCROLLRIGHT         0x0003
3797 #define DFCS_SCROLLCOMBOBOX      0x0005
3798 #define DFCS_SCROLLSIZEGRIP      0x0008
3799 #define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
3800
3801 #define DFCS_BUTTONCHECK        0x0000
3802 #define DFCS_BUTTONRADIOIMAGE   0x0001
3803 #define DFCS_BUTTONRADIOMASK    0x0002          /* to draw nonsquare button */
3804 #define DFCS_BUTTONRADIO        0x0004
3805 #define DFCS_BUTTON3STATE       0x0008
3806 #define DFCS_BUTTONPUSH         0x0010
3807
3808 /* additional state of the control */
3809
3810 #define DFCS_INACTIVE           0x0100
3811 #define DFCS_PUSHED             0x0200
3812 #define DFCS_CHECKED            0x0400
3813 #define DFCS_ADJUSTRECT         0x2000          /* exclude surrounding edge */
3814 #define DFCS_FLAT               0x4000
3815 #define DFCS_MONO               0x8000
3816
3817 /* DrawState defines ... */
3818 typedef BOOL16 (CALLBACK *DRAWSTATEPROC16)(HDC16,LPARAM,WPARAM16,INT16,INT16);
3819 typedef BOOL32 (CALLBACK *DRAWSTATEPROC32)(HDC32,LPARAM,WPARAM32,INT32,INT32);
3820 DECL_WINELIB_TYPE(DRAWSTATEPROC)
3821
3822 /* Image type */
3823 #define DST_COMPLEX     0x0000
3824 #define DST_TEXT        0x0001
3825 #define DST_PREFIXTEXT  0x0002
3826 #define DST_ICON        0x0003
3827 #define DST_BITMAP      0x0004
3828
3829 /* State type */
3830 #define DSS_NORMAL      0x0000
3831 #define DSS_UNION       0x0010  /* Gray string appearance */
3832 #define DSS_DISABLED    0x0020
3833 #define DSS_DEFAULT     0x0040  /* Make it bold */
3834 #define DSS_MONO        0x0080
3835 #define DSS_RIGHT       0x8000
3836
3837 /* Window Styles */
3838 #define WS_OVERLAPPED    0x00000000L
3839 #define WS_POPUP         0x80000000L
3840 #define WS_CHILD         0x40000000L
3841 #define WS_MINIMIZE      0x20000000L
3842 #define WS_VISIBLE       0x10000000L
3843 #define WS_DISABLED      0x08000000L
3844 #define WS_CLIPSIBLINGS  0x04000000L
3845 #define WS_CLIPCHILDREN  0x02000000L
3846 #define WS_MAXIMIZE      0x01000000L
3847 #define WS_CAPTION       0x00C00000L
3848 #define WS_BORDER        0x00800000L
3849 #define WS_DLGFRAME      0x00400000L
3850 #define WS_VSCROLL       0x00200000L
3851 #define WS_HSCROLL       0x00100000L
3852 #define WS_SYSMENU       0x00080000L
3853 #define WS_THICKFRAME    0x00040000L
3854 #define WS_GROUP         0x00020000L
3855 #define WS_TABSTOP       0x00010000L
3856 #define WS_MINIMIZEBOX   0x00020000L
3857 #define WS_MAXIMIZEBOX   0x00010000L
3858 #define WS_TILED         WS_OVERLAPPED
3859 #define WS_ICONIC        WS_MINIMIZE
3860 #define WS_SIZEBOX       WS_THICKFRAME
3861 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
3862 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
3863 #define WS_CHILDWINDOW (WS_CHILD)
3864 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
3865
3866 /* Window extended styles */
3867 #define WS_EX_DLGMODALFRAME    0x00000001L
3868 #define WS_EX_DRAGDETECT       0x00000002L
3869 #define WS_EX_NOPARENTNOTIFY   0x00000004L
3870 #define WS_EX_TOPMOST          0x00000008L
3871 #define WS_EX_ACCEPTFILES      0x00000010L
3872 #define WS_EX_TRANSPARENT      0x00000020L
3873
3874 /* New Win95/WinNT4 styles */
3875 #define WS_EX_MDICHILD         0x00000040L
3876 #define WS_EX_TOOLWINDOW       0x00000080L
3877 #define WS_EX_WINDOWEDGE       0x00000100L
3878 #define WS_EX_CLIENTEDGE       0x00000200L
3879 #define WS_EX_CONTEXTHELP      0x00000400L
3880 #define WS_EX_RIGHT            0x00001000L
3881 #define WS_EX_LEFT             0x00000000L
3882 #define WS_EX_RTLREADING       0x00002000L
3883 #define WS_EX_LTRREADING       0x00000000L
3884 #define WS_EX_LEFTSCROLLBAR    0x00004000L
3885 #define WS_EX_RIGHTSCROLLBAR   0x00000000L
3886 #define WS_EX_CONTROLPARENT    0x00010000L
3887 #define WS_EX_STATICEDGE       0x00020000L
3888 #define WS_EX_APPWINDOW        0x00040000L
3889
3890 #define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
3891 #define WS_EX_PALETTEWINDOW    (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
3892
3893 /* Window scrolling */
3894 #define SW_SCROLLCHILDREN      0x0001
3895 #define SW_INVALIDATE          0x0002
3896 #define SW_ERASE               0x0004
3897
3898 /* CreateWindow() coordinates */
3899 #define CW_USEDEFAULT16 ((INT16)0x8000)
3900 #define CW_USEDEFAULT32 ((INT32)0x80000000)
3901 #define CW_USEDEFAULT   WINELIB_NAME(CW_USEDEFAULT)
3902
3903 /* ChildWindowFromPointEx Flags */
3904 #define CWP_ALL                0x0000
3905 #define CWP_SKIPINVISIBLE      0x0001
3906 #define CWP_SKIPDISABLED       0x0002
3907 #define CWP_SKIPTRANSPARENT    0x0004
3908
3909 /* Button control styles */
3910 #define BS_PUSHBUTTON          0x00000000L
3911 #define BS_DEFPUSHBUTTON       0x00000001L
3912 #define BS_CHECKBOX            0x00000002L
3913 #define BS_AUTOCHECKBOX        0x00000003L
3914 #define BS_RADIOBUTTON         0x00000004L
3915 #define BS_3STATE              0x00000005L
3916 #define BS_AUTO3STATE          0x00000006L
3917 #define BS_GROUPBOX            0x00000007L
3918 #define BS_USERBUTTON          0x00000008L
3919 #define BS_AUTORADIOBUTTON     0x00000009L
3920 #define BS_OWNERDRAW           0x0000000BL
3921 #define BS_LEFTTEXT            0x00000020L
3922
3923 /* Win16 button control messages */
3924 #define BM_GETCHECK16          (WM_USER+0)
3925 #define BM_SETCHECK16          (WM_USER+1)
3926 #define BM_GETSTATE16          (WM_USER+2)
3927 #define BM_SETSTATE16          (WM_USER+3)
3928 #define BM_SETSTYLE16          (WM_USER+4)
3929 #define BM_CLICK16             WM_NULL  /* Does not exist in Win16 */
3930 #define BM_GETIMAGE16          WM_NULL  /* Does not exist in Win16 */
3931 #define BM_SETIMAGE16          WM_NULL  /* Does not exist in Win16 */
3932 /* Win32 button control messages */
3933 #define BM_GETCHECK32          0x00f0
3934 #define BM_SETCHECK32          0x00f1
3935 #define BM_GETSTATE32          0x00f2
3936 #define BM_SETSTATE32          0x00f3
3937 #define BM_SETSTYLE32          0x00f4
3938 #define BM_CLICK32             0x00f5
3939 #define BM_GETIMAGE32          0x00f6
3940 #define BM_SETIMAGE32          0x00f7
3941 /* Winelib button control messages */
3942 #define BM_GETCHECK            WINELIB_NAME(BM_GETCHECK)
3943 #define BM_SETCHECK            WINELIB_NAME(BM_SETCHECK)
3944 #define BM_GETSTATE            WINELIB_NAME(BM_GETSTATE)
3945 #define BM_SETSTATE            WINELIB_NAME(BM_SETSTATE)
3946 #define BM_SETSTYLE            WINELIB_NAME(BM_SETSTYLE)
3947 #define BM_CLICK               WINELIB_NAME(BM_CLICK)
3948 #define BM_GETIMAGE            WINELIB_NAME(BM_GETIMAGE)
3949 #define BM_SETIMAGE            WINELIB_NAME(BM_SETIMAGE)
3950
3951 /* Button notification codes */
3952 #define BN_CLICKED             0
3953 #define BN_PAINT               1
3954 #define BN_HILITE              2
3955 #define BN_UNHILITE            3
3956 #define BN_DISABLE             4
3957 #define BN_DOUBLECLICKED       5
3958
3959 /* Static Control Styles */
3960 #define SS_LEFT             0x00000000L
3961 #define SS_CENTER           0x00000001L
3962 #define SS_RIGHT            0x00000002L
3963 #define SS_ICON             0x00000003L
3964 #define SS_BLACKRECT        0x00000004L
3965 #define SS_GRAYRECT         0x00000005L
3966 #define SS_WHITERECT        0x00000006L
3967 #define SS_BLACKFRAME       0x00000007L
3968 #define SS_GRAYFRAME        0x00000008L
3969 #define SS_WHITEFRAME       0x00000009L
3970
3971 #define SS_SIMPLE           0x0000000BL
3972 #define SS_LEFTNOWORDWRAP   0x0000000CL
3973
3974 #define SS_OWNERDRAW        0x0000000DL
3975 #define SS_BITMAP           0x0000000EL
3976 #define SS_ENHMETAFILE      0x0000000FL
3977
3978 #define SS_ETCHEDHORZ       0x00000010L
3979 #define SS_ETCHEDVERT       0x00000011L
3980 #define SS_ETCHEDFRAME      0x00000012L
3981 #define SS_TYPEMASK         0x0000001FL
3982
3983 #define SS_NOPREFIX         0x00000080L
3984 #define SS_NOTIFY           0x00000100L
3985 #define SS_CENTERIMAGE      0x00000200L
3986 #define SS_RIGHTJUST        0x00000400L
3987 #define SS_REALSIZEIMAGE    0x00000800L
3988 #define SS_SUNKEN           0x00001000L
3989
3990 /* Static Control Messages */
3991 #define STM_SETICON16       (WM_USER+0)
3992 #define STM_SETICON32       0x0170
3993 #define STM_SETICON         WINELIB_NAME(STM_SETICON)
3994 #define STM_GETICON16       (WM_USER+1)
3995 #define STM_GETICON32       0x0171
3996 #define STM_GETICON         WINELIB_NAME(STM_GETICON)
3997 #define STM_SETIMAGE        0x0172
3998 #define STM_GETIMAGE        0x0173
3999
4000 /* WM_H/VSCROLL commands */
4001 #define SB_LINEUP           0
4002 #define SB_LINELEFT         0
4003 #define SB_LINEDOWN         1
4004 #define SB_LINERIGHT        1
4005 #define SB_PAGEUP           2
4006 #define SB_PAGELEFT         2
4007 #define SB_PAGEDOWN         3
4008 #define SB_PAGERIGHT        3
4009 #define SB_THUMBPOSITION    4
4010 #define SB_THUMBTRACK       5
4011 #define SB_TOP              6
4012 #define SB_LEFT             6
4013 #define SB_BOTTOM           7
4014 #define SB_RIGHT            7
4015 #define SB_ENDSCROLL        8
4016
4017 /* Scroll bar selection constants */
4018 #define SB_HORZ             0
4019 #define SB_VERT             1
4020 #define SB_CTL              2
4021 #define SB_BOTH             3
4022
4023 /* Scrollbar styles */
4024 #define SBS_HORZ                    0x0000L
4025 #define SBS_VERT                    0x0001L
4026 #define SBS_TOPALIGN                0x0002L
4027 #define SBS_LEFTALIGN               0x0002L
4028 #define SBS_BOTTOMALIGN             0x0004L
4029 #define SBS_RIGHTALIGN              0x0004L
4030 #define SBS_SIZEBOXTOPLEFTALIGN     0x0002L
4031 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
4032 #define SBS_SIZEBOX                 0x0008L
4033
4034 /* EnableScrollBar() flags */
4035 #define ESB_ENABLE_BOTH     0x0000
4036 #define ESB_DISABLE_BOTH    0x0003
4037
4038 #define ESB_DISABLE_LEFT    0x0001
4039 #define ESB_DISABLE_RIGHT   0x0002
4040
4041 #define ESB_DISABLE_UP      0x0001
4042 #define ESB_DISABLE_DOWN    0x0002
4043
4044 #define ESB_DISABLE_LTUP    ESB_DISABLE_LEFT
4045 #define ESB_DISABLE_RTDN    ESB_DISABLE_RIGHT
4046
4047 /* Scrollbar messages */
4048 #define SBM_SETPOS16             (WM_USER+0)
4049 #define SBM_SETPOS32             0x00e0
4050 #define SBM_SETPOS               WINELIB_NAME(SBM_SETPOS)
4051 #define SBM_GETPOS16             (WM_USER+1)
4052 #define SBM_GETPOS32             0x00e1
4053 #define SBM_GETPOS               WINELIB_NAME(SBM_GETPOS)
4054 #define SBM_SETRANGE16           (WM_USER+2)
4055 #define SBM_SETRANGE32           0x00e2
4056 #define SBM_SETRANGE             WINELIB_NAME(SBM_SETRANGE)
4057 #define SBM_GETRANGE16           (WM_USER+3)
4058 #define SBM_GETRANGE32           0x00e3
4059 #define SBM_GETRANGE             WINELIB_NAME(SBM_GETRANGE)
4060 #define SBM_ENABLE_ARROWS16      (WM_USER+4)
4061 #define SBM_ENABLE_ARROWS32      0x00e4
4062 #define SBM_ENABLE_ARROWS        WINELIB_NAME(SBM_ENABLE_ARROWS)
4063 #define SBM_SETRANGEREDRAW16     WM_NULL  /* Not in Win16 */
4064 #define SBM_SETRANGEREDRAW32     0x00e6
4065 #define SBM_SETRANGEREDRAW       WINELIB_NAME(SBM_SETRANGEREDRAW)
4066 #define SBM_SETSCROLLINFO16      WM_NULL  /* Not in Win16 */
4067 #define SBM_SETSCROLLINFO32      0x00e9
4068 #define SBM_SETSCROLLINFO        WINELIB_NAME(SBM_SETSCROLLINFO)
4069 #define SBM_GETSCROLLINFO16      WM_NULL  /* Not in Win16 */
4070 #define SBM_GETSCROLLINFO32      0x00ea
4071 #define SBM_GETSCROLLINFO        WINELIB_NAME(SBM_GETSCROLLINFO)
4072
4073 /* Scrollbar info */
4074 typedef struct
4075 {
4076     UINT32    cbSize;
4077     UINT32    fMask;
4078     INT32     nMin;
4079     INT32     nMax;
4080     UINT32    nPage;
4081     INT32     nPos;
4082     INT32     nTrackPos;
4083 } SCROLLINFO, *LPSCROLLINFO;
4084  
4085 /* GetScrollInfo() flags */ 
4086 #define SIF_RANGE           0x0001
4087 #define SIF_PAGE            0x0002
4088 #define SIF_POS             0x0004
4089 #define SIF_DISABLENOSCROLL 0x0008
4090 #define SIF_TRACKPOS        0x0010
4091 #define SIF_ALL             (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
4092
4093 /* Listbox styles */
4094 #define LBS_NOTIFY               0x0001
4095 #define LBS_SORT                 0x0002
4096 #define LBS_NOREDRAW             0x0004
4097 #define LBS_MULTIPLESEL          0x0008
4098 #define LBS_OWNERDRAWFIXED       0x0010
4099 #define LBS_OWNERDRAWVARIABLE    0x0020
4100 #define LBS_HASSTRINGS           0x0040
4101 #define LBS_USETABSTOPS          0x0080
4102 #define LBS_NOINTEGRALHEIGHT     0x0100
4103 #define LBS_MULTICOLUMN          0x0200
4104 #define LBS_WANTKEYBOARDINPUT    0x0400
4105 #define LBS_EXTENDEDSEL          0x0800
4106 #define LBS_DISABLENOSCROLL      0x1000
4107 #define LBS_NODATA               0x2000
4108 #define LBS_NOSEL                0x4000
4109 #define LBS_STANDARD  (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
4110
4111 /* Listbox messages */
4112 #define LB_ADDSTRING16           (WM_USER+1)
4113 #define LB_ADDSTRING32           0x0180
4114 #define LB_ADDSTRING             WINELIB_NAME(LB_ADDSTRING)
4115 #define LB_INSERTSTRING16        (WM_USER+2)
4116 #define LB_INSERTSTRING32        0x0181
4117 #define LB_INSERTSTRING          WINELIB_NAME(LB_INSERTSTRING)
4118 #define LB_DELETESTRING16        (WM_USER+3)
4119 #define LB_DELETESTRING32        0x0182
4120 #define LB_DELETESTRING          WINELIB_NAME(LB_DELETESTRING)
4121 #define LB_SELITEMRANGEEX16      (WM_USER+4)
4122 #define LB_SELITEMRANGEEX32      0x0183
4123 #define LB_SELITEMRANGEEX        WINELIB_NAME(LB_SELITEMRANGEEX)
4124 #define LB_RESETCONTENT16        (WM_USER+5)
4125 #define LB_RESETCONTENT32        0x0184
4126 #define LB_RESETCONTENT          WINELIB_NAME(LB_RESETCONTENT)
4127 #define LB_SETSEL16              (WM_USER+6)
4128 #define LB_SETSEL32              0x0185
4129 #define LB_SETSEL                WINELIB_NAME(LB_SETSEL)
4130 #define LB_SETCURSEL16           (WM_USER+7)
4131 #define LB_SETCURSEL32           0x0186
4132 #define LB_SETCURSEL             WINELIB_NAME(LB_SETCURSEL)
4133 #define LB_GETSEL16              (WM_USER+8)
4134 #define LB_GETSEL32              0x0187
4135 #define LB_GETSEL                WINELIB_NAME(LB_GETSEL)
4136 #define LB_GETCURSEL16           (WM_USER+9)
4137 #define LB_GETCURSEL32           0x0188
4138 #define LB_GETCURSEL             WINELIB_NAME(LB_GETCURSEL)
4139 #define LB_GETTEXT16             (WM_USER+10)
4140 #define LB_GETTEXT32             0x0189
4141 #define LB_GETTEXT               WINELIB_NAME(LB_GETTEXT)
4142 #define LB_GETTEXTLEN16          (WM_USER+11)
4143 #define LB_GETTEXTLEN32          0x018a
4144 #define LB_GETTEXTLEN            WINELIB_NAME(LB_GETTEXTLEN)
4145 #define LB_GETCOUNT16            (WM_USER+12)
4146 #define LB_GETCOUNT32            0x018b
4147 #define LB_GETCOUNT              WINELIB_NAME(LB_GETCOUNT)
4148 #define LB_SELECTSTRING16        (WM_USER+13)
4149 #define LB_SELECTSTRING32        0x018c
4150 #define LB_SELECTSTRING          WINELIB_NAME(LB_SELECTSTRING)
4151 #define LB_DIR16                 (WM_USER+14)
4152 #define LB_DIR32                 0x018d
4153 #define LB_DIR                   WINELIB_NAME(LB_DIR)
4154 #define LB_GETTOPINDEX16         (WM_USER+15)
4155 #define LB_GETTOPINDEX32         0x018e
4156 #define LB_GETTOPINDEX           WINELIB_NAME(LB_GETTOPINDEX)
4157 #define LB_FINDSTRING16          (WM_USER+16)
4158 #define LB_FINDSTRING32          0x018f
4159 #define LB_FINDSTRING            WINELIB_NAME(LB_FINDSTRING)
4160 #define LB_GETSELCOUNT16         (WM_USER+17)
4161 #define LB_GETSELCOUNT32         0x0190
4162 #define LB_GETSELCOUNT           WINELIB_NAME(LB_GETSELCOUNT)
4163 #define LB_GETSELITEMS16         (WM_USER+18)
4164 #define LB_GETSELITEMS32         0x0191
4165 #define LB_GETSELITEMS           WINELIB_NAME(LB_GETSELITEMS)
4166 #define LB_SETTABSTOPS16         (WM_USER+19)
4167 #define LB_SETTABSTOPS32         0x0192
4168 #define LB_SETTABSTOPS           WINELIB_NAME(LB_SETTABSTOPS)
4169 #define LB_GETHORIZONTALEXTENT16 (WM_USER+20)
4170 #define LB_GETHORIZONTALEXTENT32 0x0193
4171 #define LB_GETHORIZONTALEXTENT   WINELIB_NAME(LB_GETHORIZONTALEXTENT)
4172 #define LB_SETHORIZONTALEXTENT16 (WM_USER+21)
4173 #define LB_SETHORIZONTALEXTENT32 0x0194
4174 #define LB_SETHORIZONTALEXTENT   WINELIB_NAME(LB_SETHORIZONTALEXTENT)
4175 #define LB_SETCOLUMNWIDTH16      (WM_USER+22)
4176 #define LB_SETCOLUMNWIDTH32      0x0195
4177 #define LB_SETCOLUMNWIDTH        WINELIB_NAME(LB_SETCOLUMNWIDTH)
4178 #define LB_ADDFILE16             (WM_USER+23)
4179 #define LB_ADDFILE32             0x0196
4180 #define LB_ADDFILE               WINELIB_NAME(LB_ADDFILE)
4181 #define LB_SETTOPINDEX16         (WM_USER+24)
4182 #define LB_SETTOPINDEX32         0x0197
4183 #define LB_SETTOPINDEX           WINELIB_NAME(LB_SETTOPINDEX)
4184 #define LB_GETITEMRECT16         (WM_USER+25)
4185 #define LB_GETITEMRECT32         0x0198
4186 #define LB_GETITEMRECT           WINELIB_NAME(LB_GETITEMRECT)
4187 #define LB_GETITEMDATA16         (WM_USER+26)
4188 #define LB_GETITEMDATA32         0x0199
4189 #define LB_GETITEMDATA           WINELIB_NAME(LB_GETITEMDATA)
4190 #define LB_SETITEMDATA16         (WM_USER+27)
4191 #define LB_SETITEMDATA32         0x019a
4192 #define LB_SETITEMDATA           WINELIB_NAME(LB_SETITEMDATA)
4193 #define LB_SELITEMRANGE16        (WM_USER+28)
4194 #define LB_SELITEMRANGE32        0x019b
4195 #define LB_SELITEMRANGE          WINELIB_NAME(LB_SELITEMRANGE)
4196 #define LB_SETANCHORINDEX16      (WM_USER+29)
4197 #define LB_SETANCHORINDEX32      0x019c
4198 #define LB_SETANCHORINDEX        WINELIB_NAME(LB_SETANCHORINDEX)
4199 #define LB_GETANCHORINDEX16      (WM_USER+30)
4200 #define LB_GETANCHORINDEX32      0x019d
4201 #define LB_GETANCHORINDEX        WINELIB_NAME(LB_GETANCHORINDEX)
4202 #define LB_SETCARETINDEX16       (WM_USER+31)
4203 #define LB_SETCARETINDEX32       0x019e
4204 #define LB_SETCARETINDEX         WINELIB_NAME(LB_SETCARETINDEX)
4205 #define LB_GETCARETINDEX16       (WM_USER+32)
4206 #define LB_GETCARETINDEX32       0x019f
4207 #define LB_GETCARETINDEX         WINELIB_NAME(LB_GETCARETINDEX)
4208 #define LB_SETITEMHEIGHT16       (WM_USER+33)
4209 #define LB_SETITEMHEIGHT32       0x01a0
4210 #define LB_SETITEMHEIGHT         WINELIB_NAME(LB_SETITEMHEIGHT)
4211 #define LB_GETITEMHEIGHT16       (WM_USER+34)
4212 #define LB_GETITEMHEIGHT32       0x01a1
4213 #define LB_GETITEMHEIGHT         WINELIB_NAME(LB_GETITEMHEIGHT)
4214 #define LB_FINDSTRINGEXACT16     (WM_USER+35)
4215 #define LB_FINDSTRINGEXACT32     0x01a2
4216 #define LB_FINDSTRINGEXACT       WINELIB_NAME(LB_FINDSTRINGEXACT)
4217 #define LB_CARETON16             (WM_USER+36)
4218 #define LB_CARETON32             0x01a3
4219 #define LB_CARETON               WINELIB_NAME(LB_CARETON)
4220 #define LB_CARETOFF16            (WM_USER+37)
4221 #define LB_CARETOFF32            0x01a4
4222 #define LB_CARETOFF              WINELIB_NAME(LB_CARETOFF)
4223 #define LB_SETLOCALE16           WM_NULL  /* Not in Win16 */
4224 #define LB_SETLOCALE32           0x01a5
4225 #define LB_SETLOCALE             WINELIB_NAME(LB_SETLOCALE)
4226 #define LB_GETLOCALE16           WM_NULL  /* Not in Win16 */
4227 #define LB_GETLOCALE32           0x01a6
4228 #define LB_GETLOCALE             WINELIB_NAME(LB_GETLOCALE)
4229 #define LB_SETCOUNT16            WM_NULL  /* Not in Win16 */
4230 #define LB_SETCOUNT32            0x01a7
4231 #define LB_SETCOUNT              WINELIB_NAME(LB_SETCOUNT)
4232 #define LB_INITSTORAGE16         WM_NULL  /* Not in Win16 */
4233 #define LB_INITSTORAGE32         0x01a8
4234 #define LB_INITSTORAGE           WINELIB_NAME(LB_INITSTORAGE)
4235 #define LB_ITEMFROMPOINT16       WM_NULL  /* Not in Win16 */
4236 #define LB_ITEMFROMPOINT32       0x01a9
4237 #define LB_ITEMFROMPOINT         WINELIB_NAME(LB_ITEMFROMPOINT)
4238
4239 /* Listbox notification codes */
4240 #define LBN_ERRSPACE        (-2)
4241 #define LBN_SELCHANGE       1
4242 #define LBN_DBLCLK          2
4243 #define LBN_SELCANCEL       3
4244 #define LBN_SETFOCUS        4
4245 #define LBN_KILLFOCUS       5
4246
4247 /* Listbox message return values */
4248 #define LB_OKAY             0
4249 #define LB_ERR              (-1)
4250 #define LB_ERRSPACE         (-2)
4251
4252 #define LB_CTLCODE          0L
4253
4254 /* Combo box styles */
4255 #define CBS_SIMPLE            0x0001L
4256 #define CBS_DROPDOWN          0x0002L
4257 #define CBS_DROPDOWNLIST      0x0003L
4258 #define CBS_OWNERDRAWFIXED    0x0010L
4259 #define CBS_OWNERDRAWVARIABLE 0x0020L
4260 #define CBS_AUTOHSCROLL       0x0040L
4261 #define CBS_OEMCONVERT        0x0080L
4262 #define CBS_SORT              0x0100L
4263 #define CBS_HASSTRINGS        0x0200L
4264 #define CBS_NOINTEGRALHEIGHT  0x0400L
4265 #define CBS_DISABLENOSCROLL   0x0800L
4266
4267 #define CBS_UPPERCASE         0x2000L
4268 #define CBS_LOWERCASE         0x4000L
4269
4270
4271 /* Combo box messages */
4272 #define CB_GETEDITSEL16            (WM_USER+0)
4273 #define CB_GETEDITSEL32            0x0140
4274 #define CB_GETEDITSEL              WINELIB_NAME(CB_GETEDITSEL)
4275 #define CB_LIMITTEXT16             (WM_USER+1)
4276 #define CB_LIMITTEXT32             0x0141
4277 #define CB_LIMITTEXT               WINELIB_NAME(CB_LIMITTEXT)
4278 #define CB_SETEDITSEL16            (WM_USER+2)
4279 #define CB_SETEDITSEL32            0x0142
4280 #define CB_SETEDITSEL              WINELIB_NAME(CB_SETEDITSEL)
4281 #define CB_ADDSTRING16             (WM_USER+3)
4282 #define CB_ADDSTRING32             0x0143
4283 #define CB_ADDSTRING               WINELIB_NAME(CB_ADDSTRING)
4284 #define CB_DELETESTRING16          (WM_USER+4)
4285 #define CB_DELETESTRING32          0x0144
4286 #define CB_DELETESTRING            WINELIB_NAME(CB_DELETESTRING)
4287 #define CB_DIR16                   (WM_USER+5)
4288 #define CB_DIR32                   0x0145
4289 #define CB_DIR                     WINELIB_NAME(CB_DIR)
4290 #define CB_GETCOUNT16              (WM_USER+6)
4291 #define CB_GETCOUNT32              0x0146
4292 #define CB_GETCOUNT                WINELIB_NAME(CB_GETCOUNT)
4293 #define CB_GETCURSEL16             (WM_USER+7)
4294 #define CB_GETCURSEL32             0x0147
4295 #define CB_GETCURSEL               WINELIB_NAME(CB_GETCURSEL)
4296 #define CB_GETLBTEXT16             (WM_USER+8)
4297 #define CB_GETLBTEXT32             0x0148
4298 #define CB_GETLBTEXT               WINELIB_NAME(CB_GETLBTEXT)
4299 #define CB_GETLBTEXTLEN16          (WM_USER+9)
4300 #define CB_GETLBTEXTLEN32          0x0149
4301 #define CB_GETLBTEXTLEN            WINELIB_NAME(CB_GETLBTEXTLEN)
4302 #define CB_INSERTSTRING16          (WM_USER+10)
4303 #define CB_INSERTSTRING32          0x014a
4304 #define CB_INSERTSTRING            WINELIB_NAME(CB_INSERTSTRING)
4305 #define CB_RESETCONTENT16          (WM_USER+11)
4306 #define CB_RESETCONTENT32          0x014b
4307 #define CB_RESETCONTENT            WINELIB_NAME(CB_RESETCONTENT)
4308 #define CB_FINDSTRING16            (WM_USER+12)
4309 #define CB_FINDSTRING32            0x014c
4310 #define CB_FINDSTRING              WINELIB_NAME(CB_FINDSTRING)
4311 #define CB_SELECTSTRING16          (WM_USER+13)
4312 #define CB_SELECTSTRING32          0x014d
4313 #define CB_SELECTSTRING            WINELIB_NAME(CB_SELECTSTRING)
4314 #define CB_SETCURSEL16             (WM_USER+14)
4315 #define CB_SETCURSEL32             0x014e
4316 #define CB_SETCURSEL               WINELIB_NAME(CB_SETCURSEL)
4317 #define CB_SHOWDROPDOWN16          (WM_USER+15)
4318 #define CB_SHOWDROPDOWN32          0x014f
4319 #define CB_SHOWDROPDOWN            WINELIB_NAME(CB_SHOWDROPDOWN)
4320 #define CB_GETITEMDATA16           (WM_USER+16)
4321 #define CB_GETITEMDATA32           0x0150
4322 #define CB_GETITEMDATA             WINELIB_NAME(CB_GETITEMDATA)
4323 #define CB_SETITEMDATA16           (WM_USER+17)
4324 #define CB_SETITEMDATA32           0x0151
4325 #define CB_SETITEMDATA             WINELIB_NAME(CB_SETITEMDATA)
4326 #define CB_GETDROPPEDCONTROLRECT16 (WM_USER+18)
4327 #define CB_GETDROPPEDCONTROLRECT32 0x0152
4328 #define CB_GETDROPPEDCONTROLRECT   WINELIB_NAME(CB_GETDROPPEDCONTROLRECT)
4329 #define CB_SETITEMHEIGHT16         (WM_USER+19)
4330 #define CB_SETITEMHEIGHT32         0x0153
4331 #define CB_SETITEMHEIGHT           WINELIB_NAME(CB_SETITEMHEIGHT)
4332 #define CB_GETITEMHEIGHT16         (WM_USER+20)
4333 #define CB_GETITEMHEIGHT32         0x0154
4334 #define CB_GETITEMHEIGHT           WINELIB_NAME(CB_GETITEMHEIGHT)
4335 #define CB_SETEXTENDEDUI16         (WM_USER+21)
4336 #define CB_SETEXTENDEDUI32         0x0155
4337 #define CB_SETEXTENDEDUI           WINELIB_NAME(CB_SETEXTENDEDUI)
4338 #define CB_GETEXTENDEDUI16         (WM_USER+22)
4339 #define CB_GETEXTENDEDUI32         0x0156
4340 #define CB_GETEXTENDEDUI           WINELIB_NAME(CB_GETEXTENDEDUI)
4341 #define CB_GETDROPPEDSTATE16       (WM_USER+23)
4342 #define CB_GETDROPPEDSTATE32       0x0157
4343 #define CB_GETDROPPEDSTATE         WINELIB_NAME(CB_GETDROPPEDSTATE)
4344 #define CB_FINDSTRINGEXACT16       (WM_USER+24)
4345 #define CB_FINDSTRINGEXACT32       0x0158
4346 #define CB_FINDSTRINGEXACT         WINELIB_NAME(CB_FINDSTRINGEXACT)
4347 #define CB_SETLOCALE16             WM_NULL  /* Not in Win16 */
4348 #define CB_SETLOCALE32             0x0159
4349 #define CB_SETLOCALE               WINELIB_NAME(CB_SETLOCALE)
4350 #define CB_GETLOCALE16             WM_NULL  /* Not in Win16 */
4351 #define CB_GETLOCALE32             0x015a
4352 #define CB_GETLOCALE               WINELIB_NAME(CB_GETLOCALE)
4353 #define CB_GETTOPINDEX16           WM_NULL  /* Not in Win16 */
4354 #define CB_GETTOPINDEX32           0x015b
4355 #define CB_GETTOPINDEX             WINELIB_NAME(CB_GETTOPINDEX)
4356 #define CB_SETTOPINDEX16           WM_NULL  /* Not in Win16 */
4357 #define CB_SETTOPINDEX32           0x015c
4358 #define CB_SETTOPINDEX             WINELIB_NAME(CB_SETTOPINDEX)
4359 #define CB_GETHORIZONTALEXTENT16   WM_NULL  /* Not in Win16 */
4360 #define CB_GETHORIZONTALEXTENT32   0x015d
4361 #define CB_GETHORIZONTALEXTENT     WINELIB_NAME(CB_GETHORIZONTALEXTENT)
4362 #define CB_SETHORIZONTALEXTENT16   WM_NULL  /* Not in Win16 */
4363 #define CB_SETHORIZONTALEXTENT32   0x015e
4364 #define CB_SETHORIZONTALEXTENT     WINELIB_NAME(CB_SETHORIZONTALEXTENT)
4365 #define CB_GETDROPPEDWIDTH16       WM_NULL  /* Not in Win16 */
4366 #define CB_GETDROPPEDWIDTH32       0x015f
4367 #define CB_GETDROPPEDWIDTH         WINELIB_NAME(CB_GETDROPPEDWIDTH)
4368 #define CB_SETDROPPEDWIDTH16       WM_NULL  /* Not in Win16 */
4369 #define CB_SETDROPPEDWIDTH32       0x0160
4370 #define CB_SETDROPPEDWIDTH         WINELIB_NAME(CB_SETDROPPEDWIDTH)
4371 #define CB_INITSTORAGE16           WM_NULL  /* Not in Win16 */
4372 #define CB_INITSTORAGE32           0x0161
4373 #define CB_INITSTORAGE             WINELIB_NAME(CB_INITSTORAGE)
4374
4375 /* Combo box notification codes */
4376 #define CBN_ERRSPACE        (-1)
4377 #define CBN_SELCHANGE       1
4378 #define CBN_DBLCLK          2
4379 #define CBN_SETFOCUS        3
4380 #define CBN_KILLFOCUS       4
4381 #define CBN_EDITCHANGE      5
4382 #define CBN_EDITUPDATE      6
4383 #define CBN_DROPDOWN        7
4384 #define CBN_CLOSEUP         8
4385 #define CBN_SELENDOK        9
4386 #define CBN_SELENDCANCEL    10
4387
4388 /* Combo box message return values */
4389 #define CB_OKAY             0
4390 #define CB_ERR              (-1)
4391 #define CB_ERRSPACE         (-2)
4392
4393
4394 /* Owner draw control types */
4395 #define ODT_MENU        1
4396 #define ODT_LISTBOX     2
4397 #define ODT_COMBOBOX    3
4398 #define ODT_BUTTON      4
4399
4400 /* Owner draw actions */
4401 #define ODA_DRAWENTIRE  0x0001
4402 #define ODA_SELECT      0x0002
4403 #define ODA_FOCUS       0x0004
4404
4405 /* Owner draw state */
4406 #define ODS_SELECTED    0x0001
4407 #define ODS_GRAYED      0x0002
4408 #define ODS_DISABLED    0x0004
4409 #define ODS_CHECKED     0x0008
4410 #define ODS_FOCUS       0x0010
4411
4412 /* Edit control styles */
4413 #define ES_LEFT         0x00000000
4414 #define ES_CENTER       0x00000001
4415 #define ES_RIGHT        0x00000002
4416 #define ES_MULTILINE    0x00000004
4417 #define ES_UPPERCASE    0x00000008
4418 #define ES_LOWERCASE    0x00000010
4419 #define ES_PASSWORD     0x00000020
4420 #define ES_AUTOVSCROLL  0x00000040
4421 #define ES_AUTOHSCROLL  0x00000080
4422 #define ES_NOHIDESEL    0x00000100
4423 #define ES_OEMCONVERT   0x00000400
4424 #define ES_READONLY     0x00000800
4425 #define ES_WANTRETURN   0x00001000
4426 #define ES_NUMBER       0x00002000
4427
4428 /* Edit control messages */
4429 #define EM_GETSEL16                (WM_USER+0)
4430 #define EM_GETSEL32                0x00b0
4431 #define EM_GETSEL                  WINELIB_NAME(EM_GETSEL)
4432 #define EM_SETSEL16                (WM_USER+1)
4433 #define EM_SETSEL32                0x00b1
4434 #define EM_SETSEL                  WINELIB_NAME(EM_SETSEL)
4435 #define EM_GETRECT16               (WM_USER+2)
4436 #define EM_GETRECT32               0x00b2
4437 #define EM_GETRECT                 WINELIB_NAME(EM_GETRECT)
4438 #define EM_SETRECT16               (WM_USER+3)
4439 #define EM_SETRECT32               0x00b3
4440 #define EM_SETRECT                 WINELIB_NAME(EM_SETRECT)
4441 #define EM_SETRECTNP16             (WM_USER+4)
4442 #define EM_SETRECTNP32             0x00b4
4443 #define EM_SETRECTNP               WINELIB_NAME(EM_SETRECTNP)
4444 #define EM_SCROLL16                (WM_USER+5)
4445 #define EM_SCROLL32                0x00b5
4446 #define EM_SCROLL                  WINELIB_NAME(EM_SCROLL)
4447 #define EM_LINESCROLL16            (WM_USER+6)
4448 #define EM_LINESCROLL32            0x00b6
4449 #define EM_LINESCROLL              WINELIB_NAME(EM_LINESCROLL)
4450 #define EM_SCROLLCARET16           (WM_USER+7)
4451 #define EM_SCROLLCARET32           0x00b7
4452 #define EM_SCROLLCARET             WINELIB_NAME(EM_SCROLLCARET)
4453 #define EM_GETMODIFY16             (WM_USER+8)
4454 #define EM_GETMODIFY32             0x00b8
4455 #define EM_GETMODIFY               WINELIB_NAME(EM_GETMODIFY)
4456 #define EM_SETMODIFY16             (WM_USER+9)
4457 #define EM_SETMODIFY32             0x00b9
4458 #define EM_SETMODIFY               WINELIB_NAME(EM_SETMODIFY)
4459 #define EM_GETLINECOUNT16          (WM_USER+10)
4460 #define EM_GETLINECOUNT32          0x00ba
4461 #define EM_GETLINECOUNT            WINELIB_NAME(EM_GETLINECOUNT)
4462 #define EM_LINEINDEX16             (WM_USER+11)
4463 #define EM_LINEINDEX32             0x00bb
4464 #define EM_LINEINDEX               WINELIB_NAME(EM_LINEINDEX)
4465 #define EM_SETHANDLE16             (WM_USER+12)
4466 #define EM_SETHANDLE32             0x00bc
4467 #define EM_SETHANDLE               WINELIB_NAME(EM_SETHANDLE)
4468 #define EM_GETHANDLE16             (WM_USER+13)
4469 #define EM_GETHANDLE32             0x00bd
4470 #define EM_GETHANDLE               WINELIB_NAME(EM_GETHANDLE)
4471 #define EM_GETTHUMB16              (WM_USER+14)
4472 #define EM_GETTHUMB32              0x00be
4473 #define EM_GETTHUMB                WINELIB_NAME(EM_GETTHUMB)
4474 /* FIXME : missing from specs 0x00bf and 0x00c0 */
4475 #define EM_LINELENGTH16            (WM_USER+17)
4476 #define EM_LINELENGTH32            0x00c1
4477 #define EM_LINELENGTH              WINELIB_NAME(EM_LINELENGTH)
4478 #define EM_REPLACESEL16            (WM_USER+18)
4479 #define EM_REPLACESEL32            0x00c2
4480 #define EM_REPLACESEL              WINELIB_NAME(EM_REPLACESEL)
4481 /* FIXME : missing from specs 0x00c3 */
4482 #define EM_GETLINE16               (WM_USER+20)
4483 #define EM_GETLINE32               0x00c4
4484 #define EM_GETLINE                 WINELIB_NAME(EM_GETLINE)
4485 #define EM_LIMITTEXT16             (WM_USER+21)
4486 #define EM_LIMITTEXT32             0x00c5
4487 #define EM_LIMITTEXT               WINELIB_NAME(EM_LIMITTEXT)
4488 #define EM_CANUNDO16               (WM_USER+22)
4489 #define EM_CANUNDO32               0x00c6
4490 #define EM_CANUNDO                 WINELIB_NAME(EM_CANUNDO)
4491 #define EM_UNDO16                  (WM_USER+23)
4492 #define EM_UNDO32                  0x00c7
4493 #define EM_UNDO                    WINELIB_NAME(EM_UNDO)
4494 #define EM_FMTLINES16              (WM_USER+24)
4495 #define EM_FMTLINES32              0x00c8
4496 #define EM_FMTLINES                WINELIB_NAME(EM_FMTLINES)
4497 #define EM_LINEFROMCHAR16          (WM_USER+25)
4498 #define EM_LINEFROMCHAR32          0x00c9
4499 #define EM_LINEFROMCHAR            WINELIB_NAME(EM_LINEFROMCHAR)
4500 /* FIXME : missing from specs 0x00ca */
4501 #define EM_SETTABSTOPS16           (WM_USER+27)
4502 #define EM_SETTABSTOPS32           0x00cb
4503 #define EM_SETTABSTOPS             WINELIB_NAME(EM_SETTABSTOPS)
4504 #define EM_SETPASSWORDCHAR16       (WM_USER+28)
4505 #define EM_SETPASSWORDCHAR32       0x00cc
4506 #define EM_SETPASSWORDCHAR         WINELIB_NAME(EM_SETPASSWORDCHAR)
4507 #define EM_EMPTYUNDOBUFFER16       (WM_USER+29)
4508 #define EM_EMPTYUNDOBUFFER32       0x00cd
4509 #define EM_EMPTYUNDOBUFFER         WINELIB_NAME(EM_EMPTYUNDOBUFFER)
4510 #define EM_GETFIRSTVISIBLELINE16   (WM_USER+30)
4511 #define EM_GETFIRSTVISIBLELINE32   0x00ce
4512 #define EM_GETFIRSTVISIBLELINE     WINELIB_NAME(EM_GETFIRSTVISIBLELINE)
4513 #define EM_SETREADONLY16           (WM_USER+31)
4514 #define EM_SETREADONLY32           0x00cf
4515 #define EM_SETREADONLY             WINELIB_NAME(EM_SETREADONLY)
4516 #define EM_SETWORDBREAKPROC16      (WM_USER+32)
4517 #define EM_SETWORDBREAKPROC32      0x00d0
4518 #define EM_SETWORDBREAKPROC        WINELIB_NAME(EM_SETWORDBREAKPROC)
4519 #define EM_GETWORDBREAKPROC16      (WM_USER+33)
4520 #define EM_GETWORDBREAKPROC32      0x00d1
4521 #define EM_GETWORDBREAKPROC        WINELIB_NAME(EM_GETWORDBREAKPROC)
4522 #define EM_GETPASSWORDCHAR16       (WM_USER+34)
4523 #define EM_GETPASSWORDCHAR32       0x00d2
4524 #define EM_GETPASSWORDCHAR         WINELIB_NAME(EM_GETPASSWORDCHAR)
4525 #define EM_SETMARGINS16            WM_NULL /* not in win16 */
4526 #define EM_SETMARGINS32            0x00d3
4527 #define EM_SETMARGINS              WINELIB_NAME(EM_SETMARGINS)
4528 #define EM_GETMARGINS16            WM_NULL /* not in win16 */
4529 #define EM_GETMARGINS32            0x00d4
4530 #define EM_GETMARGINS              WINELIB_NAME(EM_GETMARGINS)
4531 #define EM_GETLIMITTEXT16          WM_NULL /* not in win16 */
4532 #define EM_GETLIMITTEXT32          0x00d5
4533 #define EM_GETLIMITTEXT            WINELIB_NAME(EM_GETLIMITTEXT)
4534 #define EM_POSFROMCHAR16           WM_NULL /* not in win16 */
4535 #define EM_POSFROMCHAR32           0x00d6
4536 #define EM_POSFROMCHAR             WINELIB_NAME(EM_POSFROMCHAR)
4537 #define EM_CHARFROMPOS16           WM_NULL /* not in win16 */
4538 #define EM_CHARFROMPOS32           0x00d7
4539 #define EM_CHARFROMPOS             WINELIB_NAME(EM_CHARFROMPOS)
4540 /* a name change since win95 */
4541 #define EM_SETLIMITTEXT16          WM_NULL /* no name change in win16 */
4542 #define EM_SETLIMITTEXT32          EM_LIMITTEXT32
4543 #define EM_SETLIMITTEXT            WINELIB_NAME(EM_SETLIMITTEXT)
4544
4545 /* EDITWORDBREAKPROC code values */
4546 #define WB_LEFT         0
4547 #define WB_RIGHT        1
4548 #define WB_ISDELIMITER  2
4549
4550 /* Edit control notification codes */
4551 #define EN_SETFOCUS     0x0100
4552 #define EN_KILLFOCUS    0x0200
4553 #define EN_CHANGE       0x0300
4554 #define EN_UPDATE       0x0400
4555 #define EN_ERRSPACE     0x0500
4556 #define EN_MAXTEXT      0x0501
4557 #define EN_HSCROLL      0x0601
4558 #define EN_VSCROLL      0x0602
4559
4560 /* New since win95 : EM_SETMARGIN parameters */
4561 #define EC_LEFTMARGIN   0x0001
4562 #define EC_RIGHTMARGIN  0x0002
4563 #define EC_USEFONTINFO  0xffff
4564
4565
4566 typedef struct
4567 {
4568     UINT16      CtlType;
4569     UINT16      CtlID;
4570     UINT16      itemID;
4571     UINT16      itemAction;
4572     UINT16      itemState;
4573     HWND16      hwndItem;
4574     HDC16       hDC;
4575     RECT16      rcItem WINE_PACKED;
4576     DWORD       itemData WINE_PACKED;
4577 } DRAWITEMSTRUCT16, *PDRAWITEMSTRUCT16, *LPDRAWITEMSTRUCT16;
4578
4579 typedef struct
4580 {
4581     UINT32      CtlType;
4582     UINT32      CtlID;
4583     UINT32      itemID;
4584     UINT32      itemAction;
4585     UINT32      itemState;
4586     HWND32      hwndItem;
4587     HDC32       hDC;
4588     RECT32      rcItem WINE_PACKED;
4589     DWORD       itemData WINE_PACKED;
4590 } DRAWITEMSTRUCT32, *PDRAWITEMSTRUCT32, *LPDRAWITEMSTRUCT32;
4591
4592 DECL_WINELIB_TYPE(DRAWITEMSTRUCT)
4593 DECL_WINELIB_TYPE(PDRAWITEMSTRUCT)
4594 DECL_WINELIB_TYPE(LPDRAWITEMSTRUCT)
4595
4596 typedef struct
4597 {
4598     UINT16      CtlType;
4599     UINT16      CtlID;
4600     UINT16      itemID;
4601     UINT16      itemWidth;
4602     UINT16      itemHeight;
4603     DWORD       itemData WINE_PACKED;
4604 } MEASUREITEMSTRUCT16, *PMEASUREITEMSTRUCT16, *LPMEASUREITEMSTRUCT16;
4605
4606 typedef struct
4607 {
4608     UINT32      CtlType;
4609     UINT32      CtlID;
4610     UINT32      itemID;
4611     UINT32      itemWidth;
4612     UINT32      itemHeight;
4613     DWORD       itemData;
4614 } MEASUREITEMSTRUCT32, *PMEASUREITEMSTRUCT32, *LPMEASUREITEMSTRUCT32;
4615
4616 DECL_WINELIB_TYPE(MEASUREITEMSTRUCT)
4617 DECL_WINELIB_TYPE(PMEASUREITEMSTRUCT)
4618 DECL_WINELIB_TYPE(LPMEASUREITEMSTRUCT)
4619
4620 typedef struct
4621 {
4622     UINT16     CtlType;
4623     UINT16     CtlID;
4624     UINT16     itemID;
4625     HWND16     hwndItem;
4626     DWORD      itemData;
4627 } DELETEITEMSTRUCT16, *LPDELETEITEMSTRUCT16;
4628
4629 typedef struct
4630 {
4631     UINT32     CtlType;
4632     UINT32     CtlID;
4633     UINT32     itemID;
4634     HWND32     hwndItem;
4635     DWORD      itemData;
4636 } DELETEITEMSTRUCT32, *LPDELETEITEMSTRUCT32;
4637
4638 DECL_WINELIB_TYPE(DELETEITEMSTRUCT)
4639 DECL_WINELIB_TYPE(LPDELETEITEMSTRUCT)
4640
4641 typedef struct
4642 {
4643     UINT16      CtlType;
4644     UINT16      CtlID;
4645     HWND16      hwndItem;
4646     UINT16      itemID1;
4647     DWORD       itemData1;
4648     UINT16      itemID2;
4649     DWORD       itemData2 WINE_PACKED;
4650 } COMPAREITEMSTRUCT16, *LPCOMPAREITEMSTRUCT16;
4651
4652 typedef struct
4653 {
4654     UINT32      CtlType;
4655     UINT32      CtlID;
4656     HWND32      hwndItem;
4657     UINT32      itemID1;
4658     DWORD       itemData1;
4659     UINT32      itemID2;
4660     DWORD       itemData2;
4661     DWORD       dwLocaleId;
4662 } COMPAREITEMSTRUCT32, *LPCOMPAREITEMSTRUCT32;
4663
4664 DECL_WINELIB_TYPE(COMPAREITEMSTRUCT)
4665 DECL_WINELIB_TYPE(LPCOMPAREITEMSTRUCT)
4666
4667 /* WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags */
4668 #define KF_EXTENDED         0x0100
4669 #define KF_DLGMODE          0x0800
4670 #define KF_MENUMODE         0x1000
4671 #define KF_ALTDOWN          0x2000
4672 #define KF_REPEAT           0x4000
4673 #define KF_UP               0x8000
4674
4675 /* Virtual key codes */
4676 #define VK_LBUTTON          0x01
4677 #define VK_RBUTTON          0x02
4678 #define VK_CANCEL           0x03
4679 #define VK_MBUTTON          0x04
4680 /*                          0x05-0x07  Undefined */
4681 #define VK_BACK             0x08
4682 #define VK_TAB              0x09
4683 /*                          0x0A-0x0B  Undefined */
4684 #define VK_CLEAR            0x0C
4685 #define VK_RETURN           0x0D
4686 /*                          0x0E-0x0F  Undefined */
4687 #define VK_SHIFT            0x10
4688 #define VK_CONTROL          0x11
4689 #define VK_MENU             0x12
4690 #define VK_PAUSE            0x13
4691 #define VK_CAPITAL          0x14
4692 /*                          0x15-0x19  Reserved for Kanji systems */
4693 /*                          0x1A       Undefined */
4694 #define VK_ESCAPE           0x1B
4695 /*                          0x1C-0x1F  Reserved for Kanji systems */
4696 #define VK_SPACE            0x20
4697 #define VK_PRIOR            0x21
4698 #define VK_NEXT             0x22
4699 #define VK_END              0x23
4700 #define VK_HOME             0x24
4701 #define VK_LEFT             0x25
4702 #define VK_UP               0x26
4703 #define VK_RIGHT            0x27
4704 #define VK_DOWN             0x28
4705 #define VK_SELECT           0x29
4706 #define VK_PRINT            0x2A /* OEM specific in Windows 3.1 SDK */
4707 #define VK_EXECUTE          0x2B
4708 #define VK_SNAPSHOT         0x2C
4709 #define VK_INSERT           0x2D
4710 #define VK_DELETE           0x2E
4711 #define VK_HELP             0x2F
4712 #define VK_0                0x30
4713 #define VK_1                0x31
4714 #define VK_2                0x32
4715 #define VK_3                0x33
4716 #define VK_4                0x34
4717 #define VK_5                0x35
4718 #define VK_6                0x36
4719 #define VK_7                0x37
4720 #define VK_8                0x38
4721 #define VK_9                0x39
4722 /*                          0x3A-0x40  Undefined */
4723 #define VK_A                0x41
4724 #define VK_B                0x42
4725 #define VK_C                0x43
4726 #define VK_D                0x44
4727 #define VK_E                0x45
4728 #define VK_F                0x46
4729 #define VK_G                0x47
4730 #define VK_H                0x48
4731 #define VK_I                0x49
4732 #define VK_J                0x4A
4733 #define VK_K                0x4B
4734 #define VK_L                0x4C
4735 #define VK_M                0x4D
4736 #define VK_N                0x4E
4737 #define VK_O                0x4F
4738 #define VK_P                0x50
4739 #define VK_Q                0x51
4740 #define VK_R                0x52
4741 #define VK_S                0x53
4742 #define VK_T                0x54
4743 #define VK_U                0x55
4744 #define VK_V                0x56
4745 #define VK_W                0x57
4746 #define VK_X                0x58
4747 #define VK_Y                0x59
4748 #define VK_Z                0x5A
4749
4750 #define VK_LWIN             0x5B
4751 #define VK_RWIN             0x5C
4752 #define VK_APPS             0x5D
4753 /*                          0x5E-0x5F Unassigned */
4754 #define VK_NUMPAD0          0x60
4755 #define VK_NUMPAD1          0x61
4756 #define VK_NUMPAD2          0x62
4757 #define VK_NUMPAD3          0x63
4758 #define VK_NUMPAD4          0x64
4759 #define VK_NUMPAD5          0x65
4760 #define VK_NUMPAD6          0x66
4761 #define VK_NUMPAD7          0x67
4762 #define VK_NUMPAD8          0x68
4763 #define VK_NUMPAD9          0x69
4764 #define VK_MULTIPLY         0x6A
4765 #define VK_ADD              0x6B
4766 #define VK_SEPARATOR        0x6C
4767 #define VK_SUBTRACT         0x6D
4768 #define VK_DECIMAL          0x6E
4769 #define VK_DIVIDE           0x6F
4770 #define VK_F1               0x70
4771 #define VK_F2               0x71
4772 #define VK_F3               0x72
4773 #define VK_F4               0x73
4774 #define VK_F5               0x74
4775 #define VK_F6               0x75
4776 #define VK_F7               0x76
4777 #define VK_F8               0x77
4778 #define VK_F9               0x78
4779 #define VK_F10              0x79
4780 #define VK_F11              0x7A
4781 #define VK_F12              0x7B
4782 #define VK_F13              0x7C
4783 #define VK_F14              0x7D
4784 #define VK_F15              0x7E
4785 #define VK_F16              0x7F
4786 #define VK_F17              0x80
4787 #define VK_F18              0x81
4788 #define VK_F19              0x82
4789 #define VK_F20              0x83
4790 #define VK_F21              0x84
4791 #define VK_F22              0x85
4792 #define VK_F23              0x86
4793 #define VK_F24              0x87
4794 /*                          0x88-0x8F  Unassigned */
4795 #define VK_NUMLOCK          0x90
4796 #define VK_SCROLL           0x91
4797 /*                          0x92-0x9F  Unassigned */
4798 /*
4799  * differencing between right and left shift/control/alt key.
4800  * Used only by GetAsyncKeyState() and GetKeyState().
4801  */
4802 #define VK_LSHIFT           0xA0
4803 #define VK_RSHIFT           0xA1
4804 #define VK_LCONTROL         0xA2
4805 #define VK_RCONTROL         0xA3
4806 #define VK_LMENU            0xA4
4807 #define VK_RMENU            0xA5
4808 /*                          0xA6-0xB9  Unassigned */
4809 #define VK_OEM_1            0xBA
4810 #define VK_OEM_PLUS         0xBB
4811 #define VK_OEM_COMMA        0xBC
4812 #define VK_OEM_MINUS        0xBD
4813 #define VK_OEM_PERIOD       0xBE
4814 #define VK_OEM_2            0xBF
4815 #define VK_OEM_3            0xC0
4816 /*                          0xC1-0xDA  Unassigned */
4817 #define VK_OEM_4            0xDB
4818 #define VK_OEM_5            0xDC
4819 #define VK_OEM_6            0xDD
4820 #define VK_OEM_7            0xDE
4821 /*                          0xDF-0xE4  OEM specific */
4822
4823 #define VK_PROCESSKEY       0xE5
4824
4825 /*                          0xE6       OEM specific */
4826 /*                          0xE7-0xE8  Unassigned */
4827 /*                          0xE9-0xF5  OEM specific */
4828
4829 #define VK_ATTN             0xF6
4830 #define VK_CRSEL            0xF7
4831 #define VK_EXSEL            0xF8
4832 #define VK_EREOF            0xF9
4833 #define VK_PLAY             0xFA
4834 #define VK_ZOOM             0xFB
4835 #define VK_NONAME           0xFC
4836 #define VK_PA1              0xFD
4837 #define VK_OEM_CLEAR        0xFE
4838   
4839 #define LMEM_FIXED          0   
4840 #define LMEM_MOVEABLE       0x0002
4841 #define LMEM_NOCOMPACT      0x0010
4842 #define LMEM_NODISCARD      0x0020
4843 #define LMEM_ZEROINIT       0x0040
4844 #define LMEM_MODIFY         0x0080
4845 #define LMEM_DISCARDABLE    0x0F00
4846 #define LMEM_DISCARDED      0x4000
4847 #define LMEM_LOCKCOUNT      0x00FF
4848
4849 #define GMEM_FIXED          0x0000
4850 #define GMEM_MOVEABLE       0x0002
4851 #define GMEM_NOCOMPACT      0x0010
4852 #define GMEM_NODISCARD      0x0020
4853 #define GMEM_ZEROINIT       0x0040
4854 #define GMEM_MODIFY         0x0080
4855 #define GMEM_DISCARDABLE    0x0100
4856 #define GMEM_NOT_BANKED     0x1000
4857 #define GMEM_SHARE          0x2000
4858 #define GMEM_DDESHARE       0x2000
4859 #define GMEM_NOTIFY         0x4000
4860 #define GMEM_LOWER          GMEM_NOT_BANKED
4861 #define GMEM_DISCARDED      0x4000
4862 #define GMEM_LOCKCOUNT      0x00ff
4863 #define GMEM_INVALID_HANDLE 0x8000
4864
4865 #define GHND                (GMEM_MOVEABLE | GMEM_ZEROINIT)
4866 #define GPTR                (GMEM_FIXED | GMEM_ZEROINIT)
4867
4868
4869 typedef struct tagMEMORYSTATUS
4870 {
4871     DWORD    dwLength;
4872     DWORD    dwMemoryLoad;
4873     DWORD    dwTotalPhys;
4874     DWORD    dwAvailPhys;
4875     DWORD    dwTotalPageFile;
4876     DWORD    dwAvailPageFile;
4877     DWORD    dwTotalVirtual;
4878     DWORD    dwAvailVirtual;
4879 } MEMORYSTATUS, *LPMEMORYSTATUS;
4880
4881 /* Predefined Clipboard Formats */
4882 #define CF_TEXT              1
4883 #define CF_BITMAP            2
4884 #define CF_METAFILEPICT      3
4885 #define CF_SYLK              4
4886 #define CF_DIF               5
4887 #define CF_TIFF              6
4888 #define CF_OEMTEXT           7
4889 #define CF_DIB               8
4890 #define CF_PALETTE           9
4891 #define CF_PENDATA          10
4892 #define CF_RIFF             11
4893 #define CF_WAVE             12
4894 #define CF_ENHMETAFILE      14
4895
4896 #define CF_OWNERDISPLAY     0x0080
4897 #define CF_DSPTEXT          0x0081
4898 #define CF_DSPBITMAP        0x0082
4899 #define CF_DSPMETAFILEPICT  0x0083
4900
4901 /* "Private" formats don't get GlobalFree()'d */
4902 #define CF_PRIVATEFIRST     0x0200
4903 #define CF_PRIVATELAST      0x02FF
4904
4905 /* "GDIOBJ" formats do get DeleteObject()'d */
4906 #define CF_GDIOBJFIRST      0x0300
4907 #define CF_GDIOBJLAST       0x03FF
4908
4909 /* Clipboard command messages */
4910 #define WM_CUT              0x0300
4911 #define WM_COPY             0x0301
4912 #define WM_PASTE            0x0302
4913 #define WM_CLEAR            0x0303
4914 #define WM_UNDO             0x0304
4915
4916 /* Clipboard owner messages */
4917 #define WM_RENDERFORMAT     0x0305
4918 #define WM_RENDERALLFORMATS 0x0306
4919 #define WM_DESTROYCLIPBOARD 0x0307
4920
4921 /* Clipboard viewer messages */
4922 #define WM_DRAWCLIPBOARD    0x0308
4923 #define WM_PAINTCLIPBOARD   0x0309
4924 #define WM_SIZECLIPBOARD    0x030B
4925 #define WM_VSCROLLCLIPBOARD 0x030A
4926 #define WM_HSCROLLCLIPBOARD 0x030E
4927 #define WM_ASKCBFORMATNAME  0x030C
4928 #define WM_CHANGECBCHAIN    0x030D
4929
4930 /* Metafile header structure */
4931 typedef struct
4932 {
4933     WORD       mtType;
4934     WORD       mtHeaderSize;
4935     WORD       mtVersion;
4936     DWORD      mtSize WINE_PACKED;
4937     WORD       mtNoObjects;
4938     DWORD      mtMaxRecord WINE_PACKED;
4939     WORD       mtNoParameters;
4940 } METAHEADER;
4941
4942 /* Metafile typical record structure */
4943 typedef struct
4944 {
4945     DWORD      rdSize;
4946     WORD       rdFunction;
4947     WORD       rdParam[1];
4948 } METARECORD;
4949 typedef METARECORD *PMETARECORD;
4950 typedef METARECORD *LPMETARECORD;
4951
4952 /* Handle table structure */
4953
4954 typedef struct
4955 {
4956     HGDIOBJ16 objectHandle[1];
4957 } HANDLETABLE16, *LPHANDLETABLE16;
4958
4959 typedef struct
4960 {
4961     HGDIOBJ32 objectHandle[1];
4962 } HANDLETABLE32, *LPHANDLETABLE32;
4963
4964 DECL_WINELIB_TYPE(HANDLETABLE)
4965 DECL_WINELIB_TYPE(LPHANDLETABLE)
4966
4967 /* Clipboard metafile picture structure */
4968 typedef struct
4969 {
4970     INT16        mm;
4971     INT16        xExt;
4972     INT16        yExt;
4973     HMETAFILE16  hMF;
4974 } METAFILEPICT16, *LPMETAFILEPICT16;
4975
4976 typedef struct
4977 {
4978     INT32        mm;
4979     INT32        xExt;
4980     INT32        yExt;
4981     HMETAFILE32  hMF;
4982 } METAFILEPICT32, *LPMETAFILEPICT32;
4983
4984 DECL_WINELIB_TYPE(METAFILEPICT)
4985 DECL_WINELIB_TYPE(LPMETAFILEPICT)
4986
4987 /* Metafile functions */
4988 #define META_SETBKCOLOR              0x0201
4989 #define META_SETBKMODE               0x0102
4990 #define META_SETMAPMODE              0x0103
4991 #define META_SETROP2                 0x0104
4992 #define META_SETRELABS               0x0105
4993 #define META_SETPOLYFILLMODE         0x0106
4994 #define META_SETSTRETCHBLTMODE       0x0107
4995 #define META_SETTEXTCHAREXTRA        0x0108
4996 #define META_SETTEXTCOLOR            0x0209
4997 #define META_SETTEXTJUSTIFICATION    0x020A
4998 #define META_SETWINDOWORG            0x020B
4999 #define META_SETWINDOWEXT            0x020C
5000 #define META_SETVIEWPORTORG          0x020D
5001 #define META_SETVIEWPORTEXT          0x020E
5002 #define META_OFFSETWINDOWORG         0x020F
5003 #define META_SCALEWINDOWEXT          0x0410
5004 #define META_OFFSETVIEWPORTORG       0x0211
5005 #define META_SCALEVIEWPORTEXT        0x0412
5006 #define META_LINETO                  0x0213
5007 #define META_MOVETO                  0x0214
5008 #define META_EXCLUDECLIPRECT         0x0415
5009 #define META_INTERSECTCLIPRECT       0x0416
5010 #define META_ARC                     0x0817
5011 #define META_ELLIPSE                 0x0418
5012 #define META_FLOODFILL               0x0419
5013 #define META_PIE                     0x081A
5014 #define META_RECTANGLE               0x041B
5015 #define META_ROUNDRECT               0x061C
5016 #define META_PATBLT                  0x061D
5017 #define META_SAVEDC                  0x001E
5018 #define META_SETPIXEL                0x041F
5019 #define META_OFFSETCLIPRGN           0x0220
5020 #define META_TEXTOUT                 0x0521
5021 #define META_BITBLT                  0x0922
5022 #define META_STRETCHBLT              0x0B23
5023 #define META_POLYGON                 0x0324
5024 #define META_POLYLINE                0x0325
5025 #define META_ESCAPE                  0x0626
5026 #define META_RESTOREDC               0x0127
5027 #define META_FILLREGION              0x0228
5028 #define META_FRAMEREGION             0x0429
5029 #define META_INVERTREGION            0x012A
5030 #define META_PAINTREGION             0x012B
5031 #define META_SELECTCLIPREGION        0x012C
5032 #define META_SELECTOBJECT            0x012D
5033 #define META_SETTEXTALIGN            0x012E
5034 #define META_DRAWTEXT                0x062F
5035 #define META_CHORD                   0x0830
5036 #define META_SETMAPPERFLAGS          0x0231
5037 #define META_EXTTEXTOUT              0x0A32
5038 #define META_SETDIBTODEV             0x0D33
5039 #define META_SELECTPALETTE           0x0234
5040 #define META_REALIZEPALETTE          0x0035
5041 #define META_ANIMATEPALETTE          0x0436
5042 #define META_SETPALENTRIES           0x0037
5043 #define META_POLYPOLYGON             0x0538
5044 #define META_RESIZEPALETTE           0x0139
5045 #define META_DIBBITBLT               0x0940
5046 #define META_DIBSTRETCHBLT           0x0B41
5047 #define META_DIBCREATEPATTERNBRUSH   0x0142
5048 #define META_STRETCHDIB              0x0F43
5049 #define META_EXTFLOODFILL            0x0548
5050 #define META_RESETDC                 0x014C
5051 #define META_STARTDOC                0x014D
5052 #define META_STARTPAGE               0x004F
5053 #define META_ENDPAGE                 0x0050
5054 #define META_ABORTDOC                0x0052
5055 #define META_ENDDOC                  0x005E
5056 #define META_DELETEOBJECT            0x01F0
5057 #define META_CREATEPALETTE           0x00F7
5058 #define META_CREATEBRUSH             0x00F8
5059 #define META_CREATEPATTERNBRUSH      0x01F9
5060 #define META_CREATEPENINDIRECT       0x02FA
5061 #define META_CREATEFONTINDIRECT      0x02FB
5062 #define META_CREATEBRUSHINDIRECT     0x02FC
5063 #define META_CREATEBITMAPINDIRECT    0x02FD
5064 #define META_CREATEBITMAP            0x06FE
5065 #define META_CREATEREGION            0x06FF
5066 #define META_UNKNOWN                 0x0529  /* FIXME: unknown meta magic */
5067
5068 typedef INT16 (CALLBACK *MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,
5069                                        INT16,LPARAM);
5070 typedef INT32 (CALLBACK *MFENUMPROC32)(HDC32,HANDLETABLE32*,METARECORD*,
5071                                        INT32,LPARAM);
5072 DECL_WINELIB_TYPE(MFENUMPROC)
5073
5074 /* enhanced metafile structures and functions */
5075
5076 /* note that ENHMETAHEADER is just a particular kind of ENHMETARECORD,
5077    ie. the header is just the first record in the metafile */
5078 typedef struct {
5079     DWORD iType; 
5080     DWORD nSize; 
5081     RECT32 rclBounds; 
5082     RECT32 rclFrame; 
5083     DWORD dSignature; 
5084     DWORD nVersion; 
5085     DWORD nBytes; 
5086     DWORD nRecords; 
5087     WORD  nHandles; 
5088     WORD  sReserved; 
5089     DWORD nDescription; 
5090     DWORD offDescription; 
5091     DWORD nPalEntries; 
5092     SIZE32 szlDevice; 
5093     SIZE32 szlMillimeters;
5094     DWORD cbPixelFormat;
5095     DWORD offPixelFormat;
5096     DWORD bOpenGL;
5097 } ENHMETAHEADER, *LPENHMETAHEADER; 
5098
5099 typedef struct {
5100     DWORD iType; 
5101     DWORD nSize; 
5102     DWORD dParm[1]; 
5103 } ENHMETARECORD, *LPENHMETARECORD; 
5104
5105 typedef INT32 (CALLBACK *ENHMFENUMPROC32)(HDC32, LPHANDLETABLE32, 
5106                                           LPENHMETARECORD, INT32, LPVOID);
5107
5108 #define EMR_HEADER      1
5109 #define EMR_POLYBEZIER  2
5110 #define EMR_POLYGON     3
5111 #define EMR_POLYLINE    4
5112 #define EMR_POLYBEZIERTO        5
5113 #define EMR_POLYLINETO  6
5114 #define EMR_POLYPOLYLINE        7
5115 #define EMR_POLYPOLYGON 8
5116 #define EMR_SETWINDOWEXTEX      9
5117 #define EMR_SETWINDOWORGEX      10
5118 #define EMR_SETVIEWPORTEXTEX    11
5119 #define EMR_SETVIEWPORTORGEX    12
5120 #define EMR_SETBRUSHORGEX       13
5121 #define EMR_EOF 14
5122 #define EMR_SETPIXELV   15
5123 #define EMR_SETMAPPERFLAGS      16
5124 #define EMR_SETMAPMODE  17
5125 #define EMR_SETBKMODE   18
5126 #define EMR_SETPOLYFILLMODE     19
5127 #define EMR_SETROP2     20
5128 #define EMR_SETSTRETCHBLTMODE   21
5129 #define EMR_SETTEXTALIGN        22
5130 #define EMR_SETCOLORADJUSTMENT  23
5131 #define EMR_SETTEXTCOLOR        24
5132 #define EMR_SETBKCOLOR  25
5133 #define EMR_OFFSETCLIPRGN       26
5134 #define EMR_MOVETOEX    27
5135 #define EMR_SETMETARGN  28
5136 #define EMR_EXCLUDECLIPRECT     29
5137 #define EMR_INTERSECTCLIPRECT   30
5138 #define EMR_SCALEVIEWPORTEXTEX  31
5139 #define EMR_SCALEWINDOWEXTEX    32
5140 #define EMR_SAVEDC      33
5141 #define EMR_RESTOREDC   34
5142 #define EMR_SETWORLDTRANSFORM   35
5143 #define EMR_MODIFYWORLDTRANSFORM        36
5144 #define EMR_SELECTOBJECT        37
5145 #define EMR_CREATEPEN   38
5146 #define EMR_CREATEBRUSHINDIRECT 39
5147 #define EMR_DELETEOBJECT        40
5148 #define EMR_ANGLEARC    41
5149 #define EMR_ELLIPSE     42
5150 #define EMR_RECTANGLE   43
5151 #define EMR_ROUNDRECT   44
5152 #define EMR_ARC 45
5153 #define EMR_CHORD       46
5154 #define EMR_PIE 47
5155 #define EMR_SELECTPALETTE       48
5156 #define EMR_CREATEPALETTE       49
5157 #define EMR_SETPALETTEENTRIES   50
5158 #define EMR_RESIZEPALETTE       51
5159 #define EMR_REALIZEPALETTE      52
5160 #define EMR_EXTFLOODFILL        53
5161 #define EMR_LINETO      54
5162 #define EMR_ARCTO       55
5163 #define EMR_POLYDRAW    56
5164 #define EMR_SETARCDIRECTION     57
5165 #define EMR_SETMITERLIMIT       58
5166 #define EMR_BEGINPATH   59
5167 #define EMR_ENDPATH     60
5168 #define EMR_CLOSEFIGURE 61
5169 #define EMR_FILLPATH    62
5170 #define EMR_STROKEANDFILLPATH   63
5171 #define EMR_STROKEPATH  64
5172 #define EMR_FLATTENPATH 65
5173 #define EMR_WIDENPATH   66
5174 #define EMR_SELECTCLIPPATH      67
5175 #define EMR_ABORTPATH   68
5176 #define EMR_GDICOMMENT  70
5177 #define EMR_FILLRGN     71
5178 #define EMR_FRAMERGN    72
5179 #define EMR_INVERTRGN   73
5180 #define EMR_PAINTRGN    74
5181 #define EMR_EXTSELECTCLIPRGN    75
5182 #define EMR_BITBLT      76
5183 #define EMR_STRETCHBLT  77
5184 #define EMR_MASKBLT     78
5185 #define EMR_PLGBLT      79
5186 #define EMR_SETDIBITSTODEVICE   80
5187 #define EMR_STRETCHDIBITS       81
5188 #define EMR_EXTCREATEFONTINDIRECTW      82
5189 #define EMR_EXTTEXTOUTA 83
5190 #define EMR_EXTTEXTOUTW 84
5191 #define EMR_POLYBEZIER16        85
5192 #define EMR_POLYGON16   86
5193 #define EMR_POLYLINE16  87
5194 #define EMR_POLYBEZIERTO16      88
5195 #define EMR_POLYLINETO16        89
5196 #define EMR_POLYPOLYLINE16      90
5197 #define EMR_POLYPOLYGON16       91
5198 #define EMR_POLYDRAW16  92
5199 #define EMR_CREATEMONOBRUSH     93
5200 #define EMR_CREATEDIBPATTERNBRUSHPT     94
5201 #define EMR_EXTCREATEPEN        95
5202 #define EMR_POLYTEXTOUTA        96
5203 #define EMR_POLYTEXTOUTW        97
5204 #define EMR_SETICMMODE  98
5205 #define EMR_CREATECOLORSPACE    99
5206 #define EMR_SETCOLORSPACE       100
5207 #define EMR_DELETECOLORSPACE    101
5208 #define EMR_GLSRECORD   102
5209 #define EMR_GLSBOUNDEDRECORD    103
5210 #define EMR_PIXELFORMAT 104
5211
5212 #define ENHMETA_SIGNATURE       1179469088
5213
5214
5215 #ifndef NOLOGERROR
5216
5217 /* LogParamError and LogError values */
5218
5219 /* Error modifier bits */
5220 #define ERR_WARNING             0x8000
5221 #define ERR_PARAM               0x4000
5222
5223 #define ERR_SIZE_MASK           0x3000
5224 #define ERR_BYTE                0x1000
5225 #define ERR_WORD                0x2000
5226 #define ERR_DWORD               0x3000
5227
5228 /* LogParamError() values */
5229
5230 /* Generic parameter values */
5231 #define ERR_BAD_VALUE           0x6001
5232 #define ERR_BAD_FLAGS           0x6002
5233 #define ERR_BAD_INDEX           0x6003
5234 #define ERR_BAD_DVALUE          0x7004
5235 #define ERR_BAD_DFLAGS          0x7005
5236 #define ERR_BAD_DINDEX          0x7006
5237 #define ERR_BAD_PTR             0x7007
5238 #define ERR_BAD_FUNC_PTR        0x7008
5239 #define ERR_BAD_SELECTOR        0x6009
5240 #define ERR_BAD_STRING_PTR      0x700a
5241 #define ERR_BAD_HANDLE          0x600b
5242
5243 /* KERNEL parameter errors */
5244 #define ERR_BAD_HINSTANCE       0x6020
5245 #define ERR_BAD_HMODULE         0x6021
5246 #define ERR_BAD_GLOBAL_HANDLE   0x6022
5247 #define ERR_BAD_LOCAL_HANDLE    0x6023
5248 #define ERR_BAD_ATOM            0x6024
5249 #define ERR_BAD_HFILE           0x6025
5250
5251 /* USER parameter errors */
5252 #define ERR_BAD_HWND            0x6040
5253 #define ERR_BAD_HMENU           0x6041
5254 #define ERR_BAD_HCURSOR         0x6042
5255 #define ERR_BAD_HICON           0x6043
5256 #define ERR_BAD_HDWP            0x6044
5257 #define ERR_BAD_CID             0x6045
5258 #define ERR_BAD_HDRVR           0x6046
5259
5260 /* GDI parameter errors */
5261 #define ERR_BAD_COORDS          0x7060
5262 #define ERR_BAD_GDI_OBJECT      0x6061
5263 #define ERR_BAD_HDC             0x6062
5264 #define ERR_BAD_HPEN            0x6063
5265 #define ERR_BAD_HFONT           0x6064
5266 #define ERR_BAD_HBRUSH          0x6065
5267 #define ERR_BAD_HBITMAP         0x6066
5268 #define ERR_BAD_HRGN            0x6067
5269 #define ERR_BAD_HPALETTE        0x6068
5270 #define ERR_BAD_HMETAFILE       0x6069
5271
5272
5273 /* LogError() values */
5274
5275 /* KERNEL errors */
5276 #define ERR_GALLOC              0x0001
5277 #define ERR_GREALLOC            0x0002
5278 #define ERR_GLOCK               0x0003
5279 #define ERR_LALLOC              0x0004
5280 #define ERR_LREALLOC            0x0005
5281 #define ERR_LLOCK               0x0006
5282 #define ERR_ALLOCRES            0x0007
5283 #define ERR_LOCKRES             0x0008
5284 #define ERR_LOADMODULE          0x0009
5285
5286 /* USER errors */
5287 #define ERR_CREATEDLG           0x0040
5288 #define ERR_CREATEDLG2          0x0041
5289 #define ERR_REGISTERCLASS       0x0042
5290 #define ERR_DCBUSY              0x0043
5291 #define ERR_CREATEWND           0x0044
5292 #define ERR_STRUCEXTRA          0x0045
5293 #define ERR_LOADSTR             0x0046
5294 #define ERR_LOADMENU            0x0047
5295 #define ERR_NESTEDBEGINPAINT    0x0048
5296 #define ERR_BADINDEX            0x0049
5297 #define ERR_CREATEMENU          0x004a
5298
5299 /* GDI errors */
5300 #define ERR_CREATEDC            0x0080
5301 #define ERR_CREATEMETA          0x0081
5302 #define ERR_DELOBJSELECTED      0x0082
5303 #define ERR_SELBITMAP           0x0083
5304
5305
5306
5307 /* Debugging support (DEBUG SYSTEM ONLY) */
5308 typedef struct
5309 {
5310     UINT16  flags;
5311     DWORD   dwOptions WINE_PACKED;
5312     DWORD   dwFilter WINE_PACKED;
5313     CHAR    achAllocModule[8] WINE_PACKED;
5314     DWORD   dwAllocBreak WINE_PACKED;
5315     DWORD   dwAllocCount WINE_PACKED;
5316 } WINDEBUGINFO, *LPWINDEBUGINFO;
5317
5318 /* WINDEBUGINFO flags values */
5319 #define WDI_OPTIONS         0x0001
5320 #define WDI_FILTER          0x0002
5321 #define WDI_ALLOCBREAK      0x0004
5322
5323 /* dwOptions values */
5324 #define DBO_CHECKHEAP       0x0001
5325 #define DBO_BUFFERFILL      0x0004
5326 #define DBO_DISABLEGPTRAPPING 0x0010
5327 #define DBO_CHECKFREE       0x0020
5328
5329 #define DBO_SILENT          0x8000
5330
5331 #define DBO_TRACEBREAK      0x2000
5332 #define DBO_WARNINGBREAK    0x1000
5333 #define DBO_NOERRORBREAK    0x0800
5334 #define DBO_NOFATALBREAK    0x0400
5335 #define DBO_INT3BREAK       0x0100
5336
5337 /* DebugOutput flags values */
5338 #define DBF_TRACE           0x0000
5339 #define DBF_WARNING         0x4000
5340 #define DBF_ERROR           0x8000
5341 #define DBF_FATAL           0xc000
5342
5343 /* dwFilter values */
5344 #define DBF_KERNEL          0x1000
5345 #define DBF_KRN_MEMMAN      0x0001
5346 #define DBF_KRN_LOADMODULE  0x0002
5347 #define DBF_KRN_SEGMENTLOAD 0x0004
5348 #define DBF_USER            0x0800
5349 #define DBF_GDI             0x0400
5350 #define DBF_MMSYSTEM        0x0040
5351 #define DBF_PENWIN          0x0020
5352 #define DBF_APPLICATION     0x0008
5353 #define DBF_DRIVER          0x0010
5354
5355 #endif /* NOLOGERROR */
5356
5357 /* Win32-specific structures */
5358
5359 typedef struct {
5360     DWORD dwData;
5361     DWORD cbData;
5362     LPVOID lpData;
5363 } COPYDATASTRUCT, *PCOPYDATASTRUCT, *LPCOPYDATASTRUCT;
5364
5365 typedef struct {
5366     HMENU32 hmenuIn;
5367     HMENU32 hmenuNext;
5368     HWND32  hwndNext;
5369 } MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
5370
5371 typedef struct {
5372         WORD wYear;
5373         WORD wMonth;
5374         WORD wDayOfWeek;
5375         WORD wDay;
5376         WORD wHour;
5377         WORD wMinute;
5378         WORD wSecond;
5379         WORD wMilliseconds;
5380 } SYSTEMTIME, *LPSYSTEMTIME;
5381
5382
5383 /* Code page information.
5384  */
5385 #define MAX_LEADBYTES     12
5386 #define MAX_DEFAULTCHAR   2
5387
5388 typedef struct
5389 {
5390     UINT32 MaxCharSize;
5391     BYTE   DefaultChar[MAX_DEFAULTCHAR];
5392     BYTE   LeadByte[MAX_LEADBYTES];
5393 } CPINFO, *LPCPINFO;
5394
5395 /* The 'overlapped' data structure used by async I/O functions.
5396  */
5397 typedef struct {
5398         DWORD Internal;
5399         DWORD InternalHigh;
5400         DWORD Offset;
5401         DWORD OffsetHigh;
5402         HANDLE32 hEvent;
5403 } OVERLAPPED, *LPOVERLAPPED;
5404
5405 /* Process startup information.
5406  */
5407
5408 /* STARTUPINFO.dwFlags */
5409 #define STARTF_USESHOWWINDOW    0x00000001
5410 #define STARTF_USESIZE          0x00000002
5411 #define STARTF_USEPOSITION      0x00000004
5412 #define STARTF_USECOUNTCHARS    0x00000008
5413 #define STARTF_USEFILLATTRIBUTE 0x00000010
5414 #define STARTF_RUNFULLSCREEN    0x00000020
5415 #define STARTF_FORCEONFEEDBACK  0x00000040
5416 #define STARTF_FORCEOFFFEEDBACK 0x00000080
5417 #define STARTF_USESTDHANDLES    0x00000100
5418 #define STARTF_USEHOTKEY        0x00000200
5419
5420 typedef struct {
5421         DWORD cb;               /* 00: size of struct */
5422         LPSTR lpReserved;       /* 04: */
5423         LPSTR lpDesktop;        /* 08: */
5424         LPSTR lpTitle;          /* 0c: */
5425         DWORD dwX;              /* 10: */
5426         DWORD dwY;              /* 14: */
5427         DWORD dwXSize;          /* 18: */
5428         DWORD dwYSize;          /* 1c: */
5429         DWORD dwXCountChars;    /* 20: */
5430         DWORD dwYCountChars;    /* 24: */
5431         DWORD dwFillAttribute;  /* 28: */
5432         DWORD dwFlags;          /* 2c: */
5433         WORD wShowWindow;       /* 30: */
5434         WORD cbReserved2;       /* 32: */
5435         BYTE *lpReserved2;      /* 34: */
5436         HANDLE32 hStdInput;     /* 38: */
5437         HANDLE32 hStdOutput;    /* 3c: */
5438         HANDLE32 hStdError;     /* 40: */
5439 } STARTUPINFO32A, *LPSTARTUPINFO32A;
5440
5441 typedef struct {
5442         DWORD cb;
5443         LPWSTR lpReserved;
5444         LPWSTR lpDesktop;
5445         LPWSTR lpTitle;
5446         DWORD dwX;
5447         DWORD dwY;
5448         DWORD dwXSize;
5449         DWORD dwYSize;
5450         DWORD dwXCountChars;
5451         DWORD dwYCountChars;
5452         DWORD dwFillAttribute;
5453         DWORD dwFlags;
5454         WORD wShowWindow;
5455         WORD cbReserved2;
5456         BYTE *lpReserved2;
5457         HANDLE32 hStdInput;
5458         HANDLE32 hStdOutput;
5459         HANDLE32 hStdError;
5460 } STARTUPINFO32W, *LPSTARTUPINFO32W;
5461
5462 DECL_WINELIB_TYPE_AW(STARTUPINFO)
5463 DECL_WINELIB_TYPE_AW(LPSTARTUPINFO)
5464
5465 typedef struct {
5466         HANDLE32        hProcess;
5467         HANDLE32        hThread;
5468         DWORD           dwProcessId;
5469         DWORD           dwThreadId;
5470 } PROCESS_INFORMATION,*LPPROCESS_INFORMATION;
5471
5472 typedef struct {
5473         LONG Bias;
5474         WCHAR StandardName[32];
5475         SYSTEMTIME StandardDate;
5476         LONG StandardBias;
5477         WCHAR DaylightName[32];
5478         SYSTEMTIME DaylightDate;
5479         LONG DaylightBias;
5480 } TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
5481
5482 #define TIME_ZONE_ID_UNKNOWN    0
5483 #define TIME_ZONE_ID_STANDARD   1
5484 #define TIME_ZONE_ID_DAYLIGHT   2
5485
5486 /* CreateProcess: dwCreationFlag values
5487  */
5488 #define DEBUG_PROCESS               0x00000001
5489 #define DEBUG_ONLY_THIS_PROCESS     0x00000002
5490 #define CREATE_SUSPENDED            0x00000004
5491 #define DETACHED_PROCESS            0x00000008
5492 #define CREATE_NEW_CONSOLE          0x00000010
5493 #define NORMAL_PRIORITY_CLASS       0x00000020
5494 #define IDLE_PRIORITY_CLASS         0x00000040
5495 #define HIGH_PRIORITY_CLASS         0x00000080
5496 #define REALTIME_PRIORITY_CLASS     0x00000100
5497 #define CREATE_NEW_PROCESS_GROUP    0x00000200
5498 #define CREATE_UNICODE_ENVIRONMENT  0x00000400
5499 #define CREATE_SEPARATE_WOW_VDM     0x00000800
5500 #define CREATE_SHARED_WOW_VDM       0x00001000
5501 #define CREATE_DEFAULT_ERROR_MODE   0x04000000
5502 #define CREATE_NO_WINDOW            0x08000000
5503 #define PROFILE_USER                0x10000000
5504 #define PROFILE_KERNEL              0x20000000
5505 #define PROFILE_SERVER              0x40000000
5506
5507
5508 /* File object type definitions
5509  */
5510 #define FILE_TYPE_UNKNOWN       0
5511 #define FILE_TYPE_DISK          1
5512 #define FILE_TYPE_CHAR          2
5513 #define FILE_TYPE_PIPE          3
5514 #define FILE_TYPE_REMOTE        32768
5515
5516 /* File creation flags
5517  */
5518 #define FILE_FLAG_WRITE_THROUGH    0x80000000UL
5519 #define FILE_FLAG_OVERLAPPED       0x40000000L
5520 #define FILE_FLAG_NO_BUFFERING     0x20000000L
5521 #define FILE_FLAG_RANDOM_ACCESS    0x10000000L
5522 #define FILE_FLAG_SEQUENTIAL_SCAN  0x08000000L
5523 #define FILE_FLAG_DELETE_ON_CLOSE  0x04000000L
5524 #define FILE_FLAG_BACKUP_SEMANTICS 0x02000000L
5525 #define FILE_FLAG_POSIX_SEMANTICS  0x01000000L
5526 #define CREATE_NEW              1
5527 #define CREATE_ALWAYS           2
5528 #define OPEN_EXISTING           3
5529 #define OPEN_ALWAYS             4
5530 #define TRUNCATE_EXISTING       5
5531
5532 /* Standard handle identifiers
5533  */
5534 #define STD_INPUT_HANDLE        ((DWORD) -10)
5535 #define STD_OUTPUT_HANDLE       ((DWORD) -11)
5536 #define STD_ERROR_HANDLE        ((DWORD) -12)
5537
5538 typedef struct
5539 {
5540   int dwFileAttributes;
5541   FILETIME ftCreationTime;
5542   FILETIME ftLastAccessTime;
5543   FILETIME ftLastWriteTime;
5544   int dwVolumeSerialNumber;
5545   int nFileSizeHigh;
5546   int nFileSizeLow;
5547   int nNumberOfLinks;
5548   int nFileIndexHigh;
5549   int nFileIndexLow;
5550 } BY_HANDLE_FILE_INFORMATION ;
5551
5552 /* File attribute flags
5553  */
5554 #define FILE_SHARE_READ                 0x00000001L
5555 #define FILE_SHARE_WRITE                0x00000002L
5556 #define FILE_SHARE_DELETE               0x00000004L
5557 #define FILE_ATTRIBUTE_READONLY         0x00000001L
5558 #define FILE_ATTRIBUTE_HIDDEN           0x00000002L
5559 #define FILE_ATTRIBUTE_SYSTEM           0x00000004L
5560 #define FILE_ATTRIBUTE_LABEL            0x00000008L  /* Not in Windows API */
5561 #define FILE_ATTRIBUTE_DIRECTORY        0x00000010L
5562 #define FILE_ATTRIBUTE_ARCHIVE          0x00000020L
5563 #define FILE_ATTRIBUTE_NORMAL           0x00000080L
5564 #define FILE_ATTRIBUTE_TEMPORARY        0x00000100L
5565 #define FILE_ATTRIBUTE_ATOMIC_WRITE     0x00000200L
5566 #define FILE_ATTRIBUTE_XACTION_WRITE    0x00000400L
5567 #define FILE_ATTRIBUTE_COMPRESSED       0x00000800L
5568 #define FILE_ATTRIBUTE_OFFLINE          0x00001000L
5569
5570 /* File alignments (NT) */
5571 #define FILE_BYTE_ALIGNMENT             0x00000000
5572 #define FILE_WORD_ALIGNMENT             0x00000001
5573 #define FILE_LONG_ALIGNMENT             0x00000003
5574 #define FILE_QUAD_ALIGNMENT             0x00000007
5575 #define FILE_OCTA_ALIGNMENT             0x0000000f
5576 #define FILE_32_BYTE_ALIGNMENT          0x0000001f
5577 #define FILE_64_BYTE_ALIGNMENT          0x0000003f
5578 #define FILE_128_BYTE_ALIGNMENT         0x0000007f
5579 #define FILE_256_BYTE_ALIGNMENT         0x000000ff
5580 #define FILE_512_BYTE_ALIGNMENT         0x000001ff
5581
5582 /* WinHelp internal structure */
5583 typedef struct {
5584         WORD size;
5585         WORD command;
5586         LONG data;
5587         LONG reserved;
5588         WORD ofsFilename;
5589         WORD ofsData;
5590 } WINHELP,*LPWINHELP;
5591
5592 typedef struct
5593 {
5594     UINT16  mkSize;
5595     BYTE    mkKeyList;
5596     BYTE    szKeyPhrase[1];
5597 } MULTIKEYHELP, *LPMULTIKEYHELP;
5598
5599 typedef struct {
5600         WORD wStructSize;
5601         WORD x;
5602         WORD y;
5603         WORD dx;
5604         WORD dy;
5605         WORD wMax;
5606         char rgchMember[2];
5607 } HELPWININFO, *LPHELPWININFO;
5608
5609 #define HELP_CONTEXT        0x0001
5610 #define HELP_QUIT           0x0002
5611 #define HELP_INDEX          0x0003
5612 #define HELP_CONTENTS       0x0003
5613 #define HELP_HELPONHELP     0x0004
5614 #define HELP_SETINDEX       0x0005
5615 #define HELP_SETCONTENTS    0x0005
5616 #define HELP_CONTEXTPOPUP   0x0008
5617 #define HELP_FORCEFILE      0x0009
5618 #define HELP_KEY            0x0101
5619 #define HELP_COMMAND        0x0102
5620 #define HELP_PARTIALKEY     0x0105
5621 #define HELP_MULTIKEY       0x0201
5622 #define HELP_SETWINPOS      0x0203
5623 #define HELP_CONTEXTMENU    0x000a
5624 #define HELP_FINDER         0x000b
5625 #define HELP_WM_HELP        0x000c
5626 #define HELP_SETPOPUP_POS   0x000d
5627
5628 #define HELP_TCARD          0x8000
5629 #define HELP_TCARD_DATA     0x0010
5630 #define HELP_TCARD_OTHER_CALLER 0x0011
5631
5632
5633 /* ExitWindows() flags */
5634 #define EW_RESTARTWINDOWS   0x0042
5635 #define EW_REBOOTSYSTEM     0x0043
5636 #define EW_EXITANDEXECAPP   0x0044
5637
5638 /* ExitWindowsEx() flags */
5639 #define EWX_LOGOFF           0
5640 #define EWX_SHUTDOWN         1
5641 #define EWX_REBOOT           2
5642 #define EWX_FORCE            4
5643 #define EWX_POWEROFF         8
5644
5645
5646 #define CCHDEVICENAME 32
5647 #define CCHFORMNAME   32
5648
5649 typedef struct
5650 {
5651     BYTE   dmDeviceName[CCHDEVICENAME];
5652     WORD   dmSpecVersion;
5653     WORD   dmDriverVersion;
5654     WORD   dmSize;
5655     WORD   dmDriverExtra;
5656     DWORD  dmFields;
5657     INT16  dmOrientation;
5658     INT16  dmPaperSize;
5659     INT16  dmPaperLength;
5660     INT16  dmPaperWidth;
5661     INT16  dmScale;
5662     INT16  dmCopies;
5663     INT16  dmDefaultSource;
5664     INT16  dmPrintQuality;
5665     INT16  dmColor;
5666     INT16  dmDuplex;
5667     INT16  dmYResolution;
5668     INT16  dmTTOption;
5669     INT16  dmCollate;
5670     BYTE   dmFormName[CCHFORMNAME];
5671     WORD   dmUnusedPadding;
5672     WORD   dmBitsPerPel;
5673     DWORD  dmPelsWidth;
5674     DWORD  dmPelsHeight;
5675     DWORD  dmDisplayFlags;
5676     DWORD  dmDisplayFrequency;
5677 } DEVMODE16, *LPDEVMODE16;
5678
5679 typedef struct
5680 {
5681     BYTE   dmDeviceName[CCHDEVICENAME];
5682     WORD   dmSpecVersion;
5683     WORD   dmDriverVersion;
5684     WORD   dmSize;
5685     WORD   dmDriverExtra;
5686     DWORD  dmFields;
5687     INT16  dmOrientation;
5688     INT16  dmPaperSize;
5689     INT16  dmPaperLength;
5690     INT16  dmPaperWidth;
5691     INT16  dmScale;
5692     INT16  dmCopies;
5693     INT16  dmDefaultSource;
5694     INT16  dmPrintQuality;
5695     INT16  dmColor;
5696     INT16  dmDuplex;
5697     INT16  dmYResolution;
5698     INT16  dmTTOption;
5699     INT16  dmCollate;
5700     BYTE   dmFormName[CCHFORMNAME];
5701     WORD   dmLogPixels;
5702     DWORD  dmBitsPerPel;
5703     DWORD  dmPelsWidth;
5704     DWORD  dmPelsHeight;
5705     DWORD  dmDisplayFlags;
5706     DWORD  dmDisplayFrequency;
5707     DWORD  dmICMMethod;
5708     DWORD  dmICMIntent;
5709     DWORD  dmMediaType;
5710     DWORD  dmDitherType;
5711     DWORD  dmReserved1;
5712     DWORD  dmReserved2;
5713 } DEVMODE32A, *LPDEVMODE32A;
5714
5715 typedef struct
5716 {
5717     WCHAR  dmDeviceName[CCHDEVICENAME];
5718     WORD   dmSpecVersion;
5719     WORD   dmDriverVersion;
5720     WORD   dmSize;
5721     WORD   dmDriverExtra;
5722     DWORD  dmFields;
5723     INT16  dmOrientation;
5724     INT16  dmPaperSize;
5725     INT16  dmPaperLength;
5726     INT16  dmPaperWidth;
5727     INT16  dmScale;
5728     INT16  dmCopies;
5729     INT16  dmDefaultSource;
5730     INT16  dmPrintQuality;
5731     INT16  dmColor;
5732     INT16  dmDuplex;
5733     INT16  dmYResolution;
5734     INT16  dmTTOption;
5735     INT16  dmCollate;
5736     WCHAR  dmFormName[CCHFORMNAME];
5737     WORD   dmLogPixels;
5738     DWORD  dmBitsPerPel;
5739     DWORD  dmPelsWidth;
5740     DWORD  dmPelsHeight;
5741     DWORD  dmDisplayFlags;
5742     DWORD  dmDisplayFrequency;
5743     DWORD  dmICMMethod;
5744     DWORD  dmICMIntent;
5745     DWORD  dmMediaType;
5746     DWORD  dmDitherType;
5747     DWORD  dmReserved1;
5748     DWORD  dmReserved2;
5749 } DEVMODE32W, *LPDEVMODE32W;
5750
5751 DECL_WINELIB_TYPE_AW(DEVMODE)
5752 DECL_WINELIB_TYPE_AW(LPDEVMODE)
5753
5754
5755 #define DM_UPDATE       1
5756 #define DM_COPY         2
5757 #define DM_PROMPT       4
5758 #define DM_MODIFY       8
5759
5760 #define DM_ORIENTATION          0x00000001L
5761 #define DM_PAPERSIZE            0x00000002L
5762 #define DM_PAPERLENGTH          0x00000004L
5763 #define DM_PAPERWIDTH           0x00000008L
5764 #define DM_SCALE                0x00000010L
5765 #define DM_COPIES               0x00000100L
5766 #define DM_DEFAULTSOURCE        0x00000200L
5767 #define DM_PRINTQUALITY         0x00000400L
5768 #define DM_COLOR                0x00000800L
5769 #define DM_DUPLEX               0x00001000L
5770 #define DM_YRESOLUTION          0x00002000L
5771 #define DM_TTOPTION             0x00004000L
5772 #define DM_BITSPERPEL           0x00040000L
5773 #define DM_PELSWIDTH            0x00080000L
5774 #define DM_PELSHEIGHT           0x00100000L
5775 #define DM_DISPLAYFLAGS         0x00200000L
5776 #define DM_DISPLAYFREQUENCY     0x00400000L
5777
5778 /* etc.... */
5779
5780 #define DMORIENT_PORTRAIT       1
5781 #define DMORIENT_LANDSCAPE      2
5782
5783 #define DMPAPER_LETTER          1
5784 #define DMPAPER_LEGAL           5
5785 #define DMPAPER_EXECUTIVE       7
5786 #define DMPAPER_A3              8
5787 #define DMPAPER_A4              9
5788 #define DMPAPER_A5              11
5789 #define DMPAPER_ENV_10          20
5790 #define DMPAPER_ENV_DL          27
5791 #define DMPAPER_ENV_C5          28
5792 #define DMPAPER_ENV_B5          34
5793 #define DMPAPER_ENV_MONARCH     37
5794
5795 #define DMBIN_UPPER             1
5796 #define DMBIN_LOWER             2
5797 #define DMBIN_MIDDLE            3
5798 #define DMBIN_MANUAL            4
5799 #define DMBIN_ENVELOPE          5
5800 #define DMBIN_ENVMANUAL         6
5801 #define DMBIN_AUTO              7
5802 #define DMBIN_LARGECAPACITY     11
5803
5804 #define DMCOLOR_MONOCHROME      1
5805 #define DMCOLOR_COLOR           2
5806
5807 #define DMTT_BITMAP             1
5808 #define DMTT_DOWNLOAD           2
5809 #define DMTT_SUBDEV             3
5810
5811
5812 #define DC_FIELDS               1
5813 #define DC_PAPERS               2
5814 #define DC_PAPERSIZE            3
5815 #define DC_MINEXTENT            4
5816 #define DC_MAXEXTENT            5
5817 #define DC_BINS                 6
5818 #define DC_DUPLEX               7
5819 #define DC_SIZE                 8
5820 #define DC_EXTRA                9
5821 #define DC_VERSION              10
5822 #define DC_DRIVER               11
5823 #define DC_BINNAMES             12
5824 #define DC_ENUMRESOLUTIONS      13
5825 #define DC_FILEDEPENDENCIES     14
5826 #define DC_TRUETYPE             15
5827 #define DC_PAPERNAMES           16
5828 #define DC_ORIENTATION          17
5829 #define DC_COPIES               18
5830
5831
5832 typedef struct _PRINTER_DEFAULTS32A {
5833     LPSTR        pDatatype;
5834     LPDEVMODE32A pDevMode;
5835     ACCESS_MASK  DesiredAccess;
5836 } PRINTER_DEFAULTS32A, *LPPRINTER_DEFAULTS32A;
5837
5838 typedef struct _PRINTER_DEFAULTS32W {
5839     LPWSTR       pDatatype;
5840     LPDEVMODE32W pDevMode;
5841     ACCESS_MASK  DesiredAccess;
5842 } PRINTER_DEFAULTS32W, *LPPRINTER_DEFAULTS32W;
5843
5844 DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
5845 DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
5846
5847      /* ChangeDisplaySettings return codes */
5848
5849 #define DISP_CHANGE_SUCCESSFUL 0
5850 #define DISP_CHANGE_RESTART    1
5851 #define DISP_CHANGE_FAILED     (-1)
5852 #define DISP_CHANGE_BADMODE    (-2)
5853 #define DISP_CHANGE_NOTUPDATED (-3)
5854 #define DISP_CHANGE_BADFLAGS   (-4)
5855
5856
5857 typedef struct _SYSTEM_POWER_STATUS
5858 {
5859   BOOL16  ACLineStatus;
5860   BYTE    BatteryFlag;
5861   BYTE    BatteryLifePercent;
5862   BYTE    reserved;
5863   DWORD   BatteryLifeTime;
5864   DWORD   BatteryFullLifeTime;
5865 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
5866
5867 /* flags to FormatMessage */
5868 #define FORMAT_MESSAGE_ALLOCATE_BUFFER  0x00000100
5869 #define FORMAT_MESSAGE_IGNORE_INSERTS   0x00000200
5870 #define FORMAT_MESSAGE_FROM_STRING      0x00000400
5871 #define FORMAT_MESSAGE_FROM_HMODULE     0x00000800
5872 #define FORMAT_MESSAGE_FROM_SYSTEM      0x00001000
5873 #define FORMAT_MESSAGE_ARGUMENT_ARRAY   0x00002000
5874 #define FORMAT_MESSAGE_MAX_WIDTH_MASK   0x000000FF
5875
5876 /* types of LoadImage */
5877 #define IMAGE_BITMAP    0
5878 #define IMAGE_ICON      1
5879 #define IMAGE_CURSOR    2
5880 #define IMAGE_ENHMETA   3
5881
5882 /* loadflags to LoadImage */
5883 #define LR_DEFAULTCOLOR         0x0000
5884 #define LR_MONOCHROME           0x0001
5885 #define LR_COLOR                0x0002
5886 #define LR_COPYRETURNORG        0x0004
5887 #define LR_COPYDELETEORG        0x0008
5888 #define LR_LOADFROMFILE         0x0010
5889 #define LR_LOADTRANSPARENT      0x0020
5890 #define LR_DEFAULTSIZE          0x0040
5891 #define LR_VGA_COLOR            0x0080
5892 #define LR_LOADMAP3DCOLORS      0x1000
5893 #define LR_CREATEDIBSECTION     0x2000
5894 #define LR_COPYFROMRESOURCE     0x4000
5895 #define LR_SHARED               0x8000
5896
5897 /* Flags for PolyDraw and GetPath */
5898 #define PT_CLOSEFIGURE          0x0001
5899 #define PT_LINETO               0x0002
5900 #define PT_BEZIERTO             0x0004
5901 #define PT_MOVETO               0x0006
5902
5903 typedef struct _LARGE_INTEGER
5904 {
5905     DWORD    LowPart;
5906     LONG     HighPart;
5907 } LARGE_INTEGER,*LPLARGE_INTEGER;
5908
5909 typedef struct _ULARGE_INTEGER
5910 {
5911     DWORD    LowPart;
5912     DWORD    HighPart;
5913 } ULARGE_INTEGER,*LPULARGE_INTEGER;
5914
5915 typedef LARGE_INTEGER LUID,*LPLUID; /* locally unique ids */
5916
5917 /* SetLastErrorEx types */
5918 #define SLE_ERROR       0x00000001
5919 #define SLE_MINORERROR  0x00000002
5920 #define SLE_WARNING     0x00000003
5921
5922 /* Argument 1 passed to the DllEntryProc. */
5923 #define DLL_PROCESS_DETACH      0       /* detach process (unload library) */
5924 #define DLL_PROCESS_ATTACH      1       /* attach process (load library) */
5925 #define DLL_THREAD_ATTACH       2       /* attach new thread */
5926 #define DLL_THREAD_DETACH       3       /* detach thread */
5927
5928 typedef struct _MEMORY_BASIC_INFORMATION
5929 {
5930     LPVOID   BaseAddress;
5931     LPVOID   AllocationBase;
5932     DWORD    AllocationProtect;
5933     DWORD    RegionSize;
5934     DWORD    State;
5935     DWORD    Protect;
5936     DWORD    Type;
5937 } MEMORY_BASIC_INFORMATION,*LPMEMORY_BASIC_INFORMATION;
5938
5939
5940 typedef BOOL32 (CALLBACK *CODEPAGE_ENUMPROC32A)(LPSTR);
5941 typedef BOOL32 (CALLBACK *CODEPAGE_ENUMPROC32W)(LPWSTR);
5942 DECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC)
5943 typedef BOOL32 (CALLBACK *LOCALE_ENUMPROC32A)(LPSTR);
5944 typedef BOOL32 (CALLBACK *LOCALE_ENUMPROC32W)(LPWSTR);
5945 DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC)
5946
5947 typedef struct tagSYSTEM_INFO
5948 {
5949     union {
5950         DWORD   dwOemId;
5951         struct {
5952                 WORD wProcessorArchitecture;
5953                 WORD wReserved;
5954         } x;
5955     } u;
5956     DWORD       dwPageSize;
5957     LPVOID      lpMinimumApplicationAddress;
5958     LPVOID      lpMaximumApplicationAddress;
5959     DWORD       dwActiveProcessorMask;
5960     DWORD       dwNumberOfProcessors;
5961     DWORD       dwProcessorType;
5962     DWORD       dwAllocationGranularity;
5963     WORD        wProcessorLevel;
5964     WORD        wProcessorRevision;
5965 } SYSTEM_INFO, *LPSYSTEM_INFO;
5966
5967 /* u.x.wProcessorArchitecture (NT) */
5968 #define PROCESSOR_ARCHITECTURE_INTEL    0
5969 #define PROCESSOR_ARCHITECTURE_MIPS     1
5970 #define PROCESSOR_ARCHITECTURE_ALPHA    2
5971 #define PROCESSOR_ARCHITECTURE_PPC      3
5972 #define PROCESSOR_ARCHITECTURE_UNKNOWN  0xFFFF
5973
5974 /* dwProcessorType */
5975 #define PROCESSOR_INTEL_386     386
5976 #define PROCESSOR_INTEL_486     486
5977 #define PROCESSOR_INTEL_PENTIUM 586
5978 #define PROCESSOR_MIPS_R4000    4000
5979 #define PROCESSOR_ALPHA_21064   21064
5980
5981 /* service main function prototype */
5982 typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTION32A)(DWORD,LPSTR);
5983 typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTION32W)(DWORD,LPWSTR);
5984 DECL_WINELIB_TYPE_AW(LPSERVICE_MAIN_FUNCTION)
5985
5986 /* service start table */
5987 typedef struct
5988 {
5989     LPSTR                       lpServiceName;
5990     LPSERVICE_MAIN_FUNCTION32A  lpServiceProc;
5991 } *LPSERVICE_TABLE_ENTRY32A, SERVICE_TABLE_ENTRY32A;
5992
5993 typedef struct
5994 {
5995     LPWSTR                      lpServiceName;
5996     LPSERVICE_MAIN_FUNCTION32W  lpServiceProc;
5997 } *LPSERVICE_TABLE_ENTRY32W, SERVICE_TABLE_ENTRY32W;
5998
5999 DECL_WINELIB_TYPE_AW(SERVICE_TABLE_ENTRY)
6000 DECL_WINELIB_TYPE_AW(LPSERVICE_TABLE_ENTRY)
6001
6002 /* Used by: ControlService */
6003 typedef struct _SERVICE_STATUS {
6004     DWORD dwServiceType;
6005     DWORD dwCurrentState;
6006     DWORD dwControlsAccepted;
6007     DWORD dwWin32ExitCode;
6008     DWORD dwServiceSpecificExitCode;
6009     DWORD dwCheckPoint;
6010     DWORD dwWaitHint;
6011 } SERVICE_STATUS, *LPSERVICE_STATUS;
6012
6013
6014 /* {G,S}etPriorityClass */
6015 #define NORMAL_PRIORITY_CLASS   0x00000020
6016 #define IDLE_PRIORITY_CLASS     0x00000040
6017 #define HIGH_PRIORITY_CLASS     0x00000080
6018 #define REALTIME_PRIORITY_CLASS 0x00000100
6019
6020 /* GDI Escape commands */
6021 #define NEWFRAME                1
6022 #define ABORTDOC                2
6023 #define NEXTBAND                3
6024 #define SETCOLORTABLE           4
6025 #define GETCOLORTABLE           5
6026 #define FLUSHOUTPUT             6
6027 #define DRAFTMODE               7
6028 #define QUERYESCSUPPORT         8
6029 #define SETABORTPROC            9
6030 #define STARTDOC                10
6031 #define ENDDOC                  11
6032 #define GETPHYSPAGESIZE         12
6033 #define GETPRINTINGOFFSET       13
6034 #define GETSCALINGFACTOR        14
6035 #define MFCOMMENT               15
6036 #define GETPENWIDTH             16
6037 #define SETCOPYCOUNT            17
6038 #define SELECTPAPERSOURCE       18
6039 #define DEVICEDATA              19
6040 #define PASSTHROUGH             19
6041 #define GETTECHNOLGY            20
6042 #define GETTECHNOLOGY           20 /* yes, both of them */
6043 #define SETLINECAP              21
6044 #define SETLINEJOIN             22
6045 #define SETMITERLIMIT           23
6046 #define BANDINFO                24
6047 #define DRAWPATTERNRECT         25
6048 #define GETVECTORPENSIZE        26
6049 #define GETVECTORBRUSHSIZE      27
6050 #define ENABLEDUPLEX            28
6051 #define GETSETPAPERBINS         29
6052 #define GETSETPRINTORIENT       30
6053 #define ENUMPAPERBINS           31
6054 #define SETDIBSCALING           32
6055 #define EPSPRINTING             33
6056 #define ENUMPAPERMETRICS        34
6057 #define GETSETPAPERMETRICS      35
6058 #define POSTSCRIPT_DATA         37
6059 #define POSTSCRIPT_IGNORE       38
6060 #define MOUSETRAILS             39
6061 #define GETDEVICEUNITS          42
6062
6063 #define GETEXTENDEDTEXTMETRICS  256
6064 #define GETEXTENTTABLE          257
6065 #define GETPAIRKERNTABLE        258
6066 #define GETTRACKKERNTABLE       259
6067 #define EXTTEXTOUT              512
6068 #define GETFACENAME             513
6069 #define DOWNLOADFACE            514
6070 #define ENABLERELATIVEWIDTHS    768
6071 #define ENABLEPAIRKERNING       769
6072 #define SETKERNTRACK            770
6073 #define SETALLJUSTVALUES        771
6074 #define SETCHARSET              772
6075
6076 #define STRETCHBLT              2048
6077 #define GETSETSCREENPARAMS      3072
6078 #define QUERYDIBSUPPORT         3073
6079 #define BEGIN_PATH              4096
6080 #define CLIP_TO_PATH            4097
6081 #define END_PATH                4098
6082 #define EXT_DEVICE_CAPS         4099
6083 #define RESTORE_CTM             4100
6084 #define SAVE_CTM                4101
6085 #define SET_ARC_DIRECTION       4102
6086 #define SET_BACKGROUND_COLOR    4103
6087 #define SET_POLY_MODE           4104
6088 #define SET_SCREEN_ANGLE        4105
6089 #define SET_SPREAD              4106
6090 #define TRANSFORM_CTM           4107
6091 #define SET_CLIP_BOX            4108
6092 #define SET_BOUNDS              4109
6093 #define SET_MIRROR_MODE         4110
6094 #define OPENCHANNEL             4110
6095 #define DOWNLOADHEADER          4111
6096 #define CLOSECHANNEL            4112
6097 #define POSTSCRIPT_PASSTHROUGH  4115
6098 #define ENCAPSULATED_POSTSCRIPT 4116
6099
6100 /* Flag returned from Escape QUERYDIBSUPPORT */
6101 #define QDI_SETDIBITS           1
6102 #define QDI_GETDIBITS           2
6103 #define QDI_DIBTOSCREEN         4
6104 #define QDI_STRETCHDIB          8
6105
6106 /* Spooler Error Codes */
6107 #define SP_NOTREPORTED  0x4000
6108 #define SP_ERROR        (-1)
6109 #define SP_APPABORT     (-2)
6110 #define SP_USERABORT    (-3)
6111 #define SP_OUTOFDISK    (-4)
6112 #define SP_OUTOFMEMORY  (-5)
6113
6114 #define PR_JOBSTATUS    0x0000
6115
6116 typedef BOOL32 (CALLBACK *ENUMRESTYPEPROC32A)(HMODULE32,LPSTR,LONG);
6117 typedef BOOL32 (CALLBACK *ENUMRESTYPEPROC32W)(HMODULE32,LPWSTR,LONG);
6118 typedef BOOL32 (CALLBACK *ENUMRESNAMEPROC32A)(HMODULE32,LPCSTR,LPSTR,LONG);
6119 typedef BOOL32 (CALLBACK *ENUMRESNAMEPROC32W)(HMODULE32,LPCWSTR,LPWSTR,LONG);
6120 typedef BOOL32 (CALLBACK *ENUMRESLANGPROC32A)(HMODULE32,LPCSTR,LPCSTR,WORD,LONG);
6121 typedef BOOL32 (CALLBACK *ENUMRESLANGPROC32W)(HMODULE32,LPCWSTR,LPCWSTR,WORD,LONG);
6122
6123 DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
6124 DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
6125 DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC)
6126
6127 /* Character Type Flags */
6128 #define CT_CTYPE1               0x00000001      /* usual ctype */
6129 #define CT_CTYPE2               0x00000002      /* bidirectional layout info */
6130 #define CT_CTYPE3               0x00000004      /* textprocessing info */
6131
6132 /* CType 1 Flag Bits */
6133 #define C1_UPPER                0x0001
6134 #define C1_LOWER                0x0002
6135 #define C1_DIGIT                0x0004
6136 #define C1_SPACE                0x0008
6137 #define C1_PUNCT                0x0010
6138 #define C1_CNTRL                0x0020
6139 #define C1_BLANK                0x0040
6140 #define C1_XDIGIT               0x0080
6141 #define C1_ALPHA                0x0100
6142
6143 /* CType 2 Flag Bits */
6144 #define C2_LEFTTORIGHT          0x0001
6145 #define C2_RIGHTTOLEFT          0x0002
6146 #define C2_EUROPENUMBER         0x0003
6147 #define C2_EUROPESEPARATOR      0x0004
6148 #define C2_EUROPETERMINATOR     0x0005
6149 #define C2_ARABICNUMBER         0x0006
6150 #define C2_COMMONSEPARATOR      0x0007
6151 #define C2_BLOCKSEPARATOR       0x0008
6152 #define C2_SEGMENTSEPARATOR     0x0009
6153 #define C2_WHITESPACE           0x000A
6154 #define C2_OTHERNEUTRAL         0x000B
6155 #define C2_NOTAPPLICABLE        0x0000
6156
6157 /* CType 3 Flag Bits */
6158 #define C3_NONSPACING           0x0001
6159 #define C3_DIACRITIC            0x0002
6160 #define C3_VOWELMARK            0x0004
6161 #define C3_SYMBOL               0x0008
6162 #define C3_KATAKANA             0x0010
6163 #define C3_HIRAGANA             0x0020
6164 #define C3_HALFWIDTH            0x0040
6165 #define C3_FULLWIDTH            0x0080
6166 #define C3_IDEOGRAPH            0x0100
6167 #define C3_KASHIDA              0x0200
6168 #define C3_LEXICAL              0x0400
6169 #define C3_ALPHA                0x8000
6170 #define C3_NOTAPPLICABLE        0x0000
6171
6172 /* flags that can be passed to LoadLibraryEx */
6173 #define DONT_RESOLVE_DLL_REFERENCES     0x00000001
6174 #define LOAD_LIBRARY_AS_DATAFILE        0x00000002
6175 #define LOAD_WITH_ALTERED_SEARCH_PATH   0x00000008
6176
6177 typedef struct 
6178 {
6179     INT16    cbSize;
6180     SEGPTR   lpszDocName WINE_PACKED;
6181     SEGPTR   lpszOutput WINE_PACKED;
6182 } DOCINFO16, *LPDOCINFO16;
6183
6184 typedef struct 
6185 {
6186     INT32    cbSize;
6187     LPCSTR   lpszDocName;
6188     LPCSTR   lpszOutput;
6189     LPCSTR   lpszDatatype;
6190     DWORD    fwType;
6191 } DOCINFO32A, *LPDOCINFO32A;
6192
6193 typedef struct 
6194 {
6195     INT32    cbSize;
6196     LPCWSTR  lpszDocName;
6197     LPCWSTR  lpszOutput;
6198     LPCWSTR  lpszDatatype;
6199     DWORD    fwType;
6200 } DOCINFO32W, *LPDOCINFO32W;
6201
6202 DECL_WINELIB_TYPE_AW(DOCINFO)
6203 DECL_WINELIB_TYPE_AW(LPDOCINFO)
6204
6205 typedef struct {
6206         DWORD   dwScope;
6207         DWORD   dwType;
6208         DWORD   dwDisplayType;
6209         DWORD   dwUsage;
6210         LPSTR   lpLocalName;
6211         LPSTR   lpRemoteName;
6212         LPSTR   lpComment ;
6213         LPSTR   lpProvider;
6214 } NETRESOURCE32A,*LPNETRESOURCE32A;
6215
6216 typedef struct {
6217         DWORD   dwScope;
6218         DWORD   dwType;
6219         DWORD   dwDisplayType;
6220         DWORD   dwUsage;
6221         LPWSTR  lpLocalName;
6222         LPWSTR  lpRemoteName;
6223         LPWSTR  lpComment ;
6224         LPWSTR  lpProvider;
6225 } NETRESOURCE32W,*LPNETRESOURCE32W;
6226
6227 DECL_WINELIB_TYPE_AW(NETRESOURCE)
6228 DECL_WINELIB_TYPE_AW(LPNETRESOURCE)
6229
6230 typedef struct {
6231     DWORD cbStructure;       /* size of this structure in bytes */
6232     HWND32 hwndOwner;          /* owner window for the dialog */
6233     LPNETRESOURCE32A lpConnRes;/* Requested Resource info    */
6234     DWORD dwFlags;           /* flags (see below) */
6235     DWORD dwDevNum;          /* number of devices connected to */
6236 } CONNECTDLGSTRUCT32A, *LPCONNECTDLGSTRUCT32A;
6237 typedef struct {
6238     DWORD cbStructure;       /* size of this structure in bytes */
6239     HWND32 hwndOwner;          /* owner window for the dialog */
6240     LPNETRESOURCE32W lpConnRes;/* Requested Resource info    */
6241     DWORD dwFlags;           /* flags (see below) */
6242     DWORD dwDevNum;          /* number of devices connected to */
6243 } CONNECTDLGSTRUCT32W, *LPCONNECTDLGSTRUCT32W;
6244
6245 DECL_WINELIB_TYPE_AW(CONNECTDLGSTRUCT)
6246 DECL_WINELIB_TYPE_AW(LPCONNECTDLGSTRUCT)
6247
6248 /**/
6249 #define CONNDLG_RO_PATH     0x00000001 /* Resource path should be read-only    */
6250 #define CONNDLG_CONN_POINT  0x00000002 /* Netware -style movable connection point enabled */
6251 #define CONNDLG_USE_MRU     0x00000004 /* Use MRU combobox  */
6252 #define CONNDLG_HIDE_BOX    0x00000008 /* Hide persistent connect checkbox  */
6253 #define CONNDLG_PERSIST     0x00000010 /* Force persistent connection */
6254 #define CONNDLG_NOT_PERSIST 0x00000020 /* Force connection NOT persistent */
6255
6256
6257 typedef struct {
6258         DWORD   cbStructure;
6259         DWORD   dwFlags;
6260         DWORD   dwSpeed;
6261         DWORD   dwDelay;
6262         DWORD   dwOptDataSize;
6263 } NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
6264
6265 typedef struct {
6266         UINT16          cbSize;
6267         INT16           iBorderWidth;
6268         INT16           iScrollWidth;
6269         INT16           iScrollHeight;
6270         INT16           iCaptionWidth;
6271         INT16           iCaptionHeight;
6272         LOGFONT16       lfCaptionFont;
6273         INT16           iSmCaptionWidth;
6274         INT16           iSmCaptionHeight;
6275         LOGFONT16       lfSmCaptionFont;
6276         INT16           iMenuWidth;
6277         INT16           iMenuHeight;
6278         LOGFONT16       lfMenuFont;
6279         LOGFONT16       lfStatusFont;
6280         LOGFONT16       lfMessageFont;
6281 } NONCLIENTMETRICS16,*LPNONCLIENTMETRICS16;
6282
6283 typedef struct {
6284         UINT32          cbSize;
6285         INT32           iBorderWidth;
6286         INT32           iScrollWidth;
6287         INT32           iScrollHeight;
6288         INT32           iCaptionWidth;
6289         INT32           iCaptionHeight;
6290         LOGFONT32A      lfCaptionFont;
6291         INT32           iSmCaptionWidth;
6292         INT32           iSmCaptionHeight;
6293         LOGFONT32A      lfSmCaptionFont;
6294         INT32           iMenuWidth;
6295         INT32           iMenuHeight;
6296         LOGFONT32A      lfMenuFont;
6297         LOGFONT32A      lfStatusFont;
6298         LOGFONT32A      lfMessageFont;
6299 } NONCLIENTMETRICS32A,*LPNONCLIENTMETRICS32A;
6300
6301 typedef struct {
6302         UINT32          cbSize;
6303         INT32           iBorderWidth;
6304         INT32           iScrollWidth;
6305         INT32           iScrollHeight;
6306         INT32           iCaptionWidth;
6307         INT32           iCaptionHeight;
6308         LOGFONT32W      lfCaptionFont;
6309         INT32           iSmCaptionWidth;
6310         INT32           iSmCaptionHeight;
6311         LOGFONT32W      lfSmCaptionFont;
6312         INT32           iMenuWidth;
6313         INT32           iMenuHeight;
6314         LOGFONT32W      lfMenuFont;
6315         LOGFONT32W      lfStatusFont;
6316         LOGFONT32W      lfMessageFont;
6317 } NONCLIENTMETRICS32W,*LPNONCLIENTMETRICS32W;
6318
6319 DECL_WINELIB_TYPE_AW(NONCLIENTMETRICS)
6320 DECL_WINELIB_TYPE_AW(LPNONCLIENTMETRICS)
6321
6322 typedef struct tagANIMATIONINFO
6323 {
6324        UINT32          cbSize;
6325        INT32           iMinAnimate;
6326 } ANIMATIONINFO, *LPANIMATIONINFO;
6327
6328 typedef struct tagNMHDR
6329 {
6330     HWND32  hwndFrom;
6331     UINT32  idFrom;
6332     UINT32  code;
6333 } NMHDR, *LPNMHDR;
6334
6335 typedef struct
6336 {
6337         UINT32  cbSize;
6338         INT32   iTabLength;
6339         INT32   iLeftMargin;
6340         INT32   iRightMargin;
6341         UINT32  uiLengthDrawn;
6342 } DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
6343
6344 /* ifdef _x86_ ... */
6345 typedef struct _LDT_ENTRY {
6346     WORD        LimitLow;
6347     WORD        BaseLow;
6348     union {
6349         struct {
6350             BYTE        BaseMid;
6351             BYTE        Flags1;/*Declare as bytes to avoid alignment problems */
6352             BYTE        Flags2; 
6353             BYTE        BaseHi;
6354         } Bytes;
6355         struct {
6356             DWORD       BaseMid         : 8;
6357             DWORD       Type            : 5;
6358             DWORD       Dpl             : 2;
6359             DWORD       Pres            : 1;
6360             DWORD       LimitHi         : 4;
6361             DWORD       Sys             : 1;
6362             DWORD       Reserved_0      : 1;
6363             DWORD       Default_Big     : 1;
6364             DWORD       Granularity     : 1;
6365             DWORD       BaseHi          : 8;
6366         } Bits;
6367     } HighWord;
6368 } LDT_ENTRY, *LPLDT_ENTRY;
6369
6370 #define RDH_RECTANGLES  1
6371
6372 typedef struct _RGNDATAHEADER {
6373     DWORD       dwSize;
6374     DWORD       iType;
6375     DWORD       nCount;
6376     DWORD       nRgnSize;
6377     RECT32      rcBound;
6378 } RGNDATAHEADER,*LPRGNDATAHEADER;
6379
6380 typedef struct _RGNDATA {
6381     RGNDATAHEADER       rdh;
6382     char                Buffer[1];
6383 } RGNDATA,*PRGNDATA,*LPRGNDATA;
6384
6385 #define HELPINFO_WINDOW         0x0001
6386 #define HELPINFO_MENUITEM       0x0002
6387 typedef struct                  /* Structure pointed to by lParam of WM_HELP */
6388 {
6389     UINT32      cbSize;         /* Size in bytes of this struct  */
6390     INT32       iContextType;   /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
6391     INT32       iCtrlId;        /* Control Id or a Menu item Id. */
6392     HANDLE32    hItemHandle;    /* hWnd of control or hMenu.     */
6393     DWORD       dwContextId;    /* Context Id associated with this item */
6394     POINT32     MousePos;       /* Mouse Position in screen co-ordinates */
6395 }  HELPINFO,*LPHELPINFO;
6396
6397 typedef void (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
6398
6399 typedef struct /* not sure if the 16bit version is correct */
6400 {
6401     UINT32      cbSize;
6402     HWND16      hwndOwner;
6403     HINSTANCE16 hInstance;
6404     SEGPTR      lpszText;
6405     SEGPTR      lpszCaption;
6406     DWORD       dwStyle;
6407     SEGPTR      lpszIcon;
6408     DWORD       dwContextHelpId;
6409     MSGBOXCALLBACK      lpfnMsgBoxCallback;
6410     DWORD       dwLanguageId;
6411 } MSGBOXPARAMS16,*LPMSGBOXPARAMS16;
6412
6413 typedef struct
6414 {
6415     UINT32      cbSize;
6416     HWND32      hwndOwner;
6417     HINSTANCE32 hInstance;
6418     LPCSTR      lpszText;
6419     LPCSTR      lpszCaption;
6420     DWORD       dwStyle;
6421     LPCSTR      lpszIcon;
6422     DWORD       dwContextHelpId;
6423     MSGBOXCALLBACK      lpfnMsgBoxCallback;
6424     DWORD       dwLanguageId;
6425 } MSGBOXPARAMS32A,*LPMSGBOXPARAMS32A;
6426
6427 typedef struct
6428 {
6429     UINT32      cbSize;
6430     HWND32      hwndOwner;
6431     HINSTANCE32 hInstance;
6432     LPCWSTR     lpszText;
6433     LPCWSTR     lpszCaption;
6434     DWORD       dwStyle;
6435     LPCWSTR     lpszIcon;
6436     DWORD       dwContextHelpId;
6437     MSGBOXCALLBACK      lpfnMsgBoxCallback;
6438     DWORD       dwLanguageId;
6439 } MSGBOXPARAMS32W,*LPMSGBOXPARAMS32W;
6440
6441 DECL_WINELIB_TYPE_AW(MSGBOXPARAMS)
6442 DECL_WINELIB_TYPE_AW(LPMSGBOXPARAMS)
6443
6444 /* for WOWHandle{16,32} */
6445 typedef enum _WOW_HANDLE_TYPE { /* WOW */
6446     WOW_TYPE_HWND,
6447     WOW_TYPE_HMENU,
6448     WOW_TYPE_HDWP,
6449     WOW_TYPE_HDROP,
6450     WOW_TYPE_HDC,
6451     WOW_TYPE_HFONT,
6452     WOW_TYPE_HMETAFILE,
6453     WOW_TYPE_HRGN,
6454     WOW_TYPE_HBITMAP,
6455     WOW_TYPE_HBRUSH,
6456     WOW_TYPE_HPALETTE,
6457     WOW_TYPE_HPEN,
6458     WOW_TYPE_HACCEL,
6459     WOW_TYPE_HTASK,
6460     WOW_TYPE_FULLHWND
6461 } WOW_HANDLE_TYPE;
6462
6463 /* WOWCallback16Ex defines */
6464 #define WCB16_MAX_CBARGS        16
6465 /* ... dwFlags */
6466 #define WCB16_PASCAL            0x0
6467 #define WCB16_CDECL             0x1
6468
6469 typedef struct _numberfmt32a {
6470     UINT32 NumDigits;
6471     UINT32 LeadingZero;
6472     UINT32 Grouping;
6473     LPCSTR lpDecimalSep;
6474     LPCSTR lpThousandSep;
6475     UINT32 NegativeOrder;
6476 } NUMBERFMT32A;
6477
6478 typedef struct _numberfmt32w {
6479     UINT32 NumDigits;
6480     UINT32 LeadingZero;
6481     UINT32 Grouping;
6482     LPCWSTR lpDecimalSep;
6483     LPCWSTR lpThousandSep;
6484     UINT32 NegativeOrder;
6485 } NUMBERFMT32W;
6486
6487 typedef enum _GET_FILEEX_INFO_LEVELS {
6488     GetFileExInfoStandard
6489 } GET_FILEEX_INFO_LEVELS;
6490
6491 typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
6492     DWORD    dwFileAttributes;
6493     FILETIME ftCreationTime;
6494     FILETIME ftLastAccessTime;
6495     FILETIME ftLastWriteTime;
6496     DWORD    nFileSizeHigh;
6497     DWORD    nFileSizeLow;
6498 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
6499
6500 typedef struct _DllVersionInfo {
6501     DWORD cbSize;
6502     DWORD dwMajorVersion;
6503     DWORD dwMinorVersion;
6504     DWORD dwBuildNumber;
6505     DWORD dwPlatformID;
6506 } DLLVERSIONINFO;
6507
6508 typedef struct _SEGINFO {
6509     UINT16    offSegment;
6510     UINT16    cbSegment;
6511     UINT16    flags;
6512     UINT16    cbAlloc;
6513     HGLOBAL16 h;
6514     UINT16    alignShift;
6515     UINT16    reserved[2];
6516 } SEGINFO;
6517
6518 #define MONITOR_DEFAULTTONULL       0x00000000
6519 #define MONITOR_DEFAULTTOPRIMARY    0x00000001
6520 #define MONITOR_DEFAULTTONEAREST    0x00000002
6521
6522 #define MONITORINFOF_PRIMARY        0x00000001
6523
6524 typedef struct tagMONITORINFO
6525 {
6526     DWORD   cbSize;
6527     RECT32  rcMonitor;
6528     RECT32  rcWork;
6529     DWORD   dwFlags;
6530 } MONITORINFO, *LPMONITORINFO;
6531
6532 typedef struct tagMONITORINFOEX32A
6533 {
6534     MONITORINFO dummy;
6535     CHAR        szDevice[CCHDEVICENAME];
6536 } MONITORINFOEX32A, *LPMONITORINFOEX32A;
6537
6538 typedef struct tagMONITORINFOEX32W
6539 {
6540     MONITORINFO dummy;
6541     WCHAR       szDevice[CCHDEVICENAME];
6542 } MONITORINFOEX32W, *LPMONITORINFOEX32W;
6543
6544 DECL_WINELIB_TYPE_AW(MONITORINFOEX)
6545 DECL_WINELIB_TYPE_AW(LPMONITORINFOEX)
6546
6547 typedef BOOL32  (CALLBACK *MONITORENUMPROC)(HMONITOR,HDC32,LPRECT32,LPARAM);
6548
6549 typedef struct tagDLGTEMPLATE
6550 {
6551     DWORD style;
6552     DWORD dwExtendedStyle;
6553     WORD cdit;
6554     short x;
6555     short y;
6556     short cx;
6557     short cy;
6558 }DLGTEMPLATE, *LPDLGTEMPLATE;
6559 typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
6560 /* Fixme: use this instaed of LPCVOID for CreateDialogIndirectParam and DialogBoxIndirectParam*/
6561 typedef struct tagDLGITEMTEMPLATE
6562 {
6563     DWORD style;
6564     DWORD dwExtendedStyle;
6565     WORD cdit;
6566     short x;
6567     short y;
6568     short cx;
6569     short cy;
6570     WORD id;
6571 }DLGITEMTEMPLATE, *LPDLGITEMTEMPLATE;
6572 typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATE;
6573
6574 #pragma pack(4)
6575
6576 /* Declarations for functions that exist only in Win16 */
6577
6578 #ifdef __WINE__
6579 WORD        WINAPI AllocCStoDSAlias(WORD);
6580 WORD        WINAPI AllocDStoCSAlias(WORD);
6581 HGLOBAL16   WINAPI AllocResource(HINSTANCE16,HRSRC16,DWORD);
6582 WORD        WINAPI AllocSelector(WORD);
6583 WORD        WINAPI AllocSelectorArray(WORD);
6584 VOID        WINAPI CalcChildScroll(HWND16,WORD);
6585 VOID        WINAPI CascadeChildWindows(HWND16,WORD);
6586 INT16       WINAPI CloseComm(INT16);
6587 HGLOBAL16   WINAPI CreateCursorIconIndirect(HINSTANCE16,CURSORICONINFO*,
6588                                             LPCVOID,LPCVOID);
6589 WORD        WINAPI CreateSystemTimer(WORD,FARPROC16);
6590 BOOL16      WINAPI DCHook(HDC16,WORD,DWORD,LPARAM);
6591 VOID        WINAPI DirectedYield(HTASK16);
6592 HGLOBAL16   WINAPI DirectResAlloc(HINSTANCE16,WORD,UINT16);
6593 VOID        WINAPI DisableSystemTimers(void);
6594 BOOL16      WINAPI DlgDirSelect(HWND16,LPSTR,INT16);
6595 BOOL16      WINAPI DlgDirSelectComboBox(HWND16,LPSTR,INT16);
6596 DWORD       WINAPI DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
6597 BOOL16      WINAPI EnableCommNotification(INT16,HWND16,INT16,INT16);
6598 BOOL16      WINAPI EnableHardwareInput(BOOL16);
6599 VOID        WINAPI EnableSystemTimers(void);
6600 INT16       WINAPI ExcludeVisRect(HDC16,INT16,INT16,INT16,INT16);
6601 HANDLE16    WINAPI FarGetOwner(HGLOBAL16);
6602 VOID        WINAPI FarSetOwner(HGLOBAL16,HANDLE16);
6603 BOOL16      WINAPI FastWindowFrame(HDC16,const RECT16*,INT16,INT16,DWORD);
6604 FARPROC16   WINAPI FileCDR(FARPROC16);
6605 VOID        WINAPI FillWindow(HWND16,HWND16,HDC16,HBRUSH16);
6606 INT16       WINAPI FlushComm(INT16,INT16);
6607 WORD        WINAPI FreeSelector(WORD);
6608 UINT16      WINAPI GDIRealizePalette(HDC16);
6609 HPALETTE16  WINAPI GDISelectPalette(HDC16,HPALETTE16,WORD);
6610 HANDLE16    WINAPI GetAtomHandle(ATOM);
6611 DWORD       WINAPI GetBitmapDimension(HBITMAP16);
6612 DWORD       WINAPI GetBrushOrg(HDC16);
6613 HANDLE16    WINAPI GetCodeHandle(FARPROC16);
6614 INT16       WINAPI GetCommError(INT16,LPCOMSTAT);
6615 UINT16      WINAPI GetCommEventMask(INT16,UINT16);
6616 HBRUSH16    WINAPI GetControlBrush(HWND16,HDC16,UINT16);
6617 VOID        WINAPI GetCodeInfo(FARPROC16,SEGINFO*);
6618 HFONT16     WINAPI GetCurLogFont(HDC16);
6619 DWORD       WINAPI GetCurrentPDB(void);
6620 DWORD       WINAPI GetCurrentPosition(HDC16);
6621 HTASK16     WINAPI GetCurrentTask(void);
6622 DWORD       WINAPI GetDCHook(HDC16,FARPROC16*);
6623 DWORD       WINAPI GetDCOrg(HDC16);
6624 HDC16       WINAPI GetDCState(HDC16);
6625 HWND16      WINAPI GetDesktopHwnd(void);
6626 SEGPTR      WINAPI GetDOSEnvironment(void);
6627 INT16       WINAPI GetEnvironment(LPCSTR,LPDEVMODE16,UINT16);
6628 HMODULE16   WINAPI GetExePtr(HANDLE16);
6629 WORD        WINAPI GetExeVersion(void);
6630 WORD        WINAPI GetExpWinVer(HMODULE16);
6631 DWORD       WINAPI GetFileResourceSize(LPCSTR,SEGPTR,SEGPTR,LPDWORD);
6632 DWORD       WINAPI GetFileResource(LPCSTR,SEGPTR,SEGPTR,DWORD,DWORD,LPVOID);
6633 DWORD       WINAPI GetHeapSpaces(HMODULE16);
6634 WORD        WINAPI GetIconID(HGLOBAL16,DWORD);
6635 INT16       WINAPI GetInstanceData(HINSTANCE16,WORD,INT16);
6636 HGLOBAL16   WINAPI GetMetaFileBits(HMETAFILE16);
6637 BOOL16      WINAPI GetModuleName(HINSTANCE16,LPSTR,INT16);
6638 INT16       WINAPI GetModuleUsage(HINSTANCE16);
6639 FARPROC16   WINAPI GetMouseEventProc(void);
6640 UINT16      WINAPI GetNumTasks(void);
6641 DWORD       WINAPI GetSelectorBase(WORD);
6642 DWORD       WINAPI GetSelectorLimit(WORD);
6643 FARPROC16   WINAPI GetSetKernelDOSProc(FARPROC16 DosProc);
6644 HINSTANCE16 WINAPI GetTaskDS(void);
6645 HQUEUE16    WINAPI GetTaskQueue(HTASK16);
6646 BYTE        WINAPI GetTempDrive(BYTE);
6647 DWORD       WINAPI GetTextExtent(HDC16,LPCSTR,INT16);
6648 DWORD       WINAPI GetViewportExt(HDC16);
6649 DWORD       WINAPI GetViewportOrg(HDC16);
6650 BOOL16      WINAPI GetWinDebugInfo(LPWINDEBUGINFO,UINT16);
6651 DWORD       WINAPI GetWindowExt(HDC16);
6652 DWORD       WINAPI GetWindowOrg(HDC16);
6653 DWORD       WINAPI GetWinFlags(void);
6654 DWORD       WINAPI GlobalDOSAlloc(DWORD);
6655 WORD        WINAPI GlobalDOSFree(WORD);
6656 void        WINAPI GlobalFreeAll(HGLOBAL16);
6657 DWORD       WINAPI GlobalHandleNoRIP(WORD);
6658 HGLOBAL16   WINAPI GlobalLRUNewest(HGLOBAL16);
6659 HGLOBAL16   WINAPI GlobalLRUOldest(HGLOBAL16);
6660 VOID        WINAPI GlobalNotify(FARPROC16);
6661 WORD        WINAPI GlobalPageLock(HGLOBAL16);
6662 WORD        WINAPI GlobalPageUnlock(HGLOBAL16);
6663 INT16       WINAPI InitApp(HINSTANCE16);
6664 HRGN16      WINAPI InquireVisRgn(HDC16);
6665 INT16       WINAPI IntersectVisRect(HDC16,INT16,INT16,INT16,INT16);
6666 BOOL16      WINAPI IsDCCurrentPalette(HDC16);
6667 BOOL16      WINAPI IsGDIObject(HGDIOBJ16);
6668 BOOL16      WINAPI IsSharedSelector(HANDLE16);
6669 BOOL16      WINAPI IsTask(HTASK16);
6670 HTASK16     WINAPI IsTaskLocked(void);
6671 BOOL16      WINAPI IsUserIdle(void);
6672 BOOL16      WINAPI IsValidMetaFile(HMETAFILE16);
6673 VOID        WINAPI LogError(UINT16, LPVOID);
6674 VOID        WINAPI LogParamError(UINT16,FARPROC16,LPVOID);
6675 HGLOBAL16   WINAPI LoadCursorIconHandler(HGLOBAL16,HMODULE16,HRSRC16);
6676 HGLOBAL16   WINAPI LoadDIBCursorHandler(HGLOBAL16,HMODULE16,HRSRC16);
6677 HGLOBAL16   WINAPI LoadDIBIconHandler(HGLOBAL16,HMODULE16,HRSRC16);
6678 WORD        WINAPI LocalCountFree(void);
6679 WORD        WINAPI LocalHandleDelta(WORD);
6680 WORD        WINAPI LocalHeapSize(void);
6681 HICON16     WINAPI LoadIconHandler(HGLOBAL16,BOOL16);
6682 BOOL16      WINAPI LocalInit(HANDLE16,WORD,WORD);
6683 HMODULE32   WINAPI LoadLibraryEx32W16(LPCSTR,HANDLE16,DWORD);
6684 FARPROC16   WINAPI LocalNotify(FARPROC16);
6685 HTASK16     WINAPI LockCurrentTask(BOOL16);
6686 HMENU16     WINAPI LookupMenuHandle(HMENU16,INT16);
6687 DWORD       WINAPI MoveTo(HDC16,INT16,INT16);
6688 DWORD       WINAPI OffsetViewportOrg(HDC16,INT16,INT16);
6689 INT16       WINAPI OffsetVisRgn(HDC16,INT16,INT16);
6690 DWORD       WINAPI OffsetWindowOrg(HDC16,INT16,INT16);
6691 VOID        WINAPI OldYield(void);
6692 INT16       WINAPI OpenComm(LPCSTR,UINT16,UINT16);
6693 VOID        WINAPI PaintRect(HWND16,HWND16,HDC16,HBRUSH16,const RECT16*);
6694 VOID        WINAPI PostEvent(HTASK16);
6695 WORD        WINAPI PrestoChangoSelector(WORD,WORD);
6696 INT16       WINAPI ReadComm(INT16,LPSTR,INT16);
6697 UINT16      WINAPI RealizeDefaultPalette(HDC16);
6698 BOOL32      WINAPI RegisterShellHook(HWND16,UINT16);
6699 INT16       WINAPI RestoreVisRgn(HDC16);
6700 HRGN16      WINAPI SaveVisRgn(HDC16);
6701 DWORD       WINAPI ScaleViewportExt(HDC16,INT16,INT16,INT16,INT16);
6702 DWORD       WINAPI ScaleWindowExt(HDC16,INT16,INT16,INT16,INT16);
6703 WORD        WINAPI SelectorAccessRights(WORD,WORD,WORD);
6704 INT16       WINAPI SelectVisRgn(HDC16,HRGN16);
6705 DWORD       WINAPI SetBitmapDimension(HBITMAP16,INT16,INT16);
6706 DWORD       WINAPI SetBrushOrg(HDC16,INT16,INT16);
6707 SEGPTR      WINAPI SetCommEventMask(INT16,UINT16);
6708 BOOL16      WINAPI SetDCHook(HDC16,FARPROC16,DWORD);
6709 DWORD       WINAPI SetDCOrg(HDC16,INT16,INT16);
6710 VOID        WINAPI SetDCState(HDC16,HDC16);
6711 BOOL16      WINAPI SetDeskPattern(void);
6712 INT16       WINAPI SetEnvironment(LPCSTR,LPDEVMODE16,UINT16);
6713 WORD        WINAPI SetHookFlags(HDC16,WORD);
6714 HMETAFILE16 WINAPI SetMetaFileBits(HGLOBAL16);
6715 VOID        WINAPI SetPriority(HTASK16,INT16);
6716 FARPROC16   WINAPI SetResourceHandler(HINSTANCE16,SEGPTR,FARPROC16);
6717 WORD        WINAPI SetSelectorBase(WORD,DWORD);
6718 WORD        WINAPI SetSelectorLimit(WORD,DWORD);
6719 HQUEUE16    WINAPI SetTaskQueue(HTASK16,HQUEUE16);
6720 FARPROC16   WINAPI SetTaskSignalProc(HTASK16,FARPROC16);
6721 DWORD       WINAPI SetViewportExt(HDC16,INT16,INT16);
6722 DWORD       WINAPI SetViewportOrg(HDC16,INT16,INT16);
6723 BOOL16      WINAPI SetWinDebugInfo(LPWINDEBUGINFO);
6724 DWORD       WINAPI SetWindowExt(HDC16,INT16,INT16);
6725 DWORD       WINAPI SetWindowOrg(HDC16,INT16,INT16);
6726 VOID        WINAPI SwitchStackTo(WORD,WORD,WORD);
6727 VOID        WINAPI TileChildWindows(HWND16,WORD);
6728 INT16       WINAPI UngetCommChar(INT16,CHAR);
6729 VOID        WINAPI UserYield(void);
6730 BOOL16      WINAPI WaitEvent(HTASK16);
6731 INT16       WINAPI WriteComm(INT16,LPSTR,INT16);
6732 VOID        WINAPI WriteOutProfiles(VOID);
6733 VOID        WINAPI hmemcpy(LPVOID,LPCVOID,LONG);
6734 #endif  /* __WINE__ */
6735
6736 /* Declarations for functions that exist only in Win32 */
6737
6738 BOOL32      WINAPI AllocConsole(void);
6739 BOOL32      WINAPI AreFileApisANSI(void);
6740 BOOL32      WINAPI Beep(DWORD,DWORD);
6741 WORD        WINAPI CascadeWindows (HWND32, UINT32, const LPRECT32,
6742                                    UINT32, const HWND32 *);
6743 BOOL32      WINAPI ClearCommError(INT32,LPDWORD,LPCOMSTAT);
6744 BOOL32      WINAPI CloseHandle(HANDLE32);
6745 BOOL32      WINAPI CloseServiceHandle(HANDLE32);
6746 BOOL32      WINAPI CombineTransform(LPXFORM,const XFORM *,const XFORM *);
6747 INT32       WINAPI CopyAcceleratorTable32A(HACCEL32,LPACCEL32,INT32);
6748 INT32       WINAPI CopyAcceleratorTable32W(HACCEL32,LPACCEL32,INT32);
6749 #define     CopyAcceleratorTable WINELIB_NAME_AW(CopyAcceleratorTable)
6750 HENHMETAFILE32 WINAPI CopyEnhMetaFile32A(HENHMETAFILE32,LPCSTR);
6751 HENHMETAFILE32 WINAPI CopyEnhMetaFile32W(HENHMETAFILE32,LPCWSTR);
6752 #define     CopyEnhMetaFile WINELIB_NAME_AW(CopyEnhMetaFile)
6753 BOOL32      WINAPI CopyFile32A(LPCSTR,LPCSTR,BOOL32);
6754 BOOL32      WINAPI CopyFile32W(LPCWSTR,LPCWSTR,BOOL32);
6755 #define     CopyFile WINELIB_NAME_AW(CopyFile)
6756 INT32       WINAPI CompareFileTime(LPFILETIME,LPFILETIME);
6757 BOOL32      WINAPI ControlService(HANDLE32,DWORD,LPSERVICE_STATUS);
6758 HANDLE32    WINAPI CreateEvent32A(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCSTR);
6759 HANDLE32    WINAPI CreateEvent32W(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCWSTR);
6760 #define     CreateEvent WINELIB_NAME_AW(CreateEvent)
6761 HFILE32     WINAPI CreateFile32A(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
6762                                  DWORD,DWORD,HANDLE32);
6763 HFILE32     WINAPI CreateFile32W(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
6764                                  DWORD,DWORD,HANDLE32);
6765 #define     CreateFile WINELIB_NAME_AW(CreateFile)
6766 HPALETTE32  WINAPI CreateHalftonePalette(HDC32);
6767 HANDLE32    WINAPI CreateFileMapping32A(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,
6768                                         DWORD,DWORD,LPCSTR);
6769 HANDLE32    WINAPI CreateFileMapping32W(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,
6770                                         DWORD,DWORD,LPCWSTR);
6771 #define     CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
6772 HICON32     WINAPI CreateIconIndirect(LPICONINFO);
6773 HANDLE32    WINAPI CreateMutex32A(LPSECURITY_ATTRIBUTES,BOOL32,LPCSTR);
6774 HANDLE32    WINAPI CreateMutex32W(LPSECURITY_ATTRIBUTES,BOOL32,LPCWSTR);
6775 #define     CreateMutex WINELIB_NAME_AW(CreateMutex)
6776 BOOL32      WINAPI CreateProcess32A(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,
6777                                     LPSECURITY_ATTRIBUTES,BOOL32,DWORD,LPVOID,LPCSTR,
6778                                     LPSTARTUPINFO32A,LPPROCESS_INFORMATION);
6779 BOOL32      WINAPI CreateProcess32W(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,
6780                                     LPSECURITY_ATTRIBUTES,BOOL32,DWORD,LPVOID,LPCWSTR,
6781                                     LPSTARTUPINFO32W,LPPROCESS_INFORMATION);
6782 #define     CreateProcess WINELIB_NAME_AW(CreateProcess)
6783 HANDLE32    WINAPI CreateSemaphore32A(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
6784 HANDLE32    WINAPI CreateSemaphore32W(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
6785 #define     CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
6786 HANDLE32    WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
6787 BOOL32      WINAPI DeleteEnhMetaFile(HENHMETAFILE32);
6788 BOOL32      WINAPI DeleteService(HANDLE32);
6789 BOOL32      WINAPI DeregisterEventSource(HANDLE32);
6790 BOOL32      WINAPI DestroyAcceleratorTable(HACCEL32);
6791 BOOL32      WINAPI DisableThreadLibraryCalls(HMODULE32);
6792 BOOL32      WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
6793 BOOL32      WINAPI DuplicateHandle(HANDLE32,HANDLE32,HANDLE32,HANDLE32*,DWORD,BOOL32,DWORD);
6794 BOOL32      WINAPI EnumDateFormats32A(DATEFMT_ENUMPROC32A lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
6795 BOOL32      WINAPI EnumDateFormats32W(DATEFMT_ENUMPROC32W lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
6796 #define     EnumDateFormats WINELIB_NAME_AW(EnumDateFormats)
6797 BOOL32      WINAPI EnumDisplayMonitors(HDC32,LPRECT32,MONITORENUMPROC,LPARAM);
6798 INT32       WINAPI EnumPropsEx32A(HWND32,PROPENUMPROCEX32A,LPARAM);
6799 INT32       WINAPI EnumPropsEx32W(HWND32,PROPENUMPROCEX32W,LPARAM);
6800 #define     EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
6801 BOOL32      WINAPI EnumResourceLanguages32A(HMODULE32,LPCSTR,LPCSTR,
6802                                             ENUMRESLANGPROC32A,LONG);
6803 BOOL32      WINAPI EnumResourceLanguages32W(HMODULE32,LPCWSTR,LPCWSTR,
6804                                             ENUMRESLANGPROC32W,LONG);
6805 #define     EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
6806 BOOL32      WINAPI EnumResourceNames32A(HMODULE32,LPCSTR,ENUMRESNAMEPROC32A,
6807                                         LONG);
6808 BOOL32      WINAPI EnumResourceNames32W(HMODULE32,LPCWSTR,ENUMRESNAMEPROC32W,
6809                                         LONG);
6810 #define     EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
6811 BOOL32      WINAPI EnumResourceTypes32A(HMODULE32,ENUMRESTYPEPROC32A,LONG);
6812 BOOL32      WINAPI EnumResourceTypes32W(HMODULE32,ENUMRESTYPEPROC32W,LONG);
6813 #define     EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
6814 BOOL32      WINAPI EnumSystemCodePages32A(CODEPAGE_ENUMPROC32A,DWORD);
6815 BOOL32      WINAPI EnumSystemCodePages32W(CODEPAGE_ENUMPROC32W,DWORD);
6816 #define     EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages)
6817 BOOL32      WINAPI EnumSystemLocales32A(LOCALE_ENUMPROC32A,DWORD);
6818 BOOL32      WINAPI EnumSystemLocales32W(LOCALE_ENUMPROC32W,DWORD);
6819 #define     EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales)
6820 BOOL32      WINAPI EnumThreadWindows(DWORD,WNDENUMPROC32,LPARAM);
6821 BOOL32      WINAPI EnumTimeFormats32A(TIMEFMT_ENUMPROC32A lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
6822 BOOL32      WINAPI EnumTimeFormats32W(TIMEFMT_ENUMPROC32W lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
6823 #define     EnumTimeFormats WINELIB_NAME_AW(EnumTimeFormats)
6824 VOID        WINAPI ExitProcess(DWORD);
6825 VOID        WINAPI ExitThread(DWORD);
6826 BOOL32      WINAPI ExitWindowsEx(UINT32,DWORD);
6827 INT32       WINAPI ExtSelectClipRgn(HDC32,HRGN32,INT32);
6828 DWORD       WINAPI ExpandEnvironmentStrings32A(LPCSTR,LPSTR,DWORD);
6829 DWORD       WINAPI ExpandEnvironmentStrings32W(LPCWSTR,LPWSTR,DWORD);
6830 #define     ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
6831 HRGN32      WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
6832 INT32       WINAPI ExtEscape32(HDC32,INT32,INT32,LPCSTR,INT32,LPSTR);
6833 BOOL32      WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
6834 BOOL32      WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
6835 BOOL32      WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
6836 HANDLE32    WINAPI FindFirstChangeNotification32A(LPCSTR,BOOL32,DWORD);
6837 HANDLE32    WINAPI FindFirstChangeNotification32W(LPCWSTR,BOOL32,DWORD);
6838 #define     FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
6839 BOOL32      WINAPI FindNextChangeNotification(HANDLE32);
6840 BOOL32      WINAPI FindCloseChangeNotification(HANDLE32);
6841 HRSRC32     WINAPI FindResourceEx32A(HMODULE32,LPCSTR,LPCSTR,WORD);
6842 HRSRC32     WINAPI FindResourceEx32W(HMODULE32,LPCWSTR,LPCWSTR,WORD);
6843 #define     FindResourceEx WINELIB_NAME_AW(FindResourceEx)
6844 BOOL32      WINAPI FixBrushOrgEx(HDC32,INT32,INT32,LPPOINT32);
6845 BOOL32      WINAPI FlushConsoleInputBuffer(HANDLE32);
6846 BOOL32      WINAPI FlushFileBuffers(HFILE32);
6847 BOOL32      WINAPI FlushViewOfFile(LPCVOID, DWORD);
6848 DWORD       WINAPI FormatMessage32A(DWORD,LPCVOID,DWORD,DWORD,LPSTR,
6849                                     DWORD,LPDWORD);
6850 #define     FormatMessage WINELIB_NAME_AW(FormatMessage)
6851 BOOL32      WINAPI FreeConsole(void);
6852 BOOL32      WINAPI FreeEnvironmentStrings32A(LPSTR);
6853 BOOL32      WINAPI FreeEnvironmentStrings32W(LPWSTR);
6854 #define     FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
6855 UINT32      WINAPI GetACP(void);
6856 LPCSTR      WINAPI GetCommandLine32A(void);
6857 LPCWSTR     WINAPI GetCommandLine32W(void);
6858 #define     GetCommandLine WINELIB_NAME_AW(GetCommandLine)
6859 BOOL32      WINAPI GetCommTimeouts(INT32,LPCOMMTIMEOUTS);
6860 BOOL32      WINAPI GetComputerName32A(LPSTR,LPDWORD);
6861 BOOL32      WINAPI GetComputerName32W(LPWSTR,LPDWORD);
6862 #define     GetComputerName WINELIB_NAME_AW(GetComputerName)
6863 UINT32      WINAPI GetConsoleCP(void);
6864 BOOL32      WINAPI GetConsoleMode(HANDLE32,LPDWORD);
6865 UINT32      WINAPI GetConsoleOutputCP(void);
6866 DWORD       WINAPI GetConsoleTitle32A(LPSTR,DWORD);
6867 DWORD       WINAPI GetConsoleTitle32W(LPWSTR,DWORD);
6868 #define     GetConsoleTitle WINELIB_NAME_AW(GetConsoleTitle)
6869 BOOL32      WINAPI GetCPInfo(UINT32,LPCPINFO);
6870 BOOL32      WINAPI GetCommMask(HANDLE32, LPDWORD);
6871 BOOL32      WINAPI GetCommModemStatus(HANDLE32, LPDWORD);
6872 HANDLE32    WINAPI GetCurrentObject(HDC32,UINT32);
6873 HANDLE32    WINAPI GetCurrentProcess(void);
6874 DWORD       WINAPI GetCurrentProcessId(void);
6875 HANDLE32    WINAPI GetCurrentThread(void);
6876 DWORD       WINAPI GetCurrentThreadId(void);
6877 INT32       WINAPI GetDateFormat32A(LCID,DWORD,LPSYSTEMTIME,LPCSTR,LPSTR,INT32);
6878 INT32       WINAPI GetDateFormat32W(LCID,DWORD,LPSYSTEMTIME,LPCWSTR,LPWSTR,INT32);
6879 #define     GetDateFormat WINELIB_NAME_AW(GetDateFormat)
6880 BOOL32      WINAPI GetDCOrgEx(HDC32,LPPOINT32);
6881 HENHMETAFILE32 WINAPI GetEnhMetaFile32A(LPCSTR);
6882 HENHMETAFILE32 WINAPI GetEnhMetaFile32W(LPCWSTR);
6883 #define     GetEnhMetaFile WINELIB_NAME_AW(GetEnhMetaFile)
6884 UINT32      WINAPI GetEnhMetaFileBits(HENHMETAFILE32,UINT32,LPBYTE);
6885 UINT32      WINAPI GetEnhMetaFileHeader(HENHMETAFILE32,UINT32,LPENHMETAHEADER);
6886 UINT32      WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE32,UINT32,LPPALETTEENTRY);
6887 LPSTR       WINAPI GetEnvironmentStrings32A(void);
6888 LPWSTR      WINAPI GetEnvironmentStrings32W(void);
6889 #define     GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
6890 DWORD       WINAPI GetEnvironmentVariable32A(LPCSTR,LPSTR,DWORD);
6891 DWORD       WINAPI GetEnvironmentVariable32W(LPCWSTR,LPWSTR,DWORD);
6892 #define     GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
6893 BOOL32      WINAPI GetFileAttributesEx32A(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
6894 BOOL32      WINAPI GetFileAttributesEx32W(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
6895 #define     GetFileattributesEx WINELIB_NAME_AW(GetFileAttributesEx)
6896 DWORD       WINAPI GetFileInformationByHandle(HFILE32,BY_HANDLE_FILE_INFORMATION*);
6897 BOOL32      WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
6898 BOOL32      WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
6899 DWORD       WINAPI GetFileSize(HFILE32,LPDWORD);
6900 BOOL32      WINAPI GetFileTime(HFILE32,LPFILETIME,LPFILETIME,LPFILETIME);
6901 DWORD       WINAPI GetFileType(HFILE32);
6902 DWORD       WINAPI GetFullPathName32A(LPCSTR,DWORD,LPSTR,LPSTR*);
6903 DWORD       WINAPI GetFullPathName32W(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
6904 #define     GetFullPathName WINELIB_NAME_AW(GetFullPathName)
6905 INT32       WINAPI GetGraphicsMode(HDC32);
6906 BOOL32      WINAPI GetHandleInformation(HANDLE32,LPDWORD);
6907 BOOL32      WINAPI GetIconInfo(HICON32,LPICONINFO);
6908 DWORD       WINAPI GetLargestConsoleWindowSize(HANDLE32);
6909 VOID        WINAPI GetLocalTime(LPSYSTEMTIME);
6910 DWORD       WINAPI GetLogicalDrives(void);
6911 DWORD       WINAPI GetLongPathName32A(LPCSTR,LPSTR,DWORD);
6912 DWORD       WINAPI GetLongPathName32W(LPCWSTR,LPWSTR,DWORD);
6913 #define     GetLongPathName WINELIB_NAME_AW(GetLongPathName)
6914 UINT32      WINAPI GetMenuDefaultItem32(HMENU32,UINT32,UINT32);
6915 #define     GetMenuDefaultItem WINELIB_NAME(GetMenuDefaultItem)
6916 BOOL32      WINAPI GetMenuItemInfo32A(HMENU32,UINT32,BOOL32,MENUITEMINFO32A*);
6917 BOOL32      WINAPI GetMenuItemInfo32W(HMENU32,UINT32,BOOL32,MENUITEMINFO32W*);
6918 #define     GetMenuItemInfo WINELIB_NAME_AW(GetMenuItemInfo)
6919 UINT32      WINAPI GetMetaFileBitsEx(HMETAFILE32,UINT32,LPVOID);
6920 BOOL32      WINAPI GetMonitorInfo32A(HMONITOR,LPMONITORINFO);
6921 BOOL32      WINAPI GetMonitorInfo32W(HMONITOR,LPMONITORINFO);
6922 #define     GetMonitorInfo WINELIB_NAME_AW(GetMonitorInfo)
6923 INT32       WINAPI GetNumberFormat32A(LCID,DWORD,LPCSTR,const NUMBERFMT32A*,LPSTR,int);
6924 INT32       WINAPI GetNumberFormat32W(LCID,DWORD,LPCWSTR,const NUMBERFMT32W*,LPWSTR,int);
6925 #define     GetNumberFormat WINELIB_NAME_AW(GetNumberFormat);
6926 BOOL32      WINAPI GetNumberOfConsoleInputEvents(HANDLE32,LPDWORD);
6927 BOOL32      WINAPI GetNumberOfConsoleMouseButtons(LPDWORD);
6928 DWORD       WINAPI GetObjectType(HANDLE32);
6929 UINT32      WINAPI GetOEMCP(void);
6930 DWORD       WINAPI GetPriorityClass(HANDLE32);
6931 HANDLE32    WINAPI GetProcessHeap(void);
6932 DWORD       WINAPI GetShortPathName32A(LPCSTR,LPSTR,DWORD);
6933 DWORD       WINAPI GetShortPathName32W(LPCWSTR,LPWSTR,DWORD);
6934 #define     GetShortPathName WINELIB_NAME_AW(GetShortPathName)
6935 HFILE32     WINAPI GetStdHandle(DWORD);
6936 BOOL32      WINAPI GetStringTypeEx32A(LCID,DWORD,LPCSTR,INT32,LPWORD);
6937 BOOL32      WINAPI GetStringTypeEx32W(LCID,DWORD,LPCWSTR,INT32,LPWORD);
6938 #define     GetStringTypeEx WINELIB_NAME_AW(GetStringTypeEx)
6939 VOID        WINAPI GetSystemInfo(LPSYSTEM_INFO);
6940 BOOL32      WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
6941 VOID        WINAPI GetSystemTime(LPSYSTEMTIME);
6942 UINT32      WINAPI GetTextCharsetInfo(HDC32,LPFONTSIGNATURE,DWORD);
6943 BOOL32      WINAPI GetTextExtentExPoint32A(HDC32,LPCSTR,INT32,INT32,
6944                                            LPINT32,LPINT32,LPSIZE32);
6945 BOOL32      WINAPI GetTextExtentExPoint32W(HDC32,LPCWSTR,INT32,INT32,
6946                                            LPINT32,LPINT32,LPSIZE32);
6947 #define     GetTextExtentExPoint WINELIB_NAME_AW(GetTextExtentExPoint)
6948 INT32       WINAPI GetTimeFormat32A(LCID,DWORD,LPSYSTEMTIME,LPCSTR,LPSTR,INT32);
6949 INT32       WINAPI GetTimeFormat32W(LCID,DWORD,LPSYSTEMTIME,LPCWSTR,LPWSTR,INT32);
6950 #define     GetTimeFormat WINELIB_NAME_AW(GetTimeFormat)
6951 LCID        WINAPI GetThreadLocale(void);
6952 INT32       WINAPI GetThreadPriority(HANDLE32);
6953 BOOL32      WINAPI GetThreadSelectorEntry(HANDLE32,DWORD,LPLDT_ENTRY);
6954 BOOL32      WINAPI GetUserName32A(LPSTR,LPDWORD);
6955 BOOL32      WINAPI GetUserName32W(LPWSTR,LPDWORD);
6956 #define     GetUserName WINELIB_NAME_AW(GetUserName)
6957 DWORD       WINAPI GetWindowContextHelpId(HWND32);
6958 DWORD       WINAPI GetWindowThreadProcessId(HWND32,LPDWORD);
6959 BOOL32      WINAPI GetWorldTransform(HDC32,LPXFORM);
6960 VOID        WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
6961 LPVOID      WINAPI HeapAlloc(HANDLE32,DWORD,DWORD);
6962 DWORD       WINAPI HeapCompact(HANDLE32,DWORD);
6963 HANDLE32    WINAPI HeapCreate(DWORD,DWORD,DWORD);
6964 BOOL32      WINAPI HeapDestroy(HANDLE32);
6965 BOOL32      WINAPI HeapFree(HANDLE32,DWORD,LPVOID);
6966 BOOL32      WINAPI HeapLock(HANDLE32);
6967 LPVOID      WINAPI HeapReAlloc(HANDLE32,DWORD,LPVOID,DWORD);
6968 DWORD       WINAPI HeapSize(HANDLE32,DWORD,LPVOID);
6969 BOOL32      WINAPI HeapUnlock(HANDLE32);
6970 BOOL32      WINAPI HeapValidate(HANDLE32,DWORD,LPCVOID);
6971 LONG        WINAPI InterlockedDecrement(LPLONG);
6972 LONG        WINAPI InterlockedExchange(LPLONG,LONG);
6973 LONG        WINAPI InterlockedIncrement(LPLONG);
6974 BOOL32      WINAPI IsDBCSLeadByteEx(UINT32,BYTE);
6975 BOOL32      WINAPI IsProcessorFeaturePresent(DWORD);
6976 BOOL32      WINAPI IsWindowUnicode(HWND32);
6977 BOOL32      WINAPI IsValidLocale(DWORD,DWORD);
6978 BOOL32      WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
6979 BOOL32      WINAPI LockFile(HFILE32,DWORD,DWORD,DWORD,DWORD);
6980 BOOL32      WINAPI LookupPrivilegeValue32A(LPCSTR,LPCSTR,LPVOID);
6981 BOOL32      WINAPI LookupPrivilegeValue32W(LPCWSTR,LPCWSTR,LPVOID);
6982 #define     LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
6983 HMODULE32   WINAPI MapHModuleSL(HMODULE16);
6984 HMODULE16   WINAPI MapHModuleLS(HMODULE32);
6985 SEGPTR      WINAPI MapLS(LPVOID);
6986 LPVOID      WINAPI MapSL(SEGPTR);
6987 LPVOID      WINAPI MapViewOfFile(HANDLE32,DWORD,DWORD,DWORD,DWORD);
6988 LPVOID      WINAPI MapViewOfFileEx(HANDLE32,DWORD,DWORD,DWORD,DWORD,LPVOID);
6989 INT32       WINAPI MessageBoxEx32A(HWND32,LPCSTR,LPCSTR,UINT32,WORD);
6990 INT32       WINAPI MessageBoxEx32W(HWND32,LPCWSTR,LPCWSTR,UINT32,WORD);
6991 #define     MessageBoxEx WINELIB_NAME_AW(MessageBoxEx)
6992 BOOL32      WINAPI ModifyWorldTransform(HDC32,const XFORM *, DWORD);
6993 HMONITOR    WINAPI MonitorFromPoint(POINT32,DWORD);
6994 HMONITOR    WINAPI MonitorFromRect(LPRECT32,DWORD);
6995 HMONITOR    WINAPI MonitorFromWindow(HWND32,DWORD);
6996 BOOL32      WINAPI MoveFile32A(LPCSTR,LPCSTR);
6997 BOOL32      WINAPI MoveFile32W(LPCWSTR,LPCWSTR);
6998 #define     MoveFile WINELIB_NAME_AW(MoveFile)
6999 BOOL32      WINAPI MoveFileEx32A(LPCSTR,LPCSTR,DWORD);
7000 BOOL32      WINAPI MoveFileEx32W(LPCWSTR,LPCWSTR,DWORD);
7001 #define     MoveFileEx WINELIB_NAME_AW(MoveFileEx)
7002 DWORD       WINAPI MsgWaitForMultipleObjects(DWORD,HANDLE32*,BOOL32,DWORD,DWORD);
7003 INT32       WINAPI MultiByteToWideChar(UINT32,DWORD,LPCSTR,INT32,LPWSTR,INT32);
7004 INT32       WINAPI WideCharToMultiByte(UINT32,DWORD,LPCWSTR,INT32,LPSTR,INT32,LPCSTR,BOOL32*);
7005 HANDLE32    WINAPI OpenEvent32A(DWORD,BOOL32,LPCSTR);
7006 HANDLE32    WINAPI OpenEvent32W(DWORD,BOOL32,LPCWSTR);
7007 #define     OpenEvent WINELIB_NAME_AW(OpenEvent)
7008 HANDLE32    WINAPI OpenFileMapping32A(DWORD,BOOL32,LPCSTR);
7009 HANDLE32    WINAPI OpenFileMapping32W(DWORD,BOOL32,LPCWSTR);
7010 #define     OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
7011 HANDLE32    WINAPI OpenMutex32A(DWORD,BOOL32,LPCSTR);
7012 HANDLE32    WINAPI OpenMutex32W(DWORD,BOOL32,LPCWSTR);
7013 #define     OpenMutex WINELIB_NAME_AW(OpenMutex)
7014 HANDLE32    WINAPI OpenProcess(DWORD,BOOL32,DWORD);
7015 BOOL32      WINAPI OpenProcessToken(HANDLE32,DWORD,HANDLE32*);
7016 HANDLE32    WINAPI OpenSCManager32A(LPCSTR,LPCSTR,DWORD);
7017 HANDLE32    WINAPI OpenSCManager32W(LPCWSTR,LPCWSTR,DWORD);
7018 #define     OpenSCManager WINELIB_NAME_AW(OpenSCManager)
7019 HANDLE32    WINAPI OpenSemaphore32A(DWORD,BOOL32,LPCSTR);
7020 HANDLE32    WINAPI OpenSemaphore32W(DWORD,BOOL32,LPCWSTR);
7021 #define     OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
7022 HANDLE32    WINAPI OpenService32A(HANDLE32,LPCSTR,DWORD);
7023 HANDLE32    WINAPI OpenService32W(HANDLE32,LPCWSTR,DWORD);
7024 #define     OpenService WINELIB_NAME_AW(OpenService)
7025 BOOL32      WINAPI PaintDesktop(HDC32);
7026 BOOL32      WINAPI PlayEnhMetaFile(HDC32,HENHMETAFILE32,const RECT32*);
7027 BOOL32      WINAPI PlayEnhMetaFileRecord(HDC32,LPHANDLETABLE32,const ENHMETARECORD*,UINT32);
7028 BOOL32      WINAPI PolyPolyline32(HDC32,const POINT32*,const DWORD*,DWORD);
7029 BOOL32      WINAPI PulseEvent(HANDLE32);
7030 BOOL32      WINAPI PurgeComm(HANDLE32,DWORD);
7031 DWORD       WINAPI QueryDosDevice32A(LPCSTR,LPSTR,DWORD);
7032 DWORD       WINAPI QueryDosDevice32W(LPCWSTR,LPWSTR,DWORD);
7033 #define     QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
7034 BOOL32      WINAPI QueryPerformanceCounter(LPLARGE_INTEGER);
7035 BOOL32      WINAPI ReadConsole32A(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
7036 BOOL32      WINAPI ReadConsole32W(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
7037 #define     ReadConsole WINELIB_NAME_AW(ReadConsole)
7038 BOOL32      WINAPI ReadConsoleOutputCharacter32A(HANDLE32,LPSTR,DWORD,
7039                                                  COORD,LPDWORD);
7040 #define     ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter)
7041 BOOL32      WINAPI ReadFile(HANDLE32,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
7042 LONG        WINAPI RegConnectRegistry32A(LPCSTR,HKEY,LPHKEY);
7043 LONG        WINAPI RegConnectRegistry32W(LPCWSTR,HKEY,LPHKEY);
7044 #define     RegConnectRegistry WINELIB_NAME_AW(RegConnectRegistry)
7045 DWORD       WINAPI RegCreateKeyEx32A(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,
7046                                      LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
7047 DWORD       WINAPI RegCreateKeyEx32W(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,
7048                                      LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
7049 #define     RegCreateKeyEx WINELIB_NAME_AW(RegCreateKeyEx)
7050 DWORD       WINAPI RegEnumKeyEx32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPSTR,
7051                                    LPDWORD,LPFILETIME);
7052 DWORD       WINAPI RegEnumKeyEx32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPWSTR,
7053                                    LPDWORD,LPFILETIME);
7054 #define     RegEnumKeyEx WINELIB_NAME_AW(RegEnumKeyEx)
7055 LONG        WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,LPDWORD);
7056 HANDLE32    WINAPI RegisterEventSource32A(LPCSTR,LPCSTR);
7057 HANDLE32    WINAPI RegisterEventSource32W(LPCWSTR,LPCWSTR);
7058 #define     RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
7059 LONG        WINAPI RegLoadKey32A(HKEY,LPCSTR,LPCSTR);
7060 LONG        WINAPI RegLoadKey32W(HKEY,LPCWSTR,LPCWSTR);
7061 #define     RegLoadKey WINELIB_NAME_AW(RegLoadKey)
7062 LONG        WINAPI RegNotifyChangeKeyValue(HKEY,BOOL32,DWORD,HANDLE32,BOOL32);
7063 DWORD       WINAPI RegOpenKeyEx32W(HKEY,LPCWSTR,DWORD,REGSAM,LPHKEY);
7064 DWORD       WINAPI RegOpenKeyEx32A(HKEY,LPCSTR,DWORD,REGSAM,LPHKEY);
7065 #define     RegOpenKeyEx WINELIB_NAME_AW(RegOpenKeyEx)
7066 DWORD       WINAPI RegQueryInfoKey32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPDWORD,
7067                                       LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
7068                                       LPDWORD,LPFILETIME);
7069 DWORD       WINAPI RegQueryInfoKey32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPDWORD,
7070                                       LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
7071                                       LPDWORD,LPFILETIME);
7072 #define     RegQueryInfoKey WINELIB_NAME_AW(RegQueryInfoKey)
7073 LONG        WINAPI RegReplaceKey32A(HKEY,LPCSTR,LPCSTR,LPCSTR);
7074 LONG        WINAPI RegReplaceKey32W(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
7075 #define     RegReplaceKey WINELIB_NAME_AW(RegReplaceKey)
7076 LONG        WINAPI RegRestoreKey32A(HKEY,LPCSTR,DWORD);
7077 LONG        WINAPI RegRestoreKey32W(HKEY,LPCWSTR,DWORD);
7078 #define     RegRestoreKey WINELIB_NAME_AW(RegRestoreKey)
7079 LONG        WINAPI RegSaveKey32A(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
7080 LONG        WINAPI RegSaveKey32W(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
7081 #define     RegSaveKey WINELIB_NAME_AW(RegSaveKey)
7082 LONG        WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
7083 LONG        WINAPI RegUnLoadKey32A(HKEY,LPCSTR);
7084 LONG        WINAPI RegUnLoadKey32W(HKEY,LPCWSTR);
7085 #define     RegUnLoadKey WINELIB_NAME_AW(RegUnLoadKey)
7086 BOOL32      WINAPI ReleaseSemaphore(HANDLE32,LONG,LPLONG);
7087 BOOL32      WINAPI ResetEvent(HANDLE32);
7088 DWORD       WINAPI ResumeThread(HANDLE32);
7089 VOID        WINAPI RtlFillMemory(LPVOID,UINT32,UINT32);
7090 VOID        WINAPI RtlMoveMemory(LPVOID,LPCVOID,UINT32);
7091 VOID        WINAPI RtlZeroMemory(LPVOID,UINT32);
7092 DWORD       WINAPI SearchPath32A(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
7093 DWORD       WINAPI SearchPath32W(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
7094 #define     SearchPath WINELIB_NAME(SearchPath)
7095 BOOL32      WINAPI SetBrushOrgEx(HDC32,INT32,INT32,LPPOINT32);
7096 BOOL32      WINAPI SetCommMask(INT32,DWORD);
7097 BOOL32      WINAPI SetCommTimeouts(INT32,LPCOMMTIMEOUTS);
7098 BOOL32      WINAPI SetComputerName32A(LPCSTR);
7099 BOOL32      WINAPI SetComputerName32W(LPCWSTR);
7100 #define     SetComputerName WINELIB_NAME_AW(SetComputerName)
7101 BOOL32      WINAPI SetConsoleCursorPosition(HANDLE32,COORD);
7102 BOOL32      WINAPI SetConsoleMode(HANDLE32,DWORD);
7103 BOOL32      WINAPI SetConsoleTitle32A(LPCSTR);
7104 BOOL32      WINAPI SetConsoleTitle32W(LPCWSTR);
7105 #define     SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
7106 VOID        WINAPI SetDebugErrorLevel(DWORD);
7107 BOOL32      WINAPI SetEndOfFile(HFILE32);
7108 HENHMETAFILE32 WINAPI SetEnhMetaFileBits(UINT32,const BYTE *);
7109 BOOL32      WINAPI SetEnvironmentVariable32A(LPCSTR,LPCSTR);
7110 BOOL32      WINAPI SetEnvironmentVariable32W(LPCWSTR,LPCWSTR);
7111 #define     SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
7112 BOOL32      WINAPI SetEvent(HANDLE32);
7113 VOID        WINAPI SetFileApisToANSI(void);
7114 VOID        WINAPI SetFileApisToOEM(void);
7115 DWORD       WINAPI SetFilePointer(HFILE32,LONG,LPLONG,DWORD);
7116 BOOL32      WINAPI SetFileTime(HFILE32,const FILETIME*,const FILETIME*,
7117                                const FILETIME*);
7118 INT32       WINAPI SetGraphicsMode(HDC32,INT32);
7119 BOOL32      WINAPI SetHandleInformation(HANDLE32,DWORD,DWORD);
7120 VOID        WINAPI SetLastErrorEx(DWORD,DWORD);
7121 BOOL32      WINAPI SetMenuDefaultItem32(HMENU32,UINT32,UINT32);
7122 #define     SetMenuDefaultItem WINELIB_NAME(SetMenuDefaultItem)
7123 BOOL32      WINAPI SetMenuItemInfo32A(HMENU32,UINT32,BOOL32,const MENUITEMINFO32A*);
7124 BOOL32      WINAPI SetMenuItemInfo32W(HMENU32,UINT32,BOOL32,const MENUITEMINFO32W*);
7125 #define     SetMenuItemInfo WINELIB_NAME_AW(SetMenuItemInfo)
7126 HMETAFILE32 WINAPI SetMetaFileBitsEx(UINT32,const BYTE*);
7127 BOOL32      WINAPI SetPriorityClass(HANDLE32,DWORD);
7128 BOOL32      WINAPI SetStdHandle(DWORD,HANDLE32);
7129 BOOL32      WINAPI SetSystemPowerState(BOOL32,BOOL32);
7130 BOOL32      WINAPI SetSystemTime(const SYSTEMTIME*);
7131 BOOL32      WINAPI SetThreadPriority(HANDLE32,INT32);
7132 BOOL32      WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
7133 BOOL32      WINAPI SetWindowContextHelpId(HWND32,DWORD);
7134 BOOL32      WINAPI SetWorldTransform(HDC32,const XFORM*);
7135 VOID        WINAPI Sleep(DWORD);
7136 DWORD       WINAPI SleepEx(DWORD,BOOL32);
7137 BOOL32      WINAPI StartService32A(HANDLE32,DWORD,LPCSTR*);
7138 BOOL32      WINAPI StartService32W(HANDLE32,DWORD,LPCWSTR*);
7139 #define     StartService WINELIB_NAME_AW(StartService)
7140 DWORD       WINAPI SuspendThread(HANDLE32);
7141 BOOL32      WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
7142 WORD        WINAPI TileWindows (HWND32, UINT32, const LPRECT32,
7143                                 UINT32, const HWND32 *);
7144 BOOL32      WINAPI TrackPopupMenuEx(HMENU32,UINT32,INT32,INT32,HWND32,
7145                                     LPTPMPARAMS);
7146 DWORD       WINAPI TlsAlloc(void);
7147 BOOL32      WINAPI TlsFree(DWORD);
7148 LPVOID      WINAPI TlsGetValue(DWORD);
7149 BOOL32      WINAPI TlsSetValue(DWORD,LPVOID);
7150 BOOL32      WINAPI TranslateCharsetInfo(LPDWORD,LPCHARSETINFO,DWORD);
7151 VOID        WINAPI UnMapLS(SEGPTR);
7152 BOOL32      WINAPI UnlockFile(HFILE32,DWORD,DWORD,DWORD,DWORD);
7153 BOOL32      WINAPI UnmapViewOfFile(LPVOID);
7154 LPVOID      WINAPI VirtualAlloc(LPVOID,DWORD,DWORD,DWORD);
7155 BOOL32      WINAPI VirtualFree(LPVOID,DWORD,DWORD);
7156 BOOL32      WINAPI VirtualLock(LPVOID,DWORD);
7157 BOOL32      WINAPI VirtualProtect(LPVOID,DWORD,DWORD,LPDWORD);
7158 BOOL32      WINAPI VirtualProtectEx(HANDLE32,LPVOID,DWORD,DWORD,LPDWORD);
7159 DWORD       WINAPI VirtualQuery(LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
7160 DWORD       WINAPI VirtualQueryEx(HANDLE32,LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
7161 BOOL32      WINAPI VirtualUnlock(LPVOID,DWORD);
7162 BOOL32      WINAPI WaitCommEvent(HANDLE32,LPDWORD,LPOVERLAPPED);
7163 BOOL32      WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
7164 DWORD       WINAPI WaitForInputIdle(HANDLE32,DWORD);
7165 DWORD       WINAPI WaitForMultipleObjects(DWORD,const HANDLE32*,BOOL32,DWORD);
7166 DWORD       WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE32*,BOOL32,DWORD,BOOL32);
7167 DWORD       WINAPI WaitForSingleObject(HANDLE32,DWORD);
7168 DWORD       WINAPI WaitForSingleObjectEx(HANDLE32,DWORD,BOOL32);
7169 UINT32      WINAPI WNetAddConnection2_32A(LPNETRESOURCE32A,LPCSTR,LPCSTR,DWORD);
7170 UINT32      WINAPI WNetAddConnection2_32W(LPNETRESOURCE32W,LPCWSTR,LPCWSTR,DWORD);
7171 #define     WNetAddConnection2 WINELIB_NAME_AW(WNetAddConnection2_)
7172 UINT32      WINAPI WNetAddConnection3_32A(HWND32,LPNETRESOURCE32A,LPCSTR,LPCSTR,DWORD);
7173 UINT32      WINAPI WNetAddConnection3_32W(HWND32,LPNETRESOURCE32W,LPCWSTR,LPCWSTR,DWORD);
7174 #define     WNetAddConnection3 WINELIB_NAME_AW(WNetAddConnection3_)
7175 UINT32      WINAPI WNetConnectionDialog1_32(HWND32,DWORD);
7176 UINT32      WINAPI WNetConnectionDialog1_32A(LPCONNECTDLGSTRUCT32A);
7177 UINT32      WINAPI WNetConnectionDialog1_32W(LPCONNECTDLGSTRUCT32W);
7178 #define     WNetConnectionDialog1 WINELIB_NAME_AW(WNetConnectionDialog1_)
7179 UINT32      WINAPI MultinetGetErrorText32A(DWORD,DWORD,DWORD);
7180 UINT32      WINAPI MultinetGetErrorText32W(DWORD,DWORD,DWORD);
7181 #define     MultinetGetErrorText WINELIB_NAME_AW(MultinetGetErrorText_)
7182 SEGPTR      WINAPI WOWGlobalAllocLock16(DWORD,DWORD,HGLOBAL16*);
7183 DWORD       WINAPI WOWCallback16(FARPROC16,DWORD);
7184 BOOL32      WINAPI WOWCallback16Ex(FARPROC16,DWORD,DWORD,LPVOID,LPDWORD);
7185 HANDLE32    WINAPI WOWHandle32(WORD,WOW_HANDLE_TYPE);
7186 WORD        WINAPI WOWHandle16(HANDLE32,WOW_HANDLE_TYPE);
7187 BOOL32      WINAPI WriteConsole32A(HANDLE32,LPCVOID,DWORD,LPDWORD,LPVOID);
7188 BOOL32      WINAPI WriteConsole32W(HANDLE32,LPCVOID,DWORD,LPDWORD,LPVOID);
7189 #define     WriteConsole WINELIB_NAME_AW(WriteConsole)
7190 BOOL32      WINAPI WriteFile(HANDLE32,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
7191 VOID        WINAPI ZeroMemory(LPVOID,UINT32);
7192 #define     ZeroMemory RtlZeroMemory
7193 VOID        WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
7194 VOID        WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,DWORD);
7195
7196 /* Declarations for functions that are the same in Win16 and Win32 */
7197
7198 VOID        WINAPI CloseSound(VOID);
7199 VOID        WINAPI EndMenu(void);
7200 DWORD       WINAPI GetDialogBaseUnits(void);
7201 VOID        WINAPI GetKeyboardState(LPBYTE);
7202 DWORD       WINAPI GetLastError(void);
7203 DWORD       WINAPI GetMenuCheckMarkDimensions(void);
7204 LONG        WINAPI GetMessageExtraInfo(void);
7205 DWORD       WINAPI GetMessagePos(void);
7206 LONG        WINAPI GetMessageTime(void);
7207 LANGID      WINAPI GetSystemDefaultLangID(void);
7208 LCID        WINAPI GetSystemDefaultLCID(void);
7209 DWORD       WINAPI GetTickCount(void);
7210 LANGID      WINAPI GetUserDefaultLangID(void);
7211 LCID        WINAPI GetUserDefaultLCID(void);
7212 ATOM        WINAPI GlobalDeleteAtom(ATOM);
7213 VOID        WINAPI LZDone(void);
7214 VOID        WINAPI ScreenSwitchEnable(WORD);
7215 DWORD       WINAPI OemKeyScan(WORD);
7216 DWORD       WINAPI RegCloseKey(HKEY);
7217 DWORD       WINAPI RegFlushKey(HKEY);
7218 VOID        WINAPI ReleaseCapture(void);
7219 VOID        WINAPI SetKeyboardState(LPBYTE);
7220 VOID        WINAPI SetLastError(DWORD);
7221 VOID        WINAPI WaitMessage(VOID);
7222
7223
7224 /* Declarations for functions that change between Win16 and Win32 */
7225
7226 BOOL16      WINAPI AbortPath16(HDC16);
7227 BOOL32      WINAPI AbortPath32(HDC32);
7228 #define     AbortPath WINELIB_NAME(AbortPath)
7229 LRESULT     WINAPI AboutDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
7230 LRESULT     WINAPI AboutDlgProc32(HWND32,UINT32,WPARAM32,LPARAM);
7231 #define     AboutDlgProc WINELIB_NAME(AboutDlgProc)
7232 INT16       WINAPI AccessResource16(HINSTANCE16,HRSRC16);
7233 INT32       WINAPI AccessResource32(HMODULE32,HRSRC32);
7234 #define     AccessResource WINELIB_NAME(AccessResource)
7235 ATOM        WINAPI AddAtom16(SEGPTR);
7236 ATOM        WINAPI AddAtom32A(LPCSTR);
7237 ATOM        WINAPI AddAtom32W(LPCWSTR);
7238 #define     AddAtom WINELIB_NAME_AW(AddAtom)
7239 INT16       WINAPI AddFontResource16(LPCSTR);
7240 INT32       WINAPI AddFontResource32A(LPCSTR);
7241 INT32       WINAPI AddFontResource32W(LPCWSTR);
7242 #define     AddFontResource WINELIB_NAME_AW(AddFontResource)
7243 BOOL16      WINAPI AdjustWindowRect16(LPRECT16,DWORD,BOOL16);
7244 BOOL32      WINAPI AdjustWindowRect32(LPRECT32,DWORD,BOOL32);
7245 #define     AdjustWindowRect WINELIB_NAME(AdjustWindowRect)
7246 BOOL16      WINAPI AdjustWindowRectEx16(LPRECT16,DWORD,BOOL16,DWORD);
7247 BOOL32      WINAPI AdjustWindowRectEx32(LPRECT32,DWORD,BOOL32,DWORD);
7248 #define     AdjustWindowRectEx WINELIB_NAME(AdjustWindowRectEx)
7249 void        WINAPI AnimatePalette16(HPALETTE16,UINT16,UINT16,const PALETTEENTRY*);
7250 BOOL32      WINAPI AnimatePalette32(HPALETTE32,UINT32,UINT32,const PALETTEENTRY*);
7251 #define     AnimatePalette WINELIB_NAME(AnimatePalette)
7252 SEGPTR      WINAPI AnsiLower16(SEGPTR);
7253 #define     AnsiLower32A CharLower32A
7254 #define     AnsiLower32W CharLower32W
7255 #define     AnsiLower WINELIB_NAME_AW(AnsiLower)
7256 UINT16      WINAPI AnsiLowerBuff16(LPSTR,UINT16);
7257 #define     AnsiLowerBuff32A CharLowerBuff32A
7258 #define     AnsiLowerBuff32W CharLowerBuff32W
7259 #define     AnsiLowerBuff WINELIB_NAME_AW(AnsiLowerBuff)
7260 SEGPTR      WINAPI AnsiNext16(SEGPTR);
7261 #define     AnsiNext32A CharNext32A
7262 #define     AnsiNext32W CharNext32W
7263 #define     AnsiNext WINELIB_NAME_AW(AnsiNext)
7264 SEGPTR      WINAPI AnsiPrev16(SEGPTR,SEGPTR);
7265 #define     AnsiPrev32A CharPrev32A
7266 #define     AnsiPrev32W CharPrev32W
7267 #define     AnsiPrev WINELIB_NAME_AW(AnsiPrev)
7268 INT16       WINAPI AnsiToOem16(LPCSTR,LPSTR);
7269 #define     AnsiToOem32A CharToOem32A
7270 #define     AnsiToOem32W CharToOem32W
7271 #define     AnsiToOem WINELIB_NAME_AW(AnsiToOem)
7272 VOID        WINAPI AnsiToOemBuff16(LPCSTR,LPSTR,UINT16);
7273 #define     AnsiToOemBuff32A CharToOemBuff32A
7274 #define     AnsiToOemBuff32W CharToOemBuff32W
7275 #define     AnsiToOemBuff WINELIB_NAME_AW(AnsiToOemBuff)
7276 SEGPTR      WINAPI AnsiUpper16(SEGPTR);
7277 #define     AnsiUpper32A CharUpper32A
7278 #define     AnsiUpper32W CharUpper32W
7279 #define     AnsiUpper WINELIB_NAME_AW(AnsiUpper)
7280 UINT16      WINAPI AnsiUpperBuff16(LPSTR,UINT16);
7281 #define     AnsiUpperBuff32A CharUpperBuff32A
7282 #define     AnsiUpperBuff32W CharUpperBuff32W
7283 #define     AnsiUpperBuff WINELIB_NAME_AW(AnsiUpperBuff)
7284 BOOL16      WINAPI AnyPopup16(void);
7285 BOOL32      WINAPI AnyPopup32(void);
7286 #define     AnyPopup WINELIB_NAME(AnyPopup)
7287 BOOL16      WINAPI AppendMenu16(HMENU16,UINT16,UINT16,SEGPTR);
7288 BOOL32      WINAPI AppendMenu32A(HMENU32,UINT32,UINT32,LPCSTR);
7289 BOOL32      WINAPI AppendMenu32W(HMENU32,UINT32,UINT32,LPCWSTR);
7290 #define     AppendMenu WINELIB_NAME_AW(AppendMenu)
7291 BOOL16      WINAPI Arc16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
7292 BOOL32      WINAPI Arc32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
7293 #define     Arc WINELIB_NAME(Arc)
7294 UINT16      WINAPI ArrangeIconicWindows16(HWND16);
7295 UINT32      WINAPI ArrangeIconicWindows32(HWND32);
7296 #define     ArrangeIconicWindows WINELIB_NAME(ArrangeIconicWindows)
7297 HDWP16      WINAPI BeginDeferWindowPos16(INT16);
7298 HDWP32      WINAPI BeginDeferWindowPos32(INT32);
7299 #define     BeginDeferWindowPos WINELIB_NAME(BeginDeferWindowPos)
7300 HDC16       WINAPI BeginPaint16(HWND16,LPPAINTSTRUCT16);
7301 HDC32       WINAPI BeginPaint32(HWND32,LPPAINTSTRUCT32);
7302 #define     BeginPaint WINELIB_NAME(BeginPaint)
7303 BOOL16      WINAPI BeginPath16(HDC16);
7304 BOOL32      WINAPI BeginPath32(HDC32);
7305 #define     BeginPath WINELIB_NAME(BeginPath)
7306 BOOL16      WINAPI BitBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,DWORD);
7307 BOOL32      WINAPI BitBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,INT32,DWORD);
7308 #define     BitBlt WINELIB_NAME(BitBlt)
7309 BOOL16      WINAPI BringWindowToTop16(HWND16);
7310 BOOL32      WINAPI BringWindowToTop32(HWND32);
7311 #define     BringWindowToTop WINELIB_NAME(BringWindowToTop)
7312 BOOL16      WINAPI BuildCommDCB16(LPCSTR,LPDCB16);
7313 BOOL32      WINAPI BuildCommDCB32A(LPCSTR,LPDCB32);
7314 BOOL32      WINAPI BuildCommDCB32W(LPCWSTR,LPDCB32);
7315 #define     BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
7316 BOOL32      WINAPI BuildCommDCBAndTimeouts32A(LPCSTR,LPDCB32,LPCOMMTIMEOUTS);
7317 BOOL32      WINAPI BuildCommDCBAndTimeouts32W(LPCWSTR,LPDCB32,LPCOMMTIMEOUTS);
7318 #define     BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
7319 BOOL16      WINAPI CallMsgFilter16(SEGPTR,INT16);
7320 BOOL32      WINAPI CallMsgFilter32A(LPMSG32,INT32);
7321 BOOL32      WINAPI CallMsgFilter32W(LPMSG32,INT32);
7322 #define     CallMsgFilter WINELIB_NAME_AW(CallMsgFilter)
7323 LRESULT     WINAPI CallNextHookEx16(HHOOK,INT16,WPARAM16,LPARAM);
7324 LRESULT     WINAPI CallNextHookEx32(HHOOK,INT32,WPARAM32,LPARAM);
7325 #define     CallNextHookEx WINELIB_NAME(CallNextHookEx)
7326 LRESULT     WINAPI CallWindowProc16(WNDPROC16,HWND16,UINT16,WPARAM16,LPARAM);
7327 LRESULT     WINAPI CallWindowProc32A(WNDPROC32,HWND32,UINT32,WPARAM32,LPARAM);
7328 LRESULT     WINAPI CallWindowProc32W(WNDPROC32,HWND32,UINT32,WPARAM32,LPARAM);
7329 #define     CallWindowProc WINELIB_NAME_AW(CallWindowProc)
7330 BOOL16      WINAPI ChangeClipboardChain16(HWND16,HWND16);
7331 BOOL32      WINAPI ChangeClipboardChain32(HWND32,HWND32);
7332 #define     ChangeClipboardChain WINELIB_NAME(ChangeClipboardChain)
7333 BOOL16      WINAPI ChangeMenu16(HMENU16,UINT16,SEGPTR,UINT16,UINT16);
7334 BOOL32      WINAPI ChangeMenu32A(HMENU32,UINT32,LPCSTR,UINT32,UINT32);
7335 BOOL32      WINAPI ChangeMenu32W(HMENU32,UINT32,LPCWSTR,UINT32,UINT32);
7336 #define     ChangeMenu WINELIB_NAME_AW(ChangeMenu)
7337 LPSTR       WINAPI CharLower32A(LPSTR);
7338 LPWSTR      WINAPI CharLower32W(LPWSTR);
7339 #define     CharLower WINELIB_NAME_AW(CharLower)
7340 DWORD       WINAPI CharLowerBuff32A(LPSTR,DWORD);
7341 DWORD       WINAPI CharLowerBuff32W(LPWSTR,DWORD);
7342 #define     CharLowerBuff WINELIB_NAME_AW(CharLowerBuff)
7343 LPSTR       WINAPI CharNext32A(LPCSTR);
7344 LPWSTR      WINAPI CharNext32W(LPCWSTR);
7345 #define     CharNext WINELIB_NAME_AW(CharNext)
7346 LPSTR       WINAPI CharNextEx32A(WORD,LPCSTR,DWORD);
7347 LPWSTR      WINAPI CharNextEx32W(WORD,LPCWSTR,DWORD);
7348 #define     CharNextEx WINELIB_NAME_AW(CharNextEx)
7349 LPSTR       WINAPI CharPrev32A(LPCSTR,LPCSTR);
7350 LPWSTR      WINAPI CharPrev32W(LPCWSTR,LPCWSTR);
7351 #define     CharPrev WINELIB_NAME_AW(CharPrev)
7352 LPSTR       WINAPI CharPrevEx32A(WORD,LPCSTR,LPCSTR,DWORD);
7353 LPWSTR      WINAPI CharPrevEx32W(WORD,LPCWSTR,LPCWSTR,DWORD);
7354 #define     CharPrevEx WINELIB_NAME_AW(CharPrevEx)
7355 LPSTR       WINAPI CharUpper32A(LPSTR);
7356 LPWSTR      WINAPI CharUpper32W(LPWSTR);
7357 #define     CharUpper WINELIB_NAME_AW(CharUpper)
7358 DWORD       WINAPI CharUpperBuff32A(LPSTR,DWORD);
7359 DWORD       WINAPI CharUpperBuff32W(LPWSTR,DWORD);
7360 #define     CharUpperBuff WINELIB_NAME_AW(CharUpperBuff)
7361 BOOL32      WINAPI CharToOem32A(LPCSTR,LPSTR);
7362 BOOL32      WINAPI CharToOem32W(LPCWSTR,LPSTR);
7363 #define     CharToOem WINELIB_NAME_AW(CharToOem)
7364 BOOL32      WINAPI CharToOemBuff32A(LPCSTR,LPSTR,DWORD);
7365 BOOL32      WINAPI CharToOemBuff32W(LPCWSTR,LPSTR,DWORD);
7366 #define     CharToOemBuff WINELIB_NAME_AW(CharToOemBuff)
7367 BOOL16      WINAPI CheckDlgButton16(HWND16,INT16,UINT16);
7368 BOOL32      WINAPI CheckDlgButton32(HWND32,INT32,UINT32);
7369 #define     CheckDlgButton WINELIB_NAME(CheckDlgButton)
7370 BOOL16      WINAPI CheckMenuItem16(HMENU16,UINT16,UINT16);
7371 DWORD       WINAPI CheckMenuItem32(HMENU32,UINT32,UINT32);
7372 #define     CheckMenuItem WINELIB_NAME(CheckMenuItem)
7373 BOOL16      WINAPI CheckMenuRadioButton16(HMENU16,UINT16,UINT16,UINT16,BOOL16);
7374 BOOL32      WINAPI CheckMenuRadioButton32(HMENU32,UINT32,UINT32,UINT32,BOOL32);
7375 #define     CheckMenuRadioButton WINELIB_NAME(CheckMenuRadioButton)
7376 BOOL16      WINAPI CheckMenuRadioItem16(HMENU16,UINT16,UINT16,UINT16,UINT16);
7377 BOOL32      WINAPI CheckMenuRadioItem32(HMENU32,UINT32,UINT32,UINT32,UINT32);
7378 #define     CheckMenuRadioItem WINELIB_NAME(CheckMenuRadioItem)
7379 BOOL16      WINAPI CheckRadioButton16(HWND16,UINT16,UINT16,UINT16);
7380 BOOL32      WINAPI CheckRadioButton32(HWND32,UINT32,UINT32,UINT32);
7381 #define     CheckRadioButton WINELIB_NAME(CheckRadioButton)
7382 HWND16      WINAPI ChildWindowFromPoint16(HWND16,POINT16);
7383 HWND32      WINAPI ChildWindowFromPoint32(HWND32,POINT32);
7384 #define     ChildWindowFromPoint WINELIB_NAME(ChildWindowFromPoint)
7385 HWND16      WINAPI ChildWindowFromPointEx16(HWND16,POINT16,UINT16);
7386 HWND32      WINAPI ChildWindowFromPointEx32(HWND32,POINT32,UINT32);
7387 #define     ChildWindowFromPointEx WINELIB_NAME(ChildWindowFromPointEx)
7388 INT32       WINAPI ChoosePixelFormat(HDC32,const PIXELFORMATDESCRIPTOR*);
7389 BOOL16      WINAPI Chord16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
7390 BOOL32      WINAPI Chord32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
7391 #define     Chord WINELIB_NAME(Chord)
7392 INT16       WINAPI ClearCommBreak16(INT16);
7393 BOOL32      WINAPI ClearCommBreak32(INT32);
7394 #define     ClearCommBreak WINELIB_NAME(ClearCommBreak)
7395 VOID        WINAPI ClientToScreen16(HWND16,LPPOINT16);
7396 BOOL32      WINAPI ClientToScreen32(HWND32,LPPOINT32);
7397 #define     ClientToScreen WINELIB_NAME(ClientToScreen)
7398 BOOL16      WINAPI ClipCursor16(const RECT16*);
7399 BOOL32      WINAPI ClipCursor32(const RECT32*);
7400 #define     ClipCursor WINELIB_NAME(ClipCursor)
7401 BOOL16      WINAPI CloseClipboard16(void);
7402 BOOL32      WINAPI CloseClipboard32(void);
7403 #define     CloseClipboard WINELIB_NAME(CloseClipboard)
7404 BOOL16      WINAPI CloseFigure16(HDC16);
7405 BOOL32      WINAPI CloseFigure32(HDC32);
7406 #define     CloseFigure WINELIB_NAME(CloseFigure)
7407 HMETAFILE16 WINAPI CloseMetaFile16(HDC16);
7408 HMETAFILE32 WINAPI CloseMetaFile32(HDC32);
7409 #define     CloseMetaFile WINELIB_NAME(CloseMetaFile)
7410 BOOL16      WINAPI CloseWindow16(HWND16);
7411 BOOL32      WINAPI CloseWindow32(HWND32);
7412 #define     CloseWindow WINELIB_NAME(CloseWindow)
7413 INT16       WINAPI CombineRgn16(HRGN16,HRGN16,HRGN16,INT16);
7414 INT32       WINAPI CombineRgn32(HRGN32,HRGN32,HRGN32,INT32);
7415 #define     CombineRgn WINELIB_NAME(CombineRgn)
7416 UINT16      WINAPI CompareString16(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
7417 UINT32      WINAPI CompareString32A(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
7418 UINT32      WINAPI CompareString32W(DWORD,DWORD,LPCWSTR,DWORD,LPCWSTR,DWORD);
7419 #define     CompareString WINELIB_NAME_AW(CompareString)
7420 HCURSOR16   WINAPI CopyCursor16(HINSTANCE16,HCURSOR16);
7421 #define     CopyCursor32(cur) ((HCURSOR32)CopyIcon32((HICON32)(cur)))
7422 #define     CopyCursor WINELIB_NAME(CopyCursor)
7423 HICON16     WINAPI CopyIcon16(HINSTANCE16,HICON16);
7424 HICON32     WINAPI CopyIcon32(HICON32);
7425 #define     CopyIcon WINELIB_NAME(CopyIcon)
7426 HICON16     WINAPI CopyImage16(HANDLE16,UINT16,INT16,INT16,UINT16);
7427 HICON32     WINAPI CopyImage32(HANDLE32,UINT32,INT32,INT32,UINT32);
7428 #define     CopyImage WINELIB_NAME(CopyImage)
7429 LONG        WINAPI CopyLZFile16(HFILE16,HFILE16);
7430 LONG        WINAPI CopyLZFile32(HFILE32,HFILE32);
7431 #define     CopyLZFile WINELIB_NAME(CopyLZFile)
7432 HMETAFILE16 WINAPI CopyMetaFile16(HMETAFILE16,LPCSTR);
7433 HMETAFILE32 WINAPI CopyMetaFile32A(HMETAFILE32,LPCSTR);
7434 HMETAFILE32 WINAPI CopyMetaFile32W(HMETAFILE32,LPCWSTR);
7435 #define     CopyMetaFile WINELIB_NAME_AW(CopyMetaFile)
7436 BOOL16      WINAPI CopyRect16(RECT16*,const RECT16*);
7437 BOOL32      WINAPI CopyRect32(RECT32*,const RECT32*);
7438 #define     CopyRect WINELIB_NAME(CopyRect)
7439 INT16       WINAPI CountClipboardFormats16(void);
7440 INT32       WINAPI CountClipboardFormats32(void);
7441 #define     CountClipboardFormats WINELIB_NAME(CountClipboardFormats)
7442 INT16       WINAPI CountVoiceNotes16(INT16);
7443 DWORD       WINAPI CountVoiceNotes32(DWORD);
7444 #define     CountVoiceNotes WINELIB_NAME(CountVoiceNotes)
7445 HBITMAP16   WINAPI CreateBitmap16(INT16,INT16,UINT16,UINT16,LPCVOID);
7446 HBITMAP32   WINAPI CreateBitmap32(INT32,INT32,UINT32,UINT32,LPCVOID);
7447 #define     CreateBitmap WINELIB_NAME(CreateBitmap)
7448 HBITMAP16   WINAPI CreateBitmapIndirect16(const BITMAP16*);
7449 HBITMAP32   WINAPI CreateBitmapIndirect32(const BITMAP32*);
7450 #define     CreateBitmapIndirect WINELIB_NAME(CreateBitmapIndirect)
7451 HBRUSH16    WINAPI CreateBrushIndirect16(const LOGBRUSH16*);
7452 HBRUSH32    WINAPI CreateBrushIndirect32(const LOGBRUSH32*);
7453 #define     CreateBrushIndirect WINELIB_NAME(CreateBrushIndirect)
7454 VOID        WINAPI CreateCaret16(HWND16,HBITMAP16,INT16,INT16);
7455 BOOL32      WINAPI CreateCaret32(HWND32,HBITMAP32,INT32,INT32);
7456 #define     CreateCaret WINELIB_NAME(CreateCaret)
7457 HBITMAP16   WINAPI CreateCompatibleBitmap16(HDC16,INT16,INT16);
7458 HBITMAP32   WINAPI CreateCompatibleBitmap32(HDC32,INT32,INT32);
7459 #define     CreateCompatibleBitmap WINELIB_NAME(CreateCompatibleBitmap)
7460 HDC16       WINAPI CreateCompatibleDC16(HDC16);
7461 HDC32       WINAPI CreateCompatibleDC32(HDC32);
7462 #define     CreateCompatibleDC WINELIB_NAME(CreateCompatibleDC)
7463 HCURSOR16   WINAPI CreateCursor16(HINSTANCE16,INT16,INT16,INT16,INT16,LPCVOID,LPCVOID);
7464 HCURSOR32   WINAPI CreateCursor32(HINSTANCE32,INT32,INT32,INT32,INT32,LPCVOID,LPCVOID);
7465 #define     CreateCursor WINELIB_NAME(CreateCursor)
7466 HDC16       WINAPI CreateDC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
7467 HDC32       WINAPI CreateDC32A(LPCSTR,LPCSTR,LPCSTR,const DEVMODE32A*);
7468 HDC32       WINAPI CreateDC32W(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODE32W*);
7469 #define     CreateDC WINELIB_NAME_AW(CreateDC)
7470 HWND16      WINAPI CreateDialog16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
7471 #define     CreateDialog32A(inst,ptr,hwnd,dlg) \
7472            CreateDialogParam32A(inst,ptr,hwnd,dlg,0)
7473 #define     CreateDialog32W(inst,ptr,hwnd,dlg) \
7474            CreateDialogParam32W(inst,ptr,hwnd,dlg,0)
7475 #define     CreateDialog WINELIB_NAME_AW(CreateDialog)
7476 HWND16      WINAPI CreateDialogIndirect16(HINSTANCE16,LPCVOID,HWND16,DLGPROC16);
7477 #define     CreateDialogIndirect32A(inst,ptr,hwnd,dlg) \
7478            CreateDialogIndirectParam32A(inst,ptr,hwnd,dlg,0)
7479 #define     CreateDialogIndirect32W(inst,ptr,hwnd,dlg) \
7480            CreateDialogIndirectParam32W(inst,ptr,hwnd,dlg,0)
7481 #define     CreateDialogIndirect WINELIB_NAME_AW(CreateDialogIndirect)
7482 HWND16      WINAPI CreateDialogIndirectParam16(HINSTANCE16,LPCVOID,HWND16,
7483                                                DLGPROC16,LPARAM);
7484 HWND32      WINAPI CreateDialogIndirectParam32A(HINSTANCE32,LPCVOID,HWND32,
7485                                                 DLGPROC32,LPARAM);
7486 HWND32      WINAPI CreateDialogIndirectParam32W(HINSTANCE32,LPCVOID,HWND32,
7487                                                 DLGPROC32,LPARAM);
7488 #define     CreateDialogIndirectParam WINELIB_NAME_AW(CreateDialogIndirectParam)
7489 HWND16      WINAPI CreateDialogParam16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16,LPARAM);
7490 HWND32      WINAPI CreateDialogParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
7491 HWND32      WINAPI CreateDialogParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
7492 #define     CreateDialogParam WINELIB_NAME_AW(CreateDialogParam)
7493 HBITMAP16   WINAPI CreateDIBitmap16(HDC16,const BITMAPINFOHEADER*,DWORD,
7494                                     LPCVOID,const BITMAPINFO*,UINT16);
7495 HBITMAP32   WINAPI CreateDIBitmap32(HDC32,const BITMAPINFOHEADER*,DWORD,
7496                                     LPCVOID,const BITMAPINFO*,UINT32);
7497 #define     CreateDIBitmap WINELIB_NAME(CreateDIBitmap)
7498 HBRUSH16    WINAPI CreateDIBPatternBrush16(HGLOBAL16,UINT16);
7499 HBRUSH32    WINAPI CreateDIBPatternBrush32(HGLOBAL32,UINT32);
7500 #define     CreateDIBPatternBrush WINELIB_NAME(CreateDIBPatternBrush)
7501 HBITMAP16   WINAPI CreateDIBSection16 (HDC16, BITMAPINFO *, UINT16,
7502                                        LPVOID **, HANDLE32, DWORD offset);
7503 HBITMAP32   WINAPI CreateDIBSection32 (HDC32, BITMAPINFO *, UINT32,
7504                                        LPVOID **, HANDLE32, DWORD offset);
7505 #define     CreateDIBSection WINELIB_NAME(CreateDIBSection)
7506 BOOL16      WINAPI CreateDirectory16(LPCSTR,LPVOID);
7507 BOOL32      WINAPI CreateDirectory32A(LPCSTR,LPSECURITY_ATTRIBUTES);
7508 BOOL32      WINAPI CreateDirectory32W(LPCWSTR,LPSECURITY_ATTRIBUTES);
7509 #define     CreateDirectory WINELIB_NAME_AW(CreateDirectory)
7510 BOOL32      WINAPI CreateDirectoryEx32A(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
7511 BOOL32      WINAPI CreateDirectoryEx32W(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
7512 #define     CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
7513 HBITMAP16   WINAPI CreateDiscardableBitmap16(HDC16,INT16,INT16);
7514 HBITMAP32   WINAPI CreateDiscardableBitmap32(HDC32,INT32,INT32);
7515 #define     CreateDiscardableBitmap WINELIB_NAME(CreateDiscardableBitmap)
7516 HRGN16      WINAPI CreateEllipticRgn16(INT16,INT16,INT16,INT16);
7517 HRGN32      WINAPI CreateEllipticRgn32(INT32,INT32,INT32,INT32);
7518 #define     CreateEllipticRgn WINELIB_NAME(CreateEllipticRgn)
7519 HRGN16      WINAPI CreateEllipticRgnIndirect16(const RECT16 *);
7520 HRGN32      WINAPI CreateEllipticRgnIndirect32(const RECT32 *);
7521 #define     CreateEllipticRgnIndirect WINELIB_NAME(CreateEllipticRgnIndirect)
7522 HFONT16     WINAPI CreateFont16(INT16,INT16,INT16,INT16,INT16,BYTE,BYTE,BYTE,
7523                                 BYTE,BYTE,BYTE,BYTE,BYTE,LPCSTR);
7524 HFONT32     WINAPI CreateFont32A(INT32,INT32,INT32,INT32,INT32,DWORD,DWORD,
7525                                  DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
7526 HFONT32     WINAPI CreateFont32W(INT32,INT32,INT32,INT32,INT32,DWORD,DWORD,
7527                                  DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
7528 #define     CreateFont WINELIB_NAME_AW(CreateFont)
7529 HFONT16     WINAPI CreateFontIndirect16(const LOGFONT16*);
7530 HFONT32     WINAPI CreateFontIndirect32A(const LOGFONT32A*);
7531 HFONT32     WINAPI CreateFontIndirect32W(const LOGFONT32W*);
7532 #define     CreateFontIndirect WINELIB_NAME_AW(CreateFontIndirect)
7533 HBRUSH16    WINAPI CreateHatchBrush16(INT16,COLORREF);
7534 HBRUSH32    WINAPI CreateHatchBrush32(INT32,COLORREF);
7535 #define     CreateHatchBrush WINELIB_NAME(CreateHatchBrush)
7536 HDC16       WINAPI CreateIC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
7537 HDC32       WINAPI CreateIC32A(LPCSTR,LPCSTR,LPCSTR,const DEVMODE32A*);
7538 HDC32       WINAPI CreateIC32W(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODE32W*);
7539 #define     CreateIC WINELIB_NAME_AW(CreateIC)
7540 HICON16     WINAPI CreateIcon16(HINSTANCE16,INT16,INT16,BYTE,BYTE,LPCVOID,LPCVOID);
7541 HICON32     WINAPI CreateIcon32(HINSTANCE32,INT32,INT32,BYTE,BYTE,LPCVOID,LPCVOID);
7542 #define     CreateIcon WINELIB_NAME(CreateIcon)
7543 HICON16     WINAPI CreateIconFromResource16(LPBYTE,UINT16,BOOL16,DWORD);
7544 HICON32     WINAPI CreateIconFromResource32(LPBYTE,UINT32,BOOL32,DWORD);
7545 #define     CreateIconFromResource WINELIB_NAME(CreateIconFromResource)
7546 HICON16     WINAPI CreateIconFromResourceEx16(LPBYTE,UINT16,BOOL16,DWORD,INT16,INT16,UINT16);
7547 HICON32     WINAPI CreateIconFromResourceEx32(LPBYTE,UINT32,BOOL32,DWORD,INT32,INT32,UINT32);
7548 #define     CreateIconFromResourceEx WINELIB_NAME(CreateIconFromResourceEx)
7549 HMENU16     WINAPI CreateMenu16(void);
7550 HMENU32     WINAPI CreateMenu32(void);
7551 #define     CreateMenu WINELIB_NAME(CreateMenu)
7552 HDC16       WINAPI CreateMetaFile16(LPCSTR);
7553 HDC32       WINAPI CreateMetaFile32A(LPCSTR);
7554 HDC32       WINAPI CreateMetaFile32W(LPCWSTR);
7555 #define     CreateMetaFile WINELIB_NAME_AW(CreateMetaFile)
7556 HPALETTE16  WINAPI CreatePalette16(const LOGPALETTE*);
7557 HPALETTE32  WINAPI CreatePalette32(const LOGPALETTE*);
7558 #define     CreatePalette WINELIB_NAME(CreatePalette)
7559 HBRUSH16    WINAPI CreatePatternBrush16(HBITMAP16);
7560 HBRUSH32    WINAPI CreatePatternBrush32(HBITMAP32);
7561 #define     CreatePatternBrush WINELIB_NAME(CreatePatternBrush)
7562 HPEN16      WINAPI CreatePen16(INT16,INT16,COLORREF);
7563 HPEN32      WINAPI CreatePen32(INT32,INT32,COLORREF);
7564 #define     CreatePen WINELIB_NAME(CreatePen)
7565 HPEN16      WINAPI CreatePenIndirect16(const LOGPEN16*);
7566 HPEN32      WINAPI CreatePenIndirect32(const LOGPEN32*);
7567 #define     CreatePenIndirect WINELIB_NAME(CreatePenIndirect)
7568 HRGN16      WINAPI CreatePolyPolygonRgn16(const POINT16*,const INT16*,INT16,INT16);
7569 HRGN32      WINAPI CreatePolyPolygonRgn32(const POINT32*,const INT32*,INT32,INT32);
7570 #define     CreatePolyPolygonRgn WINELIB_NAME(CreatePolyPolygonRgn)
7571 HRGN16      WINAPI CreatePolygonRgn16(const POINT16*,INT16,INT16);
7572 HRGN32      WINAPI CreatePolygonRgn32(const POINT32*,INT32,INT32);
7573 #define     CreatePolygonRgn WINELIB_NAME(CreatePolygonRgn)
7574 HMENU16     WINAPI CreatePopupMenu16(void);
7575 HMENU32     WINAPI CreatePopupMenu32(void);
7576 #define     CreatePopupMenu WINELIB_NAME(CreatePopupMenu)
7577 HRGN16      WINAPI CreateRectRgn16(INT16,INT16,INT16,INT16);
7578 HRGN32      WINAPI CreateRectRgn32(INT32,INT32,INT32,INT32);
7579 #define     CreateRectRgn WINELIB_NAME(CreateRectRgn)
7580 HRGN16      WINAPI CreateRectRgnIndirect16(const RECT16*);
7581 HRGN32      WINAPI CreateRectRgnIndirect32(const RECT32*);
7582 #define     CreateRectRgnIndirect WINELIB_NAME(CreateRectRgnIndirect)
7583 HRGN16      WINAPI CreateRoundRectRgn16(INT16,INT16,INT16,INT16,INT16,INT16);
7584 HRGN32      WINAPI CreateRoundRectRgn32(INT32,INT32,INT32,INT32,INT32,INT32);
7585 #define     CreateRoundRectRgn WINELIB_NAME(CreateRoundRectRgn)
7586 BOOL16      WINAPI CreateScalableFontResource16(UINT16,LPCSTR,LPCSTR,LPCSTR);
7587 BOOL32      WINAPI CreateScalableFontResource32A(DWORD,LPCSTR,LPCSTR,LPCSTR);
7588 BOOL32      WINAPI CreateScalableFontResource32W(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
7589 #define     CreateScalableFontResource WINELIB_NAME_AW(CreateScalableFontResource)
7590 HBRUSH16    WINAPI CreateSolidBrush16(COLORREF);
7591 HBRUSH32    WINAPI CreateSolidBrush32(COLORREF);
7592 #define     CreateSolidBrush WINELIB_NAME(CreateSolidBrush)
7593 HWND16      WINAPI CreateWindow16(LPCSTR,LPCSTR,DWORD,INT16,INT16,INT16,INT16,
7594                                   HWND16,HMENU16,HINSTANCE16,LPVOID);
7595 #define     CreateWindow32A(className,titleName,style,x,y,width,height,\
7596                             parent,menu,instance,param) \
7597             CreateWindowEx32A(0,className,titleName,style,x,y,width,height,\
7598                               parent,menu,instance,param)
7599 #define     CreateWindow32W(className,titleName,style,x,y,width,height,\
7600                             parent,menu,instance,param) \
7601             CreateWindowEx32W(0,className,titleName,style,x,y,width,height,\
7602                               parent,menu,instance,param)
7603 #define     CreateWindow WINELIB_NAME_AW(CreateWindow)
7604 HWND16      WINAPI CreateWindowEx16(DWORD,LPCSTR,LPCSTR,DWORD,INT16,INT16,
7605                                 INT16,INT16,HWND16,HMENU16,HINSTANCE16,LPVOID);
7606 HWND32      WINAPI CreateWindowEx32A(DWORD,LPCSTR,LPCSTR,DWORD,INT32,INT32,
7607                                 INT32,INT32,HWND32,HMENU32,HINSTANCE32,LPVOID);
7608 HWND32      WINAPI CreateWindowEx32W(DWORD,LPCWSTR,LPCWSTR,DWORD,INT32,INT32,
7609                                 INT32,INT32,HWND32,HMENU32,HINSTANCE32,LPVOID);
7610 #define     CreateWindowEx WINELIB_NAME_AW(CreateWindowEx)
7611 HWND32      WINAPI CreateMDIWindow32A(LPCSTR,LPCSTR,DWORD,INT32,INT32,
7612                                 INT32,INT32,HWND32,HINSTANCE32,LPARAM);
7613 HWND32      WINAPI CreateMDIWindow32W(LPCWSTR,LPCWSTR,DWORD,INT32,INT32,
7614                                 INT32,INT32,HWND32,HINSTANCE32,LPARAM);
7615 #define     CreateMDIWindow WINELIB_NAME_AW(CreateMDIWindow)
7616 LRESULT     WINAPI DefDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
7617 LRESULT     WINAPI DefDlgProc32A(HWND32,UINT32,WPARAM32,LPARAM);
7618 LRESULT     WINAPI DefDlgProc32W(HWND32,UINT32,WPARAM32,LPARAM);
7619 #define     DefDlgProc WINELIB_NAME_AW(DefDlgProc)
7620 HDWP16      WINAPI DeferWindowPos16(HDWP16,HWND16,HWND16,INT16,INT16,INT16,INT16,UINT16);
7621 HDWP32      WINAPI DeferWindowPos32(HDWP32,HWND32,HWND32,INT32,INT32,INT32,INT32,UINT32);
7622 #define     DeferWindowPos WINELIB_NAME(DeferWindowPos)
7623 LRESULT     WINAPI DefFrameProc16(HWND16,HWND16,UINT16,WPARAM16,LPARAM);
7624 LRESULT     WINAPI DefFrameProc32A(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
7625 LRESULT     WINAPI DefFrameProc32W(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
7626 #define     DefFrameProc WINELIB_NAME_AW(DefFrameProc)
7627 LRESULT     WINAPI DefHookProc16(INT16,WPARAM16,LPARAM,HHOOK*);
7628 #define     DefHookProc32(code,wparam,lparam,phhook) \
7629             CallNextHookEx32(*(phhook),code,wparam,lparam)
7630 #define     DefHookProc WINELIB_NAME(DefHookProc)
7631 LRESULT     WINAPI DefMDIChildProc16(HWND16,UINT16,WPARAM16,LPARAM);
7632 LRESULT     WINAPI DefMDIChildProc32A(HWND32,UINT32,WPARAM32,LPARAM);
7633 LRESULT     WINAPI DefMDIChildProc32W(HWND32,UINT32,WPARAM32,LPARAM);
7634 #define     DefMDIChildProc WINELIB_NAME_AW(DefMDIChildProc)
7635 LRESULT     WINAPI DefWindowProc16(HWND16,UINT16,WPARAM16,LPARAM);
7636 LRESULT     WINAPI DefWindowProc32A(HWND32,UINT32,WPARAM32,LPARAM);
7637 LRESULT     WINAPI DefWindowProc32W(HWND32,UINT32,WPARAM32,LPARAM);
7638 #define     DefWindowProc WINELIB_NAME_AW(DefWindowProc)
7639 BOOL16      WINAPI DefineHandleTable16(WORD);
7640 #define     DefineHandleTable32(w) ((w),TRUE)
7641 #define     DefineHandleTable WINELIB_NAME(DefineHandleTable)
7642 ATOM        WINAPI DeleteAtom16(ATOM);
7643 ATOM        WINAPI DeleteAtom32(ATOM);
7644 #define     DeleteAtom WINELIB_NAME(DeleteAtom)
7645 BOOL16      WINAPI DeleteDC16(HDC16);
7646 BOOL32      WINAPI DeleteDC32(HDC32);
7647 #define     DeleteDC WINELIB_NAME(DeleteDC)
7648 BOOL16      WINAPI DeleteFile16(LPCSTR);
7649 BOOL32      WINAPI DeleteFile32A(LPCSTR);
7650 BOOL32      WINAPI DeleteFile32W(LPCWSTR);
7651 #define     DeleteFile WINELIB_NAME_AW(DeleteFile)
7652 BOOL16      WINAPI DeleteMenu16(HMENU16,UINT16,UINT16);
7653 BOOL32      WINAPI DeleteMenu32(HMENU32,UINT32,UINT32);
7654 #define     DeleteMenu WINELIB_NAME(DeleteMenu)
7655 BOOL16      WINAPI DeleteMetaFile16(HMETAFILE16);
7656 BOOL32      WINAPI DeleteMetaFile32(HMETAFILE32);
7657 #define     DeleteMetaFile WINELIB_NAME(DeleteMetaFile)
7658 BOOL16      WINAPI DeleteObject16(HGDIOBJ16);
7659 BOOL32      WINAPI DeleteObject32(HGDIOBJ32);
7660 #define     DeleteObject WINELIB_NAME(DeleteObject)
7661 INT32       WINAPI DescribePixelFormat(HDC32,int,UINT32,
7662                                        LPPIXELFORMATDESCRIPTOR);
7663 VOID        WINAPI DestroyCaret16(void);
7664 BOOL32      WINAPI DestroyCaret32(void);
7665 #define     DestroyCaret WINELIB_NAME(DestroyCaret)
7666 BOOL16      WINAPI DestroyCursor16(HCURSOR16);
7667 BOOL32      WINAPI DestroyCursor32(HCURSOR32);
7668 #define     DestroyCursor WINELIB_NAME(DestroyCursor)
7669 BOOL16      WINAPI DestroyIcon16(HICON16);
7670 BOOL32      WINAPI DestroyIcon32(HICON32);
7671 #define     DestroyIcon WINELIB_NAME(DestroyIcon)
7672 BOOL16      WINAPI DestroyMenu16(HMENU16);
7673 BOOL32      WINAPI DestroyMenu32(HMENU32);
7674 #define     DestroyMenu WINELIB_NAME(DestroyMenu)
7675 BOOL16      WINAPI DestroyWindow16(HWND16);
7676 BOOL32      WINAPI DestroyWindow32(HWND32);
7677 #define     DestroyWindow WINELIB_NAME(DestroyWindow)
7678 INT16       WINAPI DialogBox16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
7679 #define     DialogBox32A(inst,template,owner,func) \
7680             DialogBoxParam32A(inst,template,owner,func,0)
7681 #define     DialogBox32W(inst,template,owner,func) \
7682             DialogBoxParam32W(inst,template,owner,func,0)
7683 #define     DialogBox WINELIB_NAME_AW(DialogBox)
7684 INT16       WINAPI DialogBoxIndirect16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16);
7685 #define     DialogBoxIndirect32A(inst,template,owner,func) \
7686             DialogBoxIndirectParam32A(inst,template,owner,func,0)
7687 #define     DialogBoxIndirect32W(inst,template,owner,func) \
7688             DialogBoxIndirectParam32W(inst,template,owner,func,0)
7689 #define     DialogBoxIndirect WINELIB_NAME_AW(DialogBoxIndirect)
7690 INT16       WINAPI DialogBoxIndirectParam16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16,LPARAM);
7691 INT32       WINAPI DialogBoxIndirectParam32A(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
7692 INT32       WINAPI DialogBoxIndirectParam32W(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
7693 #define     DialogBoxIndirectParam WINELIB_NAME_AW(DialogBoxIndirectParam)
7694 INT16       WINAPI DialogBoxParam16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16,LPARAM);
7695 INT32       WINAPI DialogBoxParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
7696 INT32       WINAPI DialogBoxParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
7697 #define     DialogBoxParam WINELIB_NAME_AW(DialogBoxParam)
7698 LONG        WINAPI DispatchMessage16(const MSG16*);
7699 LONG        WINAPI DispatchMessage32A(const MSG32*);
7700 LONG        WINAPI DispatchMessage32W(const MSG32*);
7701 #define     DispatchMessage WINELIB_NAME_AW(DispatchMessage)
7702 INT16       WINAPI DlgDirList16(HWND16,LPSTR,INT16,INT16,UINT16);
7703 INT32       WINAPI DlgDirList32A(HWND32,LPSTR,INT32,INT32,UINT32);
7704 INT32       WINAPI DlgDirList32W(HWND32,LPWSTR,INT32,INT32,UINT32);
7705 #define     DlgDirList WINELIB_NAME_AW(DlgDirList)
7706 INT16       WINAPI DlgDirListComboBox16(HWND16,LPSTR,INT16,INT16,UINT16);
7707 INT32       WINAPI DlgDirListComboBox32A(HWND32,LPSTR,INT32,INT32,UINT32);
7708 INT32       WINAPI DlgDirListComboBox32W(HWND32,LPWSTR,INT32,INT32,UINT32);
7709 #define     DlgDirListComboBox WINELIB_NAME_AW(DlgDirListComboBox)
7710 BOOL16      WINAPI DlgDirSelectComboBoxEx16(HWND16,LPSTR,INT16,INT16);
7711 BOOL32      WINAPI DlgDirSelectComboBoxEx32A(HWND32,LPSTR,INT32,INT32);
7712 BOOL32      WINAPI DlgDirSelectComboBoxEx32W(HWND32,LPWSTR,INT32,INT32);
7713 #define     DlgDirSelectComboBoxEx WINELIB_NAME_AW(DlgDirSelectComboBoxEx)
7714 BOOL16      WINAPI DlgDirSelectEx16(HWND16,LPSTR,INT16,INT16);
7715 BOOL32      WINAPI DlgDirSelectEx32A(HWND32,LPSTR,INT32,INT32);
7716 BOOL32      WINAPI DlgDirSelectEx32W(HWND32,LPWSTR,INT32,INT32);
7717 #define     DlgDirSelectEx WINELIB_NAME_AW(DlgDirSelectEx)
7718 BOOL16      WINAPI DPtoLP16(HDC16,LPPOINT16,INT16);
7719 BOOL32      WINAPI DPtoLP32(HDC32,LPPOINT32,INT32);
7720 #define     DPtoLP WINELIB_NAME(DPtoLP)
7721 BOOL16      WINAPI DragDetect16(HWND16,POINT16);
7722 BOOL32      WINAPI DragDetect32(HWND32,POINT32);
7723 #define     DragDetect WINELIB_NAME(DragDetect)
7724 DWORD       WINAPI DragObject16(HWND16,HWND16,UINT16,HANDLE16,WORD,HCURSOR16);
7725 DWORD       WINAPI DragObject32(HWND32,HWND32,UINT32,DWORD,HCURSOR32);
7726 #define     DragObject WINELIB_NAME(DragObject)
7727 BOOL32      WINAPI DrawAnimatedRects32(HWND32,int,const RECT32*,const RECT32*);
7728 #define     DrawAnimatedRects WINELIB_NAME(DrawAnimatedRects)
7729 BOOL16      WINAPI DrawCaption16(HWND16,HDC16,const RECT16*,UINT16);
7730 BOOL32      WINAPI DrawCaption32(HWND32,HDC32,const RECT32*,UINT32);
7731 #define     DrawCaption WINELIB_NAME(DrawCaption)
7732 BOOL16      WINAPI DrawCaptionTemp16(HWND16,HDC16, const RECT16*,HFONT16,HICON16,LPCSTR,UINT16);
7733 BOOL32      WINAPI DrawCaptionTemp32A(HWND32,HDC32,const RECT32*,HFONT32,HICON32,LPCSTR,UINT32);
7734 BOOL32      WINAPI DrawCaptionTemp32W(HWND32,HDC32,const RECT32*,HFONT32,HICON32,LPCWSTR,UINT32);
7735 #define     DrawCaptionTemp WINELIB_NAME_AW(DrawCaptionTemp)
7736 BOOL16      WINAPI DrawEdge16(HDC16,LPRECT16,UINT16,UINT16);
7737 BOOL32      WINAPI DrawEdge32(HDC32,LPRECT32,UINT32,UINT32);
7738 #define     DrawEdge WINELIB_NAME(DrawEdge)
7739 void        WINAPI DrawFocusRect16(HDC16,const RECT16*);
7740 void        WINAPI DrawFocusRect32(HDC32,const RECT32*);
7741 #define     DrawFocusRect WINELIB_NAME(DrawFocusRect)
7742 BOOL16      WINAPI DrawFrameControl16(HDC16,LPRECT16,UINT16,UINT16);
7743 BOOL32      WINAPI DrawFrameControl32(HDC32,LPRECT32,UINT32,UINT32);
7744 #define     DrawFrameControl WINELIB_NAME(DrawFrameControl)
7745 BOOL16      WINAPI DrawIcon16(HDC16,INT16,INT16,HICON16);
7746 BOOL32      WINAPI DrawIcon32(HDC32,INT32,INT32,HICON32);
7747 #define     DrawIcon WINELIB_NAME(DrawIcon)
7748 BOOL16      WINAPI DrawIconEx16(HDC16,INT16,INT16,HICON16,INT16,INT16,
7749                                 UINT16,HBRUSH16,UINT16);
7750 BOOL32      WINAPI DrawIconEx32(HDC32,INT32,INT32,HICON32,INT32,INT32,
7751                                 UINT32,HBRUSH32,UINT32);
7752 #define     DrawIconEx WINELIB_NAME(DrawIconEx)
7753 VOID        WINAPI DrawMenuBar16(HWND16);
7754 BOOL32      WINAPI DrawMenuBar32(HWND32);
7755 #define     DrawMenuBar WINELIB_NAME(DrawMenuBar)
7756 BOOL16      WINAPI DrawState16A(HDC16,HBRUSH16,DRAWSTATEPROC16,LPARAM,WPARAM16,INT16,INT16,INT16,INT16,UINT16);
7757 BOOL32      WINAPI DrawState32A(HDC32,HBRUSH32,DRAWSTATEPROC32,LPARAM,WPARAM32,INT32,INT32,INT32,INT32,UINT32);
7758 BOOL32      WINAPI DrawState32W(HDC32,HBRUSH32,DRAWSTATEPROC32,LPARAM,WPARAM32,INT32,INT32,INT32,INT32,UINT32);
7759 #define     DrawState WINELIB_NAME_AW(DrawState)
7760 INT16       WINAPI DrawText16(HDC16,LPCSTR,INT16,LPRECT16,UINT16);
7761 INT32       WINAPI DrawText32A(HDC32,LPCSTR,INT32,LPRECT32,UINT32);
7762 INT32       WINAPI DrawText32W(HDC32,LPCWSTR,INT32,LPRECT32,UINT32);
7763 #define     DrawText WINELIB_NAME_AW(DrawText)
7764 BOOL16      WINAPI Ellipse16(HDC16,INT16,INT16,INT16,INT16);
7765 BOOL32      WINAPI Ellipse32(HDC32,INT32,INT32,INT32,INT32);
7766 #define     Ellipse WINELIB_NAME(Ellipse)
7767 BOOL16      WINAPI EmptyClipboard16(void);
7768 BOOL32      WINAPI EmptyClipboard32(void);
7769 #define     EmptyClipboard WINELIB_NAME(EmptyClipboard)
7770 UINT16      WINAPI EnableMenuItem16(HMENU16,UINT16,UINT16);
7771 UINT32      WINAPI EnableMenuItem32(HMENU32,UINT32,UINT32);
7772 #define     EnableMenuItem WINELIB_NAME(EnableMenuItem)
7773 BOOL16      WINAPI EnableScrollBar16(HWND16,INT16,UINT16);
7774 BOOL32      WINAPI EnableScrollBar32(HWND32,INT32,UINT32);
7775 #define     EnableScrollBar WINELIB_NAME(EnableScrollBar)
7776 BOOL16      WINAPI EnableWindow16(HWND16,BOOL16);
7777 BOOL32      WINAPI EnableWindow32(HWND32,BOOL32);
7778 #define     EnableWindow WINELIB_NAME(EnableWindow)
7779 BOOL16      WINAPI EndDeferWindowPos16(HDWP16);
7780 BOOL32      WINAPI EndDeferWindowPos32(HDWP32);
7781 #define     EndDeferWindowPos WINELIB_NAME(EndDeferWindowPos)
7782 BOOL16      WINAPI EndDialog16(HWND16,INT16);
7783 BOOL32      WINAPI EndDialog32(HWND32,INT32);
7784 #define     EndDialog WINELIB_NAME(EndDialog)
7785 INT16       WINAPI EndDoc16(HDC16);
7786 INT32       WINAPI EndDoc32(HDC32);
7787 #define     EndDoc WINELIB_NAME(EndDoc)
7788 BOOL16      WINAPI EndPaint16(HWND16,const PAINTSTRUCT16*);
7789 BOOL32      WINAPI EndPaint32(HWND32,const PAINTSTRUCT32*);
7790 #define     EndPaint WINELIB_NAME(EndPaint)
7791 BOOL16      WINAPI EndPath16(HDC16);
7792 BOOL32      WINAPI EndPath32(HDC32);
7793 #define     EndPath WINELIB_NAME(EndPath)
7794 BOOL16      WINAPI EnumChildWindows16(HWND16,WNDENUMPROC16,LPARAM);
7795 BOOL32      WINAPI EnumChildWindows32(HWND32,WNDENUMPROC32,LPARAM);
7796 #define     EnumChildWindows WINELIB_NAME(EnumChildWindows)
7797 UINT16      WINAPI EnumClipboardFormats16(UINT16);
7798 UINT32      WINAPI EnumClipboardFormats32(UINT32);
7799 #define     EnumClipboardFormats WINELIB_NAME(EnumClipboardFormats)
7800 INT16       WINAPI EnumFontFamilies16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
7801 INT32       WINAPI EnumFontFamilies32A(HDC32,LPCSTR,FONTENUMPROC32A,LPARAM);
7802 INT32       WINAPI EnumFontFamilies32W(HDC32,LPCWSTR,FONTENUMPROC32W,LPARAM);
7803 #define     EnumFontFamilies WINELIB_NAME_AW(EnumFontFamilies)
7804 INT16       WINAPI EnumFontFamiliesEx16(HDC16,LPLOGFONT16,FONTENUMPROCEX16,LPARAM,DWORD);
7805 INT32       WINAPI EnumFontFamiliesEx32A(HDC32,LPLOGFONT32A,FONTENUMPROCEX32A,LPARAM,DWORD);
7806 INT32       WINAPI EnumFontFamiliesEx32W(HDC32,LPLOGFONT32W,FONTENUMPROCEX32W,LPARAM,DWORD);
7807 #define     EnumFontFamiliesEx WINELIB_NAME_AW(EnumFontFamiliesEx)
7808 INT16       WINAPI EnumFonts16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
7809 INT32       WINAPI EnumFonts32A(HDC32,LPCSTR,FONTENUMPROC32A,LPARAM);
7810 INT32       WINAPI EnumFonts32W(HDC32,LPCWSTR,FONTENUMPROC32W,LPARAM);
7811 #define     EnumFonts WINELIB_NAME_AW(EnumFonts)
7812 BOOL16      WINAPI EnumMetaFile16(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
7813 BOOL32      WINAPI EnumMetaFile32(HDC32,HMETAFILE32,MFENUMPROC32,LPARAM);
7814 #define     EnumMetaFile WINELIB_NAME(EnumMetaFile)
7815 INT16       WINAPI EnumObjects16(HDC16,INT16,GOBJENUMPROC16,LPARAM);
7816 INT32       WINAPI EnumObjects32(HDC32,INT32,GOBJENUMPROC32,LPARAM);
7817 #define     EnumObjects WINELIB_NAME(EnumObjects)
7818 INT16       WINAPI EnumProps16(HWND16,PROPENUMPROC16);
7819 INT32       WINAPI EnumProps32A(HWND32,PROPENUMPROC32A);
7820 INT32       WINAPI EnumProps32W(HWND32,PROPENUMPROC32W);
7821 #define     EnumProps WINELIB_NAME_AW(EnumProps)
7822 BOOL16      WINAPI EnumTaskWindows16(HTASK16,WNDENUMPROC16,LPARAM);
7823 #define     EnumTaskWindows32(handle,proc,lparam) \
7824             EnumThreadWindows(handle,proc,lparam)
7825 #define     EnumTaskWindows WINELIB_NAME(EnumTaskWindows)
7826 BOOL16      WINAPI EnumWindows16(WNDENUMPROC16,LPARAM);
7827 BOOL32      WINAPI EnumWindows32(WNDENUMPROC32,LPARAM);
7828 #define     EnumWindows WINELIB_NAME(EnumWindows)
7829 BOOL16      WINAPI EqualRect16(const RECT16*,const RECT16*);
7830 BOOL32      WINAPI EqualRect32(const RECT32*,const RECT32*);
7831 #define     EqualRect WINELIB_NAME(EqualRect)
7832 BOOL16      WINAPI EqualRgn16(HRGN16,HRGN16);
7833 BOOL32      WINAPI EqualRgn32(HRGN32,HRGN32);
7834 #define     EqualRgn WINELIB_NAME(EqualRgn)
7835 INT16       WINAPI Escape16(HDC16,INT16,INT16,SEGPTR,SEGPTR);
7836 INT32       WINAPI Escape32(HDC32,INT32,INT32,LPCSTR,LPVOID);
7837 #define     Escape WINELIB_NAME(Escape)
7838 LONG        WINAPI EscapeCommFunction16(UINT16,UINT16);
7839 BOOL32      WINAPI EscapeCommFunction32(INT32,UINT32);
7840 #define     EscapeCommFunction WINELIB_NAME(EscapeCommFunction)
7841 INT16       WINAPI ExcludeClipRect16(HDC16,INT16,INT16,INT16,INT16);
7842 INT32       WINAPI ExcludeClipRect32(HDC32,INT32,INT32,INT32,INT32);
7843 #define     ExcludeClipRect WINELIB_NAME(ExcludeClipRect)
7844 INT16       WINAPI ExcludeUpdateRgn16(HDC16,HWND16);
7845 INT32       WINAPI ExcludeUpdateRgn32(HDC32,HWND32);
7846 #define     ExcludeUpdateRgn WINELIB_NAME(ExcludeUpdateRgn)
7847 BOOL16      WINAPI ExitWindows16(DWORD,UINT16);
7848 #define     ExitWindows32(a,b) ExitWindowsEx(EWX_LOGOFF,0xffffffff)
7849 #define     ExitWindows WINELIB_NAME(ExitWindows)
7850 HPEN16      WINAPI ExtCreatePen16(DWORD,DWORD,const LOGBRUSH16*,DWORD,const DWORD*);
7851 HPEN32      WINAPI ExtCreatePen32(DWORD,DWORD,const LOGBRUSH32*,DWORD,const DWORD*);
7852 #define     ExtCreatePen WINELIB_NAME(ExtCreatePen)
7853 BOOL16      WINAPI ExtFloodFill16(HDC16,INT16,INT16,COLORREF,UINT16);
7854 BOOL32      WINAPI ExtFloodFill32(HDC32,INT32,INT32,COLORREF,UINT32);
7855 #define     ExtFloodFill WINELIB_NAME(ExtFloodFill)
7856 HICON16     WINAPI ExtractIcon16(HINSTANCE16,LPCSTR,UINT16);
7857 HICON32     WINAPI ExtractIcon32A(HINSTANCE32,LPCSTR,UINT32);
7858 HICON32     WINAPI ExtractIcon32W(HINSTANCE32,LPCWSTR,UINT32);
7859 #define     ExtractIcon WINELIB_NAME_AW(ExtractIcon)
7860 HICON16     WINAPI ExtractAssociatedIcon16(HINSTANCE16,LPSTR,LPWORD);
7861 HICON32     WINAPI ExtractAssociatedIcon32A(HINSTANCE32,LPSTR,LPWORD);
7862 HICON32     WINAPI ExtractAssociatedIcon32W(HINSTANCE32,LPWSTR,LPWORD);
7863 #define     ExtractAssociatedIcon WINELIB_NAME_AW(ExtractAssociatedIcon)
7864 BOOL16      WINAPI ExtTextOut16(HDC16,INT16,INT16,UINT16,const RECT16*,
7865                                 LPCSTR,UINT16,const INT16*);
7866 BOOL32      WINAPI ExtTextOut32A(HDC32,INT32,INT32,UINT32,const RECT32*,
7867                                  LPCSTR,UINT32,const INT32*);
7868 BOOL32      WINAPI ExtTextOut32W(HDC32,INT32,INT32,UINT32,const RECT32*,
7869                                  LPCWSTR,UINT32,const INT32*);
7870 #define     ExtTextOut WINELIB_NAME_AW(ExtTextOut)
7871 void        WINAPI FatalAppExit16(UINT16,LPCSTR);
7872 void        WINAPI FatalAppExit32A(UINT32,LPCSTR);
7873 void        WINAPI FatalAppExit32W(UINT32,LPCWSTR);
7874 #define     FatalAppExit WINELIB_NAME_AW(FatalAppExit)
7875 BOOL16      WINAPI FillPath16(HDC16);
7876 BOOL32      WINAPI FillPath32(HDC32);
7877 #define     FillPath WINELIB_NAME(FillPath)
7878 INT16       WINAPI FillRect16(HDC16,const RECT16*,HBRUSH16);
7879 INT32       WINAPI FillRect32(HDC32,const RECT32*,HBRUSH32);
7880 #define     FillRect WINELIB_NAME(FillRect)
7881 BOOL16      WINAPI FillRgn16(HDC16,HRGN16,HBRUSH16);
7882 BOOL32      WINAPI FillRgn32(HDC32,HRGN32,HBRUSH32);
7883 #define     FillRgn WINELIB_NAME(FillRgn)
7884 ATOM        WINAPI FindAtom16(SEGPTR);
7885 ATOM        WINAPI FindAtom32A(LPCSTR);
7886 ATOM        WINAPI FindAtom32W(LPCWSTR);
7887 #define     FindAtom WINELIB_NAME_AW(FindAtom)
7888 BOOL16      WINAPI FindClose16(HANDLE16);
7889 BOOL32      WINAPI FindClose32(HANDLE32);
7890 #define     FindClose WINELIB_NAME(FindClose)
7891 HINSTANCE16 WINAPI FindExecutable16(LPCSTR,LPCSTR,LPSTR);
7892 HINSTANCE32 WINAPI FindExecutable32A(LPCSTR,LPCSTR,LPSTR);
7893 HINSTANCE32 WINAPI FindExecutable32W(LPCWSTR,LPCWSTR,LPWSTR);
7894 #define     FindExecutable WINELIB_NAME_AW(FindExecutable)
7895 HANDLE16    WINAPI FindFirstFile16(LPCSTR,LPWIN32_FIND_DATA32A);
7896 HANDLE32    WINAPI FindFirstFile32A(LPCSTR,LPWIN32_FIND_DATA32A);
7897 HANDLE32    WINAPI FindFirstFile32W(LPCWSTR,LPWIN32_FIND_DATA32W);
7898 #define     FindFirstFile WINELIB_NAME_AW(FindFirstFile)
7899 BOOL16      WINAPI FindNextFile16(HANDLE16,LPWIN32_FIND_DATA32A);
7900 BOOL32      WINAPI FindNextFile32A(HANDLE32,LPWIN32_FIND_DATA32A);
7901 BOOL32      WINAPI FindNextFile32W(HANDLE32,LPWIN32_FIND_DATA32W);
7902 #define     FindNextFile WINELIB_NAME_AW(FindNextFile)
7903 HRSRC16     WINAPI FindResource16(HINSTANCE16,SEGPTR,SEGPTR);
7904 HRSRC32     WINAPI FindResource32A(HMODULE32,LPCSTR,LPCSTR);
7905 HRSRC32     WINAPI FindResource32W(HMODULE32,LPCWSTR,LPCWSTR);
7906 #define     FindResource WINELIB_NAME_AW(FindResource)
7907 HWND16      WINAPI FindWindow16(SEGPTR,LPCSTR);
7908 HWND32      WINAPI FindWindow32A(LPCSTR,LPCSTR);
7909 HWND32      WINAPI FindWindow32W(LPCWSTR,LPCWSTR);
7910 #define     FindWindow WINELIB_NAME_AW(FindWindow)
7911 HWND16      WINAPI FindWindowEx16(HWND16,HWND16,SEGPTR,LPCSTR);
7912 HWND32      WINAPI FindWindowEx32A(HWND32,HWND32,LPCSTR,LPCSTR);
7913 HWND32      WINAPI FindWindowEx32W(HWND32,HWND32,LPCWSTR,LPCWSTR);
7914 #define     FindWindowEx WINELIB_NAME_AW(FindWindowEx)
7915 BOOL16      WINAPI FlashWindow16(HWND16,BOOL16);
7916 BOOL32      WINAPI FlashWindow32(HWND32,BOOL32);
7917 #define     FlashWindow WINELIB_NAME(FlashWindow)
7918 BOOL16      WINAPI FloodFill16(HDC16,INT16,INT16,COLORREF);
7919 BOOL32      WINAPI FloodFill32(HDC32,INT32,INT32,COLORREF);
7920 #define     FloodFill WINELIB_NAME(FloodFill)
7921 INT16       WINAPI FrameRect16(HDC16,const RECT16*,HBRUSH16);
7922 INT32       WINAPI FrameRect32(HDC32,const RECT32*,HBRUSH32);
7923 #define     FrameRect WINELIB_NAME(FrameRect)
7924 BOOL16      WINAPI FrameRgn16(HDC16,HRGN16,HBRUSH16,INT16,INT16);
7925 BOOL32      WINAPI FrameRgn32(HDC32,HRGN32,HBRUSH32,INT32,INT32);
7926 #define     FrameRgn WINELIB_NAME(FrameRgn)
7927 VOID        WINAPI FreeLibrary16(HINSTANCE16);
7928 BOOL32      WINAPI FreeLibrary32(HMODULE32);
7929 #define     FreeLibrary WINELIB_NAME(FreeLibrary)
7930 BOOL16      WINAPI FreeModule16(HMODULE16);
7931 #define     FreeModule32(handle) FreeLibrary32(handle)
7932 #define     FreeModule WINELIB_NAME(FreeModule)
7933 void        WINAPI FreeProcInstance16(FARPROC16);
7934 #define     FreeProcInstance32(proc) /*nothing*/
7935 #define     FreeProcInstance WINELIB_NAME(FreeProcInstance)
7936 BOOL16      WINAPI FreeResource16(HGLOBAL16);
7937 BOOL32      WINAPI FreeResource32(HGLOBAL32);
7938 #define     FreeResource WINELIB_NAME(FreeResource)
7939 HWND16      WINAPI GetActiveWindow16(void);
7940 HWND32      WINAPI GetActiveWindow32(void);
7941 #define     GetActiveWindow WINELIB_NAME(GetActiveWindow)
7942 DWORD       WINAPI GetAppCompatFlags16(HTASK16);
7943 DWORD       WINAPI GetAppCompatFlags32(HTASK32);
7944 #define     GetAppCompatFlags WINELIB_NAME(GetAppCompatFlags)
7945 INT16       WINAPI GetArcDirection16(HDC16);
7946 INT32       WINAPI GetArcDirection32(HDC32);
7947 #define     GetArcDirection WINELIB_NAME(GetArcDirection)
7948 WORD        WINAPI GetAsyncKeyState16(INT16);
7949 WORD        WINAPI GetAsyncKeyState32(INT32);
7950 #define     GetAsyncKeyState WINELIB_NAME(GetAsyncKeyState)
7951 UINT16      WINAPI GetAtomName16(ATOM,LPSTR,INT16);
7952 UINT32      WINAPI GetAtomName32A(ATOM,LPSTR,INT32);
7953 UINT32      WINAPI GetAtomName32W(ATOM,LPWSTR,INT32);
7954 #define     GetAtomName WINELIB_NAME_AW(GetAtomName)
7955 BOOL16      WINAPI GetAspectRatioFilterEx16(HDC16,LPSIZE16);
7956 BOOL32      WINAPI GetAspectRatioFilterEx32(HDC32,LPSIZE32);
7957 #define     GetAspectRatioFilterEx WINELIB_NAME(GetAspectRatioFilterEx)
7958 LONG        WINAPI GetBitmapBits16(HBITMAP16,LONG,LPVOID);
7959 LONG        WINAPI GetBitmapBits32(HBITMAP32,LONG,LPVOID);
7960 #define     GetBitmapBits WINELIB_NAME(GetBitmapBits)
7961 BOOL16      WINAPI GetBitmapDimensionEx16(HBITMAP16,LPSIZE16);
7962 BOOL32      WINAPI GetBitmapDimensionEx32(HBITMAP32,LPSIZE32);
7963 #define     GetBitmapDimensionEx WINELIB_NAME(GetBitmapDimensionEx)
7964 BOOL16      WINAPI GetBrushOrgEx16(HDC16,LPPOINT16);
7965 BOOL32      WINAPI GetBrushOrgEx32(HDC32,LPPOINT32);
7966 #define     GetBrushOrgEx WINELIB_NAME(GetBrushOrgEx)
7967 COLORREF    WINAPI GetBkColor16(HDC16);
7968 COLORREF    WINAPI GetBkColor32(HDC32);
7969 #define     GetBkColor WINELIB_NAME(GetBkColor)
7970 INT16       WINAPI GetBkMode16(HDC16);
7971 INT32       WINAPI GetBkMode32(HDC32);
7972 #define     GetBkMode WINELIB_NAME(GetBkMode)
7973 UINT16      WINAPI GetBoundsRect16(HDC16,LPRECT16,UINT16);
7974 UINT32      WINAPI GetBoundsRect32(HDC32,LPRECT32,UINT32);
7975 #define     GetBoundsRect WINELIB_NAME(GetBoundsRect)
7976 HWND16      WINAPI GetCapture16(void);
7977 HWND32      WINAPI GetCapture32(void);
7978 #define     GetCapture WINELIB_NAME(GetCapture)
7979 UINT16      WINAPI GetCaretBlinkTime16(void);
7980 UINT32      WINAPI GetCaretBlinkTime32(void);
7981 #define     GetCaretBlinkTime WINELIB_NAME(GetCaretBlinkTime)
7982 VOID        WINAPI GetCaretPos16(LPPOINT16);
7983 BOOL32      WINAPI GetCaretPos32(LPPOINT32);
7984 #define     GetCaretPos WINELIB_NAME(GetCaretPos)
7985 BOOL16      WINAPI GetCharABCWidths16(HDC16,UINT16,UINT16,LPABC16);
7986 BOOL32      WINAPI GetCharABCWidths32A(HDC32,UINT32,UINT32,LPABC32);
7987 BOOL32      WINAPI GetCharABCWidths32W(HDC32,UINT32,UINT32,LPABC32);
7988 #define     GetCharABCWidths WINELIB_NAME_AW(GetCharABCWidths)
7989 DWORD       WINAPI GetCharacterPlacement32A(HDC32,LPCSTR,INT32,INT32,GCP_RESULTS32A*,DWORD);
7990 DWORD       WINAPI GetCharacterPlacement32W(HDC32,LPCWSTR,INT32,INT32,GCP_RESULTS32W*,DWORD);
7991 #define     GetCharacterPlacement WINELIB_NAME_AW(GetCharacterPlacement)
7992 BOOL16      WINAPI GetCharWidth16(HDC16,UINT16,UINT16,LPINT16);
7993 BOOL32      WINAPI GetCharWidth32A(HDC32,UINT32,UINT32,LPINT32);
7994 BOOL32      WINAPI GetCharWidth32W(HDC32,UINT32,UINT32,LPINT32);
7995 #define     GetCharWidth WINELIB_NAME_AW(GetCharWidth)
7996 BOOL16      WINAPI GetClassInfo16(HINSTANCE16,SEGPTR,WNDCLASS16 *);
7997 BOOL32      WINAPI GetClassInfo32A(HINSTANCE32,LPCSTR,WNDCLASS32A *);
7998 BOOL32      WINAPI GetClassInfo32W(HINSTANCE32,LPCWSTR,WNDCLASS32W *);
7999 #define     GetClassInfo WINELIB_NAME_AW(GetClassInfo)
8000 BOOL16      WINAPI GetClassInfoEx16(HINSTANCE16,SEGPTR,WNDCLASSEX16 *);
8001 BOOL32      WINAPI GetClassInfoEx32A(HINSTANCE32,LPCSTR,WNDCLASSEX32A *);
8002 BOOL32      WINAPI GetClassInfoEx32W(HINSTANCE32,LPCWSTR,WNDCLASSEX32W *);
8003 #define     GetClassInfoEx WINELIB_NAME_AW(GetClassInfoEx)
8004 LONG        WINAPI GetClassLong16(HWND16,INT16);
8005 LONG        WINAPI GetClassLong32A(HWND32,INT32);
8006 LONG        WINAPI GetClassLong32W(HWND32,INT32);
8007 #define     GetClassLong WINELIB_NAME_AW(GetClassLong)
8008 INT16       WINAPI GetClassName16(HWND16,LPSTR,INT16);
8009 INT32       WINAPI GetClassName32A(HWND32,LPSTR,INT32);
8010 INT32       WINAPI GetClassName32W(HWND32,LPWSTR,INT32);
8011 #define     GetClassName WINELIB_NAME_AW(GetClassName)
8012 WORD        WINAPI GetClassWord16(HWND16,INT16);
8013 WORD        WINAPI GetClassWord32(HWND32,INT32);
8014 #define     GetClassWord WINELIB_NAME(GetClassWord)
8015 void        WINAPI GetClientRect16(HWND16,LPRECT16);
8016 void        WINAPI GetClientRect32(HWND32,LPRECT32);
8017 #define     GetClientRect WINELIB_NAME(GetClientRect)
8018 HANDLE16    WINAPI GetClipboardData16(UINT16);
8019 HANDLE32    WINAPI GetClipboardData32(UINT32);
8020 #define     GetClipboardData WINELIB_NAME(GetClipboardData)
8021 INT16       WINAPI GetClipboardFormatName16(UINT16,LPSTR,INT16);
8022 INT32       WINAPI GetClipboardFormatName32A(UINT32,LPSTR,INT32);
8023 INT32       WINAPI GetClipboardFormatName32W(UINT32,LPWSTR,INT32);
8024 #define     GetClipboardFormatName WINELIB_NAME_AW(GetClipboardFormatName)
8025 HWND16      WINAPI GetClipboardOwner16(void);
8026 HWND32      WINAPI GetClipboardOwner32(void);
8027 #define     GetClipboardOwner WINELIB_NAME(GetClipboardOwner)
8028 HWND16      WINAPI GetClipboardViewer16(void);
8029 HWND32      WINAPI GetClipboardViewer32(void);
8030 #define     GetClipboardViewer WINELIB_NAME(GetClipboardViewer)
8031 INT16       WINAPI GetClipBox16(HDC16,LPRECT16);
8032 INT32       WINAPI GetClipBox32(HDC32,LPRECT32);
8033 #define     GetClipBox WINELIB_NAME(GetClipBox)
8034 void        WINAPI GetClipCursor16(LPRECT16);
8035 void        WINAPI GetClipCursor32(LPRECT32);
8036 #define     GetClipCursor WINELIB_NAME(GetClipCursor)
8037 HRGN16      WINAPI GetClipRgn16(HDC16);
8038 INT32       WINAPI GetClipRgn32(HDC32,HRGN32);
8039 #define     GetClipRgn WINELIB_NAME(GetClipRgn)
8040 INT16       WINAPI GetCommState16(INT16,LPDCB16);
8041 BOOL32      WINAPI GetCommState32(INT32,LPDCB32);
8042 #define     GetCommState WINELIB_NAME(GetCommState)
8043 UINT16      WINAPI GetCurrentDirectory16(UINT16,LPSTR);
8044 UINT32      WINAPI GetCurrentDirectory32A(UINT32,LPSTR);
8045 UINT32      WINAPI GetCurrentDirectory32W(UINT32,LPWSTR);
8046 #define     GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
8047 BOOL16      WINAPI GetCurrentPositionEx16(HDC16,LPPOINT16);
8048 BOOL32      WINAPI GetCurrentPositionEx32(HDC32,LPPOINT32);
8049 #define     GetCurrentPositionEx WINELIB_NAME(GetCurrentPositionEx)
8050 DWORD       WINAPI GetCurrentTime16(void);
8051 #define     GetCurrentTime32() GetTickCount()
8052 #define     GetCurrentTime WINELIB_NAME(GetCurrentTime)
8053 HCURSOR16   WINAPI GetCursor16(void);
8054 HCURSOR32   WINAPI GetCursor32(void);
8055 #define     GetCursor WINELIB_NAME(GetCursor)
8056 void        WINAPI GetCursorPos16(LPPOINT16);
8057 void        WINAPI GetCursorPos32(LPPOINT32);
8058 #define     GetCursorPos WINELIB_NAME(GetCursorPos)
8059 HDC16       WINAPI GetDC16(HWND16);
8060 HDC32       WINAPI GetDC32(HWND32);
8061 #define     GetDC WINELIB_NAME(GetDC)
8062 HDC16       WINAPI GetDCEx16(HWND16,HRGN16,DWORD);
8063 HDC32       WINAPI GetDCEx32(HWND32,HRGN32,DWORD);
8064 #define     GetDCEx WINELIB_NAME(GetDCEx)
8065 HWND16      WINAPI GetDesktopWindow16(void);
8066 HWND32      WINAPI GetDesktopWindow32(void);
8067 #define     GetDesktopWindow WINELIB_NAME(GetDesktopWindow)
8068 INT16       WINAPI GetDeviceCaps16(HDC16,INT16);
8069 INT32       WINAPI GetDeviceCaps32(HDC32,INT32);
8070 #define     GetDeviceCaps WINELIB_NAME(GetDeviceCaps)
8071 UINT16      WINAPI GetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
8072 UINT32      WINAPI GetDIBColorTable32(HDC32,UINT32,UINT32,RGBQUAD*);
8073 #define     GetDIBColorTable WINELIB_NAME(GetDIBColorTable)
8074 INT16       WINAPI GetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPSTR,LPBITMAPINFO,UINT16);
8075 INT32       WINAPI GetDIBits32(HDC32,HBITMAP32,UINT32,UINT32,LPSTR,LPBITMAPINFO,UINT32);
8076 #define     GetDIBits WINELIB_NAME(GetDIBits)
8077 BOOL16      WINAPI GetDiskFreeSpace16(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
8078 BOOL32      WINAPI GetDiskFreeSpace32A(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
8079 BOOL32      WINAPI GetDiskFreeSpace32W(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
8080 #define     GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
8081 BOOL32      WINAPI GetDiskFreeSpaceEx32A(LPCSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
8082 BOOL32      WINAPI GetDiskFreeSpaceEx32W(LPCWSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
8083 #define     GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
8084 INT16       WINAPI GetDlgCtrlID16(HWND16);
8085 INT32       WINAPI GetDlgCtrlID32(HWND32);
8086 #define     GetDlgCtrlID WINELIB_NAME(GetDlgCtrlID)
8087 HWND16      WINAPI GetDlgItem16(HWND16,INT16);
8088 HWND32      WINAPI GetDlgItem32(HWND32,INT32);
8089 #define     GetDlgItem WINELIB_NAME(GetDlgItem)
8090 UINT16      WINAPI GetDlgItemInt16(HWND16,INT16,BOOL16*,BOOL16);
8091 UINT32      WINAPI GetDlgItemInt32(HWND32,INT32,BOOL32*,BOOL32);
8092 #define     GetDlgItemInt WINELIB_NAME(GetDlgItemInt)
8093 INT16       WINAPI GetDlgItemText16(HWND16,INT16,SEGPTR,UINT16);
8094 INT32       WINAPI GetDlgItemText32A(HWND32,INT32,LPSTR,UINT32);
8095 INT32       WINAPI GetDlgItemText32W(HWND32,INT32,LPWSTR,UINT32);
8096 #define     GetDlgItemText WINELIB_NAME_AW(GetDlgItemText)
8097 UINT16      WINAPI GetDoubleClickTime16(void);
8098 UINT32      WINAPI GetDoubleClickTime32(void);
8099 #define     GetDoubleClickTime WINELIB_NAME(GetDoubleClickTime)
8100 UINT16      WINAPI GetDriveType16(UINT16); /* yes, the arguments differ */
8101 UINT32      WINAPI GetDriveType32A(LPCSTR);
8102 UINT32      WINAPI GetDriveType32W(LPCWSTR);
8103 #define     GetDriveType WINELIB_NAME_AW(GetDriveType)
8104 INT16       WINAPI GetExpandedName16(LPCSTR,LPSTR);
8105 INT32       WINAPI GetExpandedName32A(LPCSTR,LPSTR);
8106 INT32       WINAPI GetExpandedName32W(LPCWSTR,LPWSTR);
8107 #define     GetExpandedName WINELIB_NAME_AW(GetExpandedName)
8108 DWORD       WINAPI GetFileAttributes16(LPCSTR);
8109 DWORD       WINAPI GetFileAttributes32A(LPCSTR);
8110 DWORD       WINAPI GetFileAttributes32W(LPCWSTR);
8111 #define     GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
8112 DWORD       WINAPI GetFileVersionInfoSize16(LPCSTR,LPDWORD);
8113 DWORD       WINAPI GetFileVersionInfoSize32A(LPCSTR,LPDWORD);
8114 DWORD       WINAPI GetFileVersionInfoSize32W(LPCWSTR,LPDWORD);
8115 #define     GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
8116 DWORD       WINAPI GetFileVersionInfo16(LPCSTR,DWORD,DWORD,LPVOID);
8117 DWORD       WINAPI GetFileVersionInfo32A(LPCSTR,DWORD,DWORD,LPVOID);
8118 DWORD       WINAPI GetFileVersionInfo32W(LPCWSTR,DWORD,DWORD,LPVOID);
8119 #define     GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)
8120 HWND16      WINAPI GetFocus16(void);
8121 HWND32      WINAPI GetFocus32(void);
8122 #define     GetFocus WINELIB_NAME(GetFocus)
8123 DWORD       WINAPI GetFontData32(HDC32,DWORD,DWORD,LPVOID,DWORD);
8124 #define     GetFontData WINELIB_NAME(GetFontData)
8125 DWORD       WINAPI GetFontLanguageInfo16(HDC16);
8126 DWORD       WINAPI GetFontLanguageInfo32(HDC32);
8127 #define     GetFontLanguageInfo WINELIB_NAME(GetFontLanguageInfo)
8128 HWND16      WINAPI GetForegroundWindow16(void);
8129 HWND32      WINAPI GetForegroundWindow32(void);
8130 #define     GetForegroundWindow WINELIB_NAME(GetForegroundWindow)
8131 DWORD       WINAPI GetFreeSpace16(UINT16);
8132 #define     GetFreeSpace32(w) (0x100000L)
8133 #define     GetFreeSpace WINELIB_NAME(GetFreeSpace)
8134 DWORD       WINAPI GetGlyphOutline16(HDC16,UINT16,UINT16,LPGLYPHMETRICS16,DWORD,LPVOID,const MAT2*);
8135 DWORD       WINAPI GetGlyphOutline32A(HDC32,UINT32,UINT32,LPGLYPHMETRICS32,DWORD,LPVOID,const MAT2*);
8136 DWORD       WINAPI GetGlyphOutline32W(HDC32,UINT32,UINT32,LPGLYPHMETRICS32,DWORD,LPVOID,const MAT2*);
8137 #define     GetGlyphOutline WINELIB_NAME_AW(GetGlyphOutline)
8138 BOOL16      WINAPI GetInputState16(void);
8139 BOOL32      WINAPI GetInputState32(void);
8140 #define     GetInputState WINELIB_NAME(GetInputState)
8141 UINT16      WINAPI GetInternalWindowPos16(HWND16,LPRECT16,LPPOINT16);
8142 UINT32      WINAPI GetInternalWindowPos32(HWND32,LPRECT32,LPPOINT32);
8143 #define     GetInternalWindowPos WINELIB_NAME(GetInternalWindowPos)
8144 INT16       WINAPI GetKBCodePage16(void);
8145 UINT32      WINAPI GetKBCodePage32(void);
8146 #define     GetKBCodePage WINELIB_NAME(GetKBCodePage)
8147 INT16       WINAPI GetKerningPairs16(HDC16,INT16,LPKERNINGPAIR16);
8148 DWORD       WINAPI GetKerningPairs32A(HDC32,DWORD,LPKERNINGPAIR32);
8149 DWORD       WINAPI GetKerningPairs32W(HDC32,DWORD,LPKERNINGPAIR32);
8150 #define     GetKerningPairs WINELIB_NAME_AW(GetKerningPairs)
8151 INT16       WINAPI GetKeyboardType16(INT16);
8152 INT32       WINAPI GetKeyboardType32(INT32);
8153 #define     GetKeyboardType WINELIB_NAME(GetKeyboardType)
8154 INT16       WINAPI GetKeyNameText16(LONG,LPSTR,INT16);
8155 INT32       WINAPI GetKeyNameText32A(LONG,LPSTR,INT32);
8156 INT32       WINAPI GetKeyNameText32W(LONG,LPWSTR,INT32);
8157 #define     GetKeyNameText WINELIB_NAME_AW(GetKeyNameText)
8158 INT16       WINAPI GetKeyboardLayoutName16(LPSTR);
8159 INT32       WINAPI GetKeyboardLayoutName32A(LPSTR);
8160 INT32       WINAPI GetKeyboardLayoutName32W(LPWSTR);
8161 #define     GetKeyboardLayoutName WINELIB_NAME_AW(GetKeyboardLayoutName)
8162 INT16       WINAPI GetKeyState16(INT16);
8163 INT16       WINAPI GetKeyState32(INT32);
8164 #define     GetKeyState WINELIB_NAME(GetKeyState)
8165 HWND16      WINAPI GetLastActivePopup16(HWND16);
8166 HWND32      WINAPI GetLastActivePopup32(HWND32);
8167 #define     GetLastActivePopup WINELIB_NAME(GetLastActivePopup)
8168 UINT32      WINAPI GetLogicalDriveStrings32A(UINT32,LPSTR);
8169 UINT32      WINAPI GetLogicalDriveStrings32W(UINT32,LPWSTR);
8170 #define     GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
8171 INT16       WINAPI GetLocaleInfo16(LCID,LCTYPE,LPSTR,INT16);
8172 INT32       WINAPI GetLocaleInfo32A(LCID,LCTYPE,LPSTR,INT32);
8173 INT32       WINAPI GetLocaleInfo32W(LCID,LCTYPE,LPWSTR,INT32);
8174 #define     GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
8175 INT16       WINAPI GetMapMode16(HDC16);
8176 INT32       WINAPI GetMapMode32(HDC32);
8177 #define     GetMapMode WINELIB_NAME(GetMapMode)
8178 HMENU16     WINAPI GetMenu16(HWND16);
8179 HMENU32     WINAPI GetMenu32(HWND32);
8180 #define     GetMenu WINELIB_NAME(GetMenu)
8181 INT16       WINAPI GetMenuItemCount16(HMENU16);
8182 INT32       WINAPI GetMenuItemCount32(HMENU32);
8183 #define     GetMenuItemCount WINELIB_NAME(GetMenuItemCount)
8184 UINT16      WINAPI GetMenuItemID16(HMENU16,INT16);
8185 UINT32      WINAPI GetMenuItemID32(HMENU32,INT32);
8186 #define     GetMenuItemID WINELIB_NAME(GetMenuItemID)
8187 BOOL16      WINAPI GetMenuItemRect16(HWND16,HMENU16,UINT16,LPRECT16);
8188 BOOL32      WINAPI GetMenuItemRect32(HWND32,HMENU32,UINT32,LPRECT32);
8189 #define     GetMenuItemRect WINELIB_NAME(GetMenuItemRect)
8190 UINT16      WINAPI GetMenuState16(HMENU16,UINT16,UINT16);
8191 UINT32      WINAPI GetMenuState32(HMENU32,UINT32,UINT32);
8192 #define     GetMenuState WINELIB_NAME(GetMenuState)
8193 INT16       WINAPI GetMenuString16(HMENU16,UINT16,LPSTR,INT16,UINT16);
8194 INT32       WINAPI GetMenuString32A(HMENU32,UINT32,LPSTR,INT32,UINT32);
8195 INT32       WINAPI GetMenuString32W(HMENU32,UINT32,LPWSTR,INT32,UINT32);
8196 #define     GetMenuString WINELIB_NAME_AW(GetMenuString)
8197 BOOL16      WINAPI GetMessage16(SEGPTR,HWND16,UINT16,UINT16);
8198 BOOL32      WINAPI GetMessage32A(LPMSG32,HWND32,UINT32,UINT32);
8199 BOOL32      WINAPI GetMessage32W(LPMSG32,HWND32,UINT32,UINT32);
8200 #define     GetMessage WINELIB_NAME_AW(GetMessage)
8201 HMETAFILE16 WINAPI GetMetaFile16(LPCSTR);
8202 HMETAFILE32 WINAPI GetMetaFile32A(LPCSTR);
8203 HMETAFILE32 WINAPI GetMetaFile32W(LPCWSTR);
8204 #define     GetMetaFile WINELIB_NAME_AW(GetMetaFile)
8205 INT16       WINAPI GetModuleFileName16(HINSTANCE16,LPSTR,INT16);
8206 DWORD       WINAPI GetModuleFileName32A(HMODULE32,LPSTR,DWORD);
8207 DWORD       WINAPI GetModuleFileName32W(HMODULE32,LPWSTR,DWORD);
8208 #define     GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
8209 HMODULE16   WINAPI GetModuleHandle16(LPCSTR);
8210 HMODULE32   WINAPI GetModuleHandle32A(LPCSTR);
8211 HMODULE32   WINAPI GetModuleHandle32W(LPCWSTR);
8212 #define     GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
8213 DWORD       WINAPI GetNearestColor16(HDC16,DWORD);
8214 DWORD       WINAPI GetNearestColor32(HDC32,DWORD);
8215 #define     GetNearestColor WINELIB_NAME(GetNearestColor)
8216 UINT16      WINAPI GetNearestPaletteIndex16(HPALETTE16,COLORREF);
8217 UINT32      WINAPI GetNearestPaletteIndex32(HPALETTE32,COLORREF);
8218 #define     GetNearestPaletteIndex WINELIB_NAME(GetNearestPaletteIndex)
8219 HWND16      WINAPI GetNextDlgGroupItem16(HWND16,HWND16,BOOL16);
8220 HWND32      WINAPI GetNextDlgGroupItem32(HWND32,HWND32,BOOL32);
8221 #define     GetNextDlgGroupItem WINELIB_NAME(GetNextDlgGroupItem)
8222 HWND16      WINAPI GetNextDlgTabItem16(HWND16,HWND16,BOOL16);
8223 HWND32      WINAPI GetNextDlgTabItem32(HWND32,HWND32,BOOL32);
8224 #define     GetNextDlgTabItem WINELIB_NAME(GetNextDlgTabItem)
8225 HWND16      WINAPI GetNextWindow16(HWND16,WORD);
8226 #define     GetNextWindow32 GetWindow32
8227 #define     GetNextWindow WINELIB_NAME(GetNextWindow)
8228 INT16       WINAPI GetObject16(HANDLE16,INT16,LPVOID);
8229 INT32       WINAPI GetObject32A(HANDLE32,INT32,LPVOID);
8230 INT32       WINAPI GetObject32W(HANDLE32,INT32,LPVOID);
8231 #define     GetObject WINELIB_NAME_AW(GetObject)
8232 HWND16      WINAPI GetOpenClipboardWindow16(void);
8233 HWND32      WINAPI GetOpenClipboardWindow32(void);
8234 #define     GetOpenClipboardWindow WINELIB_NAME(GetOpenClipboardWindow)
8235 UINT16      WINAPI GetOutlineTextMetrics16(HDC16,UINT16,LPOUTLINETEXTMETRIC16);
8236 UINT32      WINAPI GetOutlineTextMetrics32A(HDC32,UINT32,LPOUTLINETEXTMETRIC32A);
8237 UINT32      WINAPI GetOutlineTextMetrics32W(HDC32,UINT32,LPOUTLINETEXTMETRIC32W);
8238 #define     GetOutlineTextMetrics WINELIB_NAME_AW(GetOutlineTextMetrics)
8239 UINT16      WINAPI GetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
8240 UINT32      WINAPI GetPaletteEntries32(HPALETTE32,UINT32,UINT32,LPPALETTEENTRY);
8241 #define     GetPaletteEntries WINELIB_NAME(GetPaletteEntries)
8242 HWND16      WINAPI GetParent16(HWND16);
8243 HWND32      WINAPI GetParent32(HWND32);
8244 #define     GetParent WINELIB_NAME(GetParent)
8245 INT16       WINAPI GetPath16(HDC16,LPPOINT16,LPBYTE,INT16);
8246 INT32       WINAPI GetPath32(HDC32,LPPOINT32,LPBYTE,INT32);
8247 #define     GetPath WINELIB_NAME(GetPath)
8248 COLORREF    WINAPI GetPixel16(HDC16,INT16,INT16);
8249 COLORREF    WINAPI GetPixel32(HDC32,INT32,INT32);
8250 #define     GetPixel WINELIB_NAME(GetPixel)
8251 INT32       WINAPI GetPixelFormat(HDC32);
8252 INT16       WINAPI GetPolyFillMode16(HDC16);
8253 INT32       WINAPI GetPolyFillMode32(HDC32);
8254 #define     GetPolyFillMode WINELIB_NAME(GetPolyFillMode)
8255 INT16       WINAPI GetPriorityClipboardFormat16(UINT16*,INT16);
8256 INT32       WINAPI GetPriorityClipboardFormat32(UINT32*,INT32);
8257 #define     GetPriorityClipboardFormat WINELIB_NAME(GetPriorityClipboardFormat)
8258 UINT16      WINAPI GetPrivateProfileInt16(LPCSTR,LPCSTR,INT16,LPCSTR);
8259 UINT32      WINAPI GetPrivateProfileInt32A(LPCSTR,LPCSTR,INT32,LPCSTR);
8260 UINT32      WINAPI GetPrivateProfileInt32W(LPCWSTR,LPCWSTR,INT32,LPCWSTR);
8261 #define     GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
8262 INT16       WINAPI GetPrivateProfileSection16(LPCSTR,LPSTR,UINT16,LPCSTR);
8263 INT32       WINAPI GetPrivateProfileSection32A(LPCSTR,LPSTR,DWORD,LPCSTR);
8264 INT32       WINAPI GetPrivateProfileSection32W(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
8265 #define     GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
8266 WORD        WINAPI GetPrivateProfileSectionNames16(LPSTR,UINT16,LPCSTR);
8267 DWORD       WINAPI GetPrivateProfileSectionNames32A(LPSTR,DWORD,LPCSTR);
8268 DWORD       WINAPI GetPrivateProfileSectionNames32W(LPWSTR,DWORD,LPCWSTR);
8269 #define     GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
8270 INT16       WINAPI GetPrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16,LPCSTR);
8271 INT32       WINAPI GetPrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32,LPCSTR);
8272 INT32       WINAPI GetPrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32,LPCWSTR);
8273 #define     GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
8274 BOOL16      WINAPI GetPrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
8275 BOOL32      WINAPI GetPrivateProfileStruct32A(LPCSTR,LPCSTR,LPVOID,UINT32,LPCSTR);
8276 BOOL32      WINAPI GetPrivateProfileStruct32W(LPCWSTR,LPCWSTR,LPVOID,UINT32,LPCWSTR);
8277 #define     GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
8278 FARPROC16   WINAPI GetProcAddress16(HMODULE16,SEGPTR);
8279 FARPROC32   WINAPI GetProcAddress32(HMODULE32,LPCSTR);
8280 #define     GetProcAddress WINELIB_NAME(GetProcAddress)
8281 UINT16      WINAPI GetProfileInt16(LPCSTR,LPCSTR,INT16);
8282 UINT32      WINAPI GetProfileInt32A(LPCSTR,LPCSTR,INT32);
8283 UINT32      WINAPI GetProfileInt32W(LPCWSTR,LPCWSTR,INT32);
8284 #define     GetProfileInt WINELIB_NAME_AW(GetProfileInt)
8285 INT16       WINAPI GetProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16);
8286 INT32       WINAPI GetProfileSection32A(LPCSTR,LPSTR,DWORD);
8287 INT32       WINAPI GetProfileSection32W(LPCWSTR,LPWSTR,DWORD);
8288 #define     GetProfileSection WINELIB_NAME_AW(GetProfileSection)
8289 INT32       WINAPI GetProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32);
8290 INT32       WINAPI GetProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32);
8291 #define     GetProfileString WINELIB_NAME_AW(GetProfileString)
8292 HANDLE16    WINAPI GetProp16(HWND16,LPCSTR);
8293 HANDLE32    WINAPI GetProp32A(HWND32,LPCSTR);
8294 HANDLE32    WINAPI GetProp32W(HWND32,LPCWSTR);
8295 #define     GetProp WINELIB_NAME_AW(GetProp)
8296 DWORD       WINAPI GetQueueStatus16(UINT16);
8297 DWORD       WINAPI GetQueueStatus32(UINT32);
8298 #define     GetQueueStatus WINELIB_NAME(GetQueueStatus)
8299 BOOL16      WINAPI GetRasterizerCaps16(LPRASTERIZER_STATUS,UINT16);
8300 BOOL32      WINAPI GetRasterizerCaps32(LPRASTERIZER_STATUS,UINT32);
8301 #define     GetRasterizerCaps WINELIB_NAME(GetRasterizerCaps)
8302 DWORD       WINAPI GetRegionData16(HRGN16,DWORD,LPRGNDATA);
8303 DWORD       WINAPI GetRegionData32(HRGN32,DWORD,LPRGNDATA);
8304 #define     GetRegionData WINELIB_NAME(GetRegionData)
8305 INT16       WINAPI GetRelAbs16(HDC16);
8306 INT32       WINAPI GetRelAbs32(HDC32);
8307 #define     GetRelAbs WINELIB_NAME(GetRelAbs)
8308 INT16       WINAPI GetRgnBox16(HRGN16,LPRECT16);
8309 INT32       WINAPI GetRgnBox32(HRGN32,LPRECT32);
8310 #define     GetRgnBox WINELIB_NAME(GetRgnBox)
8311 INT16       WINAPI GetROP216(HDC16);
8312 INT32       WINAPI GetROP232(HDC32);
8313 #define     GetROP2 WINELIB_NAME(GetROP2)
8314 BOOL16      WINAPI GetScrollInfo16(HWND16,INT16,LPSCROLLINFO);
8315 BOOL32      WINAPI GetScrollInfo32(HWND32,INT32,LPSCROLLINFO);
8316 #define     GetScrollInfo WINELIB_NAME(GetScrollInfo)
8317 INT16       WINAPI GetScrollPos16(HWND16,INT16);
8318 INT32       WINAPI GetScrollPos32(HWND32,INT32);
8319 #define     GetScrollPos WINELIB_NAME(GetScrollPos)
8320 BOOL16      WINAPI GetScrollRange16(HWND16,INT16,LPINT16,LPINT16);
8321 BOOL32      WINAPI GetScrollRange32(HWND32,INT32,LPINT32,LPINT32);
8322 #define     GetScrollRange WINELIB_NAME(GetScrollRange)
8323 HWND16      WINAPI GetShellWindow16(void);
8324 HWND32      WINAPI GetShellWindow32(void);
8325 #define     GetShellWindow WINELIB_NAME(GetShellWindow)
8326 HGDIOBJ16   WINAPI GetStockObject16(INT16);
8327 HGDIOBJ32   WINAPI GetStockObject32(INT32);
8328 #define     GetStockObject WINELIB_NAME(GetStockObject)
8329 INT16       WINAPI GetStretchBltMode16(HDC16);
8330 INT32       WINAPI GetStretchBltMode32(HDC32);
8331 #define     GetStretchBltMode WINELIB_NAME(GetStretchBltMode)
8332 BOOL16      WINAPI GetStringType16(LCID,DWORD,LPCSTR,INT16,LPWORD);
8333 BOOL32      WINAPI GetStringType32A(LCID,DWORD,LPCSTR,INT32,LPWORD);
8334 BOOL32      WINAPI GetStringType32W(DWORD,LPCWSTR,INT32,LPWORD);
8335 #define     GetStringType WINELIB_NAME_AW(GetStringType)
8336 HMENU16     WINAPI GetSubMenu16(HMENU16,INT16);
8337 HMENU32     WINAPI GetSubMenu32(HMENU32,INT32);
8338 #define     GetSubMenu WINELIB_NAME(GetSubMenu)
8339 COLORREF    WINAPI GetSysColor16(INT16);
8340 COLORREF    WINAPI GetSysColor32(INT32);
8341 #define     GetSysColor WINELIB_NAME(GetSysColor)
8342 HBRUSH16    WINAPI GetSysColorBrush16(INT16);
8343 HBRUSH32    WINAPI GetSysColorBrush32(INT32);
8344 #define     GetSysColorBrush WINELIB_NAME(GetSysColorBrush)
8345 HWND16      WINAPI GetSysModalWindow16(void);
8346 #define     GetSysModalWindow32() ((HWND32)0)
8347 #define     GetSysModalWindow WINELIB_NAME(GetSysModalWindow)
8348 UINT16      WINAPI GetSystemDirectory16(LPSTR,UINT16);
8349 UINT32      WINAPI GetSystemDirectory32A(LPSTR,UINT32);
8350 UINT32      WINAPI GetSystemDirectory32W(LPWSTR,UINT32);
8351 #define     GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
8352 HMENU16     WINAPI GetSystemMenu16(HWND16,BOOL16);
8353 HMENU32     WINAPI GetSystemMenu32(HWND32,BOOL32);
8354 #define     GetSystemMenu WINELIB_NAME(GetSystemMenu)
8355 INT16       WINAPI GetSystemMetrics16(INT16);
8356 INT32       WINAPI GetSystemMetrics32(INT32);
8357 #define     GetSystemMetrics WINELIB_NAME(GetSystemMetrics)
8358 UINT16      WINAPI GetSystemPaletteEntries16(HDC16,UINT16,UINT16,LPPALETTEENTRY);
8359 UINT32      WINAPI GetSystemPaletteEntries32(HDC32,UINT32,UINT32,LPPALETTEENTRY);
8360 #define     GetSystemPaletteEntries WINELIB_NAME(GetSystemPaletteEntries)
8361 UINT16      WINAPI GetSystemPaletteUse16(HDC16);
8362 UINT32      WINAPI GetSystemPaletteUse32(HDC32);
8363 #define     GetSystemPaletteUse WINELIB_NAME(GetSystemPaletteUse)
8364 DWORD       WINAPI GetTabbedTextExtent16(HDC16,LPCSTR,INT16,INT16,const INT16*);
8365 DWORD       WINAPI GetTabbedTextExtent32A(HDC32,LPCSTR,INT32,INT32,const INT32*);
8366 DWORD       WINAPI GetTabbedTextExtent32W(HDC32,LPCWSTR,INT32,INT32,const INT32*);
8367 #define     GetTabbedTextExtent WINELIB_NAME_AW(GetTabbedTextExtent)
8368 UINT16      WINAPI GetTempFileName16(BYTE,LPCSTR,UINT16,LPSTR);
8369 UINT32      WINAPI GetTempFileName32A(LPCSTR,LPCSTR,UINT32,LPSTR);
8370 UINT32      WINAPI GetTempFileName32W(LPCWSTR,LPCWSTR,UINT32,LPWSTR);
8371 #define     GetTempFileName WINELIB_NAME_AW(GetTempFileName)
8372 UINT32      WINAPI GetTempPath32A(UINT32,LPSTR);
8373 UINT32      WINAPI GetTempPath32W(UINT32,LPWSTR);
8374 #define     GetTempPath WINELIB_NAME_AW(GetTempPath)
8375 UINT16      WINAPI GetTextAlign16(HDC16);
8376 UINT32      WINAPI GetTextAlign32(HDC32);
8377 #define     GetTextAlign WINELIB_NAME(GetTextAlign)
8378 INT16       WINAPI GetTextCharacterExtra16(HDC16);
8379 INT32       WINAPI GetTextCharacterExtra32(HDC32);
8380 #define     GetTextCharacterExtra WINELIB_NAME(GetTextCharacterExtra)
8381 UINT16      WINAPI GetTextCharset16(HDC16);
8382 UINT32      WINAPI GetTextCharset32(HDC32);
8383 #define     GetTextCharset WINELIB_NAME(GetTextCharset)
8384 COLORREF    WINAPI GetTextColor16(HDC16);
8385 COLORREF    WINAPI GetTextColor32(HDC32);
8386 #define     GetTextColor WINELIB_NAME(GetTextColor)
8387 /* this one is different, because Win32 has *both* 
8388  * GetTextExtentPoint and GetTextExtentPoint32 !
8389  */
8390 BOOL16      WINAPI GetTextExtentPoint16(HDC16,LPCSTR,INT16,LPSIZE16);
8391 BOOL32      WINAPI GetTextExtentPoint32A(HDC32,LPCSTR,INT32,LPSIZE32);
8392 BOOL32      WINAPI GetTextExtentPoint32W(HDC32,LPCWSTR,INT32,LPSIZE32);
8393 BOOL32      WINAPI GetTextExtentPoint32ABuggy(HDC32,LPCSTR,INT32,LPSIZE32);
8394 BOOL32      WINAPI GetTextExtentPoint32WBuggy(HDC32,LPCWSTR,INT32,LPSIZE32);
8395 #ifdef UNICODE
8396 #define     GetTextExtentPoint GetTextExtentPoint32WBuggy
8397 #define     GetTextExtentPoint32 GetTextExtentPoint32W
8398 #else
8399 #define     GetTextExtentPoint GetTextExtentPoint32ABuggy
8400 #define     GetTextExtentPoint32 GetTextExtentPoint32A
8401 #endif
8402 INT16       WINAPI GetTextFace16(HDC16,INT16,LPSTR);
8403 INT32       WINAPI GetTextFace32A(HDC32,INT32,LPSTR);
8404 INT32       WINAPI GetTextFace32W(HDC32,INT32,LPWSTR);
8405 #define     GetTextFace WINELIB_NAME_AW(GetTextFace)
8406 BOOL16      WINAPI GetTextMetrics16(HDC16,LPTEXTMETRIC16);
8407 BOOL32      WINAPI GetTextMetrics32A(HDC32,LPTEXTMETRIC32A);
8408 BOOL32      WINAPI GetTextMetrics32W(HDC32,LPTEXTMETRIC32W);
8409 #define     GetTextMetrics WINELIB_NAME_AW(GetTextMetrics)
8410 LPINT16     WINAPI GetThresholdEvent16(void);
8411 LPDWORD     WINAPI GetThresholdEvent32(void);
8412 #define     GetThresholdEvent WINELIB_NAME(GetThresholdEvent)
8413 INT16       WINAPI GetThresholdStatus16(void);
8414 DWORD       WINAPI GetThresholdStatus32(void);
8415 #define     GetThresholdStatus WINELIB_NAME(GetThresholdStatus)
8416 HWND16      WINAPI GetTopWindow16(HWND16);
8417 HWND32      WINAPI GetTopWindow32(HWND32);
8418 #define     GetTopWindow WINELIB_NAME(GetTopWindow)
8419 BOOL16      WINAPI GetUpdateRect16(HWND16,LPRECT16,BOOL16);
8420 BOOL32      WINAPI GetUpdateRect32(HWND32,LPRECT32,BOOL32);
8421 #define     GetUpdateRect WINELIB_NAME(GetUpdateRect)
8422 INT16       WINAPI GetUpdateRgn16(HWND16,HRGN16,BOOL16);
8423 INT32       WINAPI GetUpdateRgn32(HWND32,HRGN32,BOOL32);
8424 #define     GetUpdateRgn WINELIB_NAME(GetUpdateRgn)
8425 LONG        WINAPI GetVersion16(void);
8426 LONG        WINAPI GetVersion32(void);
8427 #define     GetVersion WINELIB_NAME(GetVersion)
8428 BOOL32      WINAPI GetExitCodeProcess(HANDLE32,LPDWORD);
8429 BOOL16      WINAPI GetViewportExtEx16(HDC16,LPSIZE16);
8430 BOOL32      WINAPI GetViewportExtEx32(HDC32,LPSIZE32);
8431 #define     GetViewportExtEx WINELIB_NAME(GetViewportExtEx)
8432 BOOL16      WINAPI GetViewportOrgEx16(HDC16,LPPOINT16);
8433 BOOL32      WINAPI GetViewportOrgEx32(HDC32,LPPOINT32);
8434 #define     GetViewportOrgEx WINELIB_NAME(GetViewportOrgEx)
8435 BOOL32      WINAPI GetVolumeInformation32A(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
8436 BOOL32      WINAPI GetVolumeInformation32W(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
8437 #define     GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
8438 HWND16      WINAPI GetWindow16(HWND16,WORD);
8439 HWND32      WINAPI GetWindow32(HWND32,WORD);
8440 #define     GetWindow WINELIB_NAME(GetWindow)
8441 HDC16       WINAPI GetWindowDC16(HWND16);
8442 HDC32       WINAPI GetWindowDC32(HWND32);
8443 #define     GetWindowDC WINELIB_NAME(GetWindowDC)
8444 BOOL16      WINAPI GetWindowExtEx16(HDC16,LPSIZE16);
8445 BOOL32      WINAPI GetWindowExtEx32(HDC32,LPSIZE32);
8446 #define     GetWindowExtEx WINELIB_NAME(GetWindowExtEx)
8447 LONG        WINAPI GetWindowLong16(HWND16,INT16);
8448 LONG        WINAPI GetWindowLong32A(HWND32,INT32);
8449 LONG        WINAPI GetWindowLong32W(HWND32,INT32);
8450 #define     GetWindowLong WINELIB_NAME_AW(GetWindowLong)
8451 BOOL16      WINAPI GetWindowOrgEx16(HDC16,LPPOINT16);
8452 BOOL32      WINAPI GetWindowOrgEx32(HDC32,LPPOINT32);
8453 #define     GetWindowOrgEx WINELIB_NAME(GetWindowOrgEx)
8454 BOOL16      WINAPI GetWindowPlacement16(HWND16,LPWINDOWPLACEMENT16);
8455 BOOL32      WINAPI GetWindowPlacement32(HWND32,LPWINDOWPLACEMENT32);
8456 #define     GetWindowPlacement WINELIB_NAME(GetWindowPlacement)
8457 void        WINAPI GetWindowRect16(HWND16,LPRECT16);
8458 BOOL32      WINAPI GetWindowRect32(HWND32,LPRECT32);
8459 #define     GetWindowRect WINELIB_NAME(GetWindowRect)
8460 INT16       WINAPI GetWindowRgn16(HWND16,HRGN16);
8461 INT32       WINAPI GetWindowRgn32(HWND32,HRGN32);
8462 #define     GetWindowRgn WINELIB_NAME(GetWindowRgn)
8463 UINT16      WINAPI GetWindowsDirectory16(LPSTR,UINT16);
8464 UINT32      WINAPI GetWindowsDirectory32A(LPSTR,UINT32);
8465 UINT32      WINAPI GetWindowsDirectory32W(LPWSTR,UINT32);
8466 #define     GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
8467 HTASK16     WINAPI GetWindowTask16(HWND16);
8468 #define     GetWindowTask32(hwnd) ((HTASK32)GetWindowThreadProcessId(hwnd,NULL))
8469 #define     GetWindowTask WINELIB_NAME(GetWindowTask)
8470 INT16       WINAPI GetWindowText16(HWND16,SEGPTR,INT16);
8471 INT32       WINAPI GetWindowText32A(HWND32,LPSTR,INT32);
8472 INT32       WINAPI GetWindowText32W(HWND32,LPWSTR,INT32);
8473 #define     GetWindowText WINELIB_NAME_AW(GetWindowText)
8474 INT16       WINAPI GetWindowTextLength16(HWND16);
8475 INT32       WINAPI GetWindowTextLength32A(HWND32);
8476 INT32       WINAPI GetWindowTextLength32W(HWND32);
8477 #define     GetWindowTextLength WINELIB_NAME_AW(GetWindowTextLength)
8478 WORD        WINAPI GetWindowWord16(HWND16,INT16);
8479 WORD        WINAPI GetWindowWord32(HWND32,INT32);
8480 #define     GetWindowWord WINELIB_NAME(GetWindowWord)
8481 ATOM        WINAPI GlobalAddAtom16(SEGPTR);
8482 ATOM        WINAPI GlobalAddAtom32A(LPCSTR);
8483 ATOM        WINAPI GlobalAddAtom32W(LPCWSTR);
8484 #define     GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
8485 HGLOBAL16   WINAPI GlobalAlloc16(UINT16,DWORD);
8486 HGLOBAL32   WINAPI GlobalAlloc32(UINT32,DWORD);
8487 #define     GlobalAlloc WINELIB_NAME(GlobalAlloc)
8488 DWORD       WINAPI GlobalCompact16(DWORD);
8489 DWORD       WINAPI GlobalCompact32(DWORD);
8490 #define     GlobalCompact WINELIB_NAME(GlobalCompact)
8491 UINT16      WINAPI GlobalFlags16(HGLOBAL16);
8492 UINT32      WINAPI GlobalFlags32(HGLOBAL32);
8493 #define     GlobalFlags WINELIB_NAME(GlobalFlags)
8494 ATOM        WINAPI GlobalFindAtom16(SEGPTR);
8495 ATOM        WINAPI GlobalFindAtom32A(LPCSTR);
8496 ATOM        WINAPI GlobalFindAtom32W(LPCWSTR);
8497 #define     GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
8498 HGLOBAL16   WINAPI GlobalFree16(HGLOBAL16);
8499 HGLOBAL32   WINAPI GlobalFree32(HGLOBAL32);
8500 #define     GlobalFree WINELIB_NAME(GlobalFree)
8501 UINT16      WINAPI GlobalGetAtomName16(ATOM,LPSTR,INT16);
8502 UINT32      WINAPI GlobalGetAtomName32A(ATOM,LPSTR,INT32);
8503 UINT32      WINAPI GlobalGetAtomName32W(ATOM,LPWSTR,INT32);
8504 #define     GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
8505 DWORD       WINAPI GlobalHandle16(WORD);
8506 HGLOBAL32   WINAPI GlobalHandle32(LPCVOID);
8507 #define     GlobalHandle WINELIB_NAME(GlobalHandle)
8508 WORD        WINAPI GlobalFix16(HGLOBAL16);
8509 VOID        WINAPI GlobalFix32(HGLOBAL32);
8510 #define     GlobalFix WINELIB_NAME(GlobalFix)
8511 LPVOID      WINAPI GlobalLock16(HGLOBAL16);
8512 LPVOID      WINAPI GlobalLock32(HGLOBAL32);
8513 #define     GlobalLock WINELIB_NAME(GlobalLock)
8514 HGLOBAL16   WINAPI GlobalReAlloc16(HGLOBAL16,DWORD,UINT16);
8515 HGLOBAL32   WINAPI GlobalReAlloc32(HGLOBAL32,DWORD,UINT32);
8516 #define     GlobalReAlloc WINELIB_NAME(GlobalReAlloc)
8517 DWORD       WINAPI GlobalSize16(HGLOBAL16);
8518 DWORD       WINAPI GlobalSize32(HGLOBAL32);
8519 #define     GlobalSize WINELIB_NAME(GlobalSize)
8520 VOID        WINAPI GlobalUnfix16(HGLOBAL16);
8521 VOID        WINAPI GlobalUnfix32(HGLOBAL32);
8522 #define     GlobalUnfix WINELIB_NAME(GlobalUnfix)
8523 BOOL16      WINAPI GlobalUnlock16(HGLOBAL16);
8524 BOOL32      WINAPI GlobalUnlock32(HGLOBAL32);
8525 #define     GlobalUnlock WINELIB_NAME(GlobalUnlock)
8526 BOOL16      WINAPI GlobalUnWire16(HGLOBAL16);
8527 BOOL32      WINAPI GlobalUnWire32(HGLOBAL32);
8528 #define     GlobalUnWire WINELIB_NAME(GlobalUnWire)
8529 SEGPTR      WINAPI GlobalWire16(HGLOBAL16);
8530 LPVOID      WINAPI GlobalWire32(HGLOBAL32);
8531 #define     GlobalWire WINELIB_NAME(GlobalWire)
8532 BOOL16      WINAPI GrayString16(HDC16,HBRUSH16,GRAYSTRINGPROC16,LPARAM,
8533                                 INT16,INT16,INT16,INT16,INT16);
8534 BOOL32      WINAPI GrayString32A(HDC32,HBRUSH32,GRAYSTRINGPROC32,LPARAM,
8535                                  INT32,INT32,INT32,INT32,INT32);
8536 BOOL32      WINAPI GrayString32W(HDC32,HBRUSH32,GRAYSTRINGPROC32,LPARAM,
8537                                  INT32,INT32,INT32,INT32,INT32);
8538 #define     GrayString WINELIB_NAME_AW(GrayString)
8539 VOID        WINAPI HideCaret16(HWND16);
8540 BOOL32      WINAPI HideCaret32(HWND32);
8541 #define     HideCaret WINELIB_NAME(HideCaret)
8542 BOOL16      WINAPI HiliteMenuItem16(HWND16,HMENU16,UINT16,UINT16);
8543 BOOL32      WINAPI HiliteMenuItem32(HWND32,HMENU32,UINT32,UINT32);
8544 #define     HiliteMenuItem WINELIB_NAME(HiliteMenuItem)
8545 void        WINAPI InflateRect16(LPRECT16,INT16,INT16);
8546 void        WINAPI InflateRect32(LPRECT32,INT32,INT32);
8547 #define     InflateRect WINELIB_NAME(InflateRect)
8548 WORD        WINAPI InitAtomTable16(WORD);
8549 BOOL32      WINAPI InitAtomTable32(DWORD);
8550 #define     InitAtomTable WINELIB_NAME(InitAtomTable)
8551 BOOL16      WINAPI InSendMessage16(void);
8552 BOOL32      WINAPI InSendMessage32(void);
8553 #define     InSendMessage WINELIB_NAME(InSendMessage)
8554 BOOL16      WINAPI InsertMenu16(HMENU16,UINT16,UINT16,UINT16,SEGPTR);
8555 BOOL32      WINAPI InsertMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
8556 BOOL32      WINAPI InsertMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
8557 #define     InsertMenu WINELIB_NAME_AW(InsertMenu)
8558 BOOL16      WINAPI InsertMenuItem16(HMENU16,UINT16,BOOL16,const MENUITEMINFO16*);
8559 BOOL32      WINAPI InsertMenuItem32A(HMENU32,UINT32,BOOL32,const MENUITEMINFO32A*);
8560 BOOL32      WINAPI InsertMenuItem32W(HMENU32,UINT32,BOOL32,const MENUITEMINFO32W*);
8561 #define     InsertMenuItem WINELIB_NAME_AW(InsertMenuItem)
8562 INT16       WINAPI IntersectClipRect16(HDC16,INT16,INT16,INT16,INT16);
8563 INT32       WINAPI IntersectClipRect32(HDC32,INT32,INT32,INT32,INT32);
8564 #define     IntersectClipRect WINELIB_NAME(IntersectClipRect)
8565 BOOL16      WINAPI IntersectRect16(LPRECT16,const RECT16*,const RECT16*);
8566 BOOL32      WINAPI IntersectRect32(LPRECT32,const RECT32*,const RECT32*);
8567 #define     IntersectRect WINELIB_NAME(IntersectRect)
8568 void        WINAPI InvalidateRect16(HWND16,const RECT16*,BOOL16);
8569 void        WINAPI InvalidateRect32(HWND32,const RECT32*,BOOL32);
8570 #define     InvalidateRect WINELIB_NAME(InvalidateRect)
8571 void        WINAPI InvalidateRgn16(HWND16,HRGN16,BOOL16);
8572 void        WINAPI InvalidateRgn32(HWND32,HRGN32,BOOL32);
8573 #define     InvalidateRgn WINELIB_NAME(InvalidateRgn)
8574 void        WINAPI InvertRect16(HDC16,const RECT16*);
8575 void        WINAPI InvertRect32(HDC32,const RECT32*);
8576 #define     InvertRect WINELIB_NAME(InvertRect)
8577 BOOL16      WINAPI InvertRgn16(HDC16,HRGN16);
8578 BOOL32      WINAPI InvertRgn32(HDC32,HRGN32);
8579 #define     InvertRgn WINELIB_NAME(InvertRgn)
8580 BOOL16      WINAPI IsBadCodePtr16(SEGPTR);
8581 BOOL32      WINAPI IsBadCodePtr32(FARPROC32);
8582 #define     IsBadCodePtr WINELIB_NAME(IsBadCodePtr)
8583 BOOL16      WINAPI IsBadHugeReadPtr16(SEGPTR,DWORD);
8584 BOOL32      WINAPI IsBadHugeReadPtr32(LPCVOID,UINT32);
8585 #define     IsBadHugeReadPtr WINELIB_NAME(IsBadHugeReadPtr)
8586 BOOL16      WINAPI IsBadHugeWritePtr16(SEGPTR,DWORD);
8587 BOOL32      WINAPI IsBadHugeWritePtr32(LPVOID,UINT32);
8588 #define     IsBadHugeWritePtr WINELIB_NAME(IsBadHugeWritePtr)
8589 BOOL16      WINAPI IsBadReadPtr16(SEGPTR,UINT16);
8590 BOOL32      WINAPI IsBadReadPtr32(LPCVOID,UINT32);
8591 #define     IsBadReadPtr WINELIB_NAME(IsBadReadPtr)
8592 BOOL16      WINAPI IsBadStringPtr16(SEGPTR,UINT16);
8593 BOOL32      WINAPI IsBadStringPtr32A(LPCSTR,UINT32);
8594 BOOL32      WINAPI IsBadStringPtr32W(LPCWSTR,UINT32);
8595 #define     IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
8596 BOOL16      WINAPI IsBadWritePtr16(SEGPTR,UINT16);
8597 BOOL32      WINAPI IsBadWritePtr32(LPVOID,UINT32);
8598 #define     IsBadWritePtr WINELIB_NAME(IsBadWritePtr)
8599 BOOL16      WINAPI IsCharAlpha16(CHAR);
8600 BOOL32      WINAPI IsCharAlpha32A(CHAR);
8601 BOOL32      WINAPI IsCharAlpha32W(WCHAR);
8602 #define     IsCharAlpha WINELIB_NAME_AW(IsCharAlpha)
8603 BOOL16      WINAPI IsCharAlphaNumeric16(CHAR);
8604 BOOL32      WINAPI IsCharAlphaNumeric32A(CHAR);
8605 BOOL32      WINAPI IsCharAlphaNumeric32W(WCHAR);
8606 #define     IsCharAlphaNumeric WINELIB_NAME_AW(IsCharAlphaNumeric)
8607 BOOL16      WINAPI IsCharLower16(CHAR);
8608 BOOL32      WINAPI IsCharLower32A(CHAR);
8609 BOOL32      WINAPI IsCharLower32W(WCHAR);
8610 #define     IsCharLower WINELIB_NAME_AW(IsCharLower)
8611 BOOL16      WINAPI IsCharUpper16(CHAR);
8612 BOOL32      WINAPI IsCharUpper32A(CHAR);
8613 BOOL32      WINAPI IsCharUpper32W(WCHAR);
8614 #define     IsCharUpper WINELIB_NAME_AW(IsCharUpper)
8615 BOOL16      WINAPI IsChild16(HWND16,HWND16);
8616 BOOL32      WINAPI IsChild32(HWND32,HWND32);
8617 #define     IsChild WINELIB_NAME(IsChild)
8618 BOOL16      WINAPI IsClipboardFormatAvailable16(UINT16);
8619 BOOL32      WINAPI IsClipboardFormatAvailable32(UINT32);
8620 #define     IsClipboardFormatAvailable WINELIB_NAME(IsClipboardFormatAvailable)
8621 BOOL16      WINAPI IsDBCSLeadByte16(BYTE);
8622 BOOL32      WINAPI IsDBCSLeadByte32(BYTE);
8623 #define     IsDBCSLeadByte WINELIB_NAME(IsDBCSLeadByte)
8624 BOOL16      WINAPI IsDialogMessage16(HWND16,LPMSG16);
8625 BOOL32      WINAPI IsDialogMessage32A(HWND32,LPMSG32);
8626 BOOL32      WINAPI IsDialogMessage32W(HWND32,LPMSG32);
8627 #define     IsDialogMessage WINELIB_NAME_AW(IsDialogMessage)
8628 UINT16      WINAPI IsDlgButtonChecked16(HWND16,UINT16);
8629 UINT32      WINAPI IsDlgButtonChecked32(HWND32,UINT32);
8630 #define     IsDlgButtonChecked WINELIB_NAME(IsDlgButtonChecked)
8631 BOOL16      WINAPI IsIconic16(HWND16);
8632 BOOL32      WINAPI IsIconic32(HWND32);
8633 #define     IsIconic WINELIB_NAME(IsIconic)
8634 BOOL16      WINAPI IsMenu16(HMENU16);
8635 BOOL32      WINAPI IsMenu32(HMENU32);
8636 #define     IsMenu WINELIB_NAME(IsMenu)
8637 BOOL16      WINAPI IsRectEmpty16(const RECT16*);
8638 BOOL32      WINAPI IsRectEmpty32(const RECT32*);
8639 #define     IsRectEmpty WINELIB_NAME(IsRectEmpty)
8640 BOOL16      WINAPI IsWindow16(HWND16);
8641 BOOL32      WINAPI IsWindow32(HWND32);
8642 #define     IsWindow WINELIB_NAME(IsWindow)
8643 BOOL16      WINAPI IsWindowEnabled16(HWND16);
8644 BOOL32      WINAPI IsWindowEnabled32(HWND32);
8645 #define     IsWindowEnabled WINELIB_NAME(IsWindowEnabled)
8646 BOOL16      WINAPI IsWindowVisible16(HWND16);
8647 BOOL32      WINAPI IsWindowVisible32(HWND32);
8648 #define     IsWindowVisible WINELIB_NAME(IsWindowVisible)
8649 BOOL16      WINAPI IsZoomed16(HWND16);
8650 BOOL32      WINAPI IsZoomed32(HWND32);
8651 #define     IsZoomed WINELIB_NAME(IsZoomed)
8652 BOOL16      WINAPI KillSystemTimer16(HWND16,UINT16);
8653 BOOL32      WINAPI KillSystemTimer32(HWND32,UINT32);
8654 #define     KillSystemTimer WINELIB_NAME(KillSystemTimer)
8655 BOOL16      WINAPI KillTimer16(HWND16,UINT16);
8656 BOOL32      WINAPI KillTimer32(HWND32,UINT32);
8657 #define     KillTimer WINELIB_NAME(KillTimer)
8658 HFILE16     WINAPI LZOpenFile16(LPCSTR,LPOFSTRUCT,UINT16);
8659 HFILE32     WINAPI LZOpenFile32A(LPCSTR,LPOFSTRUCT,UINT32);
8660 HFILE32     WINAPI LZOpenFile32W(LPCWSTR,LPOFSTRUCT,UINT32);
8661 #define     LZOpenFile WINELIB_NAME_AW(LZOpenFile)
8662 INT16       WINAPI LZRead16(HFILE16,LPVOID,UINT16); 
8663 INT32       WINAPI LZRead32(HFILE32,LPVOID,UINT32); 
8664 #define     LZRead WINELIB_NAME(LZRead)
8665 INT16       WINAPI LZStart16(void);
8666 INT32       WINAPI LZStart32(void);
8667 #define     LZStart WINELIB_NAME(LZStart)
8668 VOID        WINAPI LineDDA16(INT16,INT16,INT16,INT16,LINEDDAPROC16,LPARAM);
8669 BOOL32      WINAPI LineDDA32(INT32,INT32,INT32,INT32,LINEDDAPROC32,LPARAM);
8670 #define     LineDDA WINELIB_NAME(LineDDA)
8671 BOOL16      WINAPI LineTo16(HDC16,INT16,INT16);
8672 BOOL32      WINAPI LineTo32(HDC32,INT32,INT32);
8673 #define     LineTo WINELIB_NAME(LineTo)
8674 HACCEL16    WINAPI LoadAccelerators16(HINSTANCE16,SEGPTR);
8675 HACCEL32    WINAPI LoadAccelerators32A(HINSTANCE32,LPCSTR);
8676 HACCEL32    WINAPI LoadAccelerators32W(HINSTANCE32,LPCWSTR);
8677 #define     LoadAccelerators WINELIB_NAME_AW(LoadAccelerators)
8678 HBITMAP16   WINAPI LoadBitmap16(HANDLE16,SEGPTR);
8679 HBITMAP32   WINAPI LoadBitmap32A(HANDLE32,LPCSTR);
8680 HBITMAP32   WINAPI LoadBitmap32W(HANDLE32,LPCWSTR);
8681 #define     LoadBitmap WINELIB_NAME(LoadBitmap)
8682 HCURSOR16   WINAPI LoadCursor16(HINSTANCE16,SEGPTR);
8683 HCURSOR32   WINAPI LoadCursor32A(HINSTANCE32,LPCSTR);
8684 HCURSOR32   WINAPI LoadCursor32W(HINSTANCE32,LPCWSTR);
8685 #define     LoadCursor WINELIB_NAME_AW(LoadCursor)
8686 HCURSOR32   WINAPI LoadCursorFromFile32A(LPCSTR);
8687 HCURSOR32   WINAPI LoadCursorFromFile32W(LPCWSTR);
8688 #define     LoadCursorFromFile WINELIB_NAME_AW(LoadCursorFromFile)
8689 HICON16     WINAPI LoadIcon16(HINSTANCE16,SEGPTR);
8690 HICON32     WINAPI LoadIcon32A(HINSTANCE32,LPCSTR);
8691 HICON32     WINAPI LoadIcon32W(HINSTANCE32,LPCWSTR);
8692 #define     LoadIcon WINELIB_NAME_AW(LoadIcon)
8693 HANDLE16    WINAPI LoadImage16(HINSTANCE16,LPCSTR,UINT16,INT16,INT16,UINT16);
8694 HANDLE32    WINAPI LoadImage32A(HINSTANCE32,LPCSTR,UINT32,INT32,INT32,UINT32);
8695 HANDLE32    WINAPI LoadImage32W(HINSTANCE32,LPCWSTR,UINT32,INT32,INT32,UINT32);
8696 #define     LoadImage WINELIB_NAME_AW(LoadImage)
8697 HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
8698 HMODULE32   WINAPI LoadLibrary32A(LPCSTR);
8699 HMODULE32   WINAPI LoadLibrary32W(LPCWSTR);
8700 #define     LoadLibrary WINELIB_NAME_AW(LoadLibrary)
8701 HMODULE32   WINAPI LoadLibraryEx32A(LPCSTR,HFILE32,DWORD);
8702 HMODULE32   WINAPI LoadLibraryEx32W(LPCWSTR,HFILE32,DWORD);
8703 #define     LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
8704 HMENU16     WINAPI LoadMenu16(HINSTANCE16,SEGPTR);
8705 HMENU32     WINAPI LoadMenu32A(HINSTANCE32,LPCSTR);
8706 HMENU32     WINAPI LoadMenu32W(HINSTANCE32,LPCWSTR);
8707 #define     LoadMenu WINELIB_NAME_AW(LoadMenu)
8708 HMENU16     WINAPI LoadMenuIndirect16(LPCVOID);
8709 HMENU32     WINAPI LoadMenuIndirect32A(LPCVOID);
8710 HMENU32     WINAPI LoadMenuIndirect32W(LPCVOID);
8711 #define     LoadMenuIndirect WINELIB_NAME_AW(LoadMenuIndirect)
8712 HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
8713 HINSTANCE32 WINAPI LoadModule32(LPCSTR,LPVOID);
8714 #define     LoadModule WINELIB_NAME(LoadModule)
8715 HGLOBAL16   WINAPI LoadResource16(HINSTANCE16,HRSRC16);
8716 HGLOBAL32   WINAPI LoadResource32(HMODULE32,HRSRC32);
8717 #define     LoadResource WINELIB_NAME(LoadResource)
8718 INT16       WINAPI LoadString16(HINSTANCE16,UINT16,LPSTR,INT16);
8719 INT32       WINAPI LoadString32A(HINSTANCE32,UINT32,LPSTR,INT32);
8720 INT32       WINAPI LoadString32W(HINSTANCE32,UINT32,LPWSTR,INT32);
8721 #define     LoadString WINELIB_NAME_AW(LoadString)
8722 HLOCAL16    WINAPI LocalAlloc16(UINT16,WORD);
8723 HLOCAL32    WINAPI LocalAlloc32(UINT32,DWORD);
8724 #define     LocalAlloc WINELIB_NAME(LocalAlloc)
8725 UINT16      WINAPI LocalCompact16(UINT16);
8726 UINT32      WINAPI LocalCompact32(UINT32);
8727 #define     LocalCompact WINELIB_NAME(LocalCompact)
8728 UINT16      WINAPI LocalFlags16(HLOCAL16);
8729 UINT32      WINAPI LocalFlags32(HLOCAL32);
8730 #define     LocalFlags WINELIB_NAME(LocalFlags)
8731 HLOCAL16    WINAPI LocalFree16(HLOCAL16);
8732 HLOCAL32    WINAPI LocalFree32(HLOCAL32);
8733 #define     LocalFree WINELIB_NAME(LocalFree)
8734 HLOCAL16    WINAPI LocalHandle16(WORD);
8735 HLOCAL32    WINAPI LocalHandle32(LPCVOID);
8736 #define     LocalHandle WINELIB_NAME(LocalHandle)
8737 SEGPTR      WINAPI LocalLock16(HLOCAL16);
8738 LPVOID      WINAPI LocalLock32(HLOCAL32);
8739 #define     LocalLock WINELIB_NAME(LocalLock)
8740 HLOCAL16    WINAPI LocalReAlloc16(HLOCAL16,WORD,UINT16);
8741 HLOCAL32    WINAPI LocalReAlloc32(HLOCAL32,DWORD,UINT32);
8742 #define     LocalReAlloc WINELIB_NAME(LocalReAlloc)
8743 UINT16      WINAPI LocalShrink16(HGLOBAL16,UINT16);
8744 UINT32      WINAPI LocalShrink32(HGLOBAL32,UINT32);
8745 #define     LocalShrink WINELIB_NAME(LocalShrink)
8746 UINT16      WINAPI LocalSize16(HLOCAL16);
8747 UINT32      WINAPI LocalSize32(HLOCAL32);
8748 #define     LocalSize WINELIB_NAME(LocalSize)
8749 BOOL16      WINAPI LocalUnlock16(HLOCAL16);
8750 BOOL32      WINAPI LocalUnlock32(HLOCAL32);
8751 #define     LocalUnlock WINELIB_NAME(LocalUnlock)
8752 LPVOID      WINAPI LockResource16(HGLOBAL16);
8753 LPVOID      WINAPI LockResource32(HGLOBAL32);
8754 #define     LockResource WINELIB_NAME(LockResource)
8755 HGLOBAL16   WINAPI LockSegment16(HGLOBAL16);
8756 #define     LockSegment32(handle) GlobalFix32((HANDLE32)(handle))
8757 #define     LockSegment WINELIB_NAME(LockSegment)
8758 BOOL16      WINAPI LockWindowUpdate16(HWND16);
8759 BOOL32      WINAPI LockWindowUpdate32(HWND32);
8760 #define     LockWindowUpdate WINELIB_NAME(LockWindowUpdate)
8761 INT16       WINAPI LookupIconIdFromDirectory16(LPBYTE,BOOL16);
8762 INT32       WINAPI LookupIconIdFromDirectory32(LPBYTE,BOOL32);
8763 #define     LookupIconIdFromDirectory WINELIB_NAME(LookupIconIdFromDirectory)
8764 INT16       WINAPI LookupIconIdFromDirectoryEx16(LPBYTE,BOOL16,INT16,INT16,UINT16);
8765 INT32       WINAPI LookupIconIdFromDirectoryEx32(LPBYTE,BOOL32,INT32,INT32,UINT32);
8766 #define     LookupIconIdFromDirectoryEx WINELIB_NAME(LookupIconIdFromDirectoryEx)
8767 BOOL16      WINAPI LPtoDP16(HDC16,LPPOINT16,INT16);
8768 BOOL32      WINAPI LPtoDP32(HDC32,LPPOINT32,INT32);
8769 #define     LPtoDP WINELIB_NAME(LPtoDP)
8770 void        WINAPI LZClose16(HFILE16);
8771 void        WINAPI LZClose32(HFILE32);
8772 #define     LZClose WINELIB_NAME(LZClose)
8773 LONG        WINAPI LZCopy16(HFILE16,HFILE16);
8774 LONG        WINAPI LZCopy32(HFILE32,HFILE32);
8775 #define     LZCopy WINELIB_NAME(LZCopy)
8776 HFILE16     WINAPI LZInit16(HFILE16);
8777 HFILE32     WINAPI LZInit32(HFILE32);
8778 #define     LZInit WINELIB_NAME(LZInit)
8779 LONG        WINAPI LZSeek16(HFILE16,LONG,INT16);
8780 LONG        WINAPI LZSeek32(HFILE32,LONG,INT32);
8781 #define     LZSeek WINELIB_NAME(LZSeek)
8782 UINT16      WINAPI MapVirtualKey16(UINT16,UINT16);
8783 UINT32      WINAPI MapVirtualKey32A(UINT32,UINT32);
8784 UINT32      WINAPI MapVirtualKey32W(UINT32,UINT32);
8785 #define     MapVirtualKey WINELIB_NAME_AW(MapVirtualKey)
8786 FARPROC16   WINAPI MakeProcInstance16(FARPROC16,HANDLE16);
8787 #define     MakeProcInstance32(proc,inst) (proc)
8788 #define     MakeProcInstance WINELIB_NAME(MakeProcInstance)
8789 void        WINAPI MapDialogRect16(HWND16,LPRECT16);
8790 void        WINAPI MapDialogRect32(HWND32,LPRECT32);
8791 #define     MapDialogRect WINELIB_NAME(MapDialogRect)
8792 void        WINAPI MapWindowPoints16(HWND16,HWND16,LPPOINT16,UINT16);
8793 void        WINAPI MapWindowPoints32(HWND32,HWND32,LPPOINT32,UINT32);
8794 #define     MapWindowPoints WINELIB_NAME(MapWindowPoints)
8795 VOID        WINAPI MessageBeep16(UINT16);
8796 BOOL32      WINAPI MessageBeep32(UINT32);
8797 #define     MessageBeep WINELIB_NAME(MessageBeep)
8798 INT16       WINAPI MessageBox16(HWND16,LPCSTR,LPCSTR,UINT16);
8799 INT32       WINAPI MessageBox32A(HWND32,LPCSTR,LPCSTR,UINT32);
8800 INT32       WINAPI MessageBox32W(HWND32,LPCWSTR,LPCWSTR,UINT32);
8801 #define     MessageBox WINELIB_NAME_AW(MessageBox)
8802 INT16       WINAPI MessageBoxIndirect16(LPMSGBOXPARAMS16);
8803 INT32       WINAPI MessageBoxIndirect32A(LPMSGBOXPARAMS32A);
8804 INT32       WINAPI MessageBoxIndirect32W(LPMSGBOXPARAMS32W);
8805 #define     MessageBoxIndirect WINELIB_NAME_AW(MessageBoxIndirect)
8806 BOOL16      WINAPI ModifyMenu16(HMENU16,UINT16,UINT16,UINT16,SEGPTR);
8807 BOOL32      WINAPI ModifyMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
8808 BOOL32      WINAPI ModifyMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
8809 #define     ModifyMenu WINELIB_NAME_AW(ModifyMenu)
8810 BOOL16      WINAPI MoveToEx16(HDC16,INT16,INT16,LPPOINT16);
8811 BOOL32      WINAPI MoveToEx32(HDC32,INT32,INT32,LPPOINT32);
8812 #define     MoveToEx WINELIB_NAME(MoveToEx)
8813 BOOL16      WINAPI MoveWindow16(HWND16,INT16,INT16,INT16,INT16,BOOL16);
8814 BOOL32      WINAPI MoveWindow32(HWND32,INT32,INT32,INT32,INT32,BOOL32);
8815 #define     MoveWindow WINELIB_NAME(MoveWindow)
8816 INT16       WINAPI MulDiv16(INT16,INT16,INT16);
8817 INT32       WINAPI MulDiv32(INT32,INT32,INT32);
8818 #define     MulDiv WINELIB_NAME(MulDiv)
8819 INT16       WINAPI OemToAnsi16(LPCSTR,LPSTR);
8820 #define     OemToAnsi32A OemToChar32A
8821 #define     OemToAnsi32W OemToChar32W
8822 #define     OemToAnsi WINELIB_NAME_AW(OemToAnsi)
8823 VOID        WINAPI OemToAnsiBuff16(LPCSTR,LPSTR,UINT16);
8824 #define     OemToAnsiBuff32A OemToCharBuff32A
8825 #define     OemToAnsiBuff32W OemToCharBuff32W
8826 #define     OemToAnsiBuff WINELIB_NAME_AW(OemToAnsiBuff)
8827 BOOL32      WINAPI OemToChar32A(LPCSTR,LPSTR);
8828 BOOL32      WINAPI OemToChar32W(LPCSTR,LPWSTR);
8829 #define     OemToChar WINELIB_NAME_AW(OemToChar)
8830 BOOL32      WINAPI OemToCharBuff32A(LPCSTR,LPSTR,DWORD);
8831 BOOL32      WINAPI OemToCharBuff32W(LPCSTR,LPWSTR,DWORD);
8832 #define     OemToCharBuff WINELIB_NAME_AW(OemToCharBuff)
8833 INT16       WINAPI WideCharToLocal16(LPSTR,LPWSTR,INT16);
8834 INT32       WINAPI WideCharToLocal32(LPSTR,LPWSTR,INT32);
8835 #define                 WideCharToLocal WINELIB_NAME(WideCharToLocal)
8836 INT16       WINAPI LocalToWideChar16(LPWSTR,LPSTR,INT16);
8837 INT32       WINAPI LocalToWideChar32(LPWSTR,LPSTR,INT32);
8838 #define                 LocalToWideChar WINELIB_NAME(LocalToWideChar)
8839 INT16       WINAPI OffsetClipRgn16(HDC16,INT16,INT16);
8840 INT32       WINAPI OffsetClipRgn32(HDC32,INT32,INT32);
8841 #define     OffsetClipRgn WINELIB_NAME(OffsetClipRgn)
8842 void        WINAPI OffsetRect16(LPRECT16,INT16,INT16);
8843 void        WINAPI OffsetRect32(LPRECT32,INT32,INT32);
8844 #define     OffsetRect WINELIB_NAME(OffsetRect)
8845 INT16       WINAPI OffsetRgn16(HRGN16,INT16,INT16);
8846 INT32       WINAPI OffsetRgn32(HRGN32,INT32,INT32);
8847 #define     OffsetRgn WINELIB_NAME(OffsetRgn)
8848 BOOL16      WINAPI OffsetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
8849 BOOL32      WINAPI OffsetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
8850 #define     OffsetViewportOrgEx WINELIB_NAME(OffsetViewportOrgEx)
8851 BOOL16      WINAPI OffsetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
8852 BOOL32      WINAPI OffsetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
8853 #define     OffsetWindowOrgEx WINELIB_NAME(OffsetWindowOrgEx)
8854 BOOL16      WINAPI OpenClipboard16(HWND16);
8855 BOOL32      WINAPI OpenClipboard32(HWND32);
8856 #define     OpenClipboard WINELIB_NAME(OpenClipboard)
8857 HFILE16     WINAPI OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
8858 HFILE32     WINAPI OpenFile32(LPCSTR,OFSTRUCT*,UINT32);
8859 #define     OpenFile WINELIB_NAME(OpenFile)
8860 BOOL16      WINAPI OpenIcon16(HWND16);
8861 BOOL32      WINAPI OpenIcon32(HWND32);
8862 #define     OpenIcon WINELIB_NAME(OpenIcon)
8863 INT16       WINAPI OpenSound16(void);
8864 VOID        WINAPI OpenSound32(void);
8865 #define     OpenSound WINELIB_NAME(OpenSound)
8866 VOID        WINAPI OutputDebugString16(LPCSTR);
8867 VOID        WINAPI OutputDebugString32A(LPCSTR);
8868 VOID        WINAPI OutputDebugString32W(LPCWSTR);
8869 #define     OutputDebugString WINELIB_NAME_AW(OutputDebugString)
8870 BOOL16      WINAPI PaintRgn16(HDC16,HRGN16);
8871 BOOL32      WINAPI PaintRgn32(HDC32,HRGN32);
8872 #define     PaintRgn WINELIB_NAME(PaintRgn)
8873 BOOL16      WINAPI PatBlt16(HDC16,INT16,INT16,INT16,INT16,DWORD);
8874 BOOL32      WINAPI PatBlt32(HDC32,INT32,INT32,INT32,INT32,DWORD);
8875 #define     PatBlt WINELIB_NAME(PatBlt)
8876 HRGN16      WINAPI PathToRegion16(HDC16);
8877 HRGN32      WINAPI PathToRegion32(HDC32);
8878 #define     PathToRegion WINELIB_NAME(PathToRegion)
8879 BOOL16      WINAPI PeekMessage16(LPMSG16,HWND16,UINT16,UINT16,UINT16);
8880 BOOL32      WINAPI PeekMessage32A(LPMSG32,HWND32,UINT32,UINT32,UINT32);
8881 BOOL32      WINAPI PeekMessage32W(LPMSG32,HWND32,UINT32,UINT32,UINT32);
8882 #define     PeekMessage WINELIB_NAME_AW(PeekMessage)
8883 BOOL16      WINAPI Pie16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
8884 BOOL32      WINAPI Pie32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
8885 #define     Pie WINELIB_NAME(Pie)
8886 BOOL16      WINAPI PlayMetaFile16(HDC16,HMETAFILE16);
8887 BOOL32      WINAPI PlayMetaFile32(HDC32,HMETAFILE32);
8888 #define     PlayMetaFile WINELIB_NAME(PlayMetaFile)
8889 VOID        WINAPI PlayMetaFileRecord16(HDC16,LPHANDLETABLE16,LPMETARECORD,UINT16);
8890 BOOL32      WINAPI PlayMetaFileRecord32(HDC32,LPHANDLETABLE32,LPMETARECORD,UINT32);
8891 #define     PlayMetaFileRecord WINELIB_NAME(PlayMetaFileRecord)
8892 BOOL16      WINAPI PolyBezier16(HDC16,const POINT16*,INT16);
8893 BOOL32      WINAPI PolyBezier32(HDC32,const POINT32*,DWORD);
8894 #define     PolyBezier WINELIB_NAME(PolyBezier)
8895 BOOL16      WINAPI PolyBezierTo16(HDC16,const POINT16*,INT16);
8896 BOOL32      WINAPI PolyBezierTo32(HDC32,const POINT32*,DWORD);
8897 #define     PolyBezierTo WINELIB_NAME(PolyBezierTo)
8898 BOOL16      WINAPI PolyPolygon16(HDC16,const POINT16*,const INT16*,UINT16);
8899 BOOL32      WINAPI PolyPolygon32(HDC32,const POINT32*,const INT32*,UINT32);
8900 #define     PolyPolygon WINELIB_NAME(PolyPolygon)
8901 BOOL16      WINAPI Polygon16(HDC16,const POINT16*,INT16);
8902 BOOL32      WINAPI Polygon32(HDC32,const POINT32*,INT32);
8903 #define     Polygon WINELIB_NAME(Polygon)
8904 BOOL16      WINAPI Polyline16(HDC16,const POINT16*,INT16);
8905 BOOL32      WINAPI Polyline32(HDC32,const POINT32*,INT32);
8906 #define     Polyline WINELIB_NAME(Polyline)
8907 BOOL16      WINAPI PostAppMessage16(HTASK16,UINT16,WPARAM16,LPARAM);
8908 #define     PostAppMessage32A(thread,msg,wparam,lparam) \
8909             PostThreadMessage32A((DWORD)(thread),msg,wparam,lparam)
8910 #define     PostAppMessage32W(thread,msg,wparam,lparam) \
8911             PostThreadMessage32W((DWORD)(thread),msg,wparam,lparam)
8912 #define     PostAppMessage WINELIB_NAME_AW(PostAppMessage)
8913 BOOL16      WINAPI PostMessage16(HWND16,UINT16,WPARAM16,LPARAM);
8914 BOOL32      WINAPI PostMessage32A(HWND32,UINT32,WPARAM32,LPARAM);
8915 BOOL32      WINAPI PostMessage32W(HWND32,UINT32,WPARAM32,LPARAM);
8916 #define     PostMessage WINELIB_NAME_AW(PostMessage)
8917 void        WINAPI PostQuitMessage16(INT16);
8918 void        WINAPI PostQuitMessage32(INT32);
8919 #define     PostQuitMessage WINELIB_NAME(PostQuitMessage)
8920 BOOL16      WINAPI PtInRect16(const RECT16*,POINT16);
8921 BOOL32      WINAPI PtInRect32(const RECT32*,POINT32);
8922 #define     PtInRect WINELIB_NAME(PtInRect)
8923 BOOL16      WINAPI PtInRegion16(HRGN16,INT16,INT16);
8924 BOOL32      WINAPI PtInRegion32(HRGN32,INT32,INT32);
8925 #define     PtInRegion WINELIB_NAME(PtInRegion)
8926 BOOL16      WINAPI PtVisible16(HDC16,INT16,INT16);
8927 BOOL32      WINAPI PtVisible32(HDC32,INT32,INT32);
8928 #define     PtVisible WINELIB_NAME(PtVisible)
8929 UINT16      WINAPI RealizePalette16(HDC16);
8930 UINT32      WINAPI RealizePalette32(HDC32);
8931 #define     RealizePalette WINELIB_NAME(RealizePalette)
8932 BOOL16      WINAPI Rectangle16(HDC16,INT16,INT16,INT16,INT16);
8933 BOOL32      WINAPI Rectangle32(HDC32,INT32,INT32,INT32,INT32);
8934 #define     Rectangle WINELIB_NAME(Rectangle)
8935 BOOL16      WINAPI RectInRegion16(HRGN16,const RECT16 *);
8936 BOOL32      WINAPI RectInRegion32(HRGN32,const RECT32 *);
8937 #define     RectInRegion WINELIB_NAME(RectInRegion)
8938 BOOL16      WINAPI RectVisible16(HDC16,const RECT16*);
8939 BOOL32      WINAPI RectVisible32(HDC32,const RECT32*);
8940 #define     RectVisible WINELIB_NAME(RectVisible)
8941 BOOL16      WINAPI RedrawWindow16(HWND16,const RECT16*,HRGN16,UINT16);
8942 BOOL32      WINAPI RedrawWindow32(HWND32,const RECT32*,HRGN32,UINT32);
8943 #define     RedrawWindow WINELIB_NAME(RedrawWindow)
8944 DWORD       WINAPI RegCreateKey16(HKEY,LPCSTR,LPHKEY);
8945 DWORD       WINAPI RegCreateKey32A(HKEY,LPCSTR,LPHKEY);
8946 DWORD       WINAPI RegCreateKey32W(HKEY,LPCWSTR,LPHKEY);
8947 #define     RegCreateKey WINELIB_NAME_AW(RegCreateKey)
8948 DWORD       WINAPI RegDeleteKey16(HKEY,LPCSTR);
8949 DWORD       WINAPI RegDeleteKey32A(HKEY,LPCSTR);
8950 DWORD       WINAPI RegDeleteKey32W(HKEY,LPWSTR);
8951 #define     RegDeleteKey WINELIB_NAME_AW(RegDeleteKey)
8952 DWORD       WINAPI RegDeleteValue16(HKEY,LPSTR);
8953 DWORD       WINAPI RegDeleteValue32A(HKEY,LPSTR);
8954 DWORD       WINAPI RegDeleteValue32W(HKEY,LPWSTR);
8955 #define     RegDeleteValue WINELIB_NAME_AW(RegDeleteValue)
8956 DWORD       WINAPI RegEnumKey16(HKEY,DWORD,LPSTR,DWORD);
8957 DWORD       WINAPI RegEnumKey32A(HKEY,DWORD,LPSTR,DWORD);
8958 DWORD       WINAPI RegEnumKey32W(HKEY,DWORD,LPWSTR,DWORD);
8959 #define     RegEnumKey WINELIB_NAME_AW(RegEnumKey)
8960 DWORD       WINAPI RegEnumValue16(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8961 DWORD       WINAPI RegEnumValue32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8962 DWORD       WINAPI RegEnumValue32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8963 #define     RegEnumValue WINELIB_NAME_AW(RegEnumValue)
8964 ATOM        WINAPI RegisterClass16(const WNDCLASS16*);
8965 ATOM        WINAPI RegisterClass32A(const WNDCLASS32A *);
8966 ATOM        WINAPI RegisterClass32W(const WNDCLASS32W *);
8967 #define     RegisterClass WINELIB_NAME_AW(RegisterClass)
8968 ATOM        WINAPI RegisterClassEx16(const WNDCLASSEX16*);
8969 ATOM        WINAPI RegisterClassEx32A(const WNDCLASSEX32A *);
8970 ATOM        WINAPI RegisterClassEx32W(const WNDCLASSEX32W *);
8971 #define     RegisterClassEx WINELIB_NAME_AW(RegisterClassEx)
8972 UINT16      WINAPI RegisterClipboardFormat16(LPCSTR);
8973 UINT32      WINAPI RegisterClipboardFormat32A(LPCSTR);
8974 UINT32      WINAPI RegisterClipboardFormat32W(LPCWSTR);
8975 #define     RegisterClipboardFormat WINELIB_NAME_AW(RegisterClipboardFormat)
8976 HRESULT     WINAPI RegisterDragDrop16(HWND16,LPVOID);
8977 HRESULT     WINAPI RegisterDragDrop32(HWND32,LPVOID);
8978 #define     RegisterDragDrop WINELIB_NAME(RegisterDragDrop)
8979 WORD        WINAPI RegisterWindowMessage16(SEGPTR);
8980 WORD        WINAPI RegisterWindowMessage32A(LPCSTR);
8981 WORD        WINAPI RegisterWindowMessage32W(LPCWSTR);
8982 #define     RegisterWindowMessage WINELIB_NAME_AW(RegisterWindowMessage)
8983 DWORD       WINAPI RegOpenKey16(HKEY,LPCSTR,LPHKEY);
8984 DWORD       WINAPI RegOpenKey32A(HKEY,LPCSTR,LPHKEY);
8985 DWORD       WINAPI RegOpenKey32W(HKEY,LPCWSTR,LPHKEY);
8986 #define     RegOpenKey WINELIB_NAME_AW(RegOpenKey)
8987 DWORD       WINAPI RegQueryValue16(HKEY,LPSTR,LPSTR,LPDWORD);
8988 DWORD       WINAPI RegQueryValue32A(HKEY,LPSTR,LPSTR,LPDWORD);
8989 DWORD       WINAPI RegQueryValue32W(HKEY,LPWSTR,LPWSTR,LPDWORD);
8990 #define     RegQueryValue WINELIB_NAME_AW(RegQueryValue)
8991 DWORD       WINAPI RegQueryValueEx16(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8992 DWORD       WINAPI RegQueryValueEx32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8993 DWORD       WINAPI RegQueryValueEx32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8994 #define     RegQueryValueEx WINELIB_NAME_AW(RegQueryValueEx)
8995 DWORD       WINAPI RegSetValue16(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
8996 DWORD       WINAPI RegSetValue32A(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
8997 DWORD       WINAPI RegSetValue32W(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
8998 #define     RegSetValue WINELIB_NAME_AW(RegSetValue)
8999 DWORD       WINAPI RegSetValueEx16(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
9000 DWORD       WINAPI RegSetValueEx32A(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
9001 DWORD       WINAPI RegSetValueEx32W(HKEY,LPWSTR,DWORD,DWORD,LPBYTE,DWORD);
9002 #define     RegSetValueEx WINELIB_NAME_AW(RegSetValueEx)
9003 INT16       WINAPI ReleaseDC16(HWND16,HDC16);
9004 INT32       WINAPI ReleaseDC32(HWND32,HDC32);
9005 #define     ReleaseDC WINELIB_NAME(ReleaseDC)
9006 BOOL16      WINAPI RemoveDirectory16(LPCSTR);
9007 BOOL32      WINAPI RemoveDirectory32A(LPCSTR);
9008 BOOL32      WINAPI RemoveDirectory32W(LPCWSTR);
9009 #define     RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
9010 BOOL16      WINAPI RemoveFontResource16(SEGPTR);
9011 BOOL32      WINAPI RemoveFontResource32A(LPCSTR);
9012 BOOL32      WINAPI RemoveFontResource32W(LPCWSTR);
9013 #define     RemoveFontResource WINELIB_NAME_AW(RemoveFontResource)
9014 BOOL16      WINAPI RemoveMenu16(HMENU16,UINT16,UINT16);
9015 BOOL32      WINAPI RemoveMenu32(HMENU32,UINT32,UINT32);
9016 #define     RemoveMenu WINELIB_NAME(RemoveMenu)
9017 HANDLE16    WINAPI RemoveProp16(HWND16,LPCSTR);
9018 HANDLE32    WINAPI RemoveProp32A(HWND32,LPCSTR);
9019 HANDLE32    WINAPI RemoveProp32W(HWND32,LPCWSTR);
9020 #define     RemoveProp WINELIB_NAME_AW(RemoveProp)
9021 VOID        WINAPI ReplyMessage16(LRESULT);
9022 BOOL32      WINAPI ReplyMessage32(LRESULT);
9023 #define     ReplyMessage WINELIB_NAME(ReplyMessage)
9024 HDC16       WINAPI ResetDC16(HDC16,const DEVMODE16 *);
9025 HDC32       WINAPI ResetDC32A(HDC32,const DEVMODE32A *);
9026 HDC32       WINAPI ResetDC32W(HDC32,const DEVMODE32W *);
9027 #define     ResetDC WINELIB_NAME_AW(ResetDC)
9028 BOOL16      WINAPI ResizePalette16(HPALETTE16,UINT16);
9029 BOOL32      WINAPI ResizePalette32(HPALETTE32,UINT32);
9030 #define     ResizePalette WINELIB_NAME(ResizePalette)
9031 BOOL16      WINAPI RestoreDC16(HDC16,INT16);
9032 BOOL32      WINAPI RestoreDC32(HDC32,INT32);
9033 #define     RestoreDC WINELIB_NAME(RestoreDC)
9034 HRESULT     WINAPI RevokeDragDrop16(HWND16);
9035 HRESULT     WINAPI RevokeDragDrop32(HWND32);
9036 #define     RevokeDragDrop WINELIB_NAME(RevokeDragDrop)
9037 BOOL16      WINAPI RoundRect16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16);
9038 BOOL32      WINAPI RoundRect32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32);
9039 #define     RoundRect WINELIB_NAME(RoundRect)
9040 INT16       WINAPI SaveDC16(HDC16);
9041 INT32       WINAPI SaveDC32(HDC32);
9042 #define     SaveDC WINELIB_NAME(SaveDC)
9043 BOOL16      WINAPI ScaleViewportExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
9044 BOOL32      WINAPI ScaleViewportExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
9045 #define     ScaleViewportExtEx WINELIB_NAME(ScaleViewportExtEx)
9046 BOOL16      WINAPI ScaleWindowExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
9047 BOOL32      WINAPI ScaleWindowExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
9048 #define     ScaleWindowExtEx WINELIB_NAME(ScaleWindowExtEx)
9049 void        WINAPI ScreenToClient16(HWND16,LPPOINT16);
9050 void        WINAPI ScreenToClient32(HWND32,LPPOINT32);
9051 #define     ScreenToClient WINELIB_NAME(ScreenToClient)
9052 VOID        WINAPI ScrollChildren16(HWND16,UINT16,WPARAM16,LPARAM);
9053 VOID        WINAPI ScrollChildren32(HWND32,UINT32,WPARAM32,LPARAM);
9054 #define     ScrollChildren WINELIB_NAME(ScrollChildren)
9055 BOOL16      WINAPI ScrollDC16(HDC16,INT16,INT16,const RECT16*,const RECT16*,
9056                       HRGN16,LPRECT16);
9057 BOOL32      WINAPI ScrollDC32(HDC32,INT32,INT32,const RECT32*,const RECT32*,
9058                       HRGN32,LPRECT32);
9059 #define     ScrollDC WINELIB_NAME(ScrollDC)
9060 void        WINAPI ScrollWindow16(HWND16,INT16,INT16,const RECT16*,const RECT16*);
9061 BOOL32      WINAPI ScrollWindow32(HWND32,INT32,INT32,const RECT32*,const RECT32*);
9062 #define     ScrollWindow WINELIB_NAME(ScrollWindow)
9063 INT16       WINAPI ScrollWindowEx16(HWND16,INT16,INT16,const RECT16*,
9064                                     const RECT16*,HRGN16,LPRECT16,UINT16);
9065 INT32       WINAPI ScrollWindowEx32(HWND32,INT32,INT32,const RECT32*,
9066                                     const RECT32*,HRGN32,LPRECT32,UINT32);
9067 #define     ScrollWindowEx WINELIB_NAME(ScrollWindowEx)
9068 BOOL16      WINAPI SelectClipPath16(HDC16,INT16);
9069 BOOL32      WINAPI SelectClipPath32(HDC32,INT32);
9070 #define     SelectClipPath WINELIB_NAME(SelectClipPath)
9071 INT16       WINAPI SelectClipRgn16(HDC16,HRGN16);
9072 INT32       WINAPI SelectClipRgn32(HDC32,HRGN32);
9073 #define     SelectClipRgn WINELIB_NAME(SelectClipRgn)
9074 HGDIOBJ16   WINAPI SelectObject16(HDC16,HGDIOBJ16);
9075 HGDIOBJ32   WINAPI SelectObject32(HDC32,HGDIOBJ32);
9076 #define     SelectObject WINELIB_NAME(SelectObject)
9077 HPALETTE16  WINAPI SelectPalette16(HDC16,HPALETTE16,BOOL16);
9078 HPALETTE32  WINAPI SelectPalette32(HDC32,HPALETTE32,BOOL32);
9079 #define     SelectPalette WINELIB_NAME(SelectPalette)
9080 LRESULT     WINAPI SendDlgItemMessage16(HWND16,INT16,UINT16,WPARAM16,LPARAM);
9081 LRESULT     WINAPI SendDlgItemMessage32A(HWND32,INT32,UINT32,WPARAM32,LPARAM);
9082 LRESULT     WINAPI SendDlgItemMessage32W(HWND32,INT32,UINT32,WPARAM32,LPARAM);
9083 #define     SendDlgItemMessage WINELIB_NAME_AW(SendDlgItemMessage)
9084 LRESULT     WINAPI SendMessage16(HWND16,UINT16,WPARAM16,LPARAM);
9085 LRESULT     WINAPI SendMessage32A(HWND32,UINT32,WPARAM32,LPARAM);
9086 LRESULT     WINAPI SendMessage32W(HWND32,UINT32,WPARAM32,LPARAM);
9087 #define     SendMessage WINELIB_NAME_AW(SendMessage)
9088 LRESULT     WINAPI SendMessageTimeout16(HWND16,UINT16,WPARAM16,LPARAM,UINT16,
9089                                         UINT16,LPWORD);
9090 LRESULT     WINAPI SendMessageTimeout32A(HWND32,UINT32,WPARAM32,LPARAM,UINT32,
9091                                          UINT32,LPDWORD);
9092 LRESULT     WINAPI SendMessageTimeout32W(HWND32,UINT32,WPARAM32,LPARAM,UINT32,
9093                                          UINT32,LPDWORD);
9094 #define     SendMessageTimeout WINELIB_NAME_AW(SendMessageTimeout)
9095 HWND16      WINAPI SetActiveWindow16(HWND16);
9096 HWND32      WINAPI SetActiveWindow32(HWND32);
9097 #define     SetActiveWindow WINELIB_NAME(SetActiveWindow)
9098 INT16       WINAPI SetArcDirection16(HDC16,INT16);
9099 INT32       WINAPI SetArcDirection32(HDC32,INT32);
9100 #define     SetArcDirection WINELIB_NAME(SetArcDirection)
9101 LONG        WINAPI SetBitmapBits16(HBITMAP16,LONG,LPCVOID);
9102 LONG        WINAPI SetBitmapBits32(HBITMAP32,LONG,LPCVOID);
9103 #define     SetBitmapBits WINELIB_NAME(SetBitmapBits)
9104 BOOL16      WINAPI SetBitmapDimensionEx16(HBITMAP16,INT16,INT16,LPSIZE16);
9105 BOOL32      WINAPI SetBitmapDimensionEx32(HBITMAP32,INT32,INT32,LPSIZE32);
9106 #define     SetBitmapDimensionEx WINELIB_NAME(SetBitmapDimensionEx)
9107 COLORREF    WINAPI SetBkColor16(HDC16,COLORREF);
9108 COLORREF    WINAPI SetBkColor32(HDC32,COLORREF);
9109 #define     SetBkColor WINELIB_NAME(SetBkColor)
9110 INT16       WINAPI SetBkMode16(HDC16,INT16);
9111 INT32       WINAPI SetBkMode32(HDC32,INT32);
9112 #define     SetBkMode WINELIB_NAME(SetBkMode)
9113 UINT16      WINAPI SetBoundsRect16(HDC16,const RECT16*,UINT16);
9114 UINT32      WINAPI SetBoundsRect32(HDC32,const RECT32*,UINT32);
9115 #define     SetBoundsRect WINELIB_NAME(SetBoundsRect)
9116 HWND16      WINAPI SetCapture16(HWND16);
9117 HWND32      WINAPI SetCapture32(HWND32);
9118 #define     SetCapture WINELIB_NAME(SetCapture)
9119 VOID        WINAPI SetCaretBlinkTime16(UINT16);
9120 BOOL32      WINAPI SetCaretBlinkTime32(UINT32);
9121 #define     SetCaretBlinkTime WINELIB_NAME(SetCaretBlinkTime)
9122 VOID        WINAPI SetCaretPos16(INT16,INT16);
9123 BOOL32      WINAPI SetCaretPos32(INT32,INT32);
9124 #define     SetCaretPos WINELIB_NAME(SetCaretPos)
9125 LONG        WINAPI SetClassLong16(HWND16,INT16,LONG);
9126 LONG        WINAPI SetClassLong32A(HWND32,INT32,LONG);
9127 LONG        WINAPI SetClassLong32W(HWND32,INT32,LONG);
9128 #define     SetClassLong WINELIB_NAME_AW(SetClassLong)
9129 WORD        WINAPI SetClassWord16(HWND16,INT16,WORD);
9130 WORD        WINAPI SetClassWord32(HWND32,INT32,WORD);
9131 #define     SetClassWord WINELIB_NAME(SetClassWord)
9132 HANDLE16    WINAPI SetClipboardData16(UINT16,HANDLE16);
9133 HANDLE32    WINAPI SetClipboardData32(UINT32,HANDLE32);
9134 #define     SetClipboardData WINELIB_NAME(SetClipboardData)
9135 HWND16      WINAPI SetClipboardViewer16(HWND16);
9136 HWND32      WINAPI SetClipboardViewer32(HWND32);
9137 #define     SetClipboardViewer WINELIB_NAME(SetClipboardViewer)
9138 INT16       WINAPI SetCommBreak16(INT16);
9139 BOOL32      WINAPI SetCommBreak32(INT32);
9140 #define     SetCommBreak WINELIB_NAME(SetCommBreak)
9141 INT16       WINAPI SetCommState16(LPDCB16);
9142 BOOL32      WINAPI SetCommState32(INT32,LPDCB32);
9143 #define     SetCommState WINELIB_NAME(SetCommState)
9144 BOOL16      WINAPI SetCurrentDirectory16(LPCSTR);
9145 BOOL32      WINAPI SetCurrentDirectory32A(LPCSTR);
9146 BOOL32      WINAPI SetCurrentDirectory32W(LPCWSTR);
9147 #define     SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
9148 HCURSOR16   WINAPI SetCursor16(HCURSOR16);
9149 HCURSOR32   WINAPI SetCursor32(HCURSOR32);
9150 #define     SetCursor WINELIB_NAME(SetCursor)
9151 void        WINAPI SetCursorPos16(INT16,INT16);
9152 BOOL32      WINAPI SetCursorPos32(INT32,INT32);
9153 #define     SetCursorPos WINELIB_NAME(SetCursorPos)
9154 BOOL16      WINAPI SetDeskWallPaper16(LPCSTR);
9155 BOOL32      WINAPI SetDeskWallPaper32(LPCSTR);
9156 #define     SetDeskWallPaper WINELIB_NAME(SetDeskWallPaper)
9157 UINT16      WINAPI SetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
9158 UINT32      WINAPI SetDIBColorTable32(HDC32,UINT32,UINT32,RGBQUAD*);
9159 #define     SetDIBColorTable WINELIB_NAME(SetDIBColorTable)
9160 INT16       WINAPI SetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
9161 INT32       WINAPI SetDIBits32(HDC32,HBITMAP32,UINT32,UINT32,LPCVOID,const BITMAPINFO*,UINT32);
9162 #define     SetDIBits WINELIB_NAME(SetDIBits)
9163 INT16       WINAPI SetDIBitsToDevice16(HDC16,INT16,INT16,INT16,INT16,INT16,
9164                          INT16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
9165 INT32       WINAPI SetDIBitsToDevice32(HDC32,INT32,INT32,DWORD,DWORD,INT32,
9166                          INT32,UINT32,UINT32,LPCVOID,const BITMAPINFO*,UINT32);
9167 #define     SetDIBitsToDevice WINELIB_NAME(SetDIBitsToDevice)
9168 void        WINAPI SetDlgItemInt16(HWND16,INT16,UINT16,BOOL16);
9169 void        WINAPI SetDlgItemInt32(HWND32,INT32,UINT32,BOOL32);
9170 #define     SetDlgItemInt WINELIB_NAME(SetDlgItemInt)
9171 void        WINAPI SetDlgItemText16(HWND16,INT16,SEGPTR);
9172 BOOL32      WINAPI SetDlgItemText32A(HWND32,INT32,LPCSTR);
9173 BOOL32      WINAPI SetDlgItemText32W(HWND32,INT32,LPCWSTR);
9174 #define     SetDlgItemText WINELIB_NAME_AW(SetDlgItemText)
9175 VOID        WINAPI SetDoubleClickTime16(UINT16);
9176 BOOL32      WINAPI SetDoubleClickTime32(UINT32);
9177 #define     SetDoubleClickTime WINELIB_NAME(SetDoubleClickTime)
9178 UINT16      WINAPI SetErrorMode16(UINT16);
9179 UINT32      WINAPI SetErrorMode32(UINT32);
9180 #define     SetErrorMode WINELIB_NAME(SetErrorMode)
9181 BOOL16      WINAPI SetFileAttributes16(LPCSTR,DWORD);
9182 BOOL32      WINAPI SetFileAttributes32A(LPCSTR,DWORD);
9183 BOOL32      WINAPI SetFileAttributes32W(LPCWSTR,DWORD);
9184 #define     SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
9185 HWND16      WINAPI SetFocus16(HWND16);
9186 HWND32      WINAPI SetFocus32(HWND32);
9187 #define     SetFocus WINELIB_NAME(SetFocus)
9188 BOOL16      WINAPI SetForegroundWindow16(HWND16);
9189 BOOL32      WINAPI SetForegroundWindow32(HWND32);
9190 #define     SetForegroundWindow WINELIB_NAME(SetForegroundWindow)
9191 UINT16      WINAPI SetHandleCount16(UINT16);
9192 UINT32      WINAPI SetHandleCount32(UINT32);
9193 #define     SetHandleCount WINELIB_NAME(SetHandleCount)
9194 void        WINAPI SetInternalWindowPos16(HWND16,UINT16,LPRECT16,LPPOINT16);
9195 void        WINAPI SetInternalWindowPos32(HWND32,UINT32,LPRECT32,LPPOINT32);
9196 #define     SetInternalWindowPos WINELIB_NAME(SetInternalWindowPos)
9197 INT16       WINAPI SetMapMode16(HDC16,INT16);
9198 INT32       WINAPI SetMapMode32(HDC32,INT32);
9199 #define     SetMapMode WINELIB_NAME(SetMapMode)
9200 DWORD       WINAPI SetMapperFlags16(HDC16,DWORD);
9201 DWORD       WINAPI SetMapperFlags32(HDC32,DWORD);
9202 #define     SetMapperFlags WINELIB_NAME(SetMapperFlags)
9203 BOOL16      WINAPI SetMenu16(HWND16,HMENU16);
9204 BOOL32      WINAPI SetMenu32(HWND32,HMENU32);
9205 #define     SetMenu WINELIB_NAME(SetMenu)
9206 BOOL16      WINAPI SetMenuItemBitmaps16(HMENU16,UINT16,UINT16,HBITMAP16,HBITMAP16);
9207 BOOL32      WINAPI SetMenuItemBitmaps32(HMENU32,UINT32,UINT32,HBITMAP32,HBITMAP32);
9208 #define     SetMenuItemBitmaps WINELIB_NAME(SetMenuItemBitmaps)
9209 BOOL16      WINAPI SetMessageQueue16(INT16);
9210 BOOL32      WINAPI SetMessageQueue32(INT32);
9211 #define     SetMessageQueue WINELIB_NAME(SetMessageQueue)
9212 UINT16      WINAPI SetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
9213 UINT32      WINAPI SetPaletteEntries32(HPALETTE32,UINT32,UINT32,LPPALETTEENTRY);
9214 #define     SetPaletteEntries WINELIB_NAME(SetPaletteEntries)
9215 HWND16      WINAPI SetParent16(HWND16,HWND16);
9216 HWND32      WINAPI SetParent32(HWND32,HWND32);
9217 #define     SetParent WINELIB_NAME(SetParent)
9218 COLORREF    WINAPI SetPixel16(HDC16,INT16,INT16,COLORREF);
9219 COLORREF    WINAPI SetPixel32(HDC32,INT32,INT32,COLORREF);
9220 #define     SetPixel WINELIB_NAME(SetPixel)
9221 BOOL32      WINAPI SetPixelV32(HDC32,INT32,INT32,COLORREF);
9222 BOOL32      WINAPI SetPixelFormat(HDC32,int,const PIXELFORMATDESCRIPTOR*);
9223 INT16       WINAPI SetPolyFillMode16(HDC16,INT16);
9224 INT32       WINAPI SetPolyFillMode32(HDC32,INT32);
9225 #define     SetPolyFillMode WINELIB_NAME(SetPolyFillMode)
9226 BOOL16      WINAPI SetProp16(HWND16,LPCSTR,HANDLE16);
9227 BOOL32      WINAPI SetProp32A(HWND32,LPCSTR,HANDLE32);
9228 BOOL32      WINAPI SetProp32W(HWND32,LPCWSTR,HANDLE32);
9229 #define     SetProp WINELIB_NAME_AW(SetProp)
9230 void        WINAPI SetRect16(LPRECT16,INT16,INT16,INT16,INT16);
9231 void        WINAPI SetRect32(LPRECT32,INT32,INT32,INT32,INT32);
9232 #define     SetRect WINELIB_NAME(SetRect)
9233 void        WINAPI SetRectEmpty16(LPRECT16);
9234 void        WINAPI SetRectEmpty32(LPRECT32);
9235 #define     SetRectEmpty WINELIB_NAME(SetRectEmpty)
9236 VOID        WINAPI SetRectRgn16(HRGN16,INT16,INT16,INT16,INT16);
9237 VOID        WINAPI SetRectRgn32(HRGN32,INT32,INT32,INT32,INT32);
9238 #define     SetRectRgn WINELIB_NAME(SetRectRgn)
9239 INT16       WINAPI SetRelAbs16(HDC16,INT16);
9240 INT32       WINAPI SetRelAbs32(HDC32,INT32);
9241 #define     SetRelAbs WINELIB_NAME(SetRelAbs)
9242 INT16       WINAPI SetROP216(HDC16,INT16);
9243 INT32       WINAPI SetROP232(HDC32,INT32);
9244 #define     SetROP2 WINELIB_NAME(SetROP2)
9245 INT16       WINAPI SetScrollInfo16(HWND16,INT16,const SCROLLINFO*,BOOL16);
9246 INT32       WINAPI SetScrollInfo32(HWND32,INT32,const SCROLLINFO*,BOOL32);
9247 #define     SetScrollInfo WINELIB_NAME(SetScrollInfo)
9248 INT16       WINAPI SetScrollPos16(HWND16,INT16,INT16,BOOL16);
9249 INT32       WINAPI SetScrollPos32(HWND32,INT32,INT32,BOOL32);
9250 #define     SetScrollPos WINELIB_NAME(SetScrollPos)
9251 void        WINAPI SetScrollRange16(HWND16,INT16,INT16,INT16,BOOL16);
9252 BOOL32      WINAPI SetScrollRange32(HWND32,INT32,INT32,INT32,BOOL32);
9253 #define     SetScrollRange WINELIB_NAME(SetScrollRange)
9254 INT16       WINAPI SetSoundNoise16(INT16,INT16);
9255 DWORD       WINAPI SetSoundNoise32(DWORD,DWORD);
9256 #define     SetSoundNoise WINELIB_NAME(SetSoundNoise)
9257 INT16       WINAPI SetStretchBltMode16(HDC16,INT16);
9258 INT32       WINAPI SetStretchBltMode32(HDC32,INT32);
9259 #define     SetStretchBltMode WINELIB_NAME(SetStretchBltMode)
9260 LONG        WINAPI SetSwapAreaSize16(WORD);
9261 #define     SetSwapAreaSize32(w) (w)
9262 #define     SetSwapAreaSize WINELIB_NAME(SetSwapAreaSize)
9263 VOID        WINAPI SetSysColors16(INT16,const INT16*,const COLORREF*);
9264 BOOL32      WINAPI SetSysColors32(INT32,const INT32*,const COLORREF*);
9265 #define     SetSysColors WINELIB_NAME(SetSysColors)
9266 HWND16      WINAPI SetSysModalWindow16(HWND16);
9267 #define     SetSysModalWindow32(hwnd) ((HWND32)0)
9268 #define     SetSysModalWindow WINELIB_NAME(SetSysModalWindow)
9269 BOOL16      WINAPI SetSystemMenu16(HWND16,HMENU16);
9270 BOOL32      WINAPI SetSystemMenu32(HWND32,HMENU32);
9271 #define     SetSystemMenu WINELIB_NAME(SetSystemMenu)
9272 UINT16      WINAPI SetSystemPaletteUse16(HDC16,UINT16);
9273 UINT32      WINAPI SetSystemPaletteUse32(HDC32,UINT32);
9274 #define     SetSystemPaletteUse WINELIB_NAME(SetSystemPaletteUse)
9275 UINT16      WINAPI SetSystemTimer16(HWND16,UINT16,UINT16,TIMERPROC16);
9276 UINT32      WINAPI SetSystemTimer32(HWND32,UINT32,UINT32,TIMERPROC32);
9277 #define     SetSystemTimer WINELIB_NAME(SetSystemTimer)
9278 UINT16      WINAPI SetTextAlign16(HDC16,UINT16);
9279 UINT32      WINAPI SetTextAlign32(HDC32,UINT32);
9280 #define     SetTextAlign WINELIB_NAME(SetTextAlign)
9281 INT16       WINAPI SetTextCharacterExtra16(HDC16,INT16);
9282 INT32       WINAPI SetTextCharacterExtra32(HDC32,INT32);
9283 #define     SetTextCharacterExtra WINELIB_NAME(SetTextCharacterExtra)
9284 COLORREF    WINAPI SetTextColor16(HDC16,COLORREF);
9285 COLORREF    WINAPI SetTextColor32(HDC32,COLORREF);
9286 #define     SetTextColor WINELIB_NAME(SetTextColor)
9287 INT16       WINAPI SetTextJustification16(HDC16,INT16,INT16);
9288 BOOL32      WINAPI SetTextJustification32(HDC32,INT32,INT32);
9289 #define     SetTextJustification WINELIB_NAME(SetTextJustification)
9290 UINT16      WINAPI SetTimer16(HWND16,UINT16,UINT16,TIMERPROC16);
9291 UINT32      WINAPI SetTimer32(HWND32,UINT32,UINT32,TIMERPROC32);
9292 #define     SetTimer WINELIB_NAME(SetTimer)
9293 BOOL16      WINAPI SetViewportExtEx16(HDC16,INT16,INT16,LPSIZE16);
9294 BOOL32      WINAPI SetViewportExtEx32(HDC32,INT32,INT32,LPSIZE32);
9295 #define     SetViewportExtEx WINELIB_NAME(SetViewportExtEx)
9296 BOOL16      WINAPI SetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
9297 BOOL32      WINAPI SetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
9298 #define     SetViewportOrgEx WINELIB_NAME(SetViewportOrgEx)
9299 INT16       WINAPI SetVoiceAccent16(INT16,INT16,INT16,INT16,INT16);
9300 DWORD       WINAPI SetVoiceAccent32(DWORD,DWORD,DWORD,DWORD,DWORD);
9301 #define     SetVoiceAccent WINELIB_NAME(SetVoiceAccent)
9302 INT16       WINAPI SetVoiceEnvelope16(INT16,INT16,INT16);
9303 DWORD       WINAPI SetVoiceEnvelope32(DWORD,DWORD,DWORD);
9304 #define     SetVoiceEnvelope WINELIB_NAME(SetVoiceEnvelope)
9305 INT16       WINAPI SetVoiceNote16(INT16,INT16,INT16,INT16);
9306 DWORD       WINAPI SetVoiceNote32(DWORD,DWORD,DWORD,DWORD);
9307 #define     SetVoiceNote WINELIB_NAME(SetVoiceNote)
9308 INT16       WINAPI SetVoiceQueueSize16(INT16,INT16);
9309 DWORD       WINAPI SetVoiceQueueSize32(DWORD,DWORD);
9310 #define     SetVoiceQueueSize WINELIB_NAME(SetVoiceQueueSize)
9311 INT16       WINAPI SetVoiceSound16(INT16,DWORD,INT16);
9312 DWORD       WINAPI SetVoiceSound32(DWORD,DWORD,DWORD);
9313 #define     SetVoiceSound WINELIB_NAME(SetVoiceSound)
9314 INT16       WINAPI SetVoiceThreshold16(INT16,INT16);
9315 DWORD       WINAPI SetVoiceThreshold32(DWORD,DWORD);
9316 #define     SetVoiceThreshold WINELIB_NAME(SetVoiceThreshold)
9317 BOOL16      WINAPI SetWindowExtEx16(HDC16,INT16,INT16,LPSIZE16);
9318 BOOL32      WINAPI SetWindowExtEx32(HDC32,INT32,INT32,LPSIZE32);
9319 #define     SetWindowExtEx WINELIB_NAME(SetWindowExtEx)
9320 LONG        WINAPI SetWindowLong16(HWND16,INT16,LONG);
9321 LONG        WINAPI SetWindowLong32A(HWND32,INT32,LONG);
9322 LONG        WINAPI SetWindowLong32W(HWND32,INT32,LONG);
9323 #define     SetWindowLong WINELIB_NAME_AW(SetWindowLong)
9324 BOOL16      WINAPI SetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
9325 BOOL32      WINAPI SetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
9326 #define     SetWindowOrgEx WINELIB_NAME(SetWindowOrgEx)
9327 BOOL16      WINAPI SetWindowPlacement16(HWND16,const WINDOWPLACEMENT16*);
9328 BOOL32      WINAPI SetWindowPlacement32(HWND32,const WINDOWPLACEMENT32*);
9329 #define     SetWindowPlacement WINELIB_NAME(SetWindowPlacement)
9330 FARPROC16   WINAPI SetWindowsHook16(INT16,HOOKPROC16);
9331 HHOOK       WINAPI SetWindowsHook32A(INT32,HOOKPROC32);
9332 HHOOK       WINAPI SetWindowsHook32W(INT32,HOOKPROC32);
9333 #define     SetWindowsHook WINELIB_NAME_AW(SetWindowsHook)
9334 HHOOK       WINAPI SetWindowsHookEx16(INT16,HOOKPROC16,HINSTANCE16,HTASK16);
9335 HHOOK       WINAPI SetWindowsHookEx32A(INT32,HOOKPROC32,HINSTANCE32,DWORD);
9336 HHOOK       WINAPI SetWindowsHookEx32W(INT32,HOOKPROC32,HINSTANCE32,DWORD);
9337 #define     SetWindowsHookEx WINELIB_NAME_AW(SetWindowsHookEx)
9338 BOOL16      WINAPI SetWindowPos16(HWND16,HWND16,INT16,INT16,INT16,INT16,WORD);
9339 BOOL32      WINAPI SetWindowPos32(HWND32,HWND32,INT32,INT32,INT32,INT32,WORD);
9340 #define     SetWindowPos WINELIB_NAME(SetWindowPos)
9341 INT16       WINAPI SetWindowRgn16(HWND16,HRGN16,BOOL16);
9342 INT32       WINAPI SetWindowRgn32(HWND32,HRGN32,BOOL32);
9343 #define     SetWindowRgn WINELIB_NAME(SetWindowRgn)
9344 void        WINAPI SetWindowText16(HWND16,SEGPTR);
9345 void        WINAPI SetWindowText32A(HWND32,LPCSTR);
9346 void        WINAPI SetWindowText32W(HWND32,LPCWSTR);
9347 #define     SetWindowText WINELIB_NAME_AW(SetWindowText)
9348 WORD        WINAPI SetWindowWord16(HWND16,INT16,WORD);
9349 WORD        WINAPI SetWindowWord32(HWND32,INT32,WORD);
9350 HENHMETAFILE32 WINAPI SetWinMetaFileBits(UINT32,CONST BYTE*,HDC32,CONST METAFILEPICT32 *);
9351 #define     SetWindowWord WINELIB_NAME(SetWindowWord)
9352 BOOL16      WINAPI ShellAbout16(HWND16,LPCSTR,LPCSTR,HICON16);
9353 BOOL32      WINAPI ShellAbout32A(HWND32,LPCSTR,LPCSTR,HICON32);
9354 BOOL32      WINAPI ShellAbout32W(HWND32,LPCWSTR,LPCWSTR,HICON32);
9355 #define     ShellAbout WINELIB_NAME_AW(ShellAbout)
9356 HINSTANCE16 WINAPI ShellExecute16(HWND16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT16);
9357 HINSTANCE32 WINAPI ShellExecute32A(HWND32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT32);
9358 HINSTANCE32 WINAPI ShellExecute32W(HWND32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT32);
9359 #define     ShellExecute WINELIB_NAME_AW(ShellExecute)
9360 VOID        WINAPI ShowCaret16(HWND16);
9361 BOOL32      WINAPI ShowCaret32(HWND32);
9362 #define     ShowCaret WINELIB_NAME(ShowCaret)
9363 INT16       WINAPI ShowCursor16(BOOL16);
9364 INT32       WINAPI ShowCursor32(BOOL32);
9365 #define     ShowCursor WINELIB_NAME(ShowCursor)
9366 void        WINAPI ShowScrollBar16(HWND16,INT16,BOOL16);
9367 BOOL32      WINAPI ShowScrollBar32(HWND32,INT32,BOOL32);
9368 #define     ShowScrollBar WINELIB_NAME(ShowScrollBar)
9369 VOID        WINAPI ShowOwnedPopups16(HWND16,BOOL16);
9370 BOOL32      WINAPI ShowOwnedPopups32(HWND32,BOOL32);
9371 #define     ShowOwnedPopups WINELIB_NAME(ShowOwnedPopups)
9372 BOOL16      WINAPI ShowWindow16(HWND16,INT16);
9373 BOOL32      WINAPI ShowWindow32(HWND32,INT32);
9374 #define     ShowWindow WINELIB_NAME(ShowWindow)
9375 DWORD       WINAPI SizeofResource16(HMODULE16,HRSRC16);
9376 DWORD       WINAPI SizeofResource32(HMODULE32,HRSRC32);
9377 #define     SizeofResource WINELIB_NAME(SizeofResource)
9378 INT16       WINAPI StartDoc16(HDC16,const DOCINFO16*);
9379 INT32       WINAPI StartDoc32A(HDC32,const DOCINFO32A*);
9380 INT32       WINAPI StartDoc32W(HDC32,const DOCINFO32W*);
9381 #define     StartDoc WINELIB_NAME_AW(StartDoc)
9382 INT16       WINAPI StartPage16(HDC16);
9383 INT32       WINAPI StartPage32(HDC32);
9384 #define     StartPage WINELIB_NAME(StartPage)
9385 INT16       WINAPI EndPage16(HDC16);
9386 INT32       WINAPI EndPage32(HDC32);
9387 #define     EndPage WINELIB_NAME(EndPage)
9388 INT16       WINAPI StartSound16(void);
9389 VOID        WINAPI StartSound32(void);
9390 #define     StartSound WINELIB_NAME(StartSound)
9391 INT16       WINAPI StopSound16(void);
9392 VOID        WINAPI StopSound32(void);
9393 #define     StopSound WINELIB_NAME(StopSound)
9394 BOOL16      WINAPI StretchBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,
9395                                 INT16,INT16,INT16,DWORD);
9396 BOOL32      WINAPI StretchBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,
9397                                 INT32,INT32,INT32,DWORD);
9398 #define     StretchBlt WINELIB_NAME(StretchBlt)
9399 INT16       WINAPI StretchDIBits16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,
9400                        INT16,INT16,const VOID*,const BITMAPINFO*,UINT16,DWORD);
9401 INT32       WINAPI StretchDIBits32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,
9402                        INT32,INT32,const VOID*,const BITMAPINFO*,UINT32,DWORD);
9403 #define     StretchDIBits WINELIB_NAME(StretchDIBits)
9404 BOOL16      WINAPI SubtractRect16(LPRECT16,const RECT16*,const RECT16*);
9405 BOOL32      WINAPI SubtractRect32(LPRECT32,const RECT32*,const RECT32*);
9406 #define     SubtractRect WINELIB_NAME(SubtractRect)
9407 BOOL32      WINAPI SwapBuffers(HDC32);
9408 BOOL16      WINAPI SwapMouseButton16(BOOL16);
9409 BOOL32      WINAPI SwapMouseButton32(BOOL32);
9410 #define     SwapMouseButton WINELIB_NAME(SwapMouseButton)
9411 VOID        WINAPI SwitchToThisWindow16(HWND16,BOOL16);
9412 VOID        WINAPI SwitchToThisWindow32(HWND32,BOOL32);
9413 #define     SwitchToThisWindow WINELIB_NAME(SwitchToThisWindow)
9414 INT16       WINAPI SyncAllVoices16(void);
9415 DWORD       WINAPI SyncAllVoices32(void);
9416 #define     SyncAllVoices WINELIB_NAME(SyncAllVoices)
9417 BOOL16      WINAPI SystemParametersInfo16(UINT16,UINT16,LPVOID,UINT16);
9418 BOOL32      WINAPI SystemParametersInfo32A(UINT32,UINT32,LPVOID,UINT32);
9419 BOOL32      WINAPI SystemParametersInfo32W(UINT32,UINT32,LPVOID,UINT32);
9420 #define     SystemParametersInfo WINELIB_NAME_AW(SystemParametersInfo)
9421 LONG        WINAPI TabbedTextOut16(HDC16,INT16,INT16,LPCSTR,INT16,INT16,const INT16*,INT16);
9422 LONG        WINAPI TabbedTextOut32A(HDC32,INT32,INT32,LPCSTR,INT32,INT32,const INT32*,INT32);
9423 LONG        WINAPI TabbedTextOut32W(HDC32,INT32,INT32,LPCWSTR,INT32,INT32,const INT32*,INT32);
9424 #define     TabbedTextOut WINELIB_NAME_AW(TabbedTextOut)
9425 BOOL16      WINAPI TextOut16(HDC16,INT16,INT16,LPCSTR,INT16);
9426 BOOL32      WINAPI TextOut32A(HDC32,INT32,INT32,LPCSTR,INT32);
9427 BOOL32      WINAPI TextOut32W(HDC32,INT32,INT32,LPCWSTR,INT32);
9428 #define     TextOut WINELIB_NAME_AW(TextOut)
9429 INT16       WINAPI ToAscii16(UINT16,UINT16,LPBYTE,LPVOID,UINT16);
9430 INT32       WINAPI ToAscii32(UINT32,UINT32,LPBYTE,LPWORD,UINT32);
9431 #define     ToAscii WINELIB_NAME(ToAscii)
9432 BOOL16      WINAPI TrackPopupMenu16(HMENU16,UINT16,INT16,INT16,INT16,HWND16,const RECT16*);
9433 BOOL32      WINAPI TrackPopupMenu32(HMENU32,UINT32,INT32,INT32,INT32,HWND32,const RECT32*);
9434 #define     TrackPopupMenu WINELIB_NAME(TrackPopupMenu)
9435 INT16       WINAPI TranslateAccelerator16(HWND16,HACCEL16,LPMSG16);
9436 INT32       WINAPI TranslateAccelerator32(HWND32,HACCEL32,LPMSG32);
9437 #define     TranslateAccelerator WINELIB_NAME(TranslateAccelerator)
9438 BOOL16      WINAPI TranslateMDISysAccel16(HWND16,LPMSG16);
9439 BOOL32      WINAPI TranslateMDISysAccel32(HWND32,LPMSG32);
9440 #define     TranslateMDISysAccel WINELIB_NAME(TranslateMDISysAccel)
9441 BOOL16      WINAPI TranslateMessage16(const MSG16*);
9442 BOOL32      WINAPI TranslateMessage32(const MSG32*);
9443 #define     TranslateMessage WINELIB_NAME(TranslateMessage)
9444 INT16       WINAPI TransmitCommChar16(INT16,CHAR);
9445 BOOL32      WINAPI TransmitCommChar32(INT32,CHAR);
9446 #define     TransmitCommChar WINELIB_NAME(TransmitCommChar)
9447 BOOL16      WINAPI UnhookWindowsHook16(INT16,HOOKPROC16);
9448 BOOL32      WINAPI UnhookWindowsHook32(INT32,HOOKPROC32);
9449 #define     UnhookWindowsHook WINELIB_NAME(UnhookWindowsHook)
9450 BOOL16      WINAPI UnhookWindowsHookEx16(HHOOK);
9451 BOOL32      WINAPI UnhookWindowsHookEx32(HHOOK);
9452 #define     UnhookWindowsHookEx WINELIB_NAME(UnhookWindowsHookEx)
9453 BOOL16      WINAPI UnionRect16(LPRECT16,const RECT16*,const RECT16*);
9454 BOOL32      WINAPI UnionRect32(LPRECT32,const RECT32*,const RECT32*);
9455 #define     UnionRect WINELIB_NAME(UnionRect)
9456 void        WINAPI UnlockSegment16(HGLOBAL16);
9457 #define     UnlockSegment32(handle) GlobalUnfix((HANDLE32)(handle))
9458 #define     UnlockSegment WINELIB_NAME(UnlockSegment)
9459 BOOL16      WINAPI UnrealizeObject16(HGDIOBJ16);
9460 BOOL32      WINAPI UnrealizeObject32(HGDIOBJ32);
9461 #define     UnrealizeObject WINELIB_NAME(UnrealizeObject)
9462 BOOL16      WINAPI UnregisterClass16(SEGPTR,HINSTANCE16);
9463 BOOL32      WINAPI UnregisterClass32A(LPCSTR,HINSTANCE32);
9464 BOOL32      WINAPI UnregisterClass32W(LPCWSTR,HINSTANCE32);
9465 #define     UnregisterClass WINELIB_NAME_AW(UnregisterClass)
9466 INT16       WINAPI UpdateColors16(HDC16);
9467 BOOL32      WINAPI UpdateColors32(HDC32);
9468 #define     UpdateColors WINELIB_NAME(UpdateColors)
9469 VOID        WINAPI UpdateWindow16(HWND16);
9470 VOID        WINAPI UpdateWindow32(HWND32);
9471 #define     UpdateWindow WINELIB_NAME(UpdateWindow)
9472 VOID        WINAPI ValidateRect16(HWND16,const RECT16*);
9473 VOID        WINAPI ValidateRect32(HWND32,const RECT32*);
9474 #define     ValidateRect WINELIB_NAME(ValidateRect)
9475 VOID        WINAPI ValidateRgn16(HWND16,HRGN16);
9476 VOID        WINAPI ValidateRgn32(HWND32,HRGN32);
9477 #define     ValidateRgn WINELIB_NAME(ValidateRgn)
9478 DWORD       WINAPI VerFindFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*,LPSTR,UINT16*);
9479 DWORD       WINAPI VerFindFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*,LPSTR,UINT32*);
9480 DWORD       WINAPI VerFindFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*,LPWSTR,UINT32*);
9481 #define     VerFindFile WINELIB_NAME_AW(VerFindFile)
9482 DWORD       WINAPI VerInstallFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*);
9483 DWORD       WINAPI VerInstallFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*);
9484 DWORD       WINAPI VerInstallFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*);
9485 #define     VerInstallFile WINELIB_NAME_AW(VerInstallFile)
9486 DWORD       WINAPI VerLanguageName16(UINT16,LPSTR,UINT16);
9487 DWORD       WINAPI VerLanguageName32A(UINT32,LPSTR,UINT32);
9488 DWORD       WINAPI VerLanguageName32W(UINT32,LPWSTR,UINT32);
9489 #define     VerLanguageName WINELIB_NAME_AW(VerLanguageName)
9490 DWORD       WINAPI VerQueryValue16(SEGPTR,LPCSTR,SEGPTR*,UINT16*);
9491 DWORD       WINAPI VerQueryValue32A(LPVOID,LPCSTR,LPVOID*,UINT32*);
9492 DWORD       WINAPI VerQueryValue32W(LPVOID,LPCWSTR,LPVOID*,UINT32*);
9493 #define     VerQueryValue WINELIB_NAME_AW(VerQueryValue)
9494 WORD        WINAPI VkKeyScan16(CHAR);
9495 WORD        WINAPI VkKeyScan32A(CHAR);
9496 WORD        WINAPI VkKeyScan32W(WCHAR);
9497 #define     VkKeyScan WINELIB_NAME_AW(VkKeyScan)
9498 INT16       WINAPI WaitSoundState16(INT16);
9499 DWORD       WINAPI WaitSoundState32(DWORD);
9500 #define     WaitSoundState WINELIB_NAME(WaitSoundState)
9501 HWND16      WINAPI WindowFromDC16(HDC16);
9502 HWND32      WINAPI WindowFromDC32(HDC32);
9503 #define     WindowFromDC WINELIB_NAME(WindowFromDC)
9504 HWND16      WINAPI WindowFromPoint16(POINT16);
9505 HWND32      WINAPI WindowFromPoint32(POINT32);
9506 #define     WindowFromPoint WINELIB_NAME(WindowFromPoint)
9507 BOOL16      WINAPI WritePrivateProfileSection16(LPCSTR,LPCSTR,LPCSTR);
9508 BOOL32      WINAPI WritePrivateProfileSection32A(LPCSTR,LPCSTR,LPCSTR);
9509 BOOL32      WINAPI WritePrivateProfileSection32W(LPCWSTR,LPCWSTR,LPCWSTR);
9510 #define     WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
9511 BOOL16      WINAPI WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
9512 BOOL32      WINAPI WritePrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
9513 BOOL32      WINAPI WritePrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
9514 BOOL32       WINAPI WriteProfileSection32A(LPCSTR,LPCSTR);
9515 BOOL32       WINAPI WriteProfileSection32W(LPCWSTR,LPCWSTR);
9516 #define     WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
9517 BOOL16      WINAPI WritePrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
9518 BOOL32      WINAPI WritePrivateProfileStruct32A(LPCSTR,LPCSTR,LPVOID,UINT32,LPCSTR);
9519 BOOL32      WINAPI WritePrivateProfileStruct32W(LPCWSTR,LPCWSTR,LPVOID,UINT32,LPCWSTR);
9520 #define     WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
9521 BOOL16      WINAPI WriteProfileString16(LPCSTR,LPCSTR,LPCSTR);
9522 BOOL32      WINAPI WriteProfileString32A(LPCSTR,LPCSTR,LPCSTR);
9523 BOOL32      WINAPI WriteProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR);
9524 #define     WriteProfileString WINELIB_NAME_AW(WriteProfileString)
9525 VOID        WINAPI Yield16(void);
9526 #define     Yield32()
9527 #define     Yield WINELIB_NAME(Yield)
9528 SEGPTR      WINAPI lstrcat16(SEGPTR,LPCSTR);
9529 LPSTR       WINAPI lstrcat32A(LPSTR,LPCSTR);
9530 LPWSTR      WINAPI lstrcat32W(LPWSTR,LPCWSTR);
9531 #define     lstrcat WINELIB_NAME_AW(lstrcat)
9532 SEGPTR      WINAPI lstrcatn16(SEGPTR,LPCSTR,INT16);
9533 LPSTR       WINAPI lstrcatn32A(LPSTR,LPCSTR,INT32);
9534 LPWSTR      WINAPI lstrcatn32W(LPWSTR,LPCWSTR,INT32);
9535 #define     lstrcatn WINELIB_NAME_AW(lstrcatn)
9536 INT16       WINAPI lstrcmp16(LPCSTR,LPCSTR);
9537 INT32       WINAPI lstrcmp32A(LPCSTR,LPCSTR);
9538 INT32       WINAPI lstrcmp32W(LPCWSTR,LPCWSTR);
9539 #define     lstrcmp WINELIB_NAME_AW(lstrcmp)
9540 INT16       WINAPI lstrcmpi16(LPCSTR,LPCSTR);
9541 INT32       WINAPI lstrcmpi32A(LPCSTR,LPCSTR);
9542 INT32       WINAPI lstrcmpi32W(LPCWSTR,LPCWSTR);
9543 #define     lstrcmpi WINELIB_NAME_AW(lstrcmpi)
9544 SEGPTR      WINAPI lstrcpy16(SEGPTR,LPCSTR);
9545 LPSTR       WINAPI lstrcpy32A(LPSTR,LPCSTR);
9546 LPWSTR      WINAPI lstrcpy32W(LPWSTR,LPCWSTR);
9547 #define     lstrcpy WINELIB_NAME_AW(lstrcpy)
9548 SEGPTR      WINAPI lstrcpyn16(SEGPTR,LPCSTR,INT16);
9549 LPSTR       WINAPI lstrcpyn32A(LPSTR,LPCSTR,INT32);
9550 LPWSTR      WINAPI lstrcpyn32W(LPWSTR,LPCWSTR,INT32);
9551 #define     lstrcpyn WINELIB_NAME_AW(lstrcpyn)
9552 INT16       WINAPI lstrlen16(LPCSTR);
9553 INT32       WINAPI lstrlen32A(LPCSTR);
9554 INT32       WINAPI lstrlen32W(LPCWSTR);
9555 #define     lstrlen WINELIB_NAME_AW(lstrlen)
9556 HINSTANCE16 WINAPI WinExec16(LPCSTR,UINT16);
9557 HINSTANCE32 WINAPI WinExec32(LPCSTR,UINT32);
9558 #define     WinExec WINELIB_NAME(WinExec)
9559 BOOL16      WINAPI WinHelp16(HWND16,LPCSTR,UINT16,DWORD);
9560 BOOL32      WINAPI WinHelp32A(HWND32,LPCSTR,UINT32,DWORD);
9561 BOOL32      WINAPI WinHelp32W(HWND32,LPCWSTR,UINT32,DWORD);
9562 #define     WinHelp WINELIB_NAME_AW(WinHelp)
9563 UINT16      WINAPI WNetAddConnection16(LPCSTR,LPCSTR,LPCSTR);
9564 UINT32      WINAPI WNetAddConnection32A(LPCSTR,LPCSTR,LPCSTR);
9565 UINT32      WINAPI WNetAddConnection32W(LPCWSTR,LPCWSTR,LPCWSTR);
9566 #define     WNetAddConnection WINELIB_NAME_AW(WNetAddConnection)
9567 INT16       WINAPIV wsnprintf16(LPSTR,UINT16,LPCSTR,...);
9568 INT32       WINAPIV wsnprintf32A(LPSTR,UINT32,LPCSTR,...);
9569 INT32       WINAPIV wsnprintf32W(LPWSTR,UINT32,LPCWSTR,...);
9570 #define     wsnprintf WINELIB_NAME_AW(wsnprintf)
9571 INT16       WINAPIV wsprintf16(LPSTR,LPCSTR,...);
9572 INT32       WINAPIV wsprintf32A(LPSTR,LPCSTR,...);
9573 INT32       WINAPIV wsprintf32W(LPWSTR,LPCWSTR,...);
9574 #define     wsprintf WINELIB_NAME_AW(wsprintf)
9575 INT16       WINAPI wvsnprintf16(LPSTR,UINT16,LPCSTR,LPCVOID);
9576 INT32       WINAPI wvsnprintf32A(LPSTR,UINT32,LPCSTR,va_list);
9577 INT32       WINAPI wvsnprintf32W(LPWSTR,UINT32,LPCWSTR,va_list);
9578 #define     wvsnprintf WINELIB_NAME_AW(wvsnprintf)
9579 INT16       WINAPI wvsprintf16(LPSTR,LPCSTR,LPCVOID);
9580 INT32       WINAPI wvsprintf32A(LPSTR,LPCSTR,va_list);
9581 INT32       WINAPI wvsprintf32W(LPWSTR,LPCWSTR,va_list);
9582 #define     wvsprintf WINELIB_NAME_AW(wvsprintf)
9583 LONG        WINAPI _hread16(HFILE16,LPVOID,LONG);
9584 LONG        WINAPI _hread32(HFILE32,LPVOID,LONG);
9585 #define     _hread WINELIB_NAME(_hread)
9586 LONG        WINAPI _hwrite16(HFILE16,LPCSTR,LONG);
9587 LONG        WINAPI _hwrite32(HFILE32,LPCSTR,LONG);
9588 #define     _hwrite WINELIB_NAME(_hwrite)
9589 HFILE16     WINAPI _lcreat16(LPCSTR,INT16);
9590 HFILE32     WINAPI _lcreat32(LPCSTR,INT32);
9591 #define     _lcreat WINELIB_NAME(_lcreat)
9592 HFILE16     WINAPI _lclose16(HFILE16);
9593 HFILE32     WINAPI _lclose32(HFILE32);
9594 #define     _lclose WINELIB_NAME(_lclose)
9595 LONG        WINAPI _llseek16(HFILE16,LONG,INT16);
9596 LONG        WINAPI _llseek32(HFILE32,LONG,INT32);
9597 #define     _llseek WINELIB_NAME(_llseek)
9598 HFILE16     WINAPI _lopen16(LPCSTR,INT16);
9599 HFILE32     WINAPI _lopen32(LPCSTR,INT32);
9600 #define     _lopen WINELIB_NAME(_lopen)
9601 UINT16      WINAPI _lread16(HFILE16,LPVOID,UINT16);
9602 UINT32      WINAPI _lread32(HFILE32,LPVOID,UINT32);
9603 #define     _lread WINELIB_NAME(_lread)
9604 UINT16      WINAPI _lwrite16(HFILE16,LPCSTR,UINT16);
9605 UINT32      WINAPI _lwrite32(HFILE32,LPCSTR,UINT32);
9606 #define     _lwrite WINELIB_NAME(_lwrite)
9607
9608 /* Extra functions that don't exist in the Windows API */
9609
9610 HPEN16      WINAPI GetSysColorPen16(INT16);
9611 HPEN32      WINAPI GetSysColorPen32(INT32);
9612 INT32       WINAPI LoadMessage32A(HMODULE32,UINT32,WORD,LPSTR,INT32);
9613 INT32       WINAPI LoadMessage32W(HMODULE32,UINT32,WORD,LPWSTR,INT32);
9614 UINT32      WINAPI WIN16_GetTempDrive(BYTE);
9615 SEGPTR      WINAPI WIN16_GlobalLock16(HGLOBAL16);
9616 SEGPTR      WINAPI WIN16_LockResource16(HGLOBAL16);
9617 LONG        WINAPI WIN16_hread(HFILE16,SEGPTR,LONG);
9618 UINT16      WINAPI WIN16_lread(HFILE16,SEGPTR,UINT16);
9619 INT32       WINAPI lstrncmp32A(LPCSTR,LPCSTR,INT32);
9620 INT32       WINAPI lstrncmp32W(LPCWSTR,LPCWSTR,INT32);
9621 INT32       WINAPI lstrncmpi32A(LPCSTR,LPCSTR,INT32);
9622 INT32       WINAPI lstrncmpi32W(LPCWSTR,LPCWSTR,INT32);
9623 LPWSTR      WINAPI lstrcpyAtoW(LPWSTR,LPCSTR);
9624 LPSTR       WINAPI lstrcpyWtoA(LPSTR,LPCWSTR);
9625 LPWSTR      WINAPI lstrcpynAtoW(LPWSTR,LPCSTR,INT32);
9626 LPSTR       WINAPI lstrcpynWtoA(LPSTR,LPCWSTR,INT32);
9627
9628 #ifdef __cplusplus
9629 }
9630 #endif
9631
9632 #endif  /* __WINE_WINDOWS_H */