Bugfix: SetDlgItemText32 returns BOOL not void.
[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 #define CN_RECEIVE      0x0001
2586 #define CN_TRANSMIT     0x0002
2587 #define CN_EVENT        0x0004
2588
2589 typedef struct tagDCB16
2590 {
2591     BYTE   Id;
2592     UINT16 BaudRate WINE_PACKED;
2593     BYTE   ByteSize;
2594     BYTE   Parity;
2595     BYTE   StopBits;
2596     UINT16 RlsTimeout;
2597     UINT16 CtsTimeout;
2598     UINT16 DsrTimeout;
2599
2600     UINT16 fBinary        :1;
2601     UINT16 fRtsDisable    :1;
2602     UINT16 fParity        :1;
2603     UINT16 fOutxCtsFlow   :1;
2604     UINT16 fOutxDsrFlow   :1;
2605     UINT16 fDummy         :2;
2606     UINT16 fDtrDisable    :1;
2607
2608     UINT16 fOutX          :1;
2609     UINT16 fInX           :1;
2610     UINT16 fPeChar        :1;
2611     UINT16 fNull          :1;
2612     UINT16 fChEvt         :1;
2613     UINT16 fDtrflow       :1;
2614     UINT16 fRtsflow       :1;
2615     UINT16 fDummy2        :1;
2616
2617     CHAR   XonChar;
2618     CHAR   XoffChar;
2619     UINT16 XonLim;
2620     UINT16 XoffLim;
2621     CHAR   PeChar;
2622     CHAR   EofChar;
2623     CHAR   EvtChar;
2624     UINT16 TxDelay WINE_PACKED;
2625 } DCB16, *LPDCB16;
2626
2627 typedef struct tagDCB32
2628 {
2629     DWORD DCBlength;
2630     DWORD BaudRate;
2631     DWORD fBinary               :1;
2632     DWORD fParity               :1;
2633     DWORD fOutxCtsFlow          :1;
2634     DWORD fOutxDsrFlow          :1;
2635     DWORD fDtrControl           :2;
2636     DWORD fDsrSensitivity       :1;
2637     DWORD fTXContinueOnXoff     :1;
2638     DWORD fOutX                 :1;
2639     DWORD fInX                  :1;
2640     DWORD fErrorChar            :1;
2641     DWORD fNull                 :1;
2642     DWORD fRtsControl           :2;
2643     DWORD fAbortOnError         :1;
2644     DWORD fDummy2               :17;
2645     WORD wReserved;
2646     WORD XonLim;
2647     WORD XoffLim;
2648     BYTE ByteSize;
2649     BYTE Parity;
2650     BYTE StopBits;
2651     char XonChar;
2652     char XoffChar;
2653     char ErrorChar;
2654     char EofChar;
2655     char EvtChar;
2656 } DCB32, *LPDCB32;
2657
2658 DECL_WINELIB_TYPE(DCB)
2659 DECL_WINELIB_TYPE(LPDCB)
2660
2661 #define RTS_CONTROL_DISABLE     0
2662 #define RTS_CONTROL_ENABLE      1
2663 #define RTS_CONTROL_HANDSHAKE   2
2664 #define RTS_CONTROL_TOGGLE      3
2665
2666 #define DTR_CONTROL_DISABLE     0
2667 #define DTR_CONTROL_ENABLE      1
2668 #define DTR_CONTROL_HANDSHAKE   2
2669
2670 typedef struct tagCOMMTIMEOUTS {
2671         DWORD   ReadIntervalTimeout;
2672         DWORD   ReadTotalTimeoutMultiplier;
2673         DWORD   ReadTotalTimeoutConstant;
2674         DWORD   WriteTotalTimeoutMultiplier;
2675         DWORD   WriteTotalTimeoutConstant;
2676 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
2677
2678 typedef struct tagCOMSTAT
2679 {
2680     BYTE   status;
2681     UINT16 cbInQue WINE_PACKED;
2682     UINT16 cbOutQue WINE_PACKED;
2683 } COMSTAT,*LPCOMSTAT;
2684
2685 #define CSTF_CTSHOLD    0x01
2686 #define CSTF_DSRHOLD    0x02
2687 #define CSTF_RLSDHOLD   0x04
2688 #define CSTF_XOFFHOLD   0x08
2689 #define CSTF_XOFFSENT   0x10
2690 #define CSTF_EOF        0x20
2691 #define CSTF_TXIM       0x40
2692
2693 /* SystemParametersInfo */
2694 /* defines below are for all win versions */
2695 #define SPI_GETBEEP               1
2696 #define SPI_SETBEEP               2
2697 #define SPI_GETMOUSE              3
2698 #define SPI_SETMOUSE              4
2699 #define SPI_GETBORDER             5
2700 #define SPI_SETBORDER             6
2701 #define SPI_GETKEYBOARDSPEED      10
2702 #define SPI_SETKEYBOARDSPEED      11
2703 #define SPI_LANGDRIVER            12
2704 #define SPI_ICONHORIZONTALSPACING 13
2705 #define SPI_GETSCREENSAVETIMEOUT  14
2706 #define SPI_SETSCREENSAVETIMEOUT  15
2707 #define SPI_GETSCREENSAVEACTIVE   16
2708 #define SPI_SETSCREENSAVEACTIVE   17
2709 #define SPI_GETGRIDGRANULARITY    18
2710 #define SPI_SETGRIDGRANULARITY    19
2711 #define SPI_SETDESKWALLPAPER      20
2712 #define SPI_SETDESKPATTERN        21
2713 #define SPI_GETKEYBOARDDELAY      22
2714 #define SPI_SETKEYBOARDDELAY      23
2715 #define SPI_ICONVERTICALSPACING   24
2716 #define SPI_GETICONTITLEWRAP      25
2717 #define SPI_SETICONTITLEWRAP      26
2718 #define SPI_GETMENUDROPALIGNMENT  27
2719 #define SPI_SETMENUDROPALIGNMENT  28
2720 #define SPI_SETDOUBLECLKWIDTH     29
2721 #define SPI_SETDOUBLECLKHEIGHT    30
2722 #define SPI_GETICONTITLELOGFONT   31
2723 #define SPI_SETDOUBLECLICKTIME    32
2724 #define SPI_SETMOUSEBUTTONSWAP    33
2725 #define SPI_SETICONTITLELOGFONT   34
2726 #define SPI_GETFASTTASKSWITCH     35
2727 #define SPI_SETFASTTASKSWITCH     36
2728
2729 #define SPI_GETFILTERKEYS         50
2730 #define SPI_SETFILTERKEYS         51
2731 #define SPI_GETTOGGLEKEYS         52
2732 #define SPI_SETTOGGLEKEYS         53
2733 #define SPI_GETMOUSEKEYS          54
2734 #define SPI_SETMOUSEKEYS          55
2735 #define SPI_GETSHOWSOUNDS         56
2736 #define SPI_SETSHOWSOUNDS         57
2737 #define SPI_GETSTICKYKEYS         58
2738 #define SPI_SETSTICKYKEYS         59
2739 #define SPI_GETACCESSTIMEOUT      60
2740 #define SPI_SETACCESSTIMEOUT      61
2741
2742 #define SPI_GETSOUNDSENTRY        64
2743 #define SPI_SETSOUNDSENTRY        65
2744
2745 /* defines below are for all win versions WINVER >= 0x0400 */
2746 #define SPI_SETDRAGFULLWINDOWS    37
2747 #define SPI_GETDRAGFULLWINDOWS    38
2748 #define SPI_GETNONCLIENTMETRICS   41
2749 #define SPI_SETNONCLIENTMETRICS   42
2750 #define SPI_GETMINIMIZEDMETRICS   43
2751 #define SPI_SETMINIMIZEDMETRICS   44
2752 #define SPI_GETICONMETRICS        45
2753 #define SPI_SETICONMETRICS        46
2754 #define SPI_SETWORKAREA           47
2755 #define SPI_GETWORKAREA           48
2756 #define SPI_SETPENWINDOWS         49
2757
2758 #define SPI_GETSERIALKEYS         62
2759 #define SPI_SETSERIALKEYS         63
2760 #define SPI_GETHIGHCONTRAST       66
2761 #define SPI_SETHIGHCONTRAST       67
2762 #define SPI_GETKEYBOARDPREF       68
2763 #define SPI_SETKEYBOARDPREF       69
2764 #define SPI_GETSCREENREADER       70
2765 #define SPI_SETSCREENREADER       71
2766 #define SPI_GETANIMATION          72
2767 #define SPI_SETANIMATION          73
2768 #define SPI_GETFONTSMOOTHING      74
2769 #define SPI_SETFONTSMOOTHING      75
2770 #define SPI_SETDRAGWIDTH          76
2771 #define SPI_SETDRAGHEIGHT         77
2772 #define SPI_SETHANDHELD           78
2773 #define SPI_GETLOWPOWERTIMEOUT    79
2774 #define SPI_GETPOWEROFFTIMEOUT    80
2775 #define SPI_SETLOWPOWERTIMEOUT    81
2776 #define SPI_SETPOWEROFFTIMEOUT    82
2777 #define SPI_GETLOWPOWERACTIVE     83
2778 #define SPI_GETPOWEROFFACTIVE     84
2779 #define SPI_SETLOWPOWERACTIVE     85
2780 #define SPI_SETPOWEROFFACTIVE     86
2781 #define SPI_SETCURSORS            87
2782 #define SPI_SETICONS              88
2783 #define SPI_GETDEFAULTINPUTLANG   89
2784 #define SPI_SETDEFAULTINPUTLANG   90
2785 #define SPI_SETLANGTOGGLE         91
2786 #define SPI_GETWINDOWSEXTENSION   92
2787 #define SPI_SETMOUSETRAILS        93
2788 #define SPI_GETMOUSETRAILS        94
2789 #define SPI_SETSCREENSAVERRUNNING 97
2790 #define SPI_SCREENSAVERRUNNING    SPI_SETSCREENSAVERRUNNING
2791
2792 /* defines below are for all win versions (_WIN32_WINNT >= 0x0400) ||
2793  *                                        (_WIN32_WINDOWS > 0x0400) */
2794 #define SPI_GETMOUSEHOVERWIDTH    98
2795 #define SPI_SETMOUSEHOVERWIDTH    99
2796 #define SPI_GETMOUSEHOVERHEIGHT   100
2797 #define SPI_SETMOUSEHOVERHEIGHT   101
2798 #define SPI_GETMOUSEHOVERTIME     102
2799 #define SPI_SETMOUSEHOVERTIME     103
2800 #define SPI_GETWHEELSCROLLLINES   104
2801 #define SPI_SETWHEELSCROLLLINES   105
2802
2803 #define SPI_GETSHOWIMEUI          110
2804 #define SPI_SETSHOWIMEUI          111
2805
2806 /* defines below are for all win versions WINVER >= 0x0500 */
2807 #define SPI_GETMOUSESPEED         112
2808 #define SPI_SETMOUSESPEED         113
2809 #define SPI_GETSCREENSAVERRUNNING 114
2810
2811 #define SPI_GETACTIVEWINDOWTRACKING    0x1000
2812 #define SPI_SETACTIVEWINDOWTRACKING    0x1001
2813 #define SPI_GETMENUANIMATION           0x1002
2814 #define SPI_SETMENUANIMATION           0x1003
2815 #define SPI_GETCOMBOBOXANIMATION       0x1004
2816 #define SPI_SETCOMBOBOXANIMATION       0x1005
2817 #define SPI_GETLISTBOXSMOOTHSCROLLING  0x1006
2818 #define SPI_SETLISTBOXSMOOTHSCROLLING  0x1007
2819 #define SPI_GETGRADIENTCAPTIONS        0x1008
2820 #define SPI_SETGRADIENTCAPTIONS        0x1009
2821 #define SPI_GETMENUUNDERLINES          0x100A
2822 #define SPI_SETMENUUNDERLINES          0x100B
2823 #define SPI_GETACTIVEWNDTRKZORDER      0x100C
2824 #define SPI_SETACTIVEWNDTRKZORDER      0x100D
2825 #define SPI_GETHOTTRACKING             0x100E
2826 #define SPI_SETHOTTRACKING             0x100F
2827 #define SPI_GETFOREGROUNDLOCKTIMEOUT   0x2000
2828 #define SPI_SETFOREGROUNDLOCKTIMEOUT   0x2001
2829 #define SPI_GETACTIVEWNDTRKTIMEOUT     0x2002
2830 #define SPI_SETACTIVEWNDTRKTIMEOUT     0x2003
2831 #define SPI_GETFOREGROUNDFLASHCOUNT    0x2004
2832 #define SPI_SETFOREGROUNDFLASHCOUNT    0x2005
2833
2834 /* SystemParametersInfo flags */
2835
2836 #define SPIF_UPDATEINIFILE              1
2837 #define SPIF_SENDWININICHANGE           2
2838 #define SPIF_SENDCHANGE                 SPIF_SENDWININICHANGE
2839
2840 /* flags for HIGHCONTRAST dwFlags field */
2841 #define HCF_HIGHCONTRASTON  0x00000001
2842 #define HCF_AVAILABLE       0x00000002
2843 #define HCF_HOTKEYACTIVE    0x00000004
2844 #define HCF_CONFIRMHOTKEY   0x00000008
2845 #define HCF_HOTKEYSOUND     0x00000010
2846 #define HCF_INDICATOR       0x00000020
2847 #define HCF_HOTKEYAVAILABLE 0x00000040
2848 typedef struct tagHIGHCONTRASTA
2849 {
2850     UINT32  cbSize;
2851     DWORD   dwFlags;
2852     LPSTR   lpszDefaultScheme;
2853 }   HIGHCONTRASTA, *LPHIGHCONTRASTA;
2854
2855 typedef struct tagHIGHCONTRASTW
2856 {
2857     UINT32  cbSize;
2858     DWORD   dwFlags;
2859     LPWSTR  lpszDefaultScheme;
2860 }   HIGHCONTRASTW, *LPHIGHCONTRASTW;
2861
2862 /* GetFreeSystemResources() parameters */
2863
2864 #define GFSR_SYSTEMRESOURCES   0x0000
2865 #define GFSR_GDIRESOURCES      0x0001
2866 #define GFSR_USERRESOURCES     0x0002
2867
2868 /* GetWinFlags */
2869
2870 #define WF_PMODE        0x0001
2871 #define WF_CPU286       0x0002
2872 #define WF_CPU386       0x0004
2873 #define WF_CPU486       0x0008
2874 #define WF_STANDARD     0x0010
2875 #define WF_WIN286       0x0010
2876 #define WF_ENHANCED     0x0020
2877 #define WF_WIN386       0x0020
2878 #define WF_CPU086       0x0040
2879 #define WF_CPU186       0x0080
2880 #define WF_LARGEFRAME   0x0100
2881 #define WF_SMALLFRAME   0x0200
2882 #define WF_80x87        0x0400
2883 #define WF_PAGING       0x0800
2884 #define WF_HASCPUID     0x2000
2885 #define WF_WIN32WOW     0x4000  /* undoc */
2886 #define WF_WLO          0x8000
2887
2888 #define MAKEINTRESOURCE16(i)  (SEGPTR)((DWORD)((WORD)(i)))
2889 #define MAKEINTRESOURCE32A(i) (LPSTR)((DWORD)((WORD)(i)))
2890 #define MAKEINTRESOURCE32W(i) (LPWSTR)((DWORD)((WORD)(i)))
2891 #define MAKEINTRESOURCE WINELIB_NAME_AW(MAKEINTRESOURCE)
2892
2893 /* Predefined resource types */
2894 #define RT_CURSOR16          MAKEINTRESOURCE16(1)
2895 #define RT_CURSOR32A         MAKEINTRESOURCE32A(1)
2896 #define RT_CURSOR32W         MAKEINTRESOURCE32W(1)
2897 #define RT_CURSOR            WINELIB_NAME_AW(RT_CURSOR)
2898 #define RT_BITMAP16          MAKEINTRESOURCE16(2)
2899 #define RT_BITMAP32A         MAKEINTRESOURCE32A(2)
2900 #define RT_BITMAP32W         MAKEINTRESOURCE32W(2)
2901 #define RT_BITMAP            WINELIB_NAME_AW(RT_BITMAP)
2902 #define RT_ICON16            MAKEINTRESOURCE16(3)
2903 #define RT_ICON32A           MAKEINTRESOURCE32A(3)
2904 #define RT_ICON32W           MAKEINTRESOURCE32W(3)
2905 #define RT_ICON              WINELIB_NAME_AW(RT_ICON)
2906 #define RT_MENU16            MAKEINTRESOURCE16(4)
2907 #define RT_MENU32A           MAKEINTRESOURCE32A(4)
2908 #define RT_MENU32W           MAKEINTRESOURCE32W(4)
2909 #define RT_MENU              WINELIB_NAME_AW(RT_MENU)
2910 #define RT_DIALOG16          MAKEINTRESOURCE16(5)
2911 #define RT_DIALOG32A         MAKEINTRESOURCE32A(5)
2912 #define RT_DIALOG32W         MAKEINTRESOURCE32W(5)
2913 #define RT_DIALOG            WINELIB_NAME_AW(RT_DIALOG)
2914 #define RT_STRING16          MAKEINTRESOURCE16(6)
2915 #define RT_STRING32A         MAKEINTRESOURCE32A(6)
2916 #define RT_STRING32W         MAKEINTRESOURCE32W(6)
2917 #define RT_STRING            WINELIB_NAME_AW(RT_STRING)
2918 #define RT_FONTDIR16         MAKEINTRESOURCE16(7)
2919 #define RT_FONTDIR32A        MAKEINTRESOURCE32A(7)
2920 #define RT_FONTDIR32W        MAKEINTRESOURCE32W(7)
2921 #define RT_FONTDIR           WINELIB_NAME_AW(RT_FONTDIR)
2922 #define RT_FONT16            MAKEINTRESOURCE16(8)
2923 #define RT_FONT32A           MAKEINTRESOURCE32A(8)
2924 #define RT_FONT32W           MAKEINTRESOURCE32W(8)
2925 #define RT_FONT              WINELIB_NAME_AW(RT_FONT)
2926 #define RT_ACCELERATOR16     MAKEINTRESOURCE16(9)
2927 #define RT_ACCELERATOR32A    MAKEINTRESOURCE32A(9)
2928 #define RT_ACCELERATOR32W    MAKEINTRESOURCE32W(9)
2929 #define RT_ACCELERATOR       WINELIB_NAME_AW(RT_ACCELERATOR)
2930 #define RT_RCDATA16          MAKEINTRESOURCE16(10)
2931 #define RT_RCDATA32A         MAKEINTRESOURCE32A(10)
2932 #define RT_RCDATA32W         MAKEINTRESOURCE32W(10)
2933 #define RT_RCDATA            WINELIB_NAME_AW(RT_RCDATA)
2934 #define RT_MESSAGELIST16     MAKEINTRESOURCE16(11)
2935 #define RT_MESSAGELIST32A    MAKEINTRESOURCE32A(11)
2936 #define RT_MESSAGELIST32W    MAKEINTRESOURCE32W(11)
2937 #define RT_MESSAGELIST       WINELIB_NAME_AW(RT_MESSAGELIST)
2938 #define RT_GROUP_CURSOR16    MAKEINTRESOURCE16(12)
2939 #define RT_GROUP_CURSOR32A   MAKEINTRESOURCE32A(12)
2940 #define RT_GROUP_CURSOR32W   MAKEINTRESOURCE32W(12)
2941 #define RT_GROUP_CURSOR      WINELIB_NAME_AW(RT_GROUP_CURSOR)
2942 #define RT_GROUP_ICON16      MAKEINTRESOURCE16(14)
2943 #define RT_GROUP_ICON32A     MAKEINTRESOURCE32A(14)
2944 #define RT_GROUP_ICON32W     MAKEINTRESOURCE32W(14)
2945 #define RT_GROUP_ICON        WINELIB_NAME_AW(RT_GROUP_ICON)
2946
2947 /* Predefined resources */
2948 #define IDI_APPLICATION16  MAKEINTRESOURCE16(32512)
2949 #define IDI_APPLICATION32A MAKEINTRESOURCE32A(32512)
2950 #define IDI_APPLICATION32W MAKEINTRESOURCE32W(32512)
2951 #define IDI_APPLICATION    WINELIB_NAME_AW(IDI_APPLICATION)
2952 #define IDI_HAND16         MAKEINTRESOURCE16(32513)
2953 #define IDI_HAND32A        MAKEINTRESOURCE32A(32513)
2954 #define IDI_HAND32W        MAKEINTRESOURCE32W(32513)
2955 #define IDI_HAND           WINELIB_NAME_AW(IDI_HAND)
2956 #define IDI_QUESTION16     MAKEINTRESOURCE16(32514)
2957 #define IDI_QUESTION32A    MAKEINTRESOURCE32A(32514)
2958 #define IDI_QUESTION32W    MAKEINTRESOURCE32W(32514)
2959 #define IDI_QUESTION       WINELIB_NAME_AW(IDI_QUESTION)
2960 #define IDI_EXCLAMATION16  MAKEINTRESOURCE16(32515)
2961 #define IDI_EXCLAMATION32A MAKEINTRESOURCE32A(32515)
2962 #define IDI_EXCLAMATION32W MAKEINTRESOURCE32W(32515)
2963 #define IDI_EXCLAMATION    WINELIB_NAME_AW(IDI_EXCLAMATION)
2964 #define IDI_ASTERISK16     MAKEINTRESOURCE16(32516)
2965 #define IDI_ASTERISK32A    MAKEINTRESOURCE32A(32516)
2966 #define IDI_ASTERISK32W    MAKEINTRESOURCE32W(32516)
2967 #define IDI_ASTERISK       WINELIB_NAME_AW(IDI_ASTERISK)
2968
2969 #define IDC_BUMMER16       MAKEINTRESOURCE16(100)
2970 #define IDC_BUMMER32A      MAKEINTRESOURCE32A(100)
2971 #define IDC_BUMMER32W      MAKEINTRESOURCE32W(100)
2972 #define IDC_BUMMER         WINELIB_NAME_AW(IDC_BUMMER)
2973 #define IDC_ARROW16        MAKEINTRESOURCE16(32512)
2974 #define IDC_ARROW32A       MAKEINTRESOURCE32A(32512)
2975 #define IDC_ARROW32W       MAKEINTRESOURCE32W(32512)
2976 #define IDC_ARROW          WINELIB_NAME_AW(IDC_ARROW)
2977 #define IDC_IBEAM16        MAKEINTRESOURCE16(32513)
2978 #define IDC_IBEAM32A       MAKEINTRESOURCE32A(32513)
2979 #define IDC_IBEAM32W       MAKEINTRESOURCE32W(32513)
2980 #define IDC_IBEAM          WINELIB_NAME_AW(IDC_IBEAM)
2981 #define IDC_WAIT16         MAKEINTRESOURCE16(32514)
2982 #define IDC_WAIT32A        MAKEINTRESOURCE32A(32514)
2983 #define IDC_WAIT32W        MAKEINTRESOURCE32W(32514)
2984 #define IDC_WAIT           WINELIB_NAME_AW(IDC_WAIT)
2985 #define IDC_CROSS16        MAKEINTRESOURCE16(32515)
2986 #define IDC_CROSS32A       MAKEINTRESOURCE32A(32515)
2987 #define IDC_CROSS32W       MAKEINTRESOURCE32W(32515)
2988 #define IDC_CROSS          WINELIB_NAME_AW(IDC_CROSS)
2989 #define IDC_UPARROW16      MAKEINTRESOURCE16(32516)
2990 #define IDC_UPARROW32A     MAKEINTRESOURCE32A(32516)
2991 #define IDC_UPARROW32W     MAKEINTRESOURCE32W(32516)
2992 #define IDC_UPARROW        WINELIB_NAME_AW(IDC_UPARROW)
2993 #define IDC_SIZE16         MAKEINTRESOURCE16(32640)
2994 #define IDC_SIZE32A        MAKEINTRESOURCE32A(32640)
2995 #define IDC_SIZE32W        MAKEINTRESOURCE32W(32640)
2996 #define IDC_SIZE           WINELIB_NAME_AW(IDC_SIZE)
2997 #define IDC_ICON16         MAKEINTRESOURCE16(32641)
2998 #define IDC_ICON32A        MAKEINTRESOURCE32A(32641)
2999 #define IDC_ICON32W        MAKEINTRESOURCE32W(32641)
3000 #define IDC_ICON           WINELIB_NAME_AW(IDC_ICON)
3001 #define IDC_SIZENWSE16     MAKEINTRESOURCE16(32642)
3002 #define IDC_SIZENWSE32A    MAKEINTRESOURCE32A(32642)
3003 #define IDC_SIZENWSE32W    MAKEINTRESOURCE32W(32642)
3004 #define IDC_SIZENWSE       WINELIB_NAME_AW(IDC_SIZENWSE)
3005 #define IDC_SIZENESW16     MAKEINTRESOURCE16(32643)
3006 #define IDC_SIZENESW32A    MAKEINTRESOURCE32A(32643)
3007 #define IDC_SIZENESW32W    MAKEINTRESOURCE32W(32643)
3008 #define IDC_SIZENESW       WINELIB_NAME_AW(IDC_SIZENESW)
3009 #define IDC_SIZEWE16       MAKEINTRESOURCE16(32644)
3010 #define IDC_SIZEWE32A      MAKEINTRESOURCE32A(32644)
3011 #define IDC_SIZEWE32W      MAKEINTRESOURCE32W(32644)
3012 #define IDC_SIZEWE         WINELIB_NAME_AW(IDC_SIZEWE)
3013 #define IDC_SIZENS16       MAKEINTRESOURCE16(32645)
3014 #define IDC_SIZENS32A      MAKEINTRESOURCE32A(32645)
3015 #define IDC_SIZENS32W      MAKEINTRESOURCE32W(32645)
3016 #define IDC_SIZENS         WINELIB_NAME_AW(IDC_SIZENS)
3017 #define IDC_NO16           MAKEINTRESOURCE16(32648)
3018 #define IDC_NO32A          MAKEINTRESOURCE32A(32648)
3019 #define IDC_NO32W          MAKEINTRESOURCE32W(32648)
3020 #define IDC_NO             WINELIB_NAME_AW(IDC_NO)
3021 #define IDC_APPSTARTING16  MAKEINTRESOURCE16(32650)
3022 #define IDC_APPSTARTING32A MAKEINTRESOURCE32A(32650)
3023 #define IDC_APPSTARTING32W MAKEINTRESOURCE32W(32650)
3024 #define IDC_APPSTARTING    WINELIB_NAME_AW(IDC_APPSTARTING)
3025 #define IDC_HELP16         MAKEINTRESOURCE16(32651)
3026 #define IDC_HELP32A        MAKEINTRESOURCE32A(32651)
3027 #define IDC_HELP32W        MAKEINTRESOURCE32W(32651)
3028 #define IDC_HELP           WINELIB_NAME_AW(IDC_HELP)
3029
3030 /* OEM Resource Ordinal Numbers */
3031 #define OBM_CLOSE           32754
3032 #define OBM_UPARROW         32753
3033 #define OBM_DNARROW         32752
3034 #define OBM_RGARROW         32751
3035 #define OBM_LFARROW         32750
3036 #define OBM_REDUCE          32749
3037 #define OBM_ZOOM            32748
3038 #define OBM_RESTORE         32747
3039 #define OBM_REDUCED         32746
3040 #define OBM_ZOOMD           32745
3041 #define OBM_RESTORED        32744
3042 #define OBM_UPARROWD        32743
3043 #define OBM_DNARROWD        32742
3044 #define OBM_RGARROWD        32741
3045 #define OBM_LFARROWD        32740
3046 #define OBM_MNARROW         32739
3047 #define OBM_COMBO           32738
3048 #define OBM_UPARROWI        32737
3049 #define OBM_DNARROWI        32736
3050 #define OBM_RGARROWI        32735
3051 #define OBM_LFARROWI        32734
3052
3053 #define OBM_FOLDER          32733
3054 #define OBM_FOLDER2         32732
3055 #define OBM_FLOPPY          32731
3056 #define OBM_HDISK           32730
3057 #define OBM_CDROM           32729
3058 #define OBM_TRTYPE          32728
3059
3060 /* Wine extension, I think.  */
3061 #define OBM_RADIOCHECK      32727
3062
3063 #define OBM_OLD_CLOSE       32767
3064 #define OBM_SIZE            32766
3065 #define OBM_OLD_UPARROW     32765
3066 #define OBM_OLD_DNARROW     32764
3067 #define OBM_OLD_RGARROW     32763
3068 #define OBM_OLD_LFARROW     32762
3069 #define OBM_BTSIZE          32761
3070 #define OBM_CHECK           32760
3071 #define OBM_CHECKBOXES      32759
3072 #define OBM_BTNCORNERS      32758
3073 #define OBM_OLD_REDUCE      32757
3074 #define OBM_OLD_ZOOM        32756
3075 #define OBM_OLD_RESTORE     32755
3076
3077 #define OCR_BUMMER          100
3078 #define OCR_DRAGOBJECT      101
3079
3080 #define OCR_NORMAL          32512
3081 #define OCR_IBEAM           32513
3082 #define OCR_WAIT            32514
3083 #define OCR_CROSS           32515
3084 #define OCR_UP              32516
3085 #define OCR_SIZE            32640
3086 #define OCR_ICON            32641
3087 #define OCR_SIZENWSE        32642
3088 #define OCR_SIZENESW        32643
3089 #define OCR_SIZEWE          32644
3090 #define OCR_SIZENS          32645
3091 #define OCR_SIZEALL         32646
3092 #define OCR_ICOCUR          32647
3093 #define OCR_NO              32648
3094 #define OCR_APPSTARTING     32650
3095 #define OCR_HELP            32651  /* only defined in wine */
3096
3097 #define OIC_SAMPLE          32512
3098 #define OIC_HAND            32513
3099 #define OIC_QUES            32514
3100 #define OIC_BANG            32515
3101 #define OIC_NOTE            32516
3102 #define OIC_PORTRAIT        32517
3103 #define OIC_LANDSCAPE       32518
3104 #define OIC_WINEICON        32519
3105
3106   /* Stock GDI objects for GetStockObject() */
3107
3108 #define WHITE_BRUSH         0
3109 #define LTGRAY_BRUSH        1
3110 #define GRAY_BRUSH          2
3111 #define DKGRAY_BRUSH        3
3112 #define BLACK_BRUSH         4
3113 #define NULL_BRUSH          5
3114 #define HOLLOW_BRUSH        5
3115 #define WHITE_PEN           6
3116 #define BLACK_PEN           7
3117 #define NULL_PEN            8
3118 #define OEM_FIXED_FONT      10
3119 #define ANSI_FIXED_FONT     11
3120 #define ANSI_VAR_FONT       12
3121 #define SYSTEM_FONT         13
3122 #define DEVICE_DEFAULT_FONT 14
3123 #define DEFAULT_PALETTE     15
3124 #define SYSTEM_FIXED_FONT   16
3125 #define DEFAULT_GUI_FONT    17
3126
3127 /* DragObject stuff */
3128
3129 typedef struct
3130 {
3131     HWND16     hWnd;
3132     HANDLE16   hScope;
3133     WORD       wFlags;
3134     HANDLE16   hList;
3135     HANDLE16   hOfStruct;
3136     POINT16 pt WINE_PACKED;
3137     LONG       l WINE_PACKED;
3138 } DRAGINFO, *LPDRAGINFO;
3139
3140 #define DRAGOBJ_PROGRAM         0x0001
3141 #define DRAGOBJ_DATA            0x0002
3142 #define DRAGOBJ_DIRECTORY       0x0004
3143 #define DRAGOBJ_MULTIPLE        0x0008
3144 #define DRAGOBJ_EXTERNAL        0x8000
3145
3146 #define DRAG_PRINT              0x544E5250
3147 #define DRAG_FILE               0x454C4946
3148
3149 /* Messages */
3150
3151 #define WM_NULL                 0x0000
3152 #define WM_CREATE               0x0001
3153 #define WM_DESTROY              0x0002
3154 #define WM_MOVE                 0x0003
3155 #define WM_SIZEWAIT             0x0004
3156 #define WM_SIZE                 0x0005
3157 #define WM_ACTIVATE             0x0006
3158 #define WM_SETFOCUS             0x0007
3159 #define WM_KILLFOCUS            0x0008
3160 #define WM_SETVISIBLE           0x0009
3161 #define WM_ENABLE               0x000a
3162 #define WM_SETREDRAW            0x000b
3163 #define WM_SETTEXT              0x000c
3164 #define WM_GETTEXT              0x000d
3165 #define WM_GETTEXTLENGTH        0x000e
3166 #define WM_PAINT                0x000f
3167 #define WM_CLOSE                0x0010
3168 #define WM_QUERYENDSESSION      0x0011
3169 #define WM_QUIT                 0x0012
3170 #define WM_QUERYOPEN            0x0013
3171 #define WM_ERASEBKGND           0x0014
3172 #define WM_SYSCOLORCHANGE       0x0015
3173 #define WM_ENDSESSION           0x0016
3174 #define WM_SYSTEMERROR          0x0017
3175 #define WM_SHOWWINDOW           0x0018
3176 #define WM_CTLCOLOR             0x0019
3177 #define WM_WININICHANGE         0x001a
3178 #define WM_DEVMODECHANGE        0x001b
3179 #define WM_ACTIVATEAPP          0x001c
3180 #define WM_FONTCHANGE           0x001d
3181 #define WM_TIMECHANGE           0x001e
3182 #define WM_CANCELMODE           0x001f
3183 #define WM_SETCURSOR            0x0020
3184 #define WM_MOUSEACTIVATE        0x0021
3185 #define WM_CHILDACTIVATE        0x0022
3186 #define WM_QUEUESYNC            0x0023
3187 #define WM_GETMINMAXINFO        0x0024
3188
3189 #define WM_PAINTICON            0x0026
3190 #define WM_ICONERASEBKGND       0x0027
3191 #define WM_NEXTDLGCTL           0x0028
3192 #define WM_ALTTABACTIVE         0x0029
3193 #define WM_SPOOLERSTATUS        0x002a
3194 #define WM_DRAWITEM             0x002b
3195 #define WM_MEASUREITEM          0x002c
3196 #define WM_DELETEITEM           0x002d
3197 #define WM_VKEYTOITEM           0x002e
3198 #define WM_CHARTOITEM           0x002f
3199 #define WM_SETFONT              0x0030
3200 #define WM_GETFONT              0x0031
3201 #define WM_SETHOTKEY            0x0032
3202 #define WM_GETHOTKEY            0x0033
3203 #define WM_FILESYSCHANGE        0x0034
3204 #define WM_ISACTIVEICON         0x0035
3205 #define WM_QUERYPARKICON        0x0036
3206 #define WM_QUERYDRAGICON        0x0037
3207 #define WM_QUERYSAVESTATE       0x0038
3208 #define WM_COMPAREITEM          0x0039
3209 #define WM_TESTING              0x003a
3210
3211 #define WM_OTHERWINDOWCREATED   0x003c
3212 #define WM_OTHERWINDOWDESTROYED 0x003d
3213 #define WM_ACTIVATESHELLWINDOW  0x003e
3214
3215 #define WM_COMPACTING           0x0041
3216
3217 #define WM_COMMNOTIFY           0x0044
3218 #define WM_WINDOWPOSCHANGING    0x0046
3219 #define WM_WINDOWPOSCHANGED     0x0047
3220 #define WM_POWER                0x0048
3221
3222   /* Win32 4.0 messages */
3223 #define WM_COPYDATA             0x004a
3224 #define WM_CANCELJOURNAL        0x004b
3225 #define WM_NOTIFY               0x004e
3226 #define WM_HELP                 0x0053
3227 #define WM_NOTIFYFORMAT         0x0055
3228
3229 #define WM_CONTEXTMENU          0x007b
3230 #define WM_STYLECHANGING        0x007c
3231 #define WM_STYLECHANGED         0x007d
3232
3233 #define WM_GETICON              0x007f
3234 #define WM_SETICON              0x0080
3235
3236   /* Non-client system messages */
3237 #define WM_NCCREATE         0x0081
3238 #define WM_NCDESTROY        0x0082
3239 #define WM_NCCALCSIZE       0x0083
3240 #define WM_NCHITTEST        0x0084
3241 #define WM_NCPAINT          0x0085
3242 #define WM_NCACTIVATE       0x0086
3243
3244 #define WM_GETDLGCODE       0x0087
3245 #define WM_SYNCPAINT        0x0088
3246 #define WM_SYNCTASK         0x0089
3247
3248   /* Non-client mouse messages */
3249 #define WM_NCMOUSEMOVE      0x00a0
3250 #define WM_NCLBUTTONDOWN    0x00a1
3251 #define WM_NCLBUTTONUP      0x00a2
3252 #define WM_NCLBUTTONDBLCLK  0x00a3
3253 #define WM_NCRBUTTONDOWN    0x00a4
3254 #define WM_NCRBUTTONUP      0x00a5
3255 #define WM_NCRBUTTONDBLCLK  0x00a6
3256 #define WM_NCMBUTTONDOWN    0x00a7
3257 #define WM_NCMBUTTONUP      0x00a8
3258 #define WM_NCMBUTTONDBLCLK  0x00a9
3259
3260   /* Keyboard messages */
3261 #define WM_KEYDOWN          0x0100
3262 #define WM_KEYUP            0x0101
3263 #define WM_CHAR             0x0102
3264 #define WM_DEADCHAR         0x0103
3265 #define WM_SYSKEYDOWN       0x0104
3266 #define WM_SYSKEYUP         0x0105
3267 #define WM_SYSCHAR          0x0106
3268 #define WM_SYSDEADCHAR      0x0107
3269 #define WM_KEYFIRST         WM_KEYDOWN
3270 #define WM_KEYLAST          0x0108
3271
3272 #define WM_INITDIALOG       0x0110 
3273 #define WM_COMMAND          0x0111
3274 #define WM_SYSCOMMAND       0x0112
3275 #define WM_TIMER            0x0113
3276 #define WM_SYSTIMER         0x0118
3277
3278   /* scroll messages */
3279 #define WM_HSCROLL          0x0114
3280 #define WM_VSCROLL          0x0115
3281
3282 /* Menu messages */
3283 #define WM_INITMENU         0x0116
3284 #define WM_INITMENUPOPUP    0x0117
3285
3286 #define WM_MENUSELECT       0x011F
3287 #define WM_MENUCHAR         0x0120
3288 #define WM_ENTERIDLE        0x0121
3289
3290 #define WM_LBTRACKPOINT     0x0131
3291
3292   /* Win32 CTLCOLOR messages */
3293 #define WM_CTLCOLORMSGBOX    0x0132
3294 #define WM_CTLCOLOREDIT      0x0133
3295 #define WM_CTLCOLORLISTBOX   0x0134
3296 #define WM_CTLCOLORBTN       0x0135
3297 #define WM_CTLCOLORDLG       0x0136
3298 #define WM_CTLCOLORSCROLLBAR 0x0137
3299 #define WM_CTLCOLORSTATIC    0x0138
3300
3301   /* Mouse messages */
3302 #define WM_MOUSEMOVE        0x0200
3303 #define WM_LBUTTONDOWN      0x0201
3304 #define WM_LBUTTONUP        0x0202
3305 #define WM_LBUTTONDBLCLK    0x0203
3306 #define WM_RBUTTONDOWN      0x0204
3307 #define WM_RBUTTONUP        0x0205
3308 #define WM_RBUTTONDBLCLK    0x0206
3309 #define WM_MBUTTONDOWN      0x0207
3310 #define WM_MBUTTONUP        0x0208
3311 #define WM_MBUTTONDBLCLK    0x0209
3312 #define WM_MOUSEFIRST       WM_MOUSEMOVE
3313 #define WM_MOUSELAST        WM_MBUTTONDBLCLK
3314
3315 #define WM_PARENTNOTIFY     0x0210
3316 #define WM_ENTERMENULOOP    0x0211
3317 #define WM_EXITMENULOOP     0x0212
3318 #define WM_NEXTMENU         0x0213
3319
3320   /* Win32 4.0 messages */
3321 #define WM_SIZING           0x0214
3322 #define WM_CAPTURECHANGED   0x0215
3323 #define WM_MOVING           0x0216
3324
3325   /* MDI messages */
3326 #define WM_MDICREATE        0x0220
3327 #define WM_MDIDESTROY       0x0221
3328 #define WM_MDIACTIVATE      0x0222
3329 #define WM_MDIRESTORE       0x0223
3330 #define WM_MDINEXT          0x0224
3331 #define WM_MDIMAXIMIZE      0x0225
3332 #define WM_MDITILE          0x0226
3333 #define WM_MDICASCADE       0x0227
3334 #define WM_MDIICONARRANGE   0x0228
3335 #define WM_MDIGETACTIVE     0x0229
3336 #define WM_MDIREFRESHMENU   0x0234
3337
3338   /* D&D messages */
3339 #define WM_DROPOBJECT       0x022A
3340 #define WM_QUERYDROPOBJECT  0x022B
3341 #define WM_BEGINDRAG        0x022C
3342 #define WM_DRAGLOOP         0x022D
3343 #define WM_DRAGSELECT       0x022E
3344 #define WM_DRAGMOVE         0x022F
3345 #define WM_MDISETMENU       0x0230
3346
3347 #define WM_ENTERSIZEMOVE    0x0231
3348 #define WM_EXITSIZEMOVE     0x0232
3349 #define WM_DROPFILES        0x0233
3350
3351 #define WM_CUT               0x0300
3352 #define WM_COPY              0x0301
3353 #define WM_PASTE             0x0302
3354 #define WM_CLEAR             0x0303
3355 #define WM_UNDO              0x0304
3356 #define WM_RENDERFORMAT      0x0305
3357 #define WM_RENDERALLFORMATS  0x0306
3358 #define WM_DESTROYCLIPBOARD  0x0307
3359 #define WM_DRAWCLIPBOARD     0x0308
3360 #define WM_PAINTCLIPBOARD    0x0309
3361 #define WM_VSCROLLCLIPBOARD  0x030A
3362 #define WM_SIZECLIPBOARD     0x030B
3363 #define WM_ASKCBFORMATNAME   0x030C
3364 #define WM_CHANGECBCHAIN     0x030D
3365 #define WM_HSCROLLCLIPBOARD  0x030E
3366 #define WM_QUERYNEWPALETTE   0x030F
3367 #define WM_PALETTEISCHANGING 0x0310
3368 #define WM_PALETTECHANGED    0x0311
3369 #define WM_HOTKEY            0x0312
3370
3371 #define WM_PRINT             0x0317
3372 #define WM_PRINTCLIENT       0x0318
3373
3374   /* MFC messages [370-37f] */
3375
3376 #define WM_QUERYAFXWNDPROC  0x0360
3377 #define WM_SIZEPARENT       0x0361
3378 #define WM_SETMESSAGESTRING 0x0362
3379 #define WM_IDLEUPDATECMDUI  0x0363 
3380 #define WM_INITIALUPDATE    0x0364
3381 #define WM_COMMANDHELP      0x0365
3382 #define WM_HELPHITTEST      0x0366
3383 #define WM_EXITHELPMODE     0x0367
3384 #define WM_RECALCPARENT     0x0368
3385 #define WM_SIZECHILD        0x0369
3386 #define WM_KICKIDLE         0x036A 
3387 #define WM_QUERYCENTERWND   0x036B
3388 #define WM_DISABLEMODAL     0x036C
3389 #define WM_FLOATSTATUS      0x036D 
3390 #define WM_ACTIVATETOPLEVEL 0x036E 
3391 #define WM_QUERY3DCONTROLS  0x036F 
3392 #define WM_SOCKET_NOTIFY    0x0373
3393 #define WM_SOCKET_DEAD      0x0374
3394 #define WM_POPMESSAGESTRING 0x0375
3395 #define WM_OCC_LOADFROMSTREAM           0x0376
3396 #define WM_OCC_LOADFROMSTORAGE          0x0377
3397 #define WM_OCC_INITNEW                  0x0378
3398 #define WM_OCC_LOADFROMSTREAM_EX        0x037A
3399 #define WM_OCC_LOADFROMSTORAGE_EX       0x037B
3400 #define WM_QUEUE_SENTINEL   0x0379
3401
3402 /* end of MFC messages */
3403
3404 #define WM_COALESCE_FIRST    0x0390
3405 #define WM_COALESCE_LAST     0x039F
3406
3407   /* misc messages */
3408 #define WM_NULL             0x0000
3409 #define WM_USER             0x0400
3410 #define WM_CPL_LAUNCH       (WM_USER + 1000)
3411 #define WM_CPL_LAUNCHED     (WM_USER + 1001)
3412
3413 /* WM_NOTIFYFORMAT commands and return values */
3414 #define NFR_ANSI            1
3415 #define NFR_UNICODE         2
3416 #define NF_QUERY            3
3417 #define NF_REQUERY          4
3418
3419   /* Key status flags for mouse events */
3420 #define MK_LBUTTON          0x0001
3421 #define MK_RBUTTON          0x0002
3422 #define MK_SHIFT            0x0004
3423 #define MK_CONTROL          0x0008
3424 #define MK_MBUTTON          0x0010
3425
3426   /* keybd_event flags */
3427 #define KEYEVENTF_EXTENDEDKEY        0x0001
3428 #define KEYEVENTF_KEYUP              0x0002
3429 #define KEYEVENTF_WINE_FORCEEXTENDED 0x8000
3430
3431   /* mouse_event flags */
3432 #define MOUSEEVENTF_MOVE        0x0001
3433 #define MOUSEEVENTF_LEFTDOWN    0x0002
3434 #define MOUSEEVENTF_LEFTUP      0x0004
3435 #define MOUSEEVENTF_RIGHTDOWN   0x0008
3436 #define MOUSEEVENTF_RIGHTUP     0x0010
3437 #define MOUSEEVENTF_MIDDLEDOWN  0x0020
3438 #define MOUSEEVENTF_MIDDLEUP    0x0040
3439 #define MOUSEEVENTF_ABSOLUTE    0x8000
3440
3441   /* Queue status flags */
3442 #define QS_KEY          0x0001
3443 #define QS_MOUSEMOVE    0x0002
3444 #define QS_MOUSEBUTTON  0x0004
3445 #define QS_MOUSE        (QS_MOUSEMOVE | QS_MOUSEBUTTON)
3446 #define QS_POSTMESSAGE  0x0008
3447 #define QS_TIMER        0x0010
3448 #define QS_PAINT        0x0020
3449 #define QS_SENDMESSAGE  0x0040
3450 #define QS_ALLINPUT     0x007f
3451
3452   /* PeekMessage() options */
3453 #define PM_NOREMOVE     0x0000
3454 #define PM_REMOVE       0x0001
3455 #define PM_NOYIELD      0x0002
3456
3457 #define WM_SHOWWINDOW       0x0018
3458
3459 /* WM_SHOWWINDOW wParam codes */
3460 #define SW_PARENTCLOSING    1
3461 #define SW_OTHERMAXIMIZED   2
3462 #define SW_PARENTOPENING    3
3463 #define SW_OTHERRESTORED    4
3464
3465   /* ShowWindow() codes */
3466 #define SW_HIDE             0
3467 #define SW_SHOWNORMAL       1
3468 #define SW_NORMAL           1
3469 #define SW_SHOWMINIMIZED    2
3470 #define SW_SHOWMAXIMIZED    3
3471 #define SW_MAXIMIZE         3
3472 #define SW_SHOWNOACTIVATE   4
3473 #define SW_SHOW             5
3474 #define SW_MINIMIZE         6
3475 #define SW_SHOWMINNOACTIVE  7
3476 #define SW_SHOWNA           8
3477 #define SW_RESTORE          9
3478 #define SW_SHOWDEFAULT      10
3479 #define SW_MAX              10
3480 #define SW_NORMALNA         0xCC        /* undoc. flag in MinMaximize */
3481
3482   /* WM_SIZE message wParam values */
3483 #define SIZE_RESTORED        0
3484 #define SIZE_MINIMIZED       1
3485 #define SIZE_MAXIMIZED       2
3486 #define SIZE_MAXSHOW         3
3487 #define SIZE_MAXHIDE         4
3488 #define SIZENORMAL           SIZE_RESTORED
3489 #define SIZEICONIC           SIZE_MINIMIZED
3490 #define SIZEFULLSCREEN       SIZE_MAXIMIZED
3491 #define SIZEZOOMSHOW         SIZE_MAXSHOW
3492 #define SIZEZOOMHIDE         SIZE_MAXHIDE
3493
3494 /* SetWindowPos() and WINDOWPOS flags */
3495 #define SWP_NOSIZE          0x0001
3496 #define SWP_NOMOVE          0x0002
3497 #define SWP_NOZORDER        0x0004
3498 #define SWP_NOREDRAW        0x0008
3499 #define SWP_NOACTIVATE      0x0010
3500 #define SWP_FRAMECHANGED    0x0020  /* The frame changed: send WM_NCCALCSIZE */
3501 #define SWP_SHOWWINDOW      0x0040
3502 #define SWP_HIDEWINDOW      0x0080
3503 #define SWP_NOCOPYBITS      0x0100
3504 #define SWP_NOOWNERZORDER   0x0200  /* Don't do owner Z ordering */
3505
3506 #define SWP_DRAWFRAME       SWP_FRAMECHANGED
3507 #define SWP_NOREPOSITION    SWP_NOOWNERZORDER
3508
3509 #define SWP_NOSENDCHANGING  0x0400
3510 #define SWP_DEFERERASE      0x2000
3511
3512 #define HWND_DESKTOP        ((HWND32)0)
3513 #define HWND_BROADCAST      ((HWND32)0xffff)
3514
3515 /* SetWindowPos() hwndInsertAfter field values */
3516 #define HWND_TOP            ((HWND32)0)
3517 #define HWND_BOTTOM         ((HWND32)1)
3518 #define HWND_TOPMOST        ((HWND32)-1)
3519 #define HWND_NOTOPMOST      ((HWND32)-2)
3520
3521 /* Flags for TrackPopupMenu */
3522 #define TPM_LEFTBUTTON    0x0000
3523 #define TPM_RIGHTBUTTON   0x0002
3524 #define TPM_LEFTALIGN     0x0000
3525 #define TPM_CENTERALIGN   0x0004
3526 #define TPM_RIGHTALIGN    0x0008
3527 #define TPM_TOPALIGN      0x0000
3528 #define TPM_VCENTERALIGN  0x0010
3529 #define TPM_BOTTOMALIGN   0x0020
3530 #define TPM_HORIZONTAL    0x0000
3531 #define TPM_VERTICAL      0x0040
3532 #define TPM_NONOTIFY      0x0080
3533 #define TPM_RETURNCMD     0x0100
3534
3535 typedef struct 
3536 {
3537     UINT32   cbSize;
3538     RECT32   rcExclude;
3539 } TPMPARAMS, *LPTPMPARAMS;
3540
3541
3542 #define MF_INSERT          0x0000
3543 #define MF_CHANGE          0x0080
3544 #define MF_APPEND          0x0100
3545 #define MF_DELETE          0x0200
3546 #define MF_REMOVE          0x1000
3547 #define MF_END             0x0080
3548
3549 #define MF_ENABLED         0x0000
3550 #define MF_GRAYED          0x0001
3551 #define MF_DISABLED        0x0002
3552 #define MF_STRING          0x0000
3553 #define MF_BITMAP          0x0004
3554 #define MF_UNCHECKED       0x0000
3555 #define MF_CHECKED         0x0008
3556 #define MF_POPUP           0x0010
3557 #define MF_MENUBARBREAK    0x0020
3558 #define MF_MENUBREAK       0x0040
3559 #define MF_UNHILITE        0x0000
3560 #define MF_HILITE          0x0080
3561 #define MF_OWNERDRAW       0x0100
3562 #define MF_USECHECKBITMAPS 0x0200
3563 #define MF_BYCOMMAND       0x0000
3564 #define MF_BYPOSITION      0x0400
3565 #define MF_SEPARATOR       0x0800
3566 #define MF_DEFAULT         0x1000
3567 #define MF_SYSMENU         0x2000
3568 #define MF_HELP            0x4000
3569 #define MF_RIGHTJUSTIFY    0x4000
3570 #define MF_MOUSESELECT     0x8000
3571
3572 /* Flags for extended menu item types.  */
3573 #define MFT_STRING         MF_STRING
3574 #define MFT_BITMAP         MF_BITMAP
3575 #define MFT_MENUBARBREAK   MF_MENUBARBREAK
3576 #define MFT_MENUBREAK      MF_MENUBREAK
3577 #define MFT_OWNERDRAW      MF_OWNERDRAW
3578 #define MFT_RADIOCHECK     0x00000200L
3579 #define MFT_SEPARATOR      MF_SEPARATOR
3580 #define MFT_RIGHTORDER     0x00002000L
3581 #define MFT_RIGHTJUSTIFY   MF_RIGHTJUSTIFY
3582
3583 /* Flags for extended menu item states.  */
3584 #define MFS_GRAYED          0x00000003L
3585 #define MFS_DISABLED        MFS_GRAYED
3586 #define MFS_CHECKED         MF_CHECKED
3587 #define MFS_HILITE          MF_HILITE
3588 #define MFS_ENABLED         MF_ENABLED
3589 #define MFS_UNCHECKED       MF_UNCHECKED
3590 #define MFS_UNHILITE        MF_UNHILITE
3591 #define MFS_DEFAULT         MF_DEFAULT
3592
3593 /* FIXME: not sure this one is correct */
3594 typedef struct {
3595   UINT16    cbSize;
3596   UINT16    fMask;
3597   UINT16    fType;
3598   UINT16    fState;
3599   UINT16    wID;
3600   HMENU16   hSubMenu;
3601   HBITMAP16 hbmpChecked;
3602   HBITMAP16 hbmpUnchecked;
3603   DWORD     dwItemData;
3604   LPSTR     dwTypeData;
3605   UINT16    cch;
3606 } MENUITEMINFO16, *LPMENUITEMINFO16;
3607
3608 typedef struct {
3609   UINT32    cbSize;
3610   UINT32    fMask;
3611   UINT32    fType;
3612   UINT32    fState;
3613   UINT32    wID;
3614   HMENU32   hSubMenu;
3615   HBITMAP32 hbmpChecked;
3616   HBITMAP32 hbmpUnchecked;
3617   DWORD     dwItemData;
3618   LPSTR     dwTypeData;
3619   UINT32    cch;
3620 } MENUITEMINFO32A, *LPMENUITEMINFO32A;
3621
3622 typedef struct {
3623   UINT32    cbSize;
3624   UINT32    fMask;
3625   UINT32    fType;
3626   UINT32    fState;
3627   UINT32    wID;
3628   HMENU32   hSubMenu;
3629   HBITMAP32 hbmpChecked;
3630   HBITMAP32 hbmpUnchecked;
3631   DWORD     dwItemData;
3632   LPWSTR    dwTypeData;
3633   UINT32    cch;
3634 } MENUITEMINFO32W, *LPMENUITEMINFO32W;
3635
3636 DECL_WINELIB_TYPE_AW(MENUITEMINFO)
3637 DECL_WINELIB_TYPE_AW(LPMENUITEMINFO)
3638
3639 /* Field specifiers for MENUITEMINFO[AW] type.  */
3640 #define MIIM_STATE       0x00000001
3641 #define MIIM_ID          0x00000002
3642 #define MIIM_SUBMENU     0x00000004
3643 #define MIIM_CHECKMARKS  0x00000008
3644 #define MIIM_TYPE        0x00000010
3645 #define MIIM_DATA        0x00000020
3646
3647
3648 #ifndef NOWINOFFSETS
3649 #define GCW_HBRBACKGROUND (-10)
3650 #endif
3651
3652 #define MB_OK                   0x00000000
3653 #define MB_OKCANCEL             0x00000001
3654 #define MB_ABORTRETRYIGNORE     0x00000002
3655 #define MB_YESNOCANCEL          0x00000003
3656 #define MB_YESNO                0x00000004
3657 #define MB_RETRYCANCEL          0x00000005
3658 #define MB_TYPEMASK             0x0000000F
3659
3660 #define MB_ICONHAND             0x00000010
3661 #define MB_ICONQUESTION         0x00000020
3662 #define MB_ICONEXCLAMATION      0x00000030
3663 #define MB_ICONASTERISK         0x00000040
3664 #define MB_USERICON             0x00000080
3665 #define MB_ICONMASK             0x000000F0
3666
3667 #define MB_ICONINFORMATION      MB_ICONASTERISK
3668 #define MB_ICONSTOP             MB_ICONHAND
3669 #define MB_ICONWARNING          MB_ICONEXCLAMATION
3670 #define MB_ICONERROR            MB_ICONHAND
3671
3672 #define MB_DEFBUTTON1           0x00000000
3673 #define MB_DEFBUTTON2           0x00000100
3674 #define MB_DEFBUTTON3           0x00000200
3675 #define MB_DEFBUTTON4           0x00000300
3676 #define MB_DEFMASK              0x00000F00
3677
3678 #define MB_APPLMODAL            0x00000000
3679 #define MB_SYSTEMMODAL          0x00001000
3680 #define MB_TASKMODAL            0x00002000
3681 #define MB_MODEMASK             0x00003000
3682
3683 #define MB_HELP                 0x00004000
3684 #define MB_NOFOCUS              0x00008000
3685 #define MB_MISCMASK             0x0000C000
3686
3687 #define MB_SETFOREGROUND        0x00010000
3688 #define MB_DEFAULT_DESKTOP_ONLY 0x00020000
3689 #define MB_SERVICE_NOTIFICATION 0x00040000
3690 #define MB_TOPMOST              0x00040000
3691 #define MB_RIGHT                0x00080000
3692 #define MB_RTLREADING           0x00100000
3693
3694
3695 #define DT_TOP 0
3696 #define DT_LEFT 0
3697 #define DT_CENTER 1
3698 #define DT_RIGHT 2
3699 #define DT_VCENTER 4
3700 #define DT_BOTTOM 8
3701 #define DT_WORDBREAK 16
3702 #define DT_SINGLELINE 32
3703 #define DT_EXPANDTABS 64
3704 #define DT_TABSTOP 128
3705 #define DT_NOCLIP 256
3706 #define DT_EXTERNALLEADING 512
3707 #define DT_CALCRECT 1024
3708 #define DT_NOPREFIX 2048
3709 #define DT_INTERNAL 4096
3710
3711 /* DrawCaption()/DrawCaptionTemp() flags */
3712 #define DC_ACTIVE               0x0001
3713 #define DC_SMALLCAP             0x0002
3714 #define DC_ICON                 0x0004
3715 #define DC_TEXT                 0x0008
3716 #define DC_INBUTTON             0x0010
3717
3718 /* DrawEdge() flags */
3719 #define BDR_RAISEDOUTER    0x0001
3720 #define BDR_SUNKENOUTER    0x0002
3721 #define BDR_RAISEDINNER    0x0004
3722 #define BDR_SUNKENINNER    0x0008
3723
3724 #define BDR_OUTER          0x0003
3725 #define BDR_INNER          0x000c
3726 #define BDR_RAISED         0x0005
3727 #define BDR_SUNKEN         0x000a
3728
3729 #define EDGE_RAISED        (BDR_RAISEDOUTER | BDR_RAISEDINNER)
3730 #define EDGE_SUNKEN        (BDR_SUNKENOUTER | BDR_SUNKENINNER)
3731 #define EDGE_ETCHED        (BDR_SUNKENOUTER | BDR_RAISEDINNER)
3732 #define EDGE_BUMP          (BDR_RAISEDOUTER | BDR_SUNKENINNER)
3733
3734 /* border flags */
3735 #define BF_LEFT            0x0001
3736 #define BF_TOP             0x0002
3737 #define BF_RIGHT           0x0004
3738 #define BF_BOTTOM          0x0008
3739 #define BF_DIAGONAL        0x0010
3740 #define BF_MIDDLE          0x0800  /* Fill in the middle */
3741 #define BF_SOFT            0x1000  /* For softer buttons */
3742 #define BF_ADJUST          0x2000  /* Calculate the space left over */
3743 #define BF_FLAT            0x4000  /* For flat rather than 3D borders */
3744 #define BF_MONO            0x8000  /* For monochrome borders */
3745 #define BF_TOPLEFT         (BF_TOP | BF_LEFT)
3746 #define BF_TOPRIGHT        (BF_TOP | BF_RIGHT)
3747 #define BF_BOTTOMLEFT      (BF_BOTTOM | BF_LEFT)
3748 #define BF_BOTTOMRIGHT     (BF_BOTTOM | BF_RIGHT)
3749 #define BF_RECT            (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
3750 #define BF_DIAGONAL_ENDTOPRIGHT     (BF_DIAGONAL | BF_TOP | BF_RIGHT)
3751 #define BF_DIAGONAL_ENDTOPLEFT      (BF_DIAGONAL | BF_TOP | BF_LEFT)
3752 #define BF_DIAGONAL_ENDBOTTOMLEFT   (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
3753 #define BF_DIAGONAL_ENDBOTTOMRIGHT  (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
3754
3755 /* DrawFrameControl() uType's */
3756
3757 #define DFC_CAPTION             1
3758 #define DFC_MENU                2
3759 #define DFC_SCROLL              3
3760 #define DFC_BUTTON              4
3761
3762 /* uState's */
3763
3764 #define DFCS_CAPTIONCLOSE       0x0000
3765 #define DFCS_CAPTIONMIN         0x0001
3766 #define DFCS_CAPTIONMAX         0x0002
3767 #define DFCS_CAPTIONRESTORE     0x0003
3768 #define DFCS_CAPTIONHELP        0x0004          /* Windows 95 only */
3769
3770 #define DFCS_MENUARROW          0x0000
3771 #define DFCS_MENUCHECK          0x0001
3772 #define DFCS_MENUBULLET         0x0002
3773 #define DFCS_MENUARROWRIGHT     0x0004
3774
3775 #define DFCS_SCROLLUP            0x0000
3776 #define DFCS_SCROLLDOWN          0x0001
3777 #define DFCS_SCROLLLEFT          0x0002
3778 #define DFCS_SCROLLRIGHT         0x0003
3779 #define DFCS_SCROLLCOMBOBOX      0x0005
3780 #define DFCS_SCROLLSIZEGRIP      0x0008
3781 #define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
3782
3783 #define DFCS_BUTTONCHECK        0x0000
3784 #define DFCS_BUTTONRADIOIMAGE   0x0001
3785 #define DFCS_BUTTONRADIOMASK    0x0002          /* to draw nonsquare button */
3786 #define DFCS_BUTTONRADIO        0x0004
3787 #define DFCS_BUTTON3STATE       0x0008
3788 #define DFCS_BUTTONPUSH         0x0010
3789
3790 /* additional state of the control */
3791
3792 #define DFCS_INACTIVE           0x0100
3793 #define DFCS_PUSHED             0x0200
3794 #define DFCS_CHECKED            0x0400
3795 #define DFCS_ADJUSTRECT         0x2000          /* exclude surrounding edge */
3796 #define DFCS_FLAT               0x4000
3797 #define DFCS_MONO               0x8000
3798
3799 /* DrawState defines ... */
3800 typedef BOOL16 (CALLBACK *DRAWSTATEPROC16)(HDC16,LPARAM,WPARAM16,INT16,INT16);
3801 typedef BOOL32 (CALLBACK *DRAWSTATEPROC32)(HDC32,LPARAM,WPARAM32,INT32,INT32);
3802 DECL_WINELIB_TYPE(DRAWSTATEPROC)
3803
3804 /* Image type */
3805 #define DST_COMPLEX     0x0000
3806 #define DST_TEXT        0x0001
3807 #define DST_PREFIXTEXT  0x0002
3808 #define DST_ICON        0x0003
3809 #define DST_BITMAP      0x0004
3810
3811 /* State type */
3812 #define DSS_NORMAL      0x0000
3813 #define DSS_UNION       0x0010  /* Gray string appearance */
3814 #define DSS_DISABLED    0x0020
3815 #define DSS_DEFAULT     0x0040  /* Make it bold */
3816 #define DSS_MONO        0x0080
3817 #define DSS_RIGHT       0x8000
3818
3819 /* Window Styles */
3820 #define WS_OVERLAPPED    0x00000000L
3821 #define WS_POPUP         0x80000000L
3822 #define WS_CHILD         0x40000000L
3823 #define WS_MINIMIZE      0x20000000L
3824 #define WS_VISIBLE       0x10000000L
3825 #define WS_DISABLED      0x08000000L
3826 #define WS_CLIPSIBLINGS  0x04000000L
3827 #define WS_CLIPCHILDREN  0x02000000L
3828 #define WS_MAXIMIZE      0x01000000L
3829 #define WS_CAPTION       0x00C00000L
3830 #define WS_BORDER        0x00800000L
3831 #define WS_DLGFRAME      0x00400000L
3832 #define WS_VSCROLL       0x00200000L
3833 #define WS_HSCROLL       0x00100000L
3834 #define WS_SYSMENU       0x00080000L
3835 #define WS_THICKFRAME    0x00040000L
3836 #define WS_GROUP         0x00020000L
3837 #define WS_TABSTOP       0x00010000L
3838 #define WS_MINIMIZEBOX   0x00020000L
3839 #define WS_MAXIMIZEBOX   0x00010000L
3840 #define WS_TILED         WS_OVERLAPPED
3841 #define WS_ICONIC        WS_MINIMIZE
3842 #define WS_SIZEBOX       WS_THICKFRAME
3843 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
3844 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
3845 #define WS_CHILDWINDOW (WS_CHILD)
3846 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
3847
3848 /* Window extended styles */
3849 #define WS_EX_DLGMODALFRAME    0x00000001L
3850 #define WS_EX_DRAGDETECT       0x00000002L
3851 #define WS_EX_NOPARENTNOTIFY   0x00000004L
3852 #define WS_EX_TOPMOST          0x00000008L
3853 #define WS_EX_ACCEPTFILES      0x00000010L
3854 #define WS_EX_TRANSPARENT      0x00000020L
3855
3856 /* New Win95/WinNT4 styles */
3857 #define WS_EX_MDICHILD         0x00000040L
3858 #define WS_EX_TOOLWINDOW       0x00000080L
3859 #define WS_EX_WINDOWEDGE       0x00000100L
3860 #define WS_EX_CLIENTEDGE       0x00000200L
3861 #define WS_EX_CONTEXTHELP      0x00000400L
3862 #define WS_EX_RIGHT            0x00001000L
3863 #define WS_EX_LEFT             0x00000000L
3864 #define WS_EX_RTLREADING       0x00002000L
3865 #define WS_EX_LTRREADING       0x00000000L
3866 #define WS_EX_LEFTSCROLLBAR    0x00004000L
3867 #define WS_EX_RIGHTSCROLLBAR   0x00000000L
3868 #define WS_EX_CONTROLPARENT    0x00010000L
3869 #define WS_EX_STATICEDGE       0x00020000L
3870 #define WS_EX_APPWINDOW        0x00040000L
3871
3872 #define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
3873 #define WS_EX_PALETTEWINDOW    (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
3874
3875 /* Window scrolling */
3876 #define SW_SCROLLCHILDREN      0x0001
3877 #define SW_INVALIDATE          0x0002
3878 #define SW_ERASE               0x0004
3879
3880 /* CreateWindow() coordinates */
3881 #define CW_USEDEFAULT16 ((INT16)0x8000)
3882 #define CW_USEDEFAULT32 ((INT32)0x80000000)
3883 #define CW_USEDEFAULT   WINELIB_NAME(CW_USEDEFAULT)
3884
3885 /* Button control styles */
3886 #define BS_PUSHBUTTON          0x00000000L
3887 #define BS_DEFPUSHBUTTON       0x00000001L
3888 #define BS_CHECKBOX            0x00000002L
3889 #define BS_AUTOCHECKBOX        0x00000003L
3890 #define BS_RADIOBUTTON         0x00000004L
3891 #define BS_3STATE              0x00000005L
3892 #define BS_AUTO3STATE          0x00000006L
3893 #define BS_GROUPBOX            0x00000007L
3894 #define BS_USERBUTTON          0x00000008L
3895 #define BS_AUTORADIOBUTTON     0x00000009L
3896 #define BS_OWNERDRAW           0x0000000BL
3897 #define BS_LEFTTEXT            0x00000020L
3898
3899 /* Win16 button control messages */
3900 #define BM_GETCHECK16          (WM_USER+0)
3901 #define BM_SETCHECK16          (WM_USER+1)
3902 #define BM_GETSTATE16          (WM_USER+2)
3903 #define BM_SETSTATE16          (WM_USER+3)
3904 #define BM_SETSTYLE16          (WM_USER+4)
3905 #define BM_CLICK16             WM_NULL  /* Does not exist in Win16 */
3906 #define BM_GETIMAGE16          WM_NULL  /* Does not exist in Win16 */
3907 #define BM_SETIMAGE16          WM_NULL  /* Does not exist in Win16 */
3908 /* Win32 button control messages */
3909 #define BM_GETCHECK32          0x00f0
3910 #define BM_SETCHECK32          0x00f1
3911 #define BM_GETSTATE32          0x00f2
3912 #define BM_SETSTATE32          0x00f3
3913 #define BM_SETSTYLE32          0x00f4
3914 #define BM_CLICK32             0x00f5
3915 #define BM_GETIMAGE32          0x00f6
3916 #define BM_SETIMAGE32          0x00f7
3917 /* Winelib button control messages */
3918 #define BM_GETCHECK            WINELIB_NAME(BM_GETCHECK)
3919 #define BM_SETCHECK            WINELIB_NAME(BM_SETCHECK)
3920 #define BM_GETSTATE            WINELIB_NAME(BM_GETSTATE)
3921 #define BM_SETSTATE            WINELIB_NAME(BM_SETSTATE)
3922 #define BM_SETSTYLE            WINELIB_NAME(BM_SETSTYLE)
3923 #define BM_CLICK               WINELIB_NAME(BM_CLICK)
3924 #define BM_GETIMAGE            WINELIB_NAME(BM_GETIMAGE)
3925 #define BM_SETIMAGE            WINELIB_NAME(BM_SETIMAGE)
3926
3927 /* Button notification codes */
3928 #define BN_CLICKED             0
3929 #define BN_PAINT               1
3930 #define BN_HILITE              2
3931 #define BN_UNHILITE            3
3932 #define BN_DISABLE             4
3933 #define BN_DOUBLECLICKED       5
3934
3935 /* Static Control Styles */
3936 #define SS_LEFT             0x00000000L
3937 #define SS_CENTER           0x00000001L
3938 #define SS_RIGHT            0x00000002L
3939 #define SS_ICON             0x00000003L
3940 #define SS_BLACKRECT        0x00000004L
3941 #define SS_GRAYRECT         0x00000005L
3942 #define SS_WHITERECT        0x00000006L
3943 #define SS_BLACKFRAME       0x00000007L
3944 #define SS_GRAYFRAME        0x00000008L
3945 #define SS_WHITEFRAME       0x00000009L
3946
3947 #define SS_SIMPLE           0x0000000BL
3948 #define SS_LEFTNOWORDWRAP   0x0000000CL
3949
3950 #define SS_OWNERDRAW        0x0000000DL
3951 #define SS_BITMAP           0x0000000EL
3952 #define SS_ENHMETAFILE      0x0000000FL
3953
3954 #define SS_ETCHEDHORZ       0x00000010L
3955 #define SS_ETCHEDVERT       0x00000011L
3956 #define SS_ETCHEDFRAME      0x00000012L
3957 #define SS_TYPEMASK         0x0000001FL
3958
3959 #define SS_NOPREFIX         0x00000080L
3960 #define SS_NOTIFY           0x00000100L
3961 #define SS_CENTERIMAGE      0x00000200L
3962 #define SS_RIGHTJUST        0x00000400L
3963 #define SS_REALSIZEIMAGE    0x00000800L
3964 #define SS_SUNKEN           0x00001000L
3965
3966 /* Static Control Messages */
3967 #define STM_SETICON16       (WM_USER+0)
3968 #define STM_SETICON32       0x0170
3969 #define STM_SETICON         WINELIB_NAME(STM_SETICON)
3970 #define STM_GETICON16       (WM_USER+1)
3971 #define STM_GETICON32       0x0171
3972 #define STM_GETICON         WINELIB_NAME(STM_GETICON)
3973 #define STM_SETIMAGE        0x0172
3974 #define STM_GETIMAGE        0x0173
3975
3976 /* WM_H/VSCROLL commands */
3977 #define SB_LINEUP           0
3978 #define SB_LINELEFT         0
3979 #define SB_LINEDOWN         1
3980 #define SB_LINERIGHT        1
3981 #define SB_PAGEUP           2
3982 #define SB_PAGELEFT         2
3983 #define SB_PAGEDOWN         3
3984 #define SB_PAGERIGHT        3
3985 #define SB_THUMBPOSITION    4
3986 #define SB_THUMBTRACK       5
3987 #define SB_TOP              6
3988 #define SB_LEFT             6
3989 #define SB_BOTTOM           7
3990 #define SB_RIGHT            7
3991 #define SB_ENDSCROLL        8
3992
3993 /* Scroll bar selection constants */
3994 #define SB_HORZ             0
3995 #define SB_VERT             1
3996 #define SB_CTL              2
3997 #define SB_BOTH             3
3998
3999 /* Scrollbar styles */
4000 #define SBS_HORZ                    0x0000L
4001 #define SBS_VERT                    0x0001L
4002 #define SBS_TOPALIGN                0x0002L
4003 #define SBS_LEFTALIGN               0x0002L
4004 #define SBS_BOTTOMALIGN             0x0004L
4005 #define SBS_RIGHTALIGN              0x0004L
4006 #define SBS_SIZEBOXTOPLEFTALIGN     0x0002L
4007 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
4008 #define SBS_SIZEBOX                 0x0008L
4009
4010 /* EnableScrollBar() flags */
4011 #define ESB_ENABLE_BOTH     0x0000
4012 #define ESB_DISABLE_BOTH    0x0003
4013
4014 #define ESB_DISABLE_LEFT    0x0001
4015 #define ESB_DISABLE_RIGHT   0x0002
4016
4017 #define ESB_DISABLE_UP      0x0001
4018 #define ESB_DISABLE_DOWN    0x0002
4019
4020 #define ESB_DISABLE_LTUP    ESB_DISABLE_LEFT
4021 #define ESB_DISABLE_RTDN    ESB_DISABLE_RIGHT
4022
4023 /* Scrollbar messages */
4024 #define SBM_SETPOS16             (WM_USER+0)
4025 #define SBM_SETPOS32             0x00e0
4026 #define SBM_SETPOS               WINELIB_NAME(SBM_SETPOS)
4027 #define SBM_GETPOS16             (WM_USER+1)
4028 #define SBM_GETPOS32             0x00e1
4029 #define SBM_GETPOS               WINELIB_NAME(SBM_GETPOS)
4030 #define SBM_SETRANGE16           (WM_USER+2)
4031 #define SBM_SETRANGE32           0x00e2
4032 #define SBM_SETRANGE             WINELIB_NAME(SBM_SETRANGE)
4033 #define SBM_GETRANGE16           (WM_USER+3)
4034 #define SBM_GETRANGE32           0x00e3
4035 #define SBM_GETRANGE             WINELIB_NAME(SBM_GETRANGE)
4036 #define SBM_ENABLE_ARROWS16      (WM_USER+4)
4037 #define SBM_ENABLE_ARROWS32      0x00e4
4038 #define SBM_ENABLE_ARROWS        WINELIB_NAME(SBM_ENABLE_ARROWS)
4039 #define SBM_SETRANGEREDRAW16     WM_NULL  /* Not in Win16 */
4040 #define SBM_SETRANGEREDRAW32     0x00e6
4041 #define SBM_SETRANGEREDRAW       WINELIB_NAME(SBM_SETRANGEREDRAW)
4042 #define SBM_SETSCROLLINFO16      WM_NULL  /* Not in Win16 */
4043 #define SBM_SETSCROLLINFO32      0x00e9
4044 #define SBM_SETSCROLLINFO        WINELIB_NAME(SBM_SETSCROLLINFO)
4045 #define SBM_GETSCROLLINFO16      WM_NULL  /* Not in Win16 */
4046 #define SBM_GETSCROLLINFO32      0x00ea
4047 #define SBM_GETSCROLLINFO        WINELIB_NAME(SBM_GETSCROLLINFO)
4048
4049 /* Scrollbar info */
4050 typedef struct
4051 {
4052     UINT32    cbSize;
4053     UINT32    fMask;
4054     INT32     nMin;
4055     INT32     nMax;
4056     UINT32    nPage;
4057     INT32     nPos;
4058     INT32     nTrackPos;
4059 } SCROLLINFO, *LPSCROLLINFO;
4060  
4061 /* GetScrollInfo() flags */ 
4062 #define SIF_RANGE           0x0001
4063 #define SIF_PAGE            0x0002
4064 #define SIF_POS             0x0004
4065 #define SIF_DISABLENOSCROLL 0x0008
4066 #define SIF_TRACKPOS        0x0010
4067 #define SIF_ALL             (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
4068
4069 /* Listbox styles */
4070 #define LBS_NOTIFY               0x0001
4071 #define LBS_SORT                 0x0002
4072 #define LBS_NOREDRAW             0x0004
4073 #define LBS_MULTIPLESEL          0x0008
4074 #define LBS_OWNERDRAWFIXED       0x0010
4075 #define LBS_OWNERDRAWVARIABLE    0x0020
4076 #define LBS_HASSTRINGS           0x0040
4077 #define LBS_USETABSTOPS          0x0080
4078 #define LBS_NOINTEGRALHEIGHT     0x0100
4079 #define LBS_MULTICOLUMN          0x0200
4080 #define LBS_WANTKEYBOARDINPUT    0x0400
4081 #define LBS_EXTENDEDSEL          0x0800
4082 #define LBS_DISABLENOSCROLL      0x1000
4083 #define LBS_NODATA               0x2000
4084 #define LBS_NOSEL                0x4000
4085 #define LBS_STANDARD  (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
4086
4087 /* Listbox messages */
4088 #define LB_ADDSTRING16           (WM_USER+1)
4089 #define LB_ADDSTRING32           0x0180
4090 #define LB_ADDSTRING             WINELIB_NAME(LB_ADDSTRING)
4091 #define LB_INSERTSTRING16        (WM_USER+2)
4092 #define LB_INSERTSTRING32        0x0181
4093 #define LB_INSERTSTRING          WINELIB_NAME(LB_INSERTSTRING)
4094 #define LB_DELETESTRING16        (WM_USER+3)
4095 #define LB_DELETESTRING32        0x0182
4096 #define LB_DELETESTRING          WINELIB_NAME(LB_DELETESTRING)
4097 #define LB_SELITEMRANGEEX16      (WM_USER+4)
4098 #define LB_SELITEMRANGEEX32      0x0183
4099 #define LB_SELITEMRANGEEX        WINELIB_NAME(LB_SELITEMRANGEEX)
4100 #define LB_RESETCONTENT16        (WM_USER+5)
4101 #define LB_RESETCONTENT32        0x0184
4102 #define LB_RESETCONTENT          WINELIB_NAME(LB_RESETCONTENT)
4103 #define LB_SETSEL16              (WM_USER+6)
4104 #define LB_SETSEL32              0x0185
4105 #define LB_SETSEL                WINELIB_NAME(LB_SETSEL)
4106 #define LB_SETCURSEL16           (WM_USER+7)
4107 #define LB_SETCURSEL32           0x0186
4108 #define LB_SETCURSEL             WINELIB_NAME(LB_SETCURSEL)
4109 #define LB_GETSEL16              (WM_USER+8)
4110 #define LB_GETSEL32              0x0187
4111 #define LB_GETSEL                WINELIB_NAME(LB_GETSEL)
4112 #define LB_GETCURSEL16           (WM_USER+9)
4113 #define LB_GETCURSEL32           0x0188
4114 #define LB_GETCURSEL             WINELIB_NAME(LB_GETCURSEL)
4115 #define LB_GETTEXT16             (WM_USER+10)
4116 #define LB_GETTEXT32             0x0189
4117 #define LB_GETTEXT               WINELIB_NAME(LB_GETTEXT)
4118 #define LB_GETTEXTLEN16          (WM_USER+11)
4119 #define LB_GETTEXTLEN32          0x018a
4120 #define LB_GETTEXTLEN            WINELIB_NAME(LB_GETTEXTLEN)
4121 #define LB_GETCOUNT16            (WM_USER+12)
4122 #define LB_GETCOUNT32            0x018b
4123 #define LB_GETCOUNT              WINELIB_NAME(LB_GETCOUNT)
4124 #define LB_SELECTSTRING16        (WM_USER+13)
4125 #define LB_SELECTSTRING32        0x018c
4126 #define LB_SELECTSTRING          WINELIB_NAME(LB_SELECTSTRING)
4127 #define LB_DIR16                 (WM_USER+14)
4128 #define LB_DIR32                 0x018d
4129 #define LB_DIR                   WINELIB_NAME(LB_DIR)
4130 #define LB_GETTOPINDEX16         (WM_USER+15)
4131 #define LB_GETTOPINDEX32         0x018e
4132 #define LB_GETTOPINDEX           WINELIB_NAME(LB_GETTOPINDEX)
4133 #define LB_FINDSTRING16          (WM_USER+16)
4134 #define LB_FINDSTRING32          0x018f
4135 #define LB_FINDSTRING            WINELIB_NAME(LB_FINDSTRING)
4136 #define LB_GETSELCOUNT16         (WM_USER+17)
4137 #define LB_GETSELCOUNT32         0x0190
4138 #define LB_GETSELCOUNT           WINELIB_NAME(LB_GETSELCOUNT)
4139 #define LB_GETSELITEMS16         (WM_USER+18)
4140 #define LB_GETSELITEMS32         0x0191
4141 #define LB_GETSELITEMS           WINELIB_NAME(LB_GETSELITEMS)
4142 #define LB_SETTABSTOPS16         (WM_USER+19)
4143 #define LB_SETTABSTOPS32         0x0192
4144 #define LB_SETTABSTOPS           WINELIB_NAME(LB_SETTABSTOPS)
4145 #define LB_GETHORIZONTALEXTENT16 (WM_USER+20)
4146 #define LB_GETHORIZONTALEXTENT32 0x0193
4147 #define LB_GETHORIZONTALEXTENT   WINELIB_NAME(LB_GETHORIZONTALEXTENT)
4148 #define LB_SETHORIZONTALEXTENT16 (WM_USER+21)
4149 #define LB_SETHORIZONTALEXTENT32 0x0194
4150 #define LB_SETHORIZONTALEXTENT   WINELIB_NAME(LB_SETHORIZONTALEXTENT)
4151 #define LB_SETCOLUMNWIDTH16      (WM_USER+22)
4152 #define LB_SETCOLUMNWIDTH32      0x0195
4153 #define LB_SETCOLUMNWIDTH        WINELIB_NAME(LB_SETCOLUMNWIDTH)
4154 #define LB_ADDFILE16             (WM_USER+23)
4155 #define LB_ADDFILE32             0x0196
4156 #define LB_ADDFILE               WINELIB_NAME(LB_ADDFILE)
4157 #define LB_SETTOPINDEX16         (WM_USER+24)
4158 #define LB_SETTOPINDEX32         0x0197
4159 #define LB_SETTOPINDEX           WINELIB_NAME(LB_SETTOPINDEX)
4160 #define LB_GETITEMRECT16         (WM_USER+25)
4161 #define LB_GETITEMRECT32         0x0198
4162 #define LB_GETITEMRECT           WINELIB_NAME(LB_GETITEMRECT)
4163 #define LB_GETITEMDATA16         (WM_USER+26)
4164 #define LB_GETITEMDATA32         0x0199
4165 #define LB_GETITEMDATA           WINELIB_NAME(LB_GETITEMDATA)
4166 #define LB_SETITEMDATA16         (WM_USER+27)
4167 #define LB_SETITEMDATA32         0x019a
4168 #define LB_SETITEMDATA           WINELIB_NAME(LB_SETITEMDATA)
4169 #define LB_SELITEMRANGE16        (WM_USER+28)
4170 #define LB_SELITEMRANGE32        0x019b
4171 #define LB_SELITEMRANGE          WINELIB_NAME(LB_SELITEMRANGE)
4172 #define LB_SETANCHORINDEX16      (WM_USER+29)
4173 #define LB_SETANCHORINDEX32      0x019c
4174 #define LB_SETANCHORINDEX        WINELIB_NAME(LB_SETANCHORINDEX)
4175 #define LB_GETANCHORINDEX16      (WM_USER+30)
4176 #define LB_GETANCHORINDEX32      0x019d
4177 #define LB_GETANCHORINDEX        WINELIB_NAME(LB_GETANCHORINDEX)
4178 #define LB_SETCARETINDEX16       (WM_USER+31)
4179 #define LB_SETCARETINDEX32       0x019e
4180 #define LB_SETCARETINDEX         WINELIB_NAME(LB_SETCARETINDEX)
4181 #define LB_GETCARETINDEX16       (WM_USER+32)
4182 #define LB_GETCARETINDEX32       0x019f
4183 #define LB_GETCARETINDEX         WINELIB_NAME(LB_GETCARETINDEX)
4184 #define LB_SETITEMHEIGHT16       (WM_USER+33)
4185 #define LB_SETITEMHEIGHT32       0x01a0
4186 #define LB_SETITEMHEIGHT         WINELIB_NAME(LB_SETITEMHEIGHT)
4187 #define LB_GETITEMHEIGHT16       (WM_USER+34)
4188 #define LB_GETITEMHEIGHT32       0x01a1
4189 #define LB_GETITEMHEIGHT         WINELIB_NAME(LB_GETITEMHEIGHT)
4190 #define LB_FINDSTRINGEXACT16     (WM_USER+35)
4191 #define LB_FINDSTRINGEXACT32     0x01a2
4192 #define LB_FINDSTRINGEXACT       WINELIB_NAME(LB_FINDSTRINGEXACT)
4193 #define LB_CARETON16             (WM_USER+36)
4194 #define LB_CARETON32             0x01a3
4195 #define LB_CARETON               WINELIB_NAME(LB_CARETON)
4196 #define LB_CARETOFF16            (WM_USER+37)
4197 #define LB_CARETOFF32            0x01a4
4198 #define LB_CARETOFF              WINELIB_NAME(LB_CARETOFF)
4199 #define LB_SETLOCALE16           WM_NULL  /* Not in Win16 */
4200 #define LB_SETLOCALE32           0x01a5
4201 #define LB_SETLOCALE             WINELIB_NAME(LB_SETLOCALE)
4202 #define LB_GETLOCALE16           WM_NULL  /* Not in Win16 */
4203 #define LB_GETLOCALE32           0x01a6
4204 #define LB_GETLOCALE             WINELIB_NAME(LB_GETLOCALE)
4205 #define LB_SETCOUNT16            WM_NULL  /* Not in Win16 */
4206 #define LB_SETCOUNT32            0x01a7
4207 #define LB_SETCOUNT              WINELIB_NAME(LB_SETCOUNT)
4208 #define LB_INITSTORAGE16         WM_NULL  /* Not in Win16 */
4209 #define LB_INITSTORAGE32         0x01a8
4210 #define LB_INITSTORAGE           WINELIB_NAME(LB_INITSTORAGE)
4211 #define LB_ITEMFROMPOINT16       WM_NULL  /* Not in Win16 */
4212 #define LB_ITEMFROMPOINT32       0x01a9
4213 #define LB_ITEMFROMPOINT         WINELIB_NAME(LB_ITEMFROMPOINT)
4214
4215 /* Listbox notification codes */
4216 #define LBN_ERRSPACE        (-2)
4217 #define LBN_SELCHANGE       1
4218 #define LBN_DBLCLK          2
4219 #define LBN_SELCANCEL       3
4220 #define LBN_SETFOCUS        4
4221 #define LBN_KILLFOCUS       5
4222
4223 /* Listbox message return values */
4224 #define LB_OKAY             0
4225 #define LB_ERR              (-1)
4226 #define LB_ERRSPACE         (-2)
4227
4228 #define LB_CTLCODE          0L
4229
4230 /* Combo box styles */
4231 #define CBS_SIMPLE            0x0001L
4232 #define CBS_DROPDOWN          0x0002L
4233 #define CBS_DROPDOWNLIST      0x0003L
4234 #define CBS_OWNERDRAWFIXED    0x0010L
4235 #define CBS_OWNERDRAWVARIABLE 0x0020L
4236 #define CBS_AUTOHSCROLL       0x0040L
4237 #define CBS_OEMCONVERT        0x0080L
4238 #define CBS_SORT              0x0100L
4239 #define CBS_HASSTRINGS        0x0200L
4240 #define CBS_NOINTEGRALHEIGHT  0x0400L
4241 #define CBS_DISABLENOSCROLL   0x0800L
4242
4243 #define CBS_UPPERCASE         0x2000L
4244 #define CBS_LOWERCASE         0x4000L
4245
4246
4247 /* Combo box messages */
4248 #define CB_GETEDITSEL16            (WM_USER+0)
4249 #define CB_GETEDITSEL32            0x0140
4250 #define CB_GETEDITSEL              WINELIB_NAME(CB_GETEDITSEL)
4251 #define CB_LIMITTEXT16             (WM_USER+1)
4252 #define CB_LIMITTEXT32             0x0141
4253 #define CB_LIMITTEXT               WINELIB_NAME(CB_LIMITTEXT)
4254 #define CB_SETEDITSEL16            (WM_USER+2)
4255 #define CB_SETEDITSEL32            0x0142
4256 #define CB_SETEDITSEL              WINELIB_NAME(CB_SETEDITSEL)
4257 #define CB_ADDSTRING16             (WM_USER+3)
4258 #define CB_ADDSTRING32             0x0143
4259 #define CB_ADDSTRING               WINELIB_NAME(CB_ADDSTRING)
4260 #define CB_DELETESTRING16          (WM_USER+4)
4261 #define CB_DELETESTRING32          0x0144
4262 #define CB_DELETESTRING            WINELIB_NAME(CB_DELETESTRING)
4263 #define CB_DIR16                   (WM_USER+5)
4264 #define CB_DIR32                   0x0145
4265 #define CB_DIR                     WINELIB_NAME(CB_DIR)
4266 #define CB_GETCOUNT16              (WM_USER+6)
4267 #define CB_GETCOUNT32              0x0146
4268 #define CB_GETCOUNT                WINELIB_NAME(CB_GETCOUNT)
4269 #define CB_GETCURSEL16             (WM_USER+7)
4270 #define CB_GETCURSEL32             0x0147
4271 #define CB_GETCURSEL               WINELIB_NAME(CB_GETCURSEL)
4272 #define CB_GETLBTEXT16             (WM_USER+8)
4273 #define CB_GETLBTEXT32             0x0148
4274 #define CB_GETLBTEXT               WINELIB_NAME(CB_GETLBTEXT)
4275 #define CB_GETLBTEXTLEN16          (WM_USER+9)
4276 #define CB_GETLBTEXTLEN32          0x0149
4277 #define CB_GETLBTEXTLEN            WINELIB_NAME(CB_GETLBTEXTLEN)
4278 #define CB_INSERTSTRING16          (WM_USER+10)
4279 #define CB_INSERTSTRING32          0x014a
4280 #define CB_INSERTSTRING            WINELIB_NAME(CB_INSERTSTRING)
4281 #define CB_RESETCONTENT16          (WM_USER+11)
4282 #define CB_RESETCONTENT32          0x014b
4283 #define CB_RESETCONTENT            WINELIB_NAME(CB_RESETCONTENT)
4284 #define CB_FINDSTRING16            (WM_USER+12)
4285 #define CB_FINDSTRING32            0x014c
4286 #define CB_FINDSTRING              WINELIB_NAME(CB_FINDSTRING)
4287 #define CB_SELECTSTRING16          (WM_USER+13)
4288 #define CB_SELECTSTRING32          0x014d
4289 #define CB_SELECTSTRING            WINELIB_NAME(CB_SELECTSTRING)
4290 #define CB_SETCURSEL16             (WM_USER+14)
4291 #define CB_SETCURSEL32             0x014e
4292 #define CB_SETCURSEL               WINELIB_NAME(CB_SETCURSEL)
4293 #define CB_SHOWDROPDOWN16          (WM_USER+15)
4294 #define CB_SHOWDROPDOWN32          0x014f
4295 #define CB_SHOWDROPDOWN            WINELIB_NAME(CB_SHOWDROPDOWN)
4296 #define CB_GETITEMDATA16           (WM_USER+16)
4297 #define CB_GETITEMDATA32           0x0150
4298 #define CB_GETITEMDATA             WINELIB_NAME(CB_GETITEMDATA)
4299 #define CB_SETITEMDATA16           (WM_USER+17)
4300 #define CB_SETITEMDATA32           0x0151
4301 #define CB_SETITEMDATA             WINELIB_NAME(CB_SETITEMDATA)
4302 #define CB_GETDROPPEDCONTROLRECT16 (WM_USER+18)
4303 #define CB_GETDROPPEDCONTROLRECT32 0x0152
4304 #define CB_GETDROPPEDCONTROLRECT   WINELIB_NAME(CB_GETDROPPEDCONTROLRECT)
4305 #define CB_SETITEMHEIGHT16         (WM_USER+19)
4306 #define CB_SETITEMHEIGHT32         0x0153
4307 #define CB_SETITEMHEIGHT           WINELIB_NAME(CB_SETITEMHEIGHT)
4308 #define CB_GETITEMHEIGHT16         (WM_USER+20)
4309 #define CB_GETITEMHEIGHT32         0x0154
4310 #define CB_GETITEMHEIGHT           WINELIB_NAME(CB_GETITEMHEIGHT)
4311 #define CB_SETEXTENDEDUI16         (WM_USER+21)
4312 #define CB_SETEXTENDEDUI32         0x0155
4313 #define CB_SETEXTENDEDUI           WINELIB_NAME(CB_SETEXTENDEDUI)
4314 #define CB_GETEXTENDEDUI16         (WM_USER+22)
4315 #define CB_GETEXTENDEDUI32         0x0156
4316 #define CB_GETEXTENDEDUI           WINELIB_NAME(CB_GETEXTENDEDUI)
4317 #define CB_GETDROPPEDSTATE16       (WM_USER+23)
4318 #define CB_GETDROPPEDSTATE32       0x0157
4319 #define CB_GETDROPPEDSTATE         WINELIB_NAME(CB_GETDROPPEDSTATE)
4320 #define CB_FINDSTRINGEXACT16       (WM_USER+24)
4321 #define CB_FINDSTRINGEXACT32       0x0158
4322 #define CB_FINDSTRINGEXACT         WINELIB_NAME(CB_FINDSTRINGEXACT)
4323 #define CB_SETLOCALE16             WM_NULL  /* Not in Win16 */
4324 #define CB_SETLOCALE32             0x0159
4325 #define CB_SETLOCALE               WINELIB_NAME(CB_SETLOCALE)
4326 #define CB_GETLOCALE16             WM_NULL  /* Not in Win16 */
4327 #define CB_GETLOCALE32             0x015a
4328 #define CB_GETLOCALE               WINELIB_NAME(CB_GETLOCALE)
4329 #define CB_GETTOPINDEX16           WM_NULL  /* Not in Win16 */
4330 #define CB_GETTOPINDEX32           0x015b
4331 #define CB_GETTOPINDEX             WINELIB_NAME(CB_GETTOPINDEX)
4332 #define CB_SETTOPINDEX16           WM_NULL  /* Not in Win16 */
4333 #define CB_SETTOPINDEX32           0x015c
4334 #define CB_SETTOPINDEX             WINELIB_NAME(CB_SETTOPINDEX)
4335 #define CB_GETHORIZONTALEXTENT16   WM_NULL  /* Not in Win16 */
4336 #define CB_GETHORIZONTALEXTENT32   0x015d
4337 #define CB_GETHORIZONTALEXTENT     WINELIB_NAME(CB_GETHORIZONTALEXTENT)
4338 #define CB_SETHORIZONTALEXTENT16   WM_NULL  /* Not in Win16 */
4339 #define CB_SETHORIZONTALEXTENT32   0x015e
4340 #define CB_SETHORIZONTALEXTENT     WINELIB_NAME(CB_SETHORIZONTALEXTENT)
4341 #define CB_GETDROPPEDWIDTH16       WM_NULL  /* Not in Win16 */
4342 #define CB_GETDROPPEDWIDTH32       0x015f
4343 #define CB_GETDROPPEDWIDTH         WINELIB_NAME(CB_GETDROPPEDWIDTH)
4344 #define CB_SETDROPPEDWIDTH16       WM_NULL  /* Not in Win16 */
4345 #define CB_SETDROPPEDWIDTH32       0x0160
4346 #define CB_SETDROPPEDWIDTH         WINELIB_NAME(CB_SETDROPPEDWIDTH)
4347 #define CB_INITSTORAGE16           WM_NULL  /* Not in Win16 */
4348 #define CB_INITSTORAGE32           0x0161
4349 #define CB_INITSTORAGE             WINELIB_NAME(CB_INITSTORAGE)
4350
4351 /* Combo box notification codes */
4352 #define CBN_ERRSPACE        (-1)
4353 #define CBN_SELCHANGE       1
4354 #define CBN_DBLCLK          2
4355 #define CBN_SETFOCUS        3
4356 #define CBN_KILLFOCUS       4
4357 #define CBN_EDITCHANGE      5
4358 #define CBN_EDITUPDATE      6
4359 #define CBN_DROPDOWN        7
4360 #define CBN_CLOSEUP         8
4361 #define CBN_SELENDOK        9
4362 #define CBN_SELENDCANCEL    10
4363
4364 /* Combo box message return values */
4365 #define CB_OKAY             0
4366 #define CB_ERR              (-1)
4367 #define CB_ERRSPACE         (-2)
4368
4369
4370 /* Owner draw control types */
4371 #define ODT_MENU        1
4372 #define ODT_LISTBOX     2
4373 #define ODT_COMBOBOX    3
4374 #define ODT_BUTTON      4
4375
4376 /* Owner draw actions */
4377 #define ODA_DRAWENTIRE  0x0001
4378 #define ODA_SELECT      0x0002
4379 #define ODA_FOCUS       0x0004
4380
4381 /* Owner draw state */
4382 #define ODS_SELECTED    0x0001
4383 #define ODS_GRAYED      0x0002
4384 #define ODS_DISABLED    0x0004
4385 #define ODS_CHECKED     0x0008
4386 #define ODS_FOCUS       0x0010
4387
4388 /* Edit control styles */
4389 #define ES_LEFT         0x00000000
4390 #define ES_CENTER       0x00000001
4391 #define ES_RIGHT        0x00000002
4392 #define ES_MULTILINE    0x00000004
4393 #define ES_UPPERCASE    0x00000008
4394 #define ES_LOWERCASE    0x00000010
4395 #define ES_PASSWORD     0x00000020
4396 #define ES_AUTOVSCROLL  0x00000040
4397 #define ES_AUTOHSCROLL  0x00000080
4398 #define ES_NOHIDESEL    0x00000100
4399 #define ES_OEMCONVERT   0x00000400
4400 #define ES_READONLY     0x00000800
4401 #define ES_WANTRETURN   0x00001000
4402 #define ES_NUMBER       0x00002000
4403
4404 /* Edit control messages */
4405 #define EM_GETSEL16                (WM_USER+0)
4406 #define EM_GETSEL32                0x00b0
4407 #define EM_GETSEL                  WINELIB_NAME(EM_GETSEL)
4408 #define EM_SETSEL16                (WM_USER+1)
4409 #define EM_SETSEL32                0x00b1
4410 #define EM_SETSEL                  WINELIB_NAME(EM_SETSEL)
4411 #define EM_GETRECT16               (WM_USER+2)
4412 #define EM_GETRECT32               0x00b2
4413 #define EM_GETRECT                 WINELIB_NAME(EM_GETRECT)
4414 #define EM_SETRECT16               (WM_USER+3)
4415 #define EM_SETRECT32               0x00b3
4416 #define EM_SETRECT                 WINELIB_NAME(EM_SETRECT)
4417 #define EM_SETRECTNP16             (WM_USER+4)
4418 #define EM_SETRECTNP32             0x00b4
4419 #define EM_SETRECTNP               WINELIB_NAME(EM_SETRECTNP)
4420 #define EM_SCROLL16                (WM_USER+5)
4421 #define EM_SCROLL32                0x00b5
4422 #define EM_SCROLL                  WINELIB_NAME(EM_SCROLL)
4423 #define EM_LINESCROLL16            (WM_USER+6)
4424 #define EM_LINESCROLL32            0x00b6
4425 #define EM_LINESCROLL              WINELIB_NAME(EM_LINESCROLL)
4426 #define EM_SCROLLCARET16           (WM_USER+7)
4427 #define EM_SCROLLCARET32           0x00b7
4428 #define EM_SCROLLCARET             WINELIB_NAME(EM_SCROLLCARET)
4429 #define EM_GETMODIFY16             (WM_USER+8)
4430 #define EM_GETMODIFY32             0x00b8
4431 #define EM_GETMODIFY               WINELIB_NAME(EM_GETMODIFY)
4432 #define EM_SETMODIFY16             (WM_USER+9)
4433 #define EM_SETMODIFY32             0x00b9
4434 #define EM_SETMODIFY               WINELIB_NAME(EM_SETMODIFY)
4435 #define EM_GETLINECOUNT16          (WM_USER+10)
4436 #define EM_GETLINECOUNT32          0x00ba
4437 #define EM_GETLINECOUNT            WINELIB_NAME(EM_GETLINECOUNT)
4438 #define EM_LINEINDEX16             (WM_USER+11)
4439 #define EM_LINEINDEX32             0x00bb
4440 #define EM_LINEINDEX               WINELIB_NAME(EM_LINEINDEX)
4441 #define EM_SETHANDLE16             (WM_USER+12)
4442 #define EM_SETHANDLE32             0x00bc
4443 #define EM_SETHANDLE               WINELIB_NAME(EM_SETHANDLE)
4444 #define EM_GETHANDLE16             (WM_USER+13)
4445 #define EM_GETHANDLE32             0x00bd
4446 #define EM_GETHANDLE               WINELIB_NAME(EM_GETHANDLE)
4447 #define EM_GETTHUMB16              (WM_USER+14)
4448 #define EM_GETTHUMB32              0x00be
4449 #define EM_GETTHUMB                WINELIB_NAME(EM_GETTHUMB)
4450 /* FIXME : missing from specs 0x00bf and 0x00c0 */
4451 #define EM_LINELENGTH16            (WM_USER+17)
4452 #define EM_LINELENGTH32            0x00c1
4453 #define EM_LINELENGTH              WINELIB_NAME(EM_LINELENGTH)
4454 #define EM_REPLACESEL16            (WM_USER+18)
4455 #define EM_REPLACESEL32            0x00c2
4456 #define EM_REPLACESEL              WINELIB_NAME(EM_REPLACESEL)
4457 /* FIXME : missing from specs 0x00c3 */
4458 #define EM_GETLINE16               (WM_USER+20)
4459 #define EM_GETLINE32               0x00c4
4460 #define EM_GETLINE                 WINELIB_NAME(EM_GETLINE)
4461 #define EM_LIMITTEXT16             (WM_USER+21)
4462 #define EM_LIMITTEXT32             0x00c5
4463 #define EM_LIMITTEXT               WINELIB_NAME(EM_LIMITTEXT)
4464 #define EM_CANUNDO16               (WM_USER+22)
4465 #define EM_CANUNDO32               0x00c6
4466 #define EM_CANUNDO                 WINELIB_NAME(EM_CANUNDO)
4467 #define EM_UNDO16                  (WM_USER+23)
4468 #define EM_UNDO32                  0x00c7
4469 #define EM_UNDO                    WINELIB_NAME(EM_UNDO)
4470 #define EM_FMTLINES16              (WM_USER+24)
4471 #define EM_FMTLINES32              0x00c8
4472 #define EM_FMTLINES                WINELIB_NAME(EM_FMTLINES)
4473 #define EM_LINEFROMCHAR16          (WM_USER+25)
4474 #define EM_LINEFROMCHAR32          0x00c9
4475 #define EM_LINEFROMCHAR            WINELIB_NAME(EM_LINEFROMCHAR)
4476 /* FIXME : missing from specs 0x00ca */
4477 #define EM_SETTABSTOPS16           (WM_USER+27)
4478 #define EM_SETTABSTOPS32           0x00cb
4479 #define EM_SETTABSTOPS             WINELIB_NAME(EM_SETTABSTOPS)
4480 #define EM_SETPASSWORDCHAR16       (WM_USER+28)
4481 #define EM_SETPASSWORDCHAR32       0x00cc
4482 #define EM_SETPASSWORDCHAR         WINELIB_NAME(EM_SETPASSWORDCHAR)
4483 #define EM_EMPTYUNDOBUFFER16       (WM_USER+29)
4484 #define EM_EMPTYUNDOBUFFER32       0x00cd
4485 #define EM_EMPTYUNDOBUFFER         WINELIB_NAME(EM_EMPTYUNDOBUFFER)
4486 #define EM_GETFIRSTVISIBLELINE16   (WM_USER+30)
4487 #define EM_GETFIRSTVISIBLELINE32   0x00ce
4488 #define EM_GETFIRSTVISIBLELINE     WINELIB_NAME(EM_GETFIRSTVISIBLELINE)
4489 #define EM_SETREADONLY16           (WM_USER+31)
4490 #define EM_SETREADONLY32           0x00cf
4491 #define EM_SETREADONLY             WINELIB_NAME(EM_SETREADONLY)
4492 #define EM_SETWORDBREAKPROC16      (WM_USER+32)
4493 #define EM_SETWORDBREAKPROC32      0x00d0
4494 #define EM_SETWORDBREAKPROC        WINELIB_NAME(EM_SETWORDBREAKPROC)
4495 #define EM_GETWORDBREAKPROC16      (WM_USER+33)
4496 #define EM_GETWORDBREAKPROC32      0x00d1
4497 #define EM_GETWORDBREAKPROC        WINELIB_NAME(EM_GETWORDBREAKPROC)
4498 #define EM_GETPASSWORDCHAR16       (WM_USER+34)
4499 #define EM_GETPASSWORDCHAR32       0x00d2
4500 #define EM_GETPASSWORDCHAR         WINELIB_NAME(EM_GETPASSWORDCHAR)
4501 #define EM_SETMARGINS16            WM_NULL /* not in win16 */
4502 #define EM_SETMARGINS32            0x00d3
4503 #define EM_SETMARGINS              WINELIB_NAME(EM_SETMARGINS)
4504 #define EM_GETMARGINS16            WM_NULL /* not in win16 */
4505 #define EM_GETMARGINS32            0x00d4
4506 #define EM_GETMARGINS              WINELIB_NAME(EM_GETMARGINS)
4507 #define EM_GETLIMITTEXT16          WM_NULL /* not in win16 */
4508 #define EM_GETLIMITTEXT32          0x00d5
4509 #define EM_GETLIMITTEXT            WINELIB_NAME(EM_GETLIMITTEXT)
4510 #define EM_POSFROMCHAR16           WM_NULL /* not in win16 */
4511 #define EM_POSFROMCHAR32           0x00d6
4512 #define EM_POSFROMCHAR             WINELIB_NAME(EM_POSFROMCHAR)
4513 #define EM_CHARFROMPOS16           WM_NULL /* not in win16 */
4514 #define EM_CHARFROMPOS32           0x00d7
4515 #define EM_CHARFROMPOS             WINELIB_NAME(EM_CHARFROMPOS)
4516 /* a name change since win95 */
4517 #define EM_SETLIMITTEXT16          WM_NULL /* no name change in win16 */
4518 #define EM_SETLIMITTEXT32          EM_LIMITTEXT32
4519 #define EM_SETLIMITTEXT            WINELIB_NAME(EM_SETLIMITTEXT)
4520
4521 /* EDITWORDBREAKPROC code values */
4522 #define WB_LEFT         0
4523 #define WB_RIGHT        1
4524 #define WB_ISDELIMITER  2
4525
4526 /* Edit control notification codes */
4527 #define EN_SETFOCUS     0x0100
4528 #define EN_KILLFOCUS    0x0200
4529 #define EN_CHANGE       0x0300
4530 #define EN_UPDATE       0x0400
4531 #define EN_ERRSPACE     0x0500
4532 #define EN_MAXTEXT      0x0501
4533 #define EN_HSCROLL      0x0601
4534 #define EN_VSCROLL      0x0602
4535
4536 /* New since win95 : EM_SETMARGIN parameters */
4537 #define EC_LEFTMARGIN   0x0001
4538 #define EC_RIGHTMARGIN  0x0002
4539 #define EC_USEFONTINFO  0xffff
4540
4541
4542 typedef struct
4543 {
4544     UINT16      CtlType;
4545     UINT16      CtlID;
4546     UINT16      itemID;
4547     UINT16      itemAction;
4548     UINT16      itemState;
4549     HWND16      hwndItem;
4550     HDC16       hDC;
4551     RECT16      rcItem WINE_PACKED;
4552     DWORD       itemData WINE_PACKED;
4553 } DRAWITEMSTRUCT16, *PDRAWITEMSTRUCT16, *LPDRAWITEMSTRUCT16;
4554
4555 typedef struct
4556 {
4557     UINT32      CtlType;
4558     UINT32      CtlID;
4559     UINT32      itemID;
4560     UINT32      itemAction;
4561     UINT32      itemState;
4562     HWND32      hwndItem;
4563     HDC32       hDC;
4564     RECT32      rcItem WINE_PACKED;
4565     DWORD       itemData WINE_PACKED;
4566 } DRAWITEMSTRUCT32, *PDRAWITEMSTRUCT32, *LPDRAWITEMSTRUCT32;
4567
4568 DECL_WINELIB_TYPE(DRAWITEMSTRUCT)
4569 DECL_WINELIB_TYPE(PDRAWITEMSTRUCT)
4570 DECL_WINELIB_TYPE(LPDRAWITEMSTRUCT)
4571
4572 typedef struct
4573 {
4574     UINT16      CtlType;
4575     UINT16      CtlID;
4576     UINT16      itemID;
4577     UINT16      itemWidth;
4578     UINT16      itemHeight;
4579     DWORD       itemData WINE_PACKED;
4580 } MEASUREITEMSTRUCT16, *PMEASUREITEMSTRUCT16, *LPMEASUREITEMSTRUCT16;
4581
4582 typedef struct
4583 {
4584     UINT32      CtlType;
4585     UINT32      CtlID;
4586     UINT32      itemID;
4587     UINT32      itemWidth;
4588     UINT32      itemHeight;
4589     DWORD       itemData;
4590 } MEASUREITEMSTRUCT32, *PMEASUREITEMSTRUCT32, *LPMEASUREITEMSTRUCT32;
4591
4592 DECL_WINELIB_TYPE(MEASUREITEMSTRUCT)
4593 DECL_WINELIB_TYPE(PMEASUREITEMSTRUCT)
4594 DECL_WINELIB_TYPE(LPMEASUREITEMSTRUCT)
4595
4596 typedef struct
4597 {
4598     UINT16     CtlType;
4599     UINT16     CtlID;
4600     UINT16     itemID;
4601     HWND16     hwndItem;
4602     DWORD      itemData;
4603 } DELETEITEMSTRUCT16, *LPDELETEITEMSTRUCT16;
4604
4605 typedef struct
4606 {
4607     UINT32     CtlType;
4608     UINT32     CtlID;
4609     UINT32     itemID;
4610     HWND32     hwndItem;
4611     DWORD      itemData;
4612 } DELETEITEMSTRUCT32, *LPDELETEITEMSTRUCT32;
4613
4614 DECL_WINELIB_TYPE(DELETEITEMSTRUCT)
4615 DECL_WINELIB_TYPE(LPDELETEITEMSTRUCT)
4616
4617 typedef struct
4618 {
4619     UINT16      CtlType;
4620     UINT16      CtlID;
4621     HWND16      hwndItem;
4622     UINT16      itemID1;
4623     DWORD       itemData1;
4624     UINT16      itemID2;
4625     DWORD       itemData2 WINE_PACKED;
4626 } COMPAREITEMSTRUCT16, *LPCOMPAREITEMSTRUCT16;
4627
4628 typedef struct
4629 {
4630     UINT32      CtlType;
4631     UINT32      CtlID;
4632     HWND32      hwndItem;
4633     UINT32      itemID1;
4634     DWORD       itemData1;
4635     UINT32      itemID2;
4636     DWORD       itemData2;
4637     DWORD       dwLocaleId;
4638 } COMPAREITEMSTRUCT32, *LPCOMPAREITEMSTRUCT32;
4639
4640 DECL_WINELIB_TYPE(COMPAREITEMSTRUCT)
4641 DECL_WINELIB_TYPE(LPCOMPAREITEMSTRUCT)
4642
4643 /* WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags */
4644 #define KF_EXTENDED         0x0100
4645 #define KF_DLGMODE          0x0800
4646 #define KF_MENUMODE         0x1000
4647 #define KF_ALTDOWN          0x2000
4648 #define KF_REPEAT           0x4000
4649 #define KF_UP               0x8000
4650
4651 /* Virtual key codes */
4652 #define VK_LBUTTON          0x01
4653 #define VK_RBUTTON          0x02
4654 #define VK_CANCEL           0x03
4655 #define VK_MBUTTON          0x04
4656 /*                          0x05-0x07  Undefined */
4657 #define VK_BACK             0x08
4658 #define VK_TAB              0x09
4659 /*                          0x0A-0x0B  Undefined */
4660 #define VK_CLEAR            0x0C
4661 #define VK_RETURN           0x0D
4662 /*                          0x0E-0x0F  Undefined */
4663 #define VK_SHIFT            0x10
4664 #define VK_CONTROL          0x11
4665 #define VK_MENU             0x12
4666 #define VK_PAUSE            0x13
4667 #define VK_CAPITAL          0x14
4668 /*                          0x15-0x19  Reserved for Kanji systems */
4669 /*                          0x1A       Undefined */
4670 #define VK_ESCAPE           0x1B
4671 /*                          0x1C-0x1F  Reserved for Kanji systems */
4672 #define VK_SPACE            0x20
4673 #define VK_PRIOR            0x21
4674 #define VK_NEXT             0x22
4675 #define VK_END              0x23
4676 #define VK_HOME             0x24
4677 #define VK_LEFT             0x25
4678 #define VK_UP               0x26
4679 #define VK_RIGHT            0x27
4680 #define VK_DOWN             0x28
4681 #define VK_SELECT           0x29
4682 #define VK_PRINT            0x2A /* OEM specific in Windows 3.1 SDK */
4683 #define VK_EXECUTE          0x2B
4684 #define VK_SNAPSHOT         0x2C
4685 #define VK_INSERT           0x2D
4686 #define VK_DELETE           0x2E
4687 #define VK_HELP             0x2F
4688 #define VK_0                0x30
4689 #define VK_1                0x31
4690 #define VK_2                0x32
4691 #define VK_3                0x33
4692 #define VK_4                0x34
4693 #define VK_5                0x35
4694 #define VK_6                0x36
4695 #define VK_7                0x37
4696 #define VK_8                0x38
4697 #define VK_9                0x39
4698 /*                          0x3A-0x40  Undefined */
4699 #define VK_A                0x41
4700 #define VK_B                0x42
4701 #define VK_C                0x43
4702 #define VK_D                0x44
4703 #define VK_E                0x45
4704 #define VK_F                0x46
4705 #define VK_G                0x47
4706 #define VK_H                0x48
4707 #define VK_I                0x49
4708 #define VK_J                0x4A
4709 #define VK_K                0x4B
4710 #define VK_L                0x4C
4711 #define VK_M                0x4D
4712 #define VK_N                0x4E
4713 #define VK_O                0x4F
4714 #define VK_P                0x50
4715 #define VK_Q                0x51
4716 #define VK_R                0x52
4717 #define VK_S                0x53
4718 #define VK_T                0x54
4719 #define VK_U                0x55
4720 #define VK_V                0x56
4721 #define VK_W                0x57
4722 #define VK_X                0x58
4723 #define VK_Y                0x59
4724 #define VK_Z                0x5A
4725
4726 #define VK_LWIN             0x5B
4727 #define VK_RWIN             0x5C
4728 #define VK_APPS             0x5D
4729 /*                          0x5E-0x5F Unassigned */
4730 #define VK_NUMPAD0          0x60
4731 #define VK_NUMPAD1          0x61
4732 #define VK_NUMPAD2          0x62
4733 #define VK_NUMPAD3          0x63
4734 #define VK_NUMPAD4          0x64
4735 #define VK_NUMPAD5          0x65
4736 #define VK_NUMPAD6          0x66
4737 #define VK_NUMPAD7          0x67
4738 #define VK_NUMPAD8          0x68
4739 #define VK_NUMPAD9          0x69
4740 #define VK_MULTIPLY         0x6A
4741 #define VK_ADD              0x6B
4742 #define VK_SEPARATOR        0x6C
4743 #define VK_SUBTRACT         0x6D
4744 #define VK_DECIMAL          0x6E
4745 #define VK_DIVIDE           0x6F
4746 #define VK_F1               0x70
4747 #define VK_F2               0x71
4748 #define VK_F3               0x72
4749 #define VK_F4               0x73
4750 #define VK_F5               0x74
4751 #define VK_F6               0x75
4752 #define VK_F7               0x76
4753 #define VK_F8               0x77
4754 #define VK_F9               0x78
4755 #define VK_F10              0x79
4756 #define VK_F11              0x7A
4757 #define VK_F12              0x7B
4758 #define VK_F13              0x7C
4759 #define VK_F14              0x7D
4760 #define VK_F15              0x7E
4761 #define VK_F16              0x7F
4762 #define VK_F17              0x80
4763 #define VK_F18              0x81
4764 #define VK_F19              0x82
4765 #define VK_F20              0x83
4766 #define VK_F21              0x84
4767 #define VK_F22              0x85
4768 #define VK_F23              0x86
4769 #define VK_F24              0x87
4770 /*                          0x88-0x8F  Unassigned */
4771 #define VK_NUMLOCK          0x90
4772 #define VK_SCROLL           0x91
4773 /*                          0x92-0x9F  Unassigned */
4774 /*
4775  * differencing between right and left shift/control/alt key.
4776  * Used only by GetAsyncKeyState() and GetKeyState().
4777  */
4778 #define VK_LSHIFT           0xA0
4779 #define VK_RSHIFT           0xA1
4780 #define VK_LCONTROL         0xA2
4781 #define VK_RCONTROL         0xA3
4782 #define VK_LMENU            0xA4
4783 #define VK_RMENU            0xA5
4784 /*                          0xA6-0xB9  Unassigned */
4785 #define VK_OEM_1            0xBA
4786 #define VK_OEM_PLUS         0xBB
4787 #define VK_OEM_COMMA        0xBC
4788 #define VK_OEM_MINUS        0xBD
4789 #define VK_OEM_PERIOD       0xBE
4790 #define VK_OEM_2            0xBF
4791 #define VK_OEM_3            0xC0
4792 /*                          0xC1-0xDA  Unassigned */
4793 #define VK_OEM_4            0xDB
4794 #define VK_OEM_5            0xDC
4795 #define VK_OEM_6            0xDD
4796 #define VK_OEM_7            0xDE
4797 /*                          0xDF-0xE4  OEM specific */
4798
4799 #define VK_PROCESSKEY       0xE5
4800
4801 /*                          0xE6       OEM specific */
4802 /*                          0xE7-0xE8  Unassigned */
4803 /*                          0xE9-0xF5  OEM specific */
4804
4805 #define VK_ATTN             0xF6
4806 #define VK_CRSEL            0xF7
4807 #define VK_EXSEL            0xF8
4808 #define VK_EREOF            0xF9
4809 #define VK_PLAY             0xFA
4810 #define VK_ZOOM             0xFB
4811 #define VK_NONAME           0xFC
4812 #define VK_PA1              0xFD
4813 #define VK_OEM_CLEAR        0xFE
4814   
4815 #define LMEM_FIXED          0   
4816 #define LMEM_MOVEABLE       0x0002
4817 #define LMEM_NOCOMPACT      0x0010
4818 #define LMEM_NODISCARD      0x0020
4819 #define LMEM_ZEROINIT       0x0040
4820 #define LMEM_MODIFY         0x0080
4821 #define LMEM_DISCARDABLE    0x0F00
4822 #define LMEM_DISCARDED      0x4000
4823 #define LMEM_LOCKCOUNT      0x00FF
4824
4825 #define GMEM_FIXED          0x0000
4826 #define GMEM_MOVEABLE       0x0002
4827 #define GMEM_NOCOMPACT      0x0010
4828 #define GMEM_NODISCARD      0x0020
4829 #define GMEM_ZEROINIT       0x0040
4830 #define GMEM_MODIFY         0x0080
4831 #define GMEM_DISCARDABLE    0x0100
4832 #define GMEM_NOT_BANKED     0x1000
4833 #define GMEM_SHARE          0x2000
4834 #define GMEM_DDESHARE       0x2000
4835 #define GMEM_NOTIFY         0x4000
4836 #define GMEM_LOWER          GMEM_NOT_BANKED
4837 #define GMEM_DISCARDED      0x4000
4838 #define GMEM_LOCKCOUNT      0x00ff
4839 #define GMEM_INVALID_HANDLE 0x8000
4840
4841 #define GHND                (GMEM_MOVEABLE | GMEM_ZEROINIT)
4842 #define GPTR                (GMEM_FIXED | GMEM_ZEROINIT)
4843
4844
4845 typedef struct tagMEMORYSTATUS
4846 {
4847     DWORD    dwLength;
4848     DWORD    dwMemoryLoad;
4849     DWORD    dwTotalPhys;
4850     DWORD    dwAvailPhys;
4851     DWORD    dwTotalPageFile;
4852     DWORD    dwAvailPageFile;
4853     DWORD    dwTotalVirtual;
4854     DWORD    dwAvailVirtual;
4855 } MEMORYSTATUS, *LPMEMORYSTATUS;
4856
4857 /* Predefined Clipboard Formats */
4858 #define CF_TEXT              1
4859 #define CF_BITMAP            2
4860 #define CF_METAFILEPICT      3
4861 #define CF_SYLK              4
4862 #define CF_DIF               5
4863 #define CF_TIFF              6
4864 #define CF_OEMTEXT           7
4865 #define CF_DIB               8
4866 #define CF_PALETTE           9
4867 #define CF_PENDATA          10
4868 #define CF_RIFF             11
4869 #define CF_WAVE             12
4870 #define CF_ENHMETAFILE      14
4871
4872 #define CF_OWNERDISPLAY     0x0080
4873 #define CF_DSPTEXT          0x0081
4874 #define CF_DSPBITMAP        0x0082
4875 #define CF_DSPMETAFILEPICT  0x0083
4876
4877 /* "Private" formats don't get GlobalFree()'d */
4878 #define CF_PRIVATEFIRST     0x0200
4879 #define CF_PRIVATELAST      0x02FF
4880
4881 /* "GDIOBJ" formats do get DeleteObject()'d */
4882 #define CF_GDIOBJFIRST      0x0300
4883 #define CF_GDIOBJLAST       0x03FF
4884
4885 /* Clipboard command messages */
4886 #define WM_CUT              0x0300
4887 #define WM_COPY             0x0301
4888 #define WM_PASTE            0x0302
4889 #define WM_CLEAR            0x0303
4890 #define WM_UNDO             0x0304
4891
4892 /* Clipboard owner messages */
4893 #define WM_RENDERFORMAT     0x0305
4894 #define WM_RENDERALLFORMATS 0x0306
4895 #define WM_DESTROYCLIPBOARD 0x0307
4896
4897 /* Clipboard viewer messages */
4898 #define WM_DRAWCLIPBOARD    0x0308
4899 #define WM_PAINTCLIPBOARD   0x0309
4900 #define WM_SIZECLIPBOARD    0x030B
4901 #define WM_VSCROLLCLIPBOARD 0x030A
4902 #define WM_HSCROLLCLIPBOARD 0x030E
4903 #define WM_ASKCBFORMATNAME  0x030C
4904 #define WM_CHANGECBCHAIN    0x030D
4905
4906 /* Metafile header structure */
4907 typedef struct
4908 {
4909     WORD       mtType;
4910     WORD       mtHeaderSize;
4911     WORD       mtVersion;
4912     DWORD      mtSize WINE_PACKED;
4913     WORD       mtNoObjects;
4914     DWORD      mtMaxRecord WINE_PACKED;
4915     WORD       mtNoParameters;
4916 } METAHEADER;
4917
4918 /* Metafile typical record structure */
4919 typedef struct
4920 {
4921     DWORD      rdSize;
4922     WORD       rdFunction;
4923     WORD       rdParam[1];
4924 } METARECORD;
4925 typedef METARECORD *PMETARECORD;
4926 typedef METARECORD *LPMETARECORD;
4927
4928 /* Handle table structure */
4929
4930 typedef struct
4931 {
4932     HGDIOBJ16 objectHandle[1];
4933 } HANDLETABLE16, *LPHANDLETABLE16;
4934
4935 typedef struct
4936 {
4937     HGDIOBJ32 objectHandle[1];
4938 } HANDLETABLE32, *LPHANDLETABLE32;
4939
4940 DECL_WINELIB_TYPE(HANDLETABLE)
4941 DECL_WINELIB_TYPE(LPHANDLETABLE)
4942
4943 /* Clipboard metafile picture structure */
4944 typedef struct
4945 {
4946     INT16        mm;
4947     INT16        xExt;
4948     INT16        yExt;
4949     HMETAFILE16  hMF;
4950 } METAFILEPICT16, *LPMETAFILEPICT16;
4951
4952 typedef struct
4953 {
4954     INT32        mm;
4955     INT32        xExt;
4956     INT32        yExt;
4957     HMETAFILE32  hMF;
4958 } METAFILEPICT32, *LPMETAFILEPICT32;
4959
4960 DECL_WINELIB_TYPE(METAFILEPICT)
4961 DECL_WINELIB_TYPE(LPMETAFILEPICT)
4962
4963 /* Metafile functions */
4964 #define META_SETBKCOLOR              0x0201
4965 #define META_SETBKMODE               0x0102
4966 #define META_SETMAPMODE              0x0103
4967 #define META_SETROP2                 0x0104
4968 #define META_SETRELABS               0x0105
4969 #define META_SETPOLYFILLMODE         0x0106
4970 #define META_SETSTRETCHBLTMODE       0x0107
4971 #define META_SETTEXTCHAREXTRA        0x0108
4972 #define META_SETTEXTCOLOR            0x0209
4973 #define META_SETTEXTJUSTIFICATION    0x020A
4974 #define META_SETWINDOWORG            0x020B
4975 #define META_SETWINDOWEXT            0x020C
4976 #define META_SETVIEWPORTORG          0x020D
4977 #define META_SETVIEWPORTEXT          0x020E
4978 #define META_OFFSETWINDOWORG         0x020F
4979 #define META_SCALEWINDOWEXT          0x0410
4980 #define META_OFFSETVIEWPORTORG       0x0211
4981 #define META_SCALEVIEWPORTEXT        0x0412
4982 #define META_LINETO                  0x0213
4983 #define META_MOVETO                  0x0214
4984 #define META_EXCLUDECLIPRECT         0x0415
4985 #define META_INTERSECTCLIPRECT       0x0416
4986 #define META_ARC                     0x0817
4987 #define META_ELLIPSE                 0x0418
4988 #define META_FLOODFILL               0x0419
4989 #define META_PIE                     0x081A
4990 #define META_RECTANGLE               0x041B
4991 #define META_ROUNDRECT               0x061C
4992 #define META_PATBLT                  0x061D
4993 #define META_SAVEDC                  0x001E
4994 #define META_SETPIXEL                0x041F
4995 #define META_OFFSETCLIPRGN           0x0220
4996 #define META_TEXTOUT                 0x0521
4997 #define META_BITBLT                  0x0922
4998 #define META_STRETCHBLT              0x0B23
4999 #define META_POLYGON                 0x0324
5000 #define META_POLYLINE                0x0325
5001 #define META_ESCAPE                  0x0626
5002 #define META_RESTOREDC               0x0127
5003 #define META_FILLREGION              0x0228
5004 #define META_FRAMEREGION             0x0429
5005 #define META_INVERTREGION            0x012A
5006 #define META_PAINTREGION             0x012B
5007 #define META_SELECTCLIPREGION        0x012C
5008 #define META_SELECTOBJECT            0x012D
5009 #define META_SETTEXTALIGN            0x012E
5010 #define META_DRAWTEXT                0x062F
5011 #define META_CHORD                   0x0830
5012 #define META_SETMAPPERFLAGS          0x0231
5013 #define META_EXTTEXTOUT              0x0A32
5014 #define META_SETDIBTODEV             0x0D33
5015 #define META_SELECTPALETTE           0x0234
5016 #define META_REALIZEPALETTE          0x0035
5017 #define META_ANIMATEPALETTE          0x0436
5018 #define META_SETPALENTRIES           0x0037
5019 #define META_POLYPOLYGON             0x0538
5020 #define META_RESIZEPALETTE           0x0139
5021 #define META_DIBBITBLT               0x0940
5022 #define META_DIBSTRETCHBLT           0x0B41
5023 #define META_DIBCREATEPATTERNBRUSH   0x0142
5024 #define META_STRETCHDIB              0x0F43
5025 #define META_EXTFLOODFILL            0x0548
5026 #define META_RESETDC                 0x014C
5027 #define META_STARTDOC                0x014D
5028 #define META_STARTPAGE               0x004F
5029 #define META_ENDPAGE                 0x0050
5030 #define META_ABORTDOC                0x0052
5031 #define META_ENDDOC                  0x005E
5032 #define META_DELETEOBJECT            0x01F0
5033 #define META_CREATEPALETTE           0x00F7
5034 #define META_CREATEBRUSH             0x00F8
5035 #define META_CREATEPATTERNBRUSH      0x01F9
5036 #define META_CREATEPENINDIRECT       0x02FA
5037 #define META_CREATEFONTINDIRECT      0x02FB
5038 #define META_CREATEBRUSHINDIRECT     0x02FC
5039 #define META_CREATEBITMAPINDIRECT    0x02FD
5040 #define META_CREATEBITMAP            0x06FE
5041 #define META_CREATEREGION            0x06FF
5042 #define META_UNKNOWN                 0x0529  /* FIXME: unknown meta magic */
5043
5044 typedef INT16 (CALLBACK *MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,
5045                                        INT16,LPARAM);
5046 typedef INT32 (CALLBACK *MFENUMPROC32)(HDC32,HANDLETABLE32*,METARECORD*,
5047                                        INT32,LPARAM);
5048 DECL_WINELIB_TYPE(MFENUMPROC)
5049
5050 /* enhanced metafile structures and functions */
5051
5052 /* note that ENHMETAHEADER is just a particular kind of ENHMETARECORD,
5053    ie. the header is just the first record in the metafile */
5054 typedef struct {
5055     DWORD iType; 
5056     DWORD nSize; 
5057     RECT32 rclBounds; 
5058     RECT32 rclFrame; 
5059     DWORD dSignature; 
5060     DWORD nVersion; 
5061     DWORD nBytes; 
5062     DWORD nRecords; 
5063     WORD  nHandles; 
5064     WORD  sReserved; 
5065     DWORD nDescription; 
5066     DWORD offDescription; 
5067     DWORD nPalEntries; 
5068     SIZE32 szlDevice; 
5069     SIZE32 szlMillimeters;
5070     DWORD cbPixelFormat;
5071     DWORD offPixelFormat;
5072     DWORD bOpenGL;
5073 } ENHMETAHEADER, *LPENHMETAHEADER; 
5074
5075 typedef struct {
5076     DWORD iType; 
5077     DWORD nSize; 
5078     DWORD dParm[1]; 
5079 } ENHMETARECORD, *LPENHMETARECORD; 
5080
5081 typedef INT32 (CALLBACK *ENHMFENUMPROC32)(HDC32, LPHANDLETABLE32, 
5082                                           LPENHMETARECORD, INT32, LPVOID);
5083
5084 #define EMR_HEADER      1
5085 #define EMR_POLYBEZIER  2
5086 #define EMR_POLYGON     3
5087 #define EMR_POLYLINE    4
5088 #define EMR_POLYBEZIERTO        5
5089 #define EMR_POLYLINETO  6
5090 #define EMR_POLYPOLYLINE        7
5091 #define EMR_POLYPOLYGON 8
5092 #define EMR_SETWINDOWEXTEX      9
5093 #define EMR_SETWINDOWORGEX      10
5094 #define EMR_SETVIEWPORTEXTEX    11
5095 #define EMR_SETVIEWPORTORGEX    12
5096 #define EMR_SETBRUSHORGEX       13
5097 #define EMR_EOF 14
5098 #define EMR_SETPIXELV   15
5099 #define EMR_SETMAPPERFLAGS      16
5100 #define EMR_SETMAPMODE  17
5101 #define EMR_SETBKMODE   18
5102 #define EMR_SETPOLYFILLMODE     19
5103 #define EMR_SETROP2     20
5104 #define EMR_SETSTRETCHBLTMODE   21
5105 #define EMR_SETTEXTALIGN        22
5106 #define EMR_SETCOLORADJUSTMENT  23
5107 #define EMR_SETTEXTCOLOR        24
5108 #define EMR_SETBKCOLOR  25
5109 #define EMR_OFFSETCLIPRGN       26
5110 #define EMR_MOVETOEX    27
5111 #define EMR_SETMETARGN  28
5112 #define EMR_EXCLUDECLIPRECT     29
5113 #define EMR_INTERSECTCLIPRECT   30
5114 #define EMR_SCALEVIEWPORTEXTEX  31
5115 #define EMR_SCALEWINDOWEXTEX    32
5116 #define EMR_SAVEDC      33
5117 #define EMR_RESTOREDC   34
5118 #define EMR_SETWORLDTRANSFORM   35
5119 #define EMR_MODIFYWORLDTRANSFORM        36
5120 #define EMR_SELECTOBJECT        37
5121 #define EMR_CREATEPEN   38
5122 #define EMR_CREATEBRUSHINDIRECT 39
5123 #define EMR_DELETEOBJECT        40
5124 #define EMR_ANGLEARC    41
5125 #define EMR_ELLIPSE     42
5126 #define EMR_RECTANGLE   43
5127 #define EMR_ROUNDRECT   44
5128 #define EMR_ARC 45
5129 #define EMR_CHORD       46
5130 #define EMR_PIE 47
5131 #define EMR_SELECTPALETTE       48
5132 #define EMR_CREATEPALETTE       49
5133 #define EMR_SETPALETTEENTRIES   50
5134 #define EMR_RESIZEPALETTE       51
5135 #define EMR_REALIZEPALETTE      52
5136 #define EMR_EXTFLOODFILL        53
5137 #define EMR_LINETO      54
5138 #define EMR_ARCTO       55
5139 #define EMR_POLYDRAW    56
5140 #define EMR_SETARCDIRECTION     57
5141 #define EMR_SETMITERLIMIT       58
5142 #define EMR_BEGINPATH   59
5143 #define EMR_ENDPATH     60
5144 #define EMR_CLOSEFIGURE 61
5145 #define EMR_FILLPATH    62
5146 #define EMR_STROKEANDFILLPATH   63
5147 #define EMR_STROKEPATH  64
5148 #define EMR_FLATTENPATH 65
5149 #define EMR_WIDENPATH   66
5150 #define EMR_SELECTCLIPPATH      67
5151 #define EMR_ABORTPATH   68
5152 #define EMR_GDICOMMENT  70
5153 #define EMR_FILLRGN     71
5154 #define EMR_FRAMERGN    72
5155 #define EMR_INVERTRGN   73
5156 #define EMR_PAINTRGN    74
5157 #define EMR_EXTSELECTCLIPRGN    75
5158 #define EMR_BITBLT      76
5159 #define EMR_STRETCHBLT  77
5160 #define EMR_MASKBLT     78
5161 #define EMR_PLGBLT      79
5162 #define EMR_SETDIBITSTODEVICE   80
5163 #define EMR_STRETCHDIBITS       81
5164 #define EMR_EXTCREATEFONTINDIRECTW      82
5165 #define EMR_EXTTEXTOUTA 83
5166 #define EMR_EXTTEXTOUTW 84
5167 #define EMR_POLYBEZIER16        85
5168 #define EMR_POLYGON16   86
5169 #define EMR_POLYLINE16  87
5170 #define EMR_POLYBEZIERTO16      88
5171 #define EMR_POLYLINETO16        89
5172 #define EMR_POLYPOLYLINE16      90
5173 #define EMR_POLYPOLYGON16       91
5174 #define EMR_POLYDRAW16  92
5175 #define EMR_CREATEMONOBRUSH     93
5176 #define EMR_CREATEDIBPATTERNBRUSHPT     94
5177 #define EMR_EXTCREATEPEN        95
5178 #define EMR_POLYTEXTOUTA        96
5179 #define EMR_POLYTEXTOUTW        97
5180 #define EMR_SETICMMODE  98
5181 #define EMR_CREATECOLORSPACE    99
5182 #define EMR_SETCOLORSPACE       100
5183 #define EMR_DELETECOLORSPACE    101
5184 #define EMR_GLSRECORD   102
5185 #define EMR_GLSBOUNDEDRECORD    103
5186 #define EMR_PIXELFORMAT 104
5187
5188 #define ENHMETA_SIGNATURE       1179469088
5189
5190
5191 #ifndef NOLOGERROR
5192
5193 /* LogParamError and LogError values */
5194
5195 /* Error modifier bits */
5196 #define ERR_WARNING             0x8000
5197 #define ERR_PARAM               0x4000
5198
5199 #define ERR_SIZE_MASK           0x3000
5200 #define ERR_BYTE                0x1000
5201 #define ERR_WORD                0x2000
5202 #define ERR_DWORD               0x3000
5203
5204 /* LogParamError() values */
5205
5206 /* Generic parameter values */
5207 #define ERR_BAD_VALUE           0x6001
5208 #define ERR_BAD_FLAGS           0x6002
5209 #define ERR_BAD_INDEX           0x6003
5210 #define ERR_BAD_DVALUE          0x7004
5211 #define ERR_BAD_DFLAGS          0x7005
5212 #define ERR_BAD_DINDEX          0x7006
5213 #define ERR_BAD_PTR             0x7007
5214 #define ERR_BAD_FUNC_PTR        0x7008
5215 #define ERR_BAD_SELECTOR        0x6009
5216 #define ERR_BAD_STRING_PTR      0x700a
5217 #define ERR_BAD_HANDLE          0x600b
5218
5219 /* KERNEL parameter errors */
5220 #define ERR_BAD_HINSTANCE       0x6020
5221 #define ERR_BAD_HMODULE         0x6021
5222 #define ERR_BAD_GLOBAL_HANDLE   0x6022
5223 #define ERR_BAD_LOCAL_HANDLE    0x6023
5224 #define ERR_BAD_ATOM            0x6024
5225 #define ERR_BAD_HFILE           0x6025
5226
5227 /* USER parameter errors */
5228 #define ERR_BAD_HWND            0x6040
5229 #define ERR_BAD_HMENU           0x6041
5230 #define ERR_BAD_HCURSOR         0x6042
5231 #define ERR_BAD_HICON           0x6043
5232 #define ERR_BAD_HDWP            0x6044
5233 #define ERR_BAD_CID             0x6045
5234 #define ERR_BAD_HDRVR           0x6046
5235
5236 /* GDI parameter errors */
5237 #define ERR_BAD_COORDS          0x7060
5238 #define ERR_BAD_GDI_OBJECT      0x6061
5239 #define ERR_BAD_HDC             0x6062
5240 #define ERR_BAD_HPEN            0x6063
5241 #define ERR_BAD_HFONT           0x6064
5242 #define ERR_BAD_HBRUSH          0x6065
5243 #define ERR_BAD_HBITMAP         0x6066
5244 #define ERR_BAD_HRGN            0x6067
5245 #define ERR_BAD_HPALETTE        0x6068
5246 #define ERR_BAD_HMETAFILE       0x6069
5247
5248
5249 /* LogError() values */
5250
5251 /* KERNEL errors */
5252 #define ERR_GALLOC              0x0001
5253 #define ERR_GREALLOC            0x0002
5254 #define ERR_GLOCK               0x0003
5255 #define ERR_LALLOC              0x0004
5256 #define ERR_LREALLOC            0x0005
5257 #define ERR_LLOCK               0x0006
5258 #define ERR_ALLOCRES            0x0007
5259 #define ERR_LOCKRES             0x0008
5260 #define ERR_LOADMODULE          0x0009
5261
5262 /* USER errors */
5263 #define ERR_CREATEDLG           0x0040
5264 #define ERR_CREATEDLG2          0x0041
5265 #define ERR_REGISTERCLASS       0x0042
5266 #define ERR_DCBUSY              0x0043
5267 #define ERR_CREATEWND           0x0044
5268 #define ERR_STRUCEXTRA          0x0045
5269 #define ERR_LOADSTR             0x0046
5270 #define ERR_LOADMENU            0x0047
5271 #define ERR_NESTEDBEGINPAINT    0x0048
5272 #define ERR_BADINDEX            0x0049
5273 #define ERR_CREATEMENU          0x004a
5274
5275 /* GDI errors */
5276 #define ERR_CREATEDC            0x0080
5277 #define ERR_CREATEMETA          0x0081
5278 #define ERR_DELOBJSELECTED      0x0082
5279 #define ERR_SELBITMAP           0x0083
5280
5281
5282
5283 /* Debugging support (DEBUG SYSTEM ONLY) */
5284 typedef struct
5285 {
5286     UINT16  flags;
5287     DWORD   dwOptions WINE_PACKED;
5288     DWORD   dwFilter WINE_PACKED;
5289     CHAR    achAllocModule[8] WINE_PACKED;
5290     DWORD   dwAllocBreak WINE_PACKED;
5291     DWORD   dwAllocCount WINE_PACKED;
5292 } WINDEBUGINFO, *LPWINDEBUGINFO;
5293
5294 /* WINDEBUGINFO flags values */
5295 #define WDI_OPTIONS         0x0001
5296 #define WDI_FILTER          0x0002
5297 #define WDI_ALLOCBREAK      0x0004
5298
5299 /* dwOptions values */
5300 #define DBO_CHECKHEAP       0x0001
5301 #define DBO_BUFFERFILL      0x0004
5302 #define DBO_DISABLEGPTRAPPING 0x0010
5303 #define DBO_CHECKFREE       0x0020
5304
5305 #define DBO_SILENT          0x8000
5306
5307 #define DBO_TRACEBREAK      0x2000
5308 #define DBO_WARNINGBREAK    0x1000
5309 #define DBO_NOERRORBREAK    0x0800
5310 #define DBO_NOFATALBREAK    0x0400
5311 #define DBO_INT3BREAK       0x0100
5312
5313 /* DebugOutput flags values */
5314 #define DBF_TRACE           0x0000
5315 #define DBF_WARNING         0x4000
5316 #define DBF_ERROR           0x8000
5317 #define DBF_FATAL           0xc000
5318
5319 /* dwFilter values */
5320 #define DBF_KERNEL          0x1000
5321 #define DBF_KRN_MEMMAN      0x0001
5322 #define DBF_KRN_LOADMODULE  0x0002
5323 #define DBF_KRN_SEGMENTLOAD 0x0004
5324 #define DBF_USER            0x0800
5325 #define DBF_GDI             0x0400
5326 #define DBF_MMSYSTEM        0x0040
5327 #define DBF_PENWIN          0x0020
5328 #define DBF_APPLICATION     0x0008
5329 #define DBF_DRIVER          0x0010
5330
5331 #endif /* NOLOGERROR */
5332
5333 /* Win32-specific structures */
5334
5335 typedef struct {
5336     DWORD dwData;
5337     DWORD cbData;
5338     LPVOID lpData;
5339 } COPYDATASTRUCT, *PCOPYDATASTRUCT, *LPCOPYDATASTRUCT;
5340
5341 typedef struct {
5342     HMENU32 hmenuIn;
5343     HMENU32 hmenuNext;
5344     HWND32  hwndNext;
5345 } MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
5346
5347 typedef struct {
5348         WORD wYear;
5349         WORD wMonth;
5350         WORD wDayOfWeek;
5351         WORD wDay;
5352         WORD wHour;
5353         WORD wMinute;
5354         WORD wSecond;
5355         WORD wMilliseconds;
5356 } SYSTEMTIME, *LPSYSTEMTIME;
5357
5358
5359 /* Code page information.
5360  */
5361 #define MAX_LEADBYTES     12
5362 #define MAX_DEFAULTCHAR   2
5363
5364 typedef struct
5365 {
5366     UINT32 MaxCharSize;
5367     BYTE   DefaultChar[MAX_DEFAULTCHAR];
5368     BYTE   LeadByte[MAX_LEADBYTES];
5369 } CPINFO, *LPCPINFO;
5370
5371 /* The 'overlapped' data structure used by async I/O functions.
5372  */
5373 typedef struct {
5374         DWORD Internal;
5375         DWORD InternalHigh;
5376         DWORD Offset;
5377         DWORD OffsetHigh;
5378         HANDLE32 hEvent;
5379 } OVERLAPPED, *LPOVERLAPPED;
5380
5381 /* Process startup information.
5382  */
5383
5384 /* STARTUPINFO.dwFlags */
5385 #define STARTF_USESHOWWINDOW    0x00000001
5386 #define STARTF_USESIZE          0x00000002
5387 #define STARTF_USEPOSITION      0x00000004
5388 #define STARTF_USECOUNTCHARS    0x00000008
5389 #define STARTF_USEFILLATTRIBUTE 0x00000010
5390 #define STARTF_RUNFULLSCREEN    0x00000020
5391 #define STARTF_FORCEONFEEDBACK  0x00000040
5392 #define STARTF_FORCEOFFFEEDBACK 0x00000080
5393 #define STARTF_USESTDHANDLES    0x00000100
5394 #define STARTF_USEHOTKEY        0x00000200
5395
5396 typedef struct {
5397         DWORD cb;               /* 00: size of struct */
5398         LPSTR lpReserved;       /* 04: */
5399         LPSTR lpDesktop;        /* 08: */
5400         LPSTR lpTitle;          /* 0c: */
5401         DWORD dwX;              /* 10: */
5402         DWORD dwY;              /* 14: */
5403         DWORD dwXSize;          /* 18: */
5404         DWORD dwYSize;          /* 1c: */
5405         DWORD dwXCountChars;    /* 20: */
5406         DWORD dwYCountChars;    /* 24: */
5407         DWORD dwFillAttribute;  /* 28: */
5408         DWORD dwFlags;          /* 2c: */
5409         WORD wShowWindow;       /* 30: */
5410         WORD cbReserved2;       /* 32: */
5411         BYTE *lpReserved2;      /* 34: */
5412         HANDLE32 hStdInput;     /* 38: */
5413         HANDLE32 hStdOutput;    /* 3c: */
5414         HANDLE32 hStdError;     /* 40: */
5415 } STARTUPINFO32A, *LPSTARTUPINFO32A;
5416
5417 typedef struct {
5418         DWORD cb;
5419         LPWSTR lpReserved;
5420         LPWSTR lpDesktop;
5421         LPWSTR lpTitle;
5422         DWORD dwX;
5423         DWORD dwY;
5424         DWORD dwXSize;
5425         DWORD dwYSize;
5426         DWORD dwXCountChars;
5427         DWORD dwYCountChars;
5428         DWORD dwFillAttribute;
5429         DWORD dwFlags;
5430         WORD wShowWindow;
5431         WORD cbReserved2;
5432         BYTE *lpReserved2;
5433         HANDLE32 hStdInput;
5434         HANDLE32 hStdOutput;
5435         HANDLE32 hStdError;
5436 } STARTUPINFO32W, *LPSTARTUPINFO32W;
5437
5438 DECL_WINELIB_TYPE_AW(STARTUPINFO)
5439 DECL_WINELIB_TYPE_AW(LPSTARTUPINFO)
5440
5441 typedef struct {
5442         HANDLE32        hProcess;
5443         HANDLE32        hThread;
5444         DWORD           dwProcessId;
5445         DWORD           dwThreadId;
5446 } PROCESS_INFORMATION,*LPPROCESS_INFORMATION;
5447
5448 typedef struct {
5449         LONG Bias;
5450         WCHAR StandardName[32];
5451         SYSTEMTIME StandardDate;
5452         LONG StandardBias;
5453         WCHAR DaylightName[32];
5454         SYSTEMTIME DaylightDate;
5455         LONG DaylightBias;
5456 } TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
5457
5458 #define TIME_ZONE_ID_UNKNOWN    0
5459 #define TIME_ZONE_ID_STANDARD   1
5460 #define TIME_ZONE_ID_DAYLIGHT   2
5461
5462 /* CreateProcess: dwCreationFlag values
5463  */
5464 #define DEBUG_PROCESS               0x00000001
5465 #define DEBUG_ONLY_THIS_PROCESS     0x00000002
5466 #define CREATE_SUSPENDED            0x00000004
5467 #define DETACHED_PROCESS            0x00000008
5468 #define CREATE_NEW_CONSOLE          0x00000010
5469 #define NORMAL_PRIORITY_CLASS       0x00000020
5470 #define IDLE_PRIORITY_CLASS         0x00000040
5471 #define HIGH_PRIORITY_CLASS         0x00000080
5472 #define REALTIME_PRIORITY_CLASS     0x00000100
5473 #define CREATE_NEW_PROCESS_GROUP    0x00000200
5474 #define CREATE_UNICODE_ENVIRONMENT  0x00000400
5475 #define CREATE_SEPARATE_WOW_VDM     0x00000800
5476 #define CREATE_SHARED_WOW_VDM       0x00001000
5477 #define CREATE_DEFAULT_ERROR_MODE   0x04000000
5478 #define CREATE_NO_WINDOW            0x08000000
5479 #define PROFILE_USER                0x10000000
5480 #define PROFILE_KERNEL              0x20000000
5481 #define PROFILE_SERVER              0x40000000
5482
5483
5484 /* File object type definitions
5485  */
5486 #define FILE_TYPE_UNKNOWN       0
5487 #define FILE_TYPE_DISK          1
5488 #define FILE_TYPE_CHAR          2
5489 #define FILE_TYPE_PIPE          3
5490 #define FILE_TYPE_REMOTE        32768
5491
5492 /* File creation flags
5493  */
5494 #define FILE_FLAG_WRITE_THROUGH    0x80000000UL
5495 #define FILE_FLAG_OVERLAPPED       0x40000000L
5496 #define FILE_FLAG_NO_BUFFERING     0x20000000L
5497 #define FILE_FLAG_RANDOM_ACCESS    0x10000000L
5498 #define FILE_FLAG_SEQUENTIAL_SCAN  0x08000000L
5499 #define FILE_FLAG_DELETE_ON_CLOSE  0x04000000L
5500 #define FILE_FLAG_BACKUP_SEMANTICS 0x02000000L
5501 #define FILE_FLAG_POSIX_SEMANTICS  0x01000000L
5502 #define CREATE_NEW              1
5503 #define CREATE_ALWAYS           2
5504 #define OPEN_EXISTING           3
5505 #define OPEN_ALWAYS             4
5506 #define TRUNCATE_EXISTING       5
5507
5508 /* Standard handle identifiers
5509  */
5510 #define STD_INPUT_HANDLE        ((DWORD) -10)
5511 #define STD_OUTPUT_HANDLE       ((DWORD) -11)
5512 #define STD_ERROR_HANDLE        ((DWORD) -12)
5513
5514 typedef struct
5515 {
5516   int dwFileAttributes;
5517   FILETIME ftCreationTime;
5518   FILETIME ftLastAccessTime;
5519   FILETIME ftLastWriteTime;
5520   int dwVolumeSerialNumber;
5521   int nFileSizeHigh;
5522   int nFileSizeLow;
5523   int nNumberOfLinks;
5524   int nFileIndexHigh;
5525   int nFileIndexLow;
5526 } BY_HANDLE_FILE_INFORMATION ;
5527
5528 /* File attribute flags
5529  */
5530 #define FILE_SHARE_READ                 0x00000001L
5531 #define FILE_SHARE_WRITE                0x00000002L
5532 #define FILE_SHARE_DELETE               0x00000004L
5533 #define FILE_ATTRIBUTE_READONLY         0x00000001L
5534 #define FILE_ATTRIBUTE_HIDDEN           0x00000002L
5535 #define FILE_ATTRIBUTE_SYSTEM           0x00000004L
5536 #define FILE_ATTRIBUTE_LABEL            0x00000008L  /* Not in Windows API */
5537 #define FILE_ATTRIBUTE_DIRECTORY        0x00000010L
5538 #define FILE_ATTRIBUTE_ARCHIVE          0x00000020L
5539 #define FILE_ATTRIBUTE_NORMAL           0x00000080L
5540 #define FILE_ATTRIBUTE_TEMPORARY        0x00000100L
5541 #define FILE_ATTRIBUTE_ATOMIC_WRITE     0x00000200L
5542 #define FILE_ATTRIBUTE_XACTION_WRITE    0x00000400L
5543 #define FILE_ATTRIBUTE_COMPRESSED       0x00000800L
5544 #define FILE_ATTRIBUTE_OFFLINE          0x00001000L
5545
5546 /* File alignments (NT) */
5547 #define FILE_BYTE_ALIGNMENT             0x00000000
5548 #define FILE_WORD_ALIGNMENT             0x00000001
5549 #define FILE_LONG_ALIGNMENT             0x00000003
5550 #define FILE_QUAD_ALIGNMENT             0x00000007
5551 #define FILE_OCTA_ALIGNMENT             0x0000000f
5552 #define FILE_32_BYTE_ALIGNMENT          0x0000001f
5553 #define FILE_64_BYTE_ALIGNMENT          0x0000003f
5554 #define FILE_128_BYTE_ALIGNMENT         0x0000007f
5555 #define FILE_256_BYTE_ALIGNMENT         0x000000ff
5556 #define FILE_512_BYTE_ALIGNMENT         0x000001ff
5557
5558 /* WinHelp internal structure */
5559 typedef struct {
5560         WORD size;
5561         WORD command;
5562         LONG data;
5563         LONG reserved;
5564         WORD ofsFilename;
5565         WORD ofsData;
5566 } WINHELP,*LPWINHELP;
5567
5568 typedef struct
5569 {
5570     UINT16  mkSize;
5571     BYTE    mkKeyList;
5572     BYTE    szKeyPhrase[1];
5573 } MULTIKEYHELP, *LPMULTIKEYHELP;
5574
5575 typedef struct {
5576         WORD wStructSize;
5577         WORD x;
5578         WORD y;
5579         WORD dx;
5580         WORD dy;
5581         WORD wMax;
5582         char rgchMember[2];
5583 } HELPWININFO, *LPHELPWININFO;
5584
5585 #define HELP_CONTEXT        0x0001
5586 #define HELP_QUIT           0x0002
5587 #define HELP_INDEX          0x0003
5588 #define HELP_CONTENTS       0x0003
5589 #define HELP_HELPONHELP     0x0004
5590 #define HELP_SETINDEX       0x0005
5591 #define HELP_SETCONTENTS    0x0005
5592 #define HELP_CONTEXTPOPUP   0x0008
5593 #define HELP_FORCEFILE      0x0009
5594 #define HELP_KEY            0x0101
5595 #define HELP_COMMAND        0x0102
5596 #define HELP_PARTIALKEY     0x0105
5597 #define HELP_MULTIKEY       0x0201
5598 #define HELP_SETWINPOS      0x0203
5599 #define HELP_CONTEXTMENU    0x000a
5600 #define HELP_FINDER         0x000b
5601 #define HELP_WM_HELP        0x000c
5602 #define HELP_SETPOPUP_POS   0x000d
5603
5604 #define HELP_TCARD          0x8000
5605 #define HELP_TCARD_DATA     0x0010
5606 #define HELP_TCARD_OTHER_CALLER 0x0011
5607
5608
5609 /* ExitWindows() flags */
5610 #define EW_RESTARTWINDOWS   0x0042
5611 #define EW_REBOOTSYSTEM     0x0043
5612 #define EW_EXITANDEXECAPP   0x0044
5613
5614 /* ExitWindowsEx() flags */
5615 #define EWX_LOGOFF           0
5616 #define EWX_SHUTDOWN         1
5617 #define EWX_REBOOT           2
5618 #define EWX_FORCE            4
5619 #define EWX_POWEROFF         8
5620
5621
5622 #define CCHDEVICENAME 32
5623 #define CCHFORMNAME   32
5624
5625 typedef struct
5626 {
5627     BYTE   dmDeviceName[CCHDEVICENAME];
5628     WORD   dmSpecVersion;
5629     WORD   dmDriverVersion;
5630     WORD   dmSize;
5631     WORD   dmDriverExtra;
5632     DWORD  dmFields;
5633     INT16  dmOrientation;
5634     INT16  dmPaperSize;
5635     INT16  dmPaperLength;
5636     INT16  dmPaperWidth;
5637     INT16  dmScale;
5638     INT16  dmCopies;
5639     INT16  dmDefaultSource;
5640     INT16  dmPrintQuality;
5641     INT16  dmColor;
5642     INT16  dmDuplex;
5643     INT16  dmYResolution;
5644     INT16  dmTTOption;
5645     INT16  dmCollate;
5646     BYTE   dmFormName[CCHFORMNAME];
5647     WORD   dmUnusedPadding;
5648     WORD   dmBitsPerPel;
5649     DWORD  dmPelsWidth;
5650     DWORD  dmPelsHeight;
5651     DWORD  dmDisplayFlags;
5652     DWORD  dmDisplayFrequency;
5653 } DEVMODE16, *LPDEVMODE16;
5654
5655 typedef struct
5656 {
5657     BYTE   dmDeviceName[CCHDEVICENAME];
5658     WORD   dmSpecVersion;
5659     WORD   dmDriverVersion;
5660     WORD   dmSize;
5661     WORD   dmDriverExtra;
5662     DWORD  dmFields;
5663     INT16  dmOrientation;
5664     INT16  dmPaperSize;
5665     INT16  dmPaperLength;
5666     INT16  dmPaperWidth;
5667     INT16  dmScale;
5668     INT16  dmCopies;
5669     INT16  dmDefaultSource;
5670     INT16  dmPrintQuality;
5671     INT16  dmColor;
5672     INT16  dmDuplex;
5673     INT16  dmYResolution;
5674     INT16  dmTTOption;
5675     INT16  dmCollate;
5676     BYTE   dmFormName[CCHFORMNAME];
5677     WORD   dmLogPixels;
5678     DWORD  dmBitsPerPel;
5679     DWORD  dmPelsWidth;
5680     DWORD  dmPelsHeight;
5681     DWORD  dmDisplayFlags;
5682     DWORD  dmDisplayFrequency;
5683     DWORD  dmICMMethod;
5684     DWORD  dmICMIntent;
5685     DWORD  dmMediaType;
5686     DWORD  dmDitherType;
5687     DWORD  dmReserved1;
5688     DWORD  dmReserved2;
5689 } DEVMODE32A, *LPDEVMODE32A;
5690
5691 typedef struct
5692 {
5693     WCHAR  dmDeviceName[CCHDEVICENAME];
5694     WORD   dmSpecVersion;
5695     WORD   dmDriverVersion;
5696     WORD   dmSize;
5697     WORD   dmDriverExtra;
5698     DWORD  dmFields;
5699     INT16  dmOrientation;
5700     INT16  dmPaperSize;
5701     INT16  dmPaperLength;
5702     INT16  dmPaperWidth;
5703     INT16  dmScale;
5704     INT16  dmCopies;
5705     INT16  dmDefaultSource;
5706     INT16  dmPrintQuality;
5707     INT16  dmColor;
5708     INT16  dmDuplex;
5709     INT16  dmYResolution;
5710     INT16  dmTTOption;
5711     INT16  dmCollate;
5712     WCHAR  dmFormName[CCHFORMNAME];
5713     WORD   dmLogPixels;
5714     DWORD  dmBitsPerPel;
5715     DWORD  dmPelsWidth;
5716     DWORD  dmPelsHeight;
5717     DWORD  dmDisplayFlags;
5718     DWORD  dmDisplayFrequency;
5719     DWORD  dmICMMethod;
5720     DWORD  dmICMIntent;
5721     DWORD  dmMediaType;
5722     DWORD  dmDitherType;
5723     DWORD  dmReserved1;
5724     DWORD  dmReserved2;
5725 } DEVMODE32W, *LPDEVMODE32W;
5726
5727 DECL_WINELIB_TYPE_AW(DEVMODE)
5728 DECL_WINELIB_TYPE_AW(LPDEVMODE)
5729
5730
5731 #define DM_UPDATE       1
5732 #define DM_COPY         2
5733 #define DM_PROMPT       4
5734 #define DM_MODIFY       8
5735
5736 #define DM_ORIENTATION          0x00000001L
5737 #define DM_PAPERSIZE            0x00000002L
5738 #define DM_PAPERLENGTH          0x00000004L
5739 #define DM_PAPERWIDTH           0x00000008L
5740 #define DM_SCALE                0x00000010L
5741 #define DM_COPIES               0x00000100L
5742 #define DM_DEFAULTSOURCE        0x00000200L
5743 #define DM_PRINTQUALITY         0x00000400L
5744 #define DM_COLOR                0x00000800L
5745 #define DM_DUPLEX               0x00001000L
5746 #define DM_YRESOLUTION          0x00002000L
5747 #define DM_TTOPTION             0x00004000L
5748 #define DM_BITSPERPEL           0x00040000L
5749 #define DM_PELSWIDTH            0x00080000L
5750 #define DM_PELSHEIGHT           0x00100000L
5751 #define DM_DISPLAYFLAGS         0x00200000L
5752 #define DM_DISPLAYFREQUENCY     0x00400000L
5753
5754 /* etc.... */
5755
5756 #define DMORIENT_PORTRAIT       1
5757 #define DMORIENT_LANDSCAPE      2
5758
5759 #define DMPAPER_LETTER          1
5760 #define DMPAPER_LEGAL           5
5761 #define DMPAPER_EXECUTIVE       7
5762 #define DMPAPER_A3              8
5763 #define DMPAPER_A4              9
5764 #define DMPAPER_A5              11
5765 #define DMPAPER_ENV_10          20
5766 #define DMPAPER_ENV_DL          27
5767 #define DMPAPER_ENV_C5          28
5768 #define DMPAPER_ENV_B5          34
5769 #define DMPAPER_ENV_MONARCH     37
5770
5771 #define DMBIN_UPPER             1
5772 #define DMBIN_LOWER             2
5773 #define DMBIN_MIDDLE            3
5774 #define DMBIN_MANUAL            4
5775 #define DMBIN_ENVELOPE          5
5776 #define DMBIN_ENVMANUAL         6
5777 #define DMBIN_AUTO              7
5778 #define DMBIN_LARGECAPACITY     11
5779
5780 #define DMCOLOR_MONOCHROME      1
5781 #define DMCOLOR_COLOR           2
5782
5783 #define DMTT_BITMAP             1
5784 #define DMTT_DOWNLOAD           2
5785 #define DMTT_SUBDEV             3
5786
5787
5788 #define DC_FIELDS               1
5789 #define DC_PAPERS               2
5790 #define DC_PAPERSIZE            3
5791 #define DC_MINEXTENT            4
5792 #define DC_MAXEXTENT            5
5793 #define DC_BINS                 6
5794 #define DC_DUPLEX               7
5795 #define DC_SIZE                 8
5796 #define DC_EXTRA                9
5797 #define DC_VERSION              10
5798 #define DC_DRIVER               11
5799 #define DC_BINNAMES             12
5800 #define DC_ENUMRESOLUTIONS      13
5801 #define DC_FILEDEPENDENCIES     14
5802 #define DC_TRUETYPE             15
5803 #define DC_PAPERNAMES           16
5804 #define DC_ORIENTATION          17
5805 #define DC_COPIES               18
5806
5807
5808 typedef struct _PRINTER_DEFAULTS32A {
5809     LPSTR        pDatatype;
5810     LPDEVMODE32A pDevMode;
5811     ACCESS_MASK  DesiredAccess;
5812 } PRINTER_DEFAULTS32A, *LPPRINTER_DEFAULTS32A;
5813
5814 typedef struct _PRINTER_DEFAULTS32W {
5815     LPWSTR       pDatatype;
5816     LPDEVMODE32W pDevMode;
5817     ACCESS_MASK  DesiredAccess;
5818 } PRINTER_DEFAULTS32W, *LPPRINTER_DEFAULTS32W;
5819
5820 DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
5821 DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
5822
5823      /* ChangeDisplaySettings return codes */
5824
5825 #define DISP_CHANGE_SUCCESSFUL 0
5826 #define DISP_CHANGE_RESTART    1
5827 #define DISP_CHANGE_FAILED     (-1)
5828 #define DISP_CHANGE_BADMODE    (-2)
5829 #define DISP_CHANGE_NOTUPDATED (-3)
5830 #define DISP_CHANGE_BADFLAGS   (-4)
5831
5832
5833 typedef struct _SYSTEM_POWER_STATUS
5834 {
5835   BOOL16  ACLineStatus;
5836   BYTE    BatteryFlag;
5837   BYTE    BatteryLifePercent;
5838   BYTE    reserved;
5839   DWORD   BatteryLifeTime;
5840   DWORD   BatteryFullLifeTime;
5841 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
5842
5843 /* flags to FormatMessage */
5844 #define FORMAT_MESSAGE_ALLOCATE_BUFFER  0x00000100
5845 #define FORMAT_MESSAGE_IGNORE_INSERTS   0x00000200
5846 #define FORMAT_MESSAGE_FROM_STRING      0x00000400
5847 #define FORMAT_MESSAGE_FROM_HMODULE     0x00000800
5848 #define FORMAT_MESSAGE_FROM_SYSTEM      0x00001000
5849 #define FORMAT_MESSAGE_ARGUMENT_ARRAY   0x00002000
5850 #define FORMAT_MESSAGE_MAX_WIDTH_MASK   0x000000FF
5851
5852 /* types of LoadImage */
5853 #define IMAGE_BITMAP    0
5854 #define IMAGE_ICON      1
5855 #define IMAGE_CURSOR    2
5856 #define IMAGE_ENHMETA   3
5857
5858 /* loadflags to LoadImage */
5859 #define LR_DEFAULTCOLOR         0x0000
5860 #define LR_MONOCHROME           0x0001
5861 #define LR_COLOR                0x0002
5862 #define LR_COPYRETURNORG        0x0004
5863 #define LR_COPYDELETEORG        0x0008
5864 #define LR_LOADFROMFILE         0x0010
5865 #define LR_LOADTRANSPARENT      0x0020
5866 #define LR_DEFAULTSIZE          0x0040
5867 #define LR_VGA_COLOR            0x0080
5868 #define LR_LOADMAP3DCOLORS      0x1000
5869 #define LR_CREATEDIBSECTION     0x2000
5870 #define LR_COPYFROMRESOURCE     0x4000
5871 #define LR_SHARED               0x8000
5872
5873 /* Flags for PolyDraw and GetPath */
5874 #define PT_CLOSEFIGURE          0x0001
5875 #define PT_LINETO               0x0002
5876 #define PT_BEZIERTO             0x0004
5877 #define PT_MOVETO               0x0006
5878
5879 typedef struct _LARGE_INTEGER
5880 {
5881     DWORD    LowPart;
5882     LONG     HighPart;
5883 } LARGE_INTEGER,*LPLARGE_INTEGER;
5884
5885 typedef struct _ULARGE_INTEGER
5886 {
5887     DWORD    LowPart;
5888     DWORD    HighPart;
5889 } ULARGE_INTEGER,*LPULARGE_INTEGER;
5890
5891 typedef LARGE_INTEGER LUID,*LPLUID; /* locally unique ids */
5892
5893 /* SetLastErrorEx types */
5894 #define SLE_ERROR       0x00000001
5895 #define SLE_MINORERROR  0x00000002
5896 #define SLE_WARNING     0x00000003
5897
5898 /* Argument 1 passed to the DllEntryProc. */
5899 #define DLL_PROCESS_DETACH      0       /* detach process (unload library) */
5900 #define DLL_PROCESS_ATTACH      1       /* attach process (load library) */
5901 #define DLL_THREAD_ATTACH       2       /* attach new thread */
5902 #define DLL_THREAD_DETACH       3       /* detach thread */
5903
5904 typedef struct _MEMORY_BASIC_INFORMATION
5905 {
5906     LPVOID   BaseAddress;
5907     LPVOID   AllocationBase;
5908     DWORD    AllocationProtect;
5909     DWORD    RegionSize;
5910     DWORD    State;
5911     DWORD    Protect;
5912     DWORD    Type;
5913 } MEMORY_BASIC_INFORMATION,*LPMEMORY_BASIC_INFORMATION;
5914
5915
5916 typedef BOOL32 (CALLBACK *CODEPAGE_ENUMPROC32A)(LPSTR);
5917 typedef BOOL32 (CALLBACK *CODEPAGE_ENUMPROC32W)(LPWSTR);
5918 DECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC)
5919 typedef BOOL32 (CALLBACK *LOCALE_ENUMPROC32A)(LPSTR);
5920 typedef BOOL32 (CALLBACK *LOCALE_ENUMPROC32W)(LPWSTR);
5921 DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC)
5922
5923 typedef struct tagSYSTEM_INFO
5924 {
5925     union {
5926         DWORD   dwOemId;
5927         struct {
5928                 WORD wProcessorArchitecture;
5929                 WORD wReserved;
5930         } x;
5931     } u;
5932     DWORD       dwPageSize;
5933     LPVOID      lpMinimumApplicationAddress;
5934     LPVOID      lpMaximumApplicationAddress;
5935     DWORD       dwActiveProcessorMask;
5936     DWORD       dwNumberOfProcessors;
5937     DWORD       dwProcessorType;
5938     DWORD       dwAllocationGranularity;
5939     WORD        wProcessorLevel;
5940     WORD        wProcessorRevision;
5941 } SYSTEM_INFO, *LPSYSTEM_INFO;
5942
5943 /* u.x.wProcessorArchitecture (NT) */
5944 #define PROCESSOR_ARCHITECTURE_INTEL    0
5945 #define PROCESSOR_ARCHITECTURE_MIPS     1
5946 #define PROCESSOR_ARCHITECTURE_ALPHA    2
5947 #define PROCESSOR_ARCHITECTURE_PPC      3
5948 #define PROCESSOR_ARCHITECTURE_UNKNOWN  0xFFFF
5949
5950 /* dwProcessorType */
5951 #define PROCESSOR_INTEL_386     386
5952 #define PROCESSOR_INTEL_486     486
5953 #define PROCESSOR_INTEL_PENTIUM 586
5954 #define PROCESSOR_MIPS_R4000    4000
5955 #define PROCESSOR_ALPHA_21064   21064
5956
5957 /* service main function prototype */
5958 typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTION32A)(DWORD,LPSTR);
5959 typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTION32W)(DWORD,LPWSTR);
5960 DECL_WINELIB_TYPE_AW(LPSERVICE_MAIN_FUNCTION)
5961
5962 /* service start table */
5963 typedef struct
5964 {
5965     LPSTR                       lpServiceName;
5966     LPSERVICE_MAIN_FUNCTION32A  lpServiceProc;
5967 } *LPSERVICE_TABLE_ENTRY32A, SERVICE_TABLE_ENTRY32A;
5968
5969 typedef struct
5970 {
5971     LPWSTR                      lpServiceName;
5972     LPSERVICE_MAIN_FUNCTION32W  lpServiceProc;
5973 } *LPSERVICE_TABLE_ENTRY32W, SERVICE_TABLE_ENTRY32W;
5974
5975 DECL_WINELIB_TYPE_AW(SERVICE_TABLE_ENTRY)
5976 DECL_WINELIB_TYPE_AW(LPSERVICE_TABLE_ENTRY)
5977
5978 /* Used by: ControlService */
5979 typedef struct _SERVICE_STATUS {
5980     DWORD dwServiceType;
5981     DWORD dwCurrentState;
5982     DWORD dwControlsAccepted;
5983     DWORD dwWin32ExitCode;
5984     DWORD dwServiceSpecificExitCode;
5985     DWORD dwCheckPoint;
5986     DWORD dwWaitHint;
5987 } SERVICE_STATUS, *LPSERVICE_STATUS;
5988
5989
5990 /* {G,S}etPriorityClass */
5991 #define NORMAL_PRIORITY_CLASS   0x00000020
5992 #define IDLE_PRIORITY_CLASS     0x00000040
5993 #define HIGH_PRIORITY_CLASS     0x00000080
5994 #define REALTIME_PRIORITY_CLASS 0x00000100
5995
5996 /* GDI Escape commands */
5997 #define NEWFRAME                1
5998 #define ABORTDOC                2
5999 #define NEXTBAND                3
6000 #define SETCOLORTABLE           4
6001 #define GETCOLORTABLE           5
6002 #define FLUSHOUTPUT             6
6003 #define DRAFTMODE               7
6004 #define QUERYESCSUPPORT         8
6005 #define SETABORTPROC            9
6006 #define STARTDOC                10
6007 #define ENDDOC                  11
6008 #define GETPHYSPAGESIZE         12
6009 #define GETPRINTINGOFFSET       13
6010 #define GETSCALINGFACTOR        14
6011 #define MFCOMMENT               15
6012 #define GETPENWIDTH             16
6013 #define SETCOPYCOUNT            17
6014 #define SELECTPAPERSOURCE       18
6015 #define DEVICEDATA              19
6016 #define PASSTHROUGH             19
6017 #define GETTECHNOLGY            20
6018 #define GETTECHNOLOGY           20 /* yes, both of them */
6019 #define SETLINECAP              21
6020 #define SETLINEJOIN             22
6021 #define SETMITERLIMIT           23
6022 #define BANDINFO                24
6023 #define DRAWPATTERNRECT         25
6024 #define GETVECTORPENSIZE        26
6025 #define GETVECTORBRUSHSIZE      27
6026 #define ENABLEDUPLEX            28
6027 #define GETSETPAPERBINS         29
6028 #define GETSETPRINTORIENT       30
6029 #define ENUMPAPERBINS           31
6030 #define SETDIBSCALING           32
6031 #define EPSPRINTING             33
6032 #define ENUMPAPERMETRICS        34
6033 #define GETSETPAPERMETRICS      35
6034 #define POSTSCRIPT_DATA         37
6035 #define POSTSCRIPT_IGNORE       38
6036 #define MOUSETRAILS             39
6037 #define GETDEVICEUNITS          42
6038
6039 #define GETEXTENDEDTEXTMETRICS  256
6040 #define GETEXTENTTABLE          257
6041 #define GETPAIRKERNTABLE        258
6042 #define GETTRACKKERNTABLE       259
6043 #define EXTTEXTOUT              512
6044 #define GETFACENAME             513
6045 #define DOWNLOADFACE            514
6046 #define ENABLERELATIVEWIDTHS    768
6047 #define ENABLEPAIRKERNING       769
6048 #define SETKERNTRACK            770
6049 #define SETALLJUSTVALUES        771
6050 #define SETCHARSET              772
6051
6052 #define STRETCHBLT              2048
6053 #define GETSETSCREENPARAMS      3072
6054 #define QUERYDIBSUPPORT         3073
6055 #define BEGIN_PATH              4096
6056 #define CLIP_TO_PATH            4097
6057 #define END_PATH                4098
6058 #define EXT_DEVICE_CAPS         4099
6059 #define RESTORE_CTM             4100
6060 #define SAVE_CTM                4101
6061 #define SET_ARC_DIRECTION       4102
6062 #define SET_BACKGROUND_COLOR    4103
6063 #define SET_POLY_MODE           4104
6064 #define SET_SCREEN_ANGLE        4105
6065 #define SET_SPREAD              4106
6066 #define TRANSFORM_CTM           4107
6067 #define SET_CLIP_BOX            4108
6068 #define SET_BOUNDS              4109
6069 #define SET_MIRROR_MODE         4110
6070 #define OPENCHANNEL             4110
6071 #define DOWNLOADHEADER          4111
6072 #define CLOSECHANNEL            4112
6073 #define POSTSCRIPT_PASSTHROUGH  4115
6074 #define ENCAPSULATED_POSTSCRIPT 4116
6075
6076 /* Flag returned from Escape QUERYDIBSUPPORT */
6077 #define QDI_SETDIBITS           1
6078 #define QDI_GETDIBITS           2
6079 #define QDI_DIBTOSCREEN         4
6080 #define QDI_STRETCHDIB          8
6081
6082 /* Spooler Error Codes */
6083 #define SP_NOTREPORTED  0x4000
6084 #define SP_ERROR        (-1)
6085 #define SP_APPABORT     (-2)
6086 #define SP_USERABORT    (-3)
6087 #define SP_OUTOFDISK    (-4)
6088 #define SP_OUTOFMEMORY  (-5)
6089
6090 #define PR_JOBSTATUS    0x0000
6091
6092 typedef BOOL32 (CALLBACK *ENUMRESTYPEPROC32A)(HMODULE32,LPSTR,LONG);
6093 typedef BOOL32 (CALLBACK *ENUMRESTYPEPROC32W)(HMODULE32,LPWSTR,LONG);
6094 typedef BOOL32 (CALLBACK *ENUMRESNAMEPROC32A)(HMODULE32,LPCSTR,LPSTR,LONG);
6095 typedef BOOL32 (CALLBACK *ENUMRESNAMEPROC32W)(HMODULE32,LPCWSTR,LPWSTR,LONG);
6096 typedef BOOL32 (CALLBACK *ENUMRESLANGPROC32A)(HMODULE32,LPCSTR,LPCSTR,WORD,LONG);
6097 typedef BOOL32 (CALLBACK *ENUMRESLANGPROC32W)(HMODULE32,LPCWSTR,LPCWSTR,WORD,LONG);
6098
6099 DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
6100 DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
6101 DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC)
6102
6103 /* Character Type Flags */
6104 #define CT_CTYPE1               0x00000001      /* usual ctype */
6105 #define CT_CTYPE2               0x00000002      /* bidirectional layout info */
6106 #define CT_CTYPE3               0x00000004      /* textprocessing info */
6107
6108 /* CType 1 Flag Bits */
6109 #define C1_UPPER                0x0001
6110 #define C1_LOWER                0x0002
6111 #define C1_DIGIT                0x0004
6112 #define C1_SPACE                0x0008
6113 #define C1_PUNCT                0x0010
6114 #define C1_CNTRL                0x0020
6115 #define C1_BLANK                0x0040
6116 #define C1_XDIGIT               0x0080
6117 #define C1_ALPHA                0x0100
6118
6119 /* CType 2 Flag Bits */
6120 #define C2_LEFTTORIGHT          0x0001
6121 #define C2_RIGHTTOLEFT          0x0002
6122 #define C2_EUROPENUMBER         0x0003
6123 #define C2_EUROPESEPARATOR      0x0004
6124 #define C2_EUROPETERMINATOR     0x0005
6125 #define C2_ARABICNUMBER         0x0006
6126 #define C2_COMMONSEPARATOR      0x0007
6127 #define C2_BLOCKSEPARATOR       0x0008
6128 #define C2_SEGMENTSEPARATOR     0x0009
6129 #define C2_WHITESPACE           0x000A
6130 #define C2_OTHERNEUTRAL         0x000B
6131 #define C2_NOTAPPLICABLE        0x0000
6132
6133 /* CType 3 Flag Bits */
6134 #define C3_NONSPACING           0x0001
6135 #define C3_DIACRITIC            0x0002
6136 #define C3_VOWELMARK            0x0004
6137 #define C3_SYMBOL               0x0008
6138 #define C3_KATAKANA             0x0010
6139 #define C3_HIRAGANA             0x0020
6140 #define C3_HALFWIDTH            0x0040
6141 #define C3_FULLWIDTH            0x0080
6142 #define C3_IDEOGRAPH            0x0100
6143 #define C3_KASHIDA              0x0200
6144 #define C3_LEXICAL              0x0400
6145 #define C3_ALPHA                0x8000
6146 #define C3_NOTAPPLICABLE        0x0000
6147
6148 /* flags that can be passed to LoadLibraryEx */
6149 #define DONT_RESOLVE_DLL_REFERENCES     0x00000001
6150 #define LOAD_LIBRARY_AS_DATAFILE        0x00000002
6151 #define LOAD_WITH_ALTERED_SEARCH_PATH   0x00000008
6152
6153 typedef struct 
6154 {
6155     INT16    cbSize;
6156     SEGPTR   lpszDocName WINE_PACKED;
6157     SEGPTR   lpszOutput WINE_PACKED;
6158 } DOCINFO16, *LPDOCINFO16;
6159
6160 typedef struct 
6161 {
6162     INT32    cbSize;
6163     LPCSTR   lpszDocName;
6164     LPCSTR   lpszOutput;
6165     LPCSTR   lpszDatatype;
6166     DWORD    fwType;
6167 } DOCINFO32A, *LPDOCINFO32A;
6168
6169 typedef struct 
6170 {
6171     INT32    cbSize;
6172     LPCWSTR  lpszDocName;
6173     LPCWSTR  lpszOutput;
6174     LPCWSTR  lpszDatatype;
6175     DWORD    fwType;
6176 } DOCINFO32W, *LPDOCINFO32W;
6177
6178 DECL_WINELIB_TYPE_AW(DOCINFO)
6179 DECL_WINELIB_TYPE_AW(LPDOCINFO)
6180
6181 typedef struct {
6182         DWORD   dwScope;
6183         DWORD   dwType;
6184         DWORD   dwDisplayType;
6185         DWORD   dwUsage;
6186         LPSTR   lpLocalName;
6187         LPSTR   lpRemoteName;
6188         LPSTR   lpComment ;
6189         LPSTR   lpProvider;
6190 } NETRESOURCE32A,*LPNETRESOURCE32A;
6191
6192 typedef struct {
6193         DWORD   dwScope;
6194         DWORD   dwType;
6195         DWORD   dwDisplayType;
6196         DWORD   dwUsage;
6197         LPWSTR  lpLocalName;
6198         LPWSTR  lpRemoteName;
6199         LPWSTR  lpComment ;
6200         LPWSTR  lpProvider;
6201 } NETRESOURCE32W,*LPNETRESOURCE32W;
6202
6203 DECL_WINELIB_TYPE_AW(NETRESOURCE)
6204 DECL_WINELIB_TYPE_AW(LPNETRESOURCE)
6205
6206 typedef struct {
6207     DWORD cbStructure;       /* size of this structure in bytes */
6208     HWND32 hwndOwner;          /* owner window for the dialog */
6209     LPNETRESOURCE32A lpConnRes;/* Requested Resource info    */
6210     DWORD dwFlags;           /* flags (see below) */
6211     DWORD dwDevNum;          /* number of devices connected to */
6212 } CONNECTDLGSTRUCT32A, *LPCONNECTDLGSTRUCT32A;
6213 typedef struct {
6214     DWORD cbStructure;       /* size of this structure in bytes */
6215     HWND32 hwndOwner;          /* owner window for the dialog */
6216     LPNETRESOURCE32W lpConnRes;/* Requested Resource info    */
6217     DWORD dwFlags;           /* flags (see below) */
6218     DWORD dwDevNum;          /* number of devices connected to */
6219 } CONNECTDLGSTRUCT32W, *LPCONNECTDLGSTRUCT32W;
6220
6221 DECL_WINELIB_TYPE_AW(CONNECTDLGSTRUCT)
6222 DECL_WINELIB_TYPE_AW(LPCONNECTDLGSTRUCT)
6223
6224 /**/
6225 #define CONNDLG_RO_PATH     0x00000001 /* Resource path should be read-only    */
6226 #define CONNDLG_CONN_POINT  0x00000002 /* Netware -style movable connection point enabled */
6227 #define CONNDLG_USE_MRU     0x00000004 /* Use MRU combobox  */
6228 #define CONNDLG_HIDE_BOX    0x00000008 /* Hide persistent connect checkbox  */
6229 #define CONNDLG_PERSIST     0x00000010 /* Force persistent connection */
6230 #define CONNDLG_NOT_PERSIST 0x00000020 /* Force connection NOT persistent */
6231
6232
6233 typedef struct {
6234         DWORD   cbStructure;
6235         DWORD   dwFlags;
6236         DWORD   dwSpeed;
6237         DWORD   dwDelay;
6238         DWORD   dwOptDataSize;
6239 } NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
6240
6241 typedef struct {
6242         UINT16          cbSize;
6243         INT16           iBorderWidth;
6244         INT16           iScrollWidth;
6245         INT16           iScrollHeight;
6246         INT16           iCaptionWidth;
6247         INT16           iCaptionHeight;
6248         LOGFONT16       lfCaptionFont;
6249         INT16           iSmCaptionWidth;
6250         INT16           iSmCaptionHeight;
6251         LOGFONT16       lfSmCaptionFont;
6252         INT16           iMenuWidth;
6253         INT16           iMenuHeight;
6254         LOGFONT16       lfMenuFont;
6255         LOGFONT16       lfStatusFont;
6256         LOGFONT16       lfMessageFont;
6257 } NONCLIENTMETRICS16,*LPNONCLIENTMETRICS16;
6258
6259 typedef struct {
6260         UINT32          cbSize;
6261         INT32           iBorderWidth;
6262         INT32           iScrollWidth;
6263         INT32           iScrollHeight;
6264         INT32           iCaptionWidth;
6265         INT32           iCaptionHeight;
6266         LOGFONT32A      lfCaptionFont;
6267         INT32           iSmCaptionWidth;
6268         INT32           iSmCaptionHeight;
6269         LOGFONT32A      lfSmCaptionFont;
6270         INT32           iMenuWidth;
6271         INT32           iMenuHeight;
6272         LOGFONT32A      lfMenuFont;
6273         LOGFONT32A      lfStatusFont;
6274         LOGFONT32A      lfMessageFont;
6275 } NONCLIENTMETRICS32A,*LPNONCLIENTMETRICS32A;
6276
6277 typedef struct {
6278         UINT32          cbSize;
6279         INT32           iBorderWidth;
6280         INT32           iScrollWidth;
6281         INT32           iScrollHeight;
6282         INT32           iCaptionWidth;
6283         INT32           iCaptionHeight;
6284         LOGFONT32W      lfCaptionFont;
6285         INT32           iSmCaptionWidth;
6286         INT32           iSmCaptionHeight;
6287         LOGFONT32W      lfSmCaptionFont;
6288         INT32           iMenuWidth;
6289         INT32           iMenuHeight;
6290         LOGFONT32W      lfMenuFont;
6291         LOGFONT32W      lfStatusFont;
6292         LOGFONT32W      lfMessageFont;
6293 } NONCLIENTMETRICS32W,*LPNONCLIENTMETRICS32W;
6294
6295 DECL_WINELIB_TYPE_AW(NONCLIENTMETRICS)
6296 DECL_WINELIB_TYPE_AW(LPNONCLIENTMETRICS)
6297
6298 typedef struct tagANIMATIONINFO
6299 {
6300        UINT32          cbSize;
6301        INT32           iMinAnimate;
6302 } ANIMATIONINFO, *LPANIMATIONINFO;
6303
6304 typedef struct tagNMHDR
6305 {
6306     HWND32  hwndFrom;
6307     UINT32  idFrom;
6308     UINT32  code;
6309 } NMHDR, *LPNMHDR;
6310
6311 typedef struct
6312 {
6313         UINT32  cbSize;
6314         INT32   iTabLength;
6315         INT32   iLeftMargin;
6316         INT32   iRightMargin;
6317         UINT32  uiLengthDrawn;
6318 } DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
6319
6320 /* ifdef _x86_ ... */
6321 typedef struct _LDT_ENTRY {
6322     WORD        LimitLow;
6323     WORD        BaseLow;
6324     union {
6325         struct {
6326             BYTE        BaseMid;
6327             BYTE        Flags1;/*Declare as bytes to avoid alignment problems */
6328             BYTE        Flags2; 
6329             BYTE        BaseHi;
6330         } Bytes;
6331         struct {
6332             DWORD       BaseMid         : 8;
6333             DWORD       Type            : 5;
6334             DWORD       Dpl             : 2;
6335             DWORD       Pres            : 1;
6336             DWORD       LimitHi         : 4;
6337             DWORD       Sys             : 1;
6338             DWORD       Reserved_0      : 1;
6339             DWORD       Default_Big     : 1;
6340             DWORD       Granularity     : 1;
6341             DWORD       BaseHi          : 8;
6342         } Bits;
6343     } HighWord;
6344 } LDT_ENTRY, *LPLDT_ENTRY;
6345
6346 #define RDH_RECTANGLES  1
6347
6348 typedef struct _RGNDATAHEADER {
6349     DWORD       dwSize;
6350     DWORD       iType;
6351     DWORD       nCount;
6352     DWORD       nRgnSize;
6353     RECT32      rcBound;
6354 } RGNDATAHEADER,*LPRGNDATAHEADER;
6355
6356 typedef struct _RGNDATA {
6357     RGNDATAHEADER       rdh;
6358     char                Buffer[1];
6359 } RGNDATA,*PRGNDATA,*LPRGNDATA;
6360
6361 #define HELPINFO_WINDOW         0x0001
6362 #define HELPINFO_MENUITEM       0x0002
6363 typedef struct                  /* Structure pointed to by lParam of WM_HELP */
6364 {
6365     UINT32      cbSize;         /* Size in bytes of this struct  */
6366     INT32       iContextType;   /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
6367     INT32       iCtrlId;        /* Control Id or a Menu item Id. */
6368     HANDLE32    hItemHandle;    /* hWnd of control or hMenu.     */
6369     DWORD       dwContextId;    /* Context Id associated with this item */
6370     POINT32     MousePos;       /* Mouse Position in screen co-ordinates */
6371 }  HELPINFO,*LPHELPINFO;
6372
6373 typedef void (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
6374
6375 typedef struct /* not sure if the 16bit version is correct */
6376 {
6377     UINT32      cbSize;
6378     HWND16      hwndOwner;
6379     HINSTANCE16 hInstance;
6380     SEGPTR      lpszText;
6381     SEGPTR      lpszCaption;
6382     DWORD       dwStyle;
6383     SEGPTR      lpszIcon;
6384     DWORD       dwContextHelpId;
6385     MSGBOXCALLBACK      lpfnMsgBoxCallback;
6386     DWORD       dwLanguageId;
6387 } MSGBOXPARAMS16,*LPMSGBOXPARAMS16;
6388
6389 typedef struct
6390 {
6391     UINT32      cbSize;
6392     HWND32      hwndOwner;
6393     HINSTANCE32 hInstance;
6394     LPCSTR      lpszText;
6395     LPCSTR      lpszCaption;
6396     DWORD       dwStyle;
6397     LPCSTR      lpszIcon;
6398     DWORD       dwContextHelpId;
6399     MSGBOXCALLBACK      lpfnMsgBoxCallback;
6400     DWORD       dwLanguageId;
6401 } MSGBOXPARAMS32A,*LPMSGBOXPARAMS32A;
6402
6403 typedef struct
6404 {
6405     UINT32      cbSize;
6406     HWND32      hwndOwner;
6407     HINSTANCE32 hInstance;
6408     LPCWSTR     lpszText;
6409     LPCWSTR     lpszCaption;
6410     DWORD       dwStyle;
6411     LPCWSTR     lpszIcon;
6412     DWORD       dwContextHelpId;
6413     MSGBOXCALLBACK      lpfnMsgBoxCallback;
6414     DWORD       dwLanguageId;
6415 } MSGBOXPARAMS32W,*LPMSGBOXPARAMS32W;
6416
6417 DECL_WINELIB_TYPE_AW(MSGBOXPARAMS)
6418 DECL_WINELIB_TYPE_AW(LPMSGBOXPARAMS)
6419
6420 /* for WOWHandle{16,32} */
6421 typedef enum _WOW_HANDLE_TYPE { /* WOW */
6422     WOW_TYPE_HWND,
6423     WOW_TYPE_HMENU,
6424     WOW_TYPE_HDWP,
6425     WOW_TYPE_HDROP,
6426     WOW_TYPE_HDC,
6427     WOW_TYPE_HFONT,
6428     WOW_TYPE_HMETAFILE,
6429     WOW_TYPE_HRGN,
6430     WOW_TYPE_HBITMAP,
6431     WOW_TYPE_HBRUSH,
6432     WOW_TYPE_HPALETTE,
6433     WOW_TYPE_HPEN,
6434     WOW_TYPE_HACCEL,
6435     WOW_TYPE_HTASK,
6436     WOW_TYPE_FULLHWND
6437 } WOW_HANDLE_TYPE;
6438
6439 /* WOWCallback16Ex defines */
6440 #define WCB16_MAX_CBARGS        16
6441 /* ... dwFlags */
6442 #define WCB16_PASCAL            0x0
6443 #define WCB16_CDECL             0x1
6444
6445 typedef struct _numberfmt32a {
6446     UINT32 NumDigits;
6447     UINT32 LeadingZero;
6448     UINT32 Grouping;
6449     LPCSTR lpDecimalSep;
6450     LPCSTR lpThousandSep;
6451     UINT32 NegativeOrder;
6452 } NUMBERFMT32A;
6453
6454 typedef struct _numberfmt32w {
6455     UINT32 NumDigits;
6456     UINT32 LeadingZero;
6457     UINT32 Grouping;
6458     LPCWSTR lpDecimalSep;
6459     LPCWSTR lpThousandSep;
6460     UINT32 NegativeOrder;
6461 } NUMBERFMT32W;
6462
6463 typedef enum _GET_FILEEX_INFO_LEVELS {
6464     GetFileExInfoStandard
6465 } GET_FILEEX_INFO_LEVELS;
6466
6467 typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
6468     DWORD    dwFileAttributes;
6469     FILETIME ftCreationTime;
6470     FILETIME ftLastAccessTime;
6471     FILETIME ftLastWriteTime;
6472     DWORD    nFileSizeHigh;
6473     DWORD    nFileSizeLow;
6474 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
6475
6476 typedef struct _DllVersionInfo {
6477     DWORD cbSize;
6478     DWORD dwMajorVersion;
6479     DWORD dwMinorVersion;
6480     DWORD dwBuildNumber;
6481     DWORD dwPlatformID;
6482 } DLLVERSIONINFO;
6483
6484 typedef struct _SEGINFO {
6485     UINT16    offSegment;
6486     UINT16    cbSegment;
6487     UINT16    flags;
6488     UINT16    cbAlloc;
6489     HGLOBAL16 h;
6490     UINT16    alignShift;
6491     UINT16    reserved[2];
6492 } SEGINFO;
6493
6494 #define MONITOR_DEFAULTTONULL       0x00000000
6495 #define MONITOR_DEFAULTTOPRIMARY    0x00000001
6496 #define MONITOR_DEFAULTTONEAREST    0x00000002
6497
6498 #define MONITORINFOF_PRIMARY        0x00000001
6499
6500 typedef struct tagMONITORINFO
6501 {
6502     DWORD   cbSize;
6503     RECT32  rcMonitor;
6504     RECT32  rcWork;
6505     DWORD   dwFlags;
6506 } MONITORINFO, *LPMONITORINFO;
6507
6508 typedef struct tagMONITORINFOEX32A
6509 {
6510     MONITORINFO dummy;
6511     CHAR        szDevice[CCHDEVICENAME];
6512 } MONITORINFOEX32A, *LPMONITORINFOEX32A;
6513
6514 typedef struct tagMONITORINFOEX32W
6515 {
6516     MONITORINFO dummy;
6517     WCHAR       szDevice[CCHDEVICENAME];
6518 } MONITORINFOEX32W, *LPMONITORINFOEX32W;
6519
6520 DECL_WINELIB_TYPE_AW(MONITORINFOEX)
6521 DECL_WINELIB_TYPE_AW(LPMONITORINFOEX)
6522
6523 typedef BOOL32  (CALLBACK *MONITORENUMPROC)(HMONITOR,HDC32,LPRECT32,LPARAM);
6524
6525 #pragma pack(4)
6526
6527 /* Declarations for functions that exist only in Win16 */
6528
6529 #ifdef __WINE__
6530 WORD        WINAPI AllocCStoDSAlias(WORD);
6531 WORD        WINAPI AllocDStoCSAlias(WORD);
6532 HGLOBAL16   WINAPI AllocResource(HINSTANCE16,HRSRC16,DWORD);
6533 WORD        WINAPI AllocSelector(WORD);
6534 WORD        WINAPI AllocSelectorArray(WORD);
6535 VOID        WINAPI CalcChildScroll(HWND16,WORD);
6536 VOID        WINAPI CascadeChildWindows(HWND16,WORD);
6537 INT16       WINAPI CloseComm(INT16);
6538 HGLOBAL16   WINAPI CreateCursorIconIndirect(HINSTANCE16,CURSORICONINFO*,
6539                                             LPCVOID,LPCVOID);
6540 WORD        WINAPI CreateSystemTimer(WORD,FARPROC16);
6541 BOOL16      WINAPI DCHook(HDC16,WORD,DWORD,LPARAM);
6542 VOID        WINAPI DirectedYield(HTASK16);
6543 HGLOBAL16   WINAPI DirectResAlloc(HINSTANCE16,WORD,UINT16);
6544 VOID        WINAPI DisableSystemTimers(void);
6545 BOOL16      WINAPI DlgDirSelect(HWND16,LPSTR,INT16);
6546 BOOL16      WINAPI DlgDirSelectComboBox(HWND16,LPSTR,INT16);
6547 DWORD       WINAPI DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
6548 BOOL16      WINAPI EnableCommNotification(INT16,HWND16,INT16,INT16);
6549 BOOL16      WINAPI EnableHardwareInput(BOOL16);
6550 VOID        WINAPI EnableSystemTimers(void);
6551 INT16       WINAPI ExcludeVisRect(HDC16,INT16,INT16,INT16,INT16);
6552 HANDLE16    WINAPI FarGetOwner(HGLOBAL16);
6553 VOID        WINAPI FarSetOwner(HGLOBAL16,HANDLE16);
6554 BOOL16      WINAPI FastWindowFrame(HDC16,const RECT16*,INT16,INT16,DWORD);
6555 FARPROC16   WINAPI FileCDR(FARPROC16);
6556 VOID        WINAPI FillWindow(HWND16,HWND16,HDC16,HBRUSH16);
6557 INT16       WINAPI FlushComm(INT16,INT16);
6558 WORD        WINAPI FreeSelector(WORD);
6559 UINT16      WINAPI GDIRealizePalette(HDC16);
6560 HPALETTE16  WINAPI GDISelectPalette(HDC16,HPALETTE16,WORD);
6561 HANDLE16    WINAPI GetAtomHandle(ATOM);
6562 DWORD       WINAPI GetBitmapDimension(HBITMAP16);
6563 DWORD       WINAPI GetBrushOrg(HDC16);
6564 HANDLE16    WINAPI GetCodeHandle(FARPROC16);
6565 INT16       WINAPI GetCommError(INT16,LPCOMSTAT);
6566 UINT16      WINAPI GetCommEventMask(INT16,UINT16);
6567 HBRUSH16    WINAPI GetControlBrush(HWND16,HDC16,UINT16);
6568 VOID        WINAPI GetCodeInfo(FARPROC16,SEGINFO*);
6569 HFONT16     WINAPI GetCurLogFont(HDC16);
6570 HANDLE16    WINAPI GetCurrentPDB(void);
6571 DWORD       WINAPI GetCurrentPosition(HDC16);
6572 HTASK16     WINAPI GetCurrentTask(void);
6573 DWORD       WINAPI GetDCHook(HDC16,FARPROC16*);
6574 DWORD       WINAPI GetDCOrg(HDC16);
6575 HDC16       WINAPI GetDCState(HDC16);
6576 HWND16      WINAPI GetDesktopHwnd(void);
6577 SEGPTR      WINAPI GetDOSEnvironment(void);
6578 INT16       WINAPI GetEnvironment(LPCSTR,LPDEVMODE16,UINT16);
6579 HMODULE16   WINAPI GetExePtr(HANDLE16);
6580 WORD        WINAPI GetExeVersion(void);
6581 WORD        WINAPI GetExpWinVer(HMODULE16);
6582 DWORD       WINAPI GetFileResourceSize(LPCSTR,SEGPTR,SEGPTR,LPDWORD);
6583 DWORD       WINAPI GetFileResource(LPCSTR,SEGPTR,SEGPTR,DWORD,DWORD,LPVOID);
6584 DWORD       WINAPI GetHeapSpaces(HMODULE16);
6585 WORD        WINAPI GetIconID(HGLOBAL16,DWORD);
6586 INT16       WINAPI GetInstanceData(HINSTANCE16,WORD,INT16);
6587 HGLOBAL16   WINAPI GetMetaFileBits(HMETAFILE16);
6588 BOOL16      WINAPI GetModuleName(HINSTANCE16,LPSTR,INT16);
6589 INT16       WINAPI GetModuleUsage(HINSTANCE16);
6590 FARPROC16   WINAPI GetMouseEventProc(void);
6591 UINT16      WINAPI GetNumTasks(void);
6592 DWORD       WINAPI GetSelectorBase(WORD);
6593 DWORD       WINAPI GetSelectorLimit(WORD);
6594 FARPROC16   WINAPI GetSetKernelDOSProc(FARPROC16 DosProc);
6595 HINSTANCE16 WINAPI GetTaskDS(void);
6596 HQUEUE16    WINAPI GetTaskQueue(HTASK16);
6597 BYTE        WINAPI GetTempDrive(BYTE);
6598 DWORD       WINAPI GetTextExtent(HDC16,LPCSTR,INT16);
6599 DWORD       WINAPI GetViewportExt(HDC16);
6600 DWORD       WINAPI GetViewportOrg(HDC16);
6601 BOOL16      WINAPI GetWinDebugInfo(LPWINDEBUGINFO,UINT16);
6602 DWORD       WINAPI GetWindowExt(HDC16);
6603 DWORD       WINAPI GetWindowOrg(HDC16);
6604 DWORD       WINAPI GetWinFlags(void);
6605 DWORD       WINAPI GlobalDOSAlloc(DWORD);
6606 WORD        WINAPI GlobalDOSFree(WORD);
6607 void        WINAPI GlobalFreeAll(HGLOBAL16);
6608 DWORD       WINAPI GlobalHandleNoRIP(WORD);
6609 HGLOBAL16   WINAPI GlobalLRUNewest(HGLOBAL16);
6610 HGLOBAL16   WINAPI GlobalLRUOldest(HGLOBAL16);
6611 VOID        WINAPI GlobalNotify(FARPROC16);
6612 WORD        WINAPI GlobalPageLock(HGLOBAL16);
6613 WORD        WINAPI GlobalPageUnlock(HGLOBAL16);
6614 INT16       WINAPI InitApp(HINSTANCE16);
6615 HRGN16      WINAPI InquireVisRgn(HDC16);
6616 INT16       WINAPI IntersectVisRect(HDC16,INT16,INT16,INT16,INT16);
6617 BOOL16      WINAPI IsDCCurrentPalette(HDC16);
6618 BOOL16      WINAPI IsGDIObject(HGDIOBJ16);
6619 BOOL16      WINAPI IsSharedSelector(HANDLE16);
6620 BOOL16      WINAPI IsTask(HTASK16);
6621 HTASK16     WINAPI IsTaskLocked(void);
6622 BOOL16      WINAPI IsUserIdle(void);
6623 BOOL16      WINAPI IsValidMetaFile(HMETAFILE16);
6624 VOID        WINAPI LogError(UINT16, LPVOID);
6625 VOID        WINAPI LogParamError(UINT16,FARPROC16,LPVOID);
6626 HGLOBAL16   WINAPI LoadCursorIconHandler(HGLOBAL16,HMODULE16,HRSRC16);
6627 HGLOBAL16   WINAPI LoadDIBCursorHandler(HGLOBAL16,HMODULE16,HRSRC16);
6628 HGLOBAL16   WINAPI LoadDIBIconHandler(HGLOBAL16,HMODULE16,HRSRC16);
6629 WORD        WINAPI LocalCountFree(void);
6630 WORD        WINAPI LocalHandleDelta(WORD);
6631 WORD        WINAPI LocalHeapSize(void);
6632 HICON16     WINAPI LoadIconHandler(HGLOBAL16,BOOL16);
6633 BOOL16      WINAPI LocalInit(HANDLE16,WORD,WORD);
6634 HMODULE32   WINAPI LoadLibraryEx32W16(LPCSTR,HANDLE16,DWORD);
6635 FARPROC16   WINAPI LocalNotify(FARPROC16);
6636 HTASK16     WINAPI LockCurrentTask(BOOL16);
6637 HMENU16     WINAPI LookupMenuHandle(HMENU16,INT16);
6638 DWORD       WINAPI MoveTo(HDC16,INT16,INT16);
6639 DWORD       WINAPI OffsetViewportOrg(HDC16,INT16,INT16);
6640 INT16       WINAPI OffsetVisRgn(HDC16,INT16,INT16);
6641 DWORD       WINAPI OffsetWindowOrg(HDC16,INT16,INT16);
6642 VOID        WINAPI OldYield(void);
6643 INT16       WINAPI OpenComm(LPCSTR,UINT16,UINT16);
6644 VOID        WINAPI PaintRect(HWND16,HWND16,HDC16,HBRUSH16,const RECT16*);
6645 VOID        WINAPI PostEvent(HTASK16);
6646 WORD        WINAPI PrestoChangoSelector(WORD,WORD);
6647 INT16       WINAPI ReadComm(INT16,LPSTR,INT16);
6648 UINT16      WINAPI RealizeDefaultPalette(HDC16);
6649 BOOL32      WINAPI RegisterShellHook(HWND16,UINT16);
6650 INT16       WINAPI RestoreVisRgn(HDC16);
6651 HRGN16      WINAPI SaveVisRgn(HDC16);
6652 DWORD       WINAPI ScaleViewportExt(HDC16,INT16,INT16,INT16,INT16);
6653 DWORD       WINAPI ScaleWindowExt(HDC16,INT16,INT16,INT16,INT16);
6654 WORD        WINAPI SelectorAccessRights(WORD,WORD,WORD);
6655 INT16       WINAPI SelectVisRgn(HDC16,HRGN16);
6656 DWORD       WINAPI SetBitmapDimension(HBITMAP16,INT16,INT16);
6657 DWORD       WINAPI SetBrushOrg(HDC16,INT16,INT16);
6658 SEGPTR      WINAPI SetCommEventMask(INT16,UINT16);
6659 BOOL16      WINAPI SetDCHook(HDC16,FARPROC16,DWORD);
6660 DWORD       WINAPI SetDCOrg(HDC16,INT16,INT16);
6661 VOID        WINAPI SetDCState(HDC16,HDC16);
6662 BOOL16      WINAPI SetDeskPattern(void);
6663 INT16       WINAPI SetEnvironment(LPCSTR,LPDEVMODE16,UINT16);
6664 WORD        WINAPI SetHookFlags(HDC16,WORD);
6665 HMETAFILE16 WINAPI SetMetaFileBits(HGLOBAL16);
6666 VOID        WINAPI SetPriority(HTASK16,INT16);
6667 FARPROC16   WINAPI SetResourceHandler(HINSTANCE16,SEGPTR,FARPROC16);
6668 WORD        WINAPI SetSelectorBase(WORD,DWORD);
6669 WORD        WINAPI SetSelectorLimit(WORD,DWORD);
6670 HQUEUE16    WINAPI SetTaskQueue(HTASK16,HQUEUE16);
6671 FARPROC16   WINAPI SetTaskSignalProc(HTASK16,FARPROC16);
6672 DWORD       WINAPI SetViewportExt(HDC16,INT16,INT16);
6673 DWORD       WINAPI SetViewportOrg(HDC16,INT16,INT16);
6674 BOOL16      WINAPI SetWinDebugInfo(LPWINDEBUGINFO);
6675 DWORD       WINAPI SetWindowExt(HDC16,INT16,INT16);
6676 DWORD       WINAPI SetWindowOrg(HDC16,INT16,INT16);
6677 VOID        WINAPI SwitchStackTo(WORD,WORD,WORD);
6678 VOID        WINAPI TileChildWindows(HWND16,WORD);
6679 INT16       WINAPI UngetCommChar(INT16,CHAR);
6680 VOID        WINAPI UserYield(void);
6681 BOOL16      WINAPI WaitEvent(HTASK16);
6682 INT16       WINAPI WriteComm(INT16,LPSTR,INT16);
6683 VOID        WINAPI WriteOutProfiles(VOID);
6684 VOID        WINAPI hmemcpy(LPVOID,LPCVOID,LONG);
6685 #endif  /* __WINE__ */
6686
6687 /* Declarations for functions that exist only in Win32 */
6688
6689 BOOL32      WINAPI AllocConsole(void);
6690 BOOL32      WINAPI AreFileApisANSI(void);
6691 BOOL32      WINAPI Beep(DWORD,DWORD);
6692 WORD        WINAPI CascadeWindows (HWND32, UINT32, const LPRECT32,
6693                                    UINT32, const HWND32 *);
6694 BOOL32      WINAPI ClearCommError(INT32,LPDWORD,LPCOMSTAT);
6695 BOOL32      WINAPI CloseHandle(HANDLE32);
6696 BOOL32      WINAPI CloseServiceHandle(HANDLE32);
6697 BOOL32      WINAPI CombineTransform(LPXFORM,const XFORM *,const XFORM *);
6698 INT32       WINAPI CopyAcceleratorTable32A(HACCEL32,LPACCEL32,INT32);
6699 INT32       WINAPI CopyAcceleratorTable32W(HACCEL32,LPACCEL32,INT32);
6700 #define     CopyAcceleratorTable WINELIB_NAME_AW(CopyAcceleratorTable)
6701 HENHMETAFILE32 WINAPI CopyEnhMetaFile32A(HENHMETAFILE32,LPCSTR);
6702 HENHMETAFILE32 WINAPI CopyEnhMetaFile32W(HENHMETAFILE32,LPCWSTR);
6703 #define     CopyEnhMetaFile WINELIB_NAME_AW(CopyEnhMetaFile)
6704 BOOL32      WINAPI CopyFile32A(LPCSTR,LPCSTR,BOOL32);
6705 BOOL32      WINAPI CopyFile32W(LPCWSTR,LPCWSTR,BOOL32);
6706 #define     CopyFile WINELIB_NAME_AW(CopyFile)
6707 INT32       WINAPI CompareFileTime(LPFILETIME,LPFILETIME);
6708 BOOL32      WINAPI ControlService(HANDLE32,DWORD,LPSERVICE_STATUS);
6709 HANDLE32    WINAPI CreateEvent32A(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCSTR);
6710 HANDLE32    WINAPI CreateEvent32W(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCWSTR);
6711 #define     CreateEvent WINELIB_NAME_AW(CreateEvent)
6712 HFILE32     WINAPI CreateFile32A(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
6713                                  DWORD,DWORD,HANDLE32);
6714 HFILE32     WINAPI CreateFile32W(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
6715                                  DWORD,DWORD,HANDLE32);
6716 #define     CreateFile WINELIB_NAME_AW(CreateFile)
6717 HPALETTE32  WINAPI CreateHalftonePalette(HDC32);
6718 HANDLE32    WINAPI CreateFileMapping32A(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,
6719                                         DWORD,DWORD,LPCSTR);
6720 HANDLE32    WINAPI CreateFileMapping32W(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,
6721                                         DWORD,DWORD,LPCWSTR);
6722 #define     CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
6723 HICON32     WINAPI CreateIconIndirect(LPICONINFO);
6724 HANDLE32    WINAPI CreateMutex32A(LPSECURITY_ATTRIBUTES,BOOL32,LPCSTR);
6725 HANDLE32    WINAPI CreateMutex32W(LPSECURITY_ATTRIBUTES,BOOL32,LPCWSTR);
6726 #define     CreateMutex WINELIB_NAME_AW(CreateMutex)
6727 BOOL32      WINAPI CreateProcess32A(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,
6728                                     LPSECURITY_ATTRIBUTES,BOOL32,DWORD,LPVOID,LPCSTR,
6729                                     LPSTARTUPINFO32A,LPPROCESS_INFORMATION);
6730 BOOL32      WINAPI CreateProcess32W(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,
6731                                     LPSECURITY_ATTRIBUTES,BOOL32,DWORD,LPVOID,LPCWSTR,
6732                                     LPSTARTUPINFO32W,LPPROCESS_INFORMATION);
6733 #define     CreateProcess WINELIB_NAME_AW(CreateProcess)
6734 HANDLE32    WINAPI CreateSemaphore32A(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
6735 HANDLE32    WINAPI CreateSemaphore32W(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
6736 #define     CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
6737 HANDLE32    WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
6738 BOOL32      WINAPI DeleteEnhMetaFile(HENHMETAFILE32);
6739 BOOL32      WINAPI DeleteService(HANDLE32);
6740 BOOL32      WINAPI DeregisterEventSource(HANDLE32);
6741 BOOL32      WINAPI DestroyAcceleratorTable(HACCEL32);
6742 BOOL32      WINAPI DisableThreadLibraryCalls(HMODULE32);
6743 BOOL32      WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
6744 BOOL32      WINAPI DuplicateHandle(HANDLE32,HANDLE32,HANDLE32,HANDLE32*,DWORD,BOOL32,DWORD);
6745 BOOL32      WINAPI EnumDateFormats32A(DATEFMT_ENUMPROC32A lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
6746 BOOL32      WINAPI EnumDateFormats32W(DATEFMT_ENUMPROC32W lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
6747 #define     EnumDateFormats WINELIB_NAME_AW(EnumDateFormats)
6748 BOOL32      WINAPI EnumDisplayMonitors(HDC32,LPRECT32,MONITORENUMPROC,LPARAM);
6749 INT32       WINAPI EnumPropsEx32A(HWND32,PROPENUMPROCEX32A,LPARAM);
6750 INT32       WINAPI EnumPropsEx32W(HWND32,PROPENUMPROCEX32W,LPARAM);
6751 #define     EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
6752 BOOL32      WINAPI EnumResourceLanguages32A(HMODULE32,LPCSTR,LPCSTR,
6753                                             ENUMRESLANGPROC32A,LONG);
6754 BOOL32      WINAPI EnumResourceLanguages32W(HMODULE32,LPCWSTR,LPCWSTR,
6755                                             ENUMRESLANGPROC32W,LONG);
6756 #define     EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
6757 BOOL32      WINAPI EnumResourceNames32A(HMODULE32,LPCSTR,ENUMRESNAMEPROC32A,
6758                                         LONG);
6759 BOOL32      WINAPI EnumResourceNames32W(HMODULE32,LPCWSTR,ENUMRESNAMEPROC32W,
6760                                         LONG);
6761 #define     EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
6762 BOOL32      WINAPI EnumResourceTypes32A(HMODULE32,ENUMRESTYPEPROC32A,LONG);
6763 BOOL32      WINAPI EnumResourceTypes32W(HMODULE32,ENUMRESTYPEPROC32W,LONG);
6764 #define     EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
6765 BOOL32      WINAPI EnumSystemCodePages32A(CODEPAGE_ENUMPROC32A,DWORD);
6766 BOOL32      WINAPI EnumSystemCodePages32W(CODEPAGE_ENUMPROC32W,DWORD);
6767 #define     EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages)
6768 BOOL32      WINAPI EnumSystemLocales32A(LOCALE_ENUMPROC32A,DWORD);
6769 BOOL32      WINAPI EnumSystemLocales32W(LOCALE_ENUMPROC32W,DWORD);
6770 #define     EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales)
6771 BOOL32      WINAPI EnumThreadWindows(DWORD,WNDENUMPROC32,LPARAM);
6772 BOOL32      WINAPI EnumTimeFormats32A(TIMEFMT_ENUMPROC32A lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
6773 BOOL32      WINAPI EnumTimeFormats32W(TIMEFMT_ENUMPROC32W lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
6774 #define     EnumTimeFormats WINELIB_NAME_AW(EnumTimeFormats)
6775 VOID        WINAPI ExitProcess(DWORD);
6776 VOID        WINAPI ExitThread(DWORD);
6777 BOOL32      WINAPI ExitWindowsEx(UINT32,DWORD);
6778 INT32       WINAPI ExtSelectClipRgn(HDC32,HRGN32,INT32);
6779 DWORD       WINAPI ExpandEnvironmentStrings32A(LPCSTR,LPSTR,DWORD);
6780 DWORD       WINAPI ExpandEnvironmentStrings32W(LPCWSTR,LPWSTR,DWORD);
6781 #define     ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
6782 HRGN32      WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
6783 INT32       WINAPI ExtEscape32(HDC32,INT32,INT32,LPCSTR,INT32,LPSTR);
6784 BOOL32      WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
6785 BOOL32      WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
6786 BOOL32      WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
6787 HANDLE32    WINAPI FindFirstChangeNotification32A(LPCSTR,BOOL32,DWORD);
6788 HANDLE32    WINAPI FindFirstChangeNotification32W(LPCWSTR,BOOL32,DWORD);
6789 #define     FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
6790 BOOL32      WINAPI FindNextChangeNotification(HANDLE32);
6791 BOOL32      WINAPI FindCloseChangeNotification(HANDLE32);
6792 HRSRC32     WINAPI FindResourceEx32A(HMODULE32,LPCSTR,LPCSTR,WORD);
6793 HRSRC32     WINAPI FindResourceEx32W(HMODULE32,LPCWSTR,LPCWSTR,WORD);
6794 #define     FindResourceEx WINELIB_NAME_AW(FindResourceEx)
6795 BOOL32      WINAPI FixBrushOrgEx(HDC32,INT32,INT32,LPPOINT32);
6796 BOOL32      WINAPI FlushConsoleInputBuffer(HANDLE32);
6797 BOOL32      WINAPI FlushFileBuffers(HFILE32);
6798 BOOL32      WINAPI FlushViewOfFile(LPCVOID, DWORD);
6799 DWORD       WINAPI FormatMessage32A(DWORD,LPCVOID,DWORD,DWORD,LPSTR,
6800                                     DWORD,LPDWORD);
6801 #define     FormatMessage WINELIB_NAME_AW(FormatMessage)
6802 BOOL32      WINAPI FreeConsole(void);
6803 BOOL32      WINAPI FreeEnvironmentStrings32A(LPSTR);
6804 BOOL32      WINAPI FreeEnvironmentStrings32W(LPWSTR);
6805 #define     FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
6806 UINT32      WINAPI GetACP(void);
6807 LPCSTR      WINAPI GetCommandLine32A(void);
6808 LPCWSTR     WINAPI GetCommandLine32W(void);
6809 #define     GetCommandLine WINELIB_NAME_AW(GetCommandLine)
6810 BOOL32      WINAPI GetCommTimeouts(INT32,LPCOMMTIMEOUTS);
6811 BOOL32      WINAPI GetComputerName32A(LPSTR,LPDWORD);
6812 BOOL32      WINAPI GetComputerName32W(LPWSTR,LPDWORD);
6813 #define     GetComputerName WINELIB_NAME_AW(GetComputerName)
6814 UINT32      WINAPI GetConsoleCP(void);
6815 BOOL32      WINAPI GetConsoleMode(HANDLE32,LPDWORD);
6816 UINT32      WINAPI GetConsoleOutputCP(void);
6817 DWORD       WINAPI GetConsoleTitle32A(LPSTR,DWORD);
6818 DWORD       WINAPI GetConsoleTitle32W(LPWSTR,DWORD);
6819 #define     GetConsoleTitle WINELIB_NAME_AW(GetConsoleTitle)
6820 BOOL32      WINAPI GetCPInfo(UINT32,LPCPINFO);
6821 HANDLE32    WINAPI GetCurrentObject(HDC32,UINT32);
6822 HANDLE32    WINAPI GetCurrentProcess(void);
6823 DWORD       WINAPI GetCurrentProcessId(void);
6824 HANDLE32    WINAPI GetCurrentThread(void);
6825 DWORD       WINAPI GetCurrentThreadId(void);
6826 INT32       WINAPI GetDateFormat32A(LCID,DWORD,LPSYSTEMTIME,LPCSTR,LPSTR,INT32);
6827 INT32       WINAPI GetDateFormat32W(LCID,DWORD,LPSYSTEMTIME,LPCWSTR,LPWSTR,INT32);
6828 #define     GetDateFormat WINELIB_NAME_AW(GetDateFormat)
6829 BOOL32      WINAPI GetDCOrgEx(HDC32,LPPOINT32);
6830 HENHMETAFILE32 WINAPI GetEnhMetaFile32A(LPCSTR);
6831 HENHMETAFILE32 WINAPI GetEnhMetaFile32W(LPCWSTR);
6832 #define     GetEnhMetaFile WINELIB_NAME_AW(GetEnhMetaFile)
6833 UINT32      WINAPI GetEnhMetaFileBits(HENHMETAFILE32,UINT32,LPBYTE);
6834 UINT32      WINAPI GetEnhMetaFileHeader(HENHMETAFILE32,UINT32,LPENHMETAHEADER);
6835 UINT32      WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE32,UINT32,LPPALETTEENTRY);
6836 LPSTR       WINAPI GetEnvironmentStrings32A(void);
6837 LPWSTR      WINAPI GetEnvironmentStrings32W(void);
6838 #define     GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
6839 DWORD       WINAPI GetEnvironmentVariable32A(LPCSTR,LPSTR,DWORD);
6840 DWORD       WINAPI GetEnvironmentVariable32W(LPCWSTR,LPWSTR,DWORD);
6841 #define     GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
6842 BOOL32      WINAPI GetFileAttributesEx32A(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
6843 BOOL32      WINAPI GetFileAttributesEx32W(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
6844 #define     GetFileattributesEx WINELIB_NAME_AW(GetFileAttributesEx)
6845 DWORD       WINAPI GetFileInformationByHandle(HFILE32,BY_HANDLE_FILE_INFORMATION*);
6846 BOOL32      WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
6847 BOOL32      WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
6848 DWORD       WINAPI GetFileSize(HFILE32,LPDWORD);
6849 BOOL32      WINAPI GetFileTime(HFILE32,LPFILETIME,LPFILETIME,LPFILETIME);
6850 DWORD       WINAPI GetFileType(HFILE32);
6851 DWORD       WINAPI GetFullPathName32A(LPCSTR,DWORD,LPSTR,LPSTR*);
6852 DWORD       WINAPI GetFullPathName32W(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
6853 #define     GetFullPathName WINELIB_NAME_AW(GetFullPathName)
6854 INT32       WINAPI GetGraphicsMode(HDC32);
6855 BOOL32      WINAPI GetHandleInformation(HANDLE32,LPDWORD);
6856 BOOL32      WINAPI GetIconInfo(HICON32,LPICONINFO);
6857 DWORD       WINAPI GetLargestConsoleWindowSize(HANDLE32);
6858 VOID        WINAPI GetLocalTime(LPSYSTEMTIME);
6859 DWORD       WINAPI GetLogicalDrives(void);
6860 DWORD       WINAPI GetLongPathName32A(LPCSTR,LPSTR,DWORD);
6861 DWORD       WINAPI GetLongPathName32W(LPCWSTR,LPWSTR,DWORD);
6862 #define     GetLongPathName WINELIB_NAME_AW(GetLongPathName)
6863 UINT32      WINAPI GetMenuDefaultItem32(HMENU32,UINT32,UINT32);
6864 #define     GetMenuDefaultItem WINELIB_NAME(GetMenuDefaultItem)
6865 BOOL32      WINAPI GetMenuItemInfo32A(HMENU32,UINT32,BOOL32,MENUITEMINFO32A*);
6866 BOOL32      WINAPI GetMenuItemInfo32W(HMENU32,UINT32,BOOL32,MENUITEMINFO32W*);
6867 #define     GetMenuItemInfo WINELIB_NAME_AW(GetMenuItemInfo)
6868 UINT32      WINAPI GetMetaFileBitsEx(HMETAFILE32,UINT32,LPVOID);
6869 BOOL32      WINAPI GetMonitorInfo32A(HMONITOR,LPMONITORINFO);
6870 BOOL32      WINAPI GetMonitorInfo32W(HMONITOR,LPMONITORINFO);
6871 #define     GetMonitorInfo WINELIB_NAME_AW(GetMonitorInfo)
6872 INT32       WINAPI GetNumberFormat32A(LCID,DWORD,LPCSTR,const NUMBERFMT32A*,LPSTR,int);
6873 INT32       WINAPI GetNumberFormat32W(LCID,DWORD,LPCWSTR,const NUMBERFMT32W*,LPWSTR,int);
6874 #define     GetNumberFormat WINELIB_NAME_AW(GetNumberFormat);
6875 BOOL32      WINAPI GetNumberOfConsoleInputEvents(HANDLE32,LPDWORD);
6876 BOOL32      WINAPI GetNumberOfConsoleMouseButtons(LPDWORD);
6877 DWORD       WINAPI GetObjectType(HANDLE32);
6878 UINT32      WINAPI GetOEMCP(void);
6879 DWORD       WINAPI GetPriorityClass(HANDLE32);
6880 HANDLE32    WINAPI GetProcessHeap(void);
6881 DWORD       WINAPI GetShortPathName32A(LPCSTR,LPSTR,DWORD);
6882 DWORD       WINAPI GetShortPathName32W(LPCWSTR,LPWSTR,DWORD);
6883 #define     GetShortPathName WINELIB_NAME_AW(GetShortPathName)
6884 HFILE32     WINAPI GetStdHandle(DWORD);
6885 BOOL32      WINAPI GetStringTypeEx32A(LCID,DWORD,LPCSTR,INT32,LPWORD);
6886 BOOL32      WINAPI GetStringTypeEx32W(LCID,DWORD,LPCWSTR,INT32,LPWORD);
6887 #define     GetStringTypeEx WINELIB_NAME_AW(GetStringTypeEx)
6888 VOID        WINAPI GetSystemInfo(LPSYSTEM_INFO);
6889 BOOL32      WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
6890 VOID        WINAPI GetSystemTime(LPSYSTEMTIME);
6891 UINT32      WINAPI GetTextCharsetInfo(HDC32,LPFONTSIGNATURE,DWORD);
6892 BOOL32      WINAPI GetTextExtentExPoint32A(HDC32,LPCSTR,INT32,INT32,
6893                                            LPINT32,LPINT32,LPSIZE32);
6894 BOOL32      WINAPI GetTextExtentExPoint32W(HDC32,LPCWSTR,INT32,INT32,
6895                                            LPINT32,LPINT32,LPSIZE32);
6896 #define     GetTextExtentExPoint WINELIB_NAME_AW(GetTextExtentExPoint)
6897 INT32       WINAPI GetTimeFormat32A(LCID,DWORD,LPSYSTEMTIME,LPCSTR,LPSTR,INT32);
6898 INT32       WINAPI GetTimeFormat32W(LCID,DWORD,LPSYSTEMTIME,LPCWSTR,LPWSTR,INT32);
6899 #define     GetTimeFormat WINELIB_NAME_AW(GetTimeFormat)
6900 LCID        WINAPI GetThreadLocale(void);
6901 INT32       WINAPI GetThreadPriority(HANDLE32);
6902 BOOL32      WINAPI GetThreadSelectorEntry(HANDLE32,DWORD,LPLDT_ENTRY);
6903 BOOL32      WINAPI GetUserName32A(LPSTR,LPDWORD);
6904 BOOL32      WINAPI GetUserName32W(LPWSTR,LPDWORD);
6905 #define     GetUserName WINELIB_NAME_AW(GetUserName)
6906 DWORD       WINAPI GetWindowContextHelpId(HWND32);
6907 DWORD       WINAPI GetWindowThreadProcessId(HWND32,LPDWORD);
6908 BOOL32      WINAPI GetWorldTransform(HDC32,LPXFORM);
6909 VOID        WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
6910 LPVOID      WINAPI HeapAlloc(HANDLE32,DWORD,DWORD);
6911 DWORD       WINAPI HeapCompact(HANDLE32,DWORD);
6912 HANDLE32    WINAPI HeapCreate(DWORD,DWORD,DWORD);
6913 BOOL32      WINAPI HeapDestroy(HANDLE32);
6914 BOOL32      WINAPI HeapFree(HANDLE32,DWORD,LPVOID);
6915 BOOL32      WINAPI HeapLock(HANDLE32);
6916 LPVOID      WINAPI HeapReAlloc(HANDLE32,DWORD,LPVOID,DWORD);
6917 DWORD       WINAPI HeapSize(HANDLE32,DWORD,LPVOID);
6918 BOOL32      WINAPI HeapUnlock(HANDLE32);
6919 BOOL32      WINAPI HeapValidate(HANDLE32,DWORD,LPCVOID);
6920 LONG        WINAPI InterlockedDecrement(LPLONG);
6921 LONG        WINAPI InterlockedExchange(LPLONG,LONG);
6922 LONG        WINAPI InterlockedIncrement(LPLONG);
6923 BOOL32      WINAPI IsDBCSLeadByteEx(UINT32,BYTE);
6924 BOOL32      WINAPI IsProcessorFeaturePresent(DWORD);
6925 BOOL32      WINAPI IsWindowUnicode(HWND32);
6926 BOOL32      WINAPI IsValidLocale(DWORD,DWORD);
6927 BOOL32      WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
6928 BOOL32      WINAPI LockFile(HFILE32,DWORD,DWORD,DWORD,DWORD);
6929 BOOL32      WINAPI LookupPrivilegeValue32A(LPCSTR,LPCSTR,LPVOID);
6930 BOOL32      WINAPI LookupPrivilegeValue32W(LPCWSTR,LPCWSTR,LPVOID);
6931 #define     LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
6932 HMODULE32   WINAPI MapHModuleSL(HMODULE16);
6933 HMODULE16   WINAPI MapHModuleLS(HMODULE32);
6934 SEGPTR      WINAPI MapLS(LPVOID);
6935 LPVOID      WINAPI MapSL(SEGPTR);
6936 LPVOID      WINAPI MapViewOfFile(HANDLE32,DWORD,DWORD,DWORD,DWORD);
6937 LPVOID      WINAPI MapViewOfFileEx(HANDLE32,DWORD,DWORD,DWORD,DWORD,LPVOID);
6938 INT32       WINAPI MessageBoxEx32A(HWND32,LPCSTR,LPCSTR,UINT32,WORD);
6939 INT32       WINAPI MessageBoxEx32W(HWND32,LPCWSTR,LPCWSTR,UINT32,WORD);
6940 #define     MessageBoxEx WINELIB_NAME_AW(MessageBoxEx)
6941 BOOL32      WINAPI ModifyWorldTransform(HDC32,const XFORM *, DWORD);
6942 HMONITOR    WINAPI MonitorFromPoint(POINT32,DWORD);
6943 HMONITOR    WINAPI MonitorFromRect(LPRECT32,DWORD);
6944 HMONITOR    WINAPI MonitorFromWindow(HWND32,DWORD);
6945 BOOL32      WINAPI MoveFile32A(LPCSTR,LPCSTR);
6946 BOOL32      WINAPI MoveFile32W(LPCWSTR,LPCWSTR);
6947 #define     MoveFile WINELIB_NAME_AW(MoveFile)
6948 BOOL32      WINAPI MoveFileEx32A(LPCSTR,LPCSTR,DWORD);
6949 BOOL32      WINAPI MoveFileEx32W(LPCWSTR,LPCWSTR,DWORD);
6950 #define     MoveFileEx WINELIB_NAME_AW(MoveFileEx)
6951 DWORD       WINAPI MsgWaitForMultipleObjects(DWORD,HANDLE32*,BOOL32,DWORD,DWORD);
6952 INT32       WINAPI MultiByteToWideChar(UINT32,DWORD,LPCSTR,INT32,LPWSTR,INT32);
6953 INT32       WINAPI WideCharToMultiByte(UINT32,DWORD,LPCWSTR,INT32,LPSTR,INT32,LPCSTR,BOOL32*);
6954 HANDLE32    WINAPI OpenEvent32A(DWORD,BOOL32,LPCSTR);
6955 HANDLE32    WINAPI OpenEvent32W(DWORD,BOOL32,LPCWSTR);
6956 #define     OpenEvent WINELIB_NAME_AW(OpenEvent)
6957 HANDLE32    WINAPI OpenFileMapping32A(DWORD,BOOL32,LPCSTR);
6958 HANDLE32    WINAPI OpenFileMapping32W(DWORD,BOOL32,LPCWSTR);
6959 #define     OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
6960 HANDLE32    WINAPI OpenMutex32A(DWORD,BOOL32,LPCSTR);
6961 HANDLE32    WINAPI OpenMutex32W(DWORD,BOOL32,LPCWSTR);
6962 #define     OpenMutex WINELIB_NAME_AW(OpenMutex)
6963 HANDLE32    WINAPI OpenProcess(DWORD,BOOL32,DWORD);
6964 BOOL32      WINAPI OpenProcessToken(HANDLE32,DWORD,HANDLE32*);
6965 HANDLE32    WINAPI OpenSCManager32A(LPCSTR,LPCSTR,DWORD);
6966 HANDLE32    WINAPI OpenSCManager32W(LPCWSTR,LPCWSTR,DWORD);
6967 #define     OpenSCManager WINELIB_NAME_AW(OpenSCManager)
6968 HANDLE32    WINAPI OpenSemaphore32A(DWORD,BOOL32,LPCSTR);
6969 HANDLE32    WINAPI OpenSemaphore32W(DWORD,BOOL32,LPCWSTR);
6970 #define     OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
6971 HANDLE32    WINAPI OpenService32A(HANDLE32,LPCSTR,DWORD);
6972 HANDLE32    WINAPI OpenService32W(HANDLE32,LPCWSTR,DWORD);
6973 #define     OpenService WINELIB_NAME_AW(OpenService)
6974 BOOL32      WINAPI PaintDesktop(HDC32);
6975 BOOL32      WINAPI PlayEnhMetaFile(HDC32,HENHMETAFILE32,const RECT32*);
6976 BOOL32      WINAPI PlayEnhMetaFileRecord(HDC32,LPHANDLETABLE32,const ENHMETARECORD*,UINT32);
6977 BOOL32      WINAPI PolyPolyline32(HDC32,const POINT32*,const DWORD*,DWORD);
6978 BOOL32      WINAPI PulseEvent(HANDLE32);
6979 DWORD       WINAPI QueryDosDevice32A(LPCSTR,LPSTR,DWORD);
6980 DWORD       WINAPI QueryDosDevice32W(LPCWSTR,LPWSTR,DWORD);
6981 #define     QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
6982 BOOL32      WINAPI QueryPerformanceCounter(LPLARGE_INTEGER);
6983 BOOL32      WINAPI ReadConsole32A(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
6984 BOOL32      WINAPI ReadConsole32W(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
6985 #define     ReadConsole WINELIB_NAME_AW(ReadConsole)
6986 BOOL32      WINAPI ReadConsoleOutputCharacter32A(HANDLE32,LPSTR,DWORD,
6987                                                  COORD,LPDWORD);
6988 #define     ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter)
6989 BOOL32      WINAPI ReadFile(HANDLE32,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
6990 LONG        WINAPI RegConnectRegistry32A(LPCSTR,HKEY,LPHKEY);
6991 LONG        WINAPI RegConnectRegistry32W(LPCWSTR,HKEY,LPHKEY);
6992 #define     RegConnectRegistry WINELIB_NAME_AW(RegConnectRegistry)
6993 DWORD       WINAPI RegCreateKeyEx32A(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,
6994                                      LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
6995 DWORD       WINAPI RegCreateKeyEx32W(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,
6996                                      LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
6997 #define     RegCreateKeyEx WINELIB_NAME_AW(RegCreateKeyEx)
6998 DWORD       WINAPI RegEnumKeyEx32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPSTR,
6999                                    LPDWORD,LPFILETIME);
7000 DWORD       WINAPI RegEnumKeyEx32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPWSTR,
7001                                    LPDWORD,LPFILETIME);
7002 #define     RegEnumKeyEx WINELIB_NAME_AW(RegEnumKeyEx)
7003 LONG        WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,LPDWORD);
7004 HANDLE32    WINAPI RegisterEventSource32A(LPCSTR,LPCSTR);
7005 HANDLE32    WINAPI RegisterEventSource32W(LPCWSTR,LPCWSTR);
7006 #define     RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
7007 LONG        WINAPI RegLoadKey32A(HKEY,LPCSTR,LPCSTR);
7008 LONG        WINAPI RegLoadKey32W(HKEY,LPCWSTR,LPCWSTR);
7009 #define     RegLoadKey WINELIB_NAME_AW(RegLoadKey)
7010 LONG        WINAPI RegNotifyChangeKeyValue(HKEY,BOOL32,DWORD,HANDLE32,BOOL32);
7011 DWORD       WINAPI RegOpenKeyEx32W(HKEY,LPCWSTR,DWORD,REGSAM,LPHKEY);
7012 DWORD       WINAPI RegOpenKeyEx32A(HKEY,LPCSTR,DWORD,REGSAM,LPHKEY);
7013 #define     RegOpenKeyEx WINELIB_NAME_AW(RegOpenKeyEx)
7014 DWORD       WINAPI RegQueryInfoKey32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPDWORD,
7015                                       LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
7016                                       LPDWORD,LPFILETIME);
7017 DWORD       WINAPI RegQueryInfoKey32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPDWORD,
7018                                       LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
7019                                       LPDWORD,LPFILETIME);
7020 #define     RegQueryInfoKey WINELIB_NAME_AW(RegQueryInfoKey)
7021 LONG        WINAPI RegReplaceKey32A(HKEY,LPCSTR,LPCSTR,LPCSTR);
7022 LONG        WINAPI RegReplaceKey32W(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
7023 #define     RegReplaceKey WINELIB_NAME_AW(RegReplaceKey)
7024 LONG        WINAPI RegRestoreKey32A(HKEY,LPCSTR,DWORD);
7025 LONG        WINAPI RegRestoreKey32W(HKEY,LPCWSTR,DWORD);
7026 #define     RegRestoreKey WINELIB_NAME_AW(RegRestoreKey)
7027 LONG        WINAPI RegSaveKey32A(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
7028 LONG        WINAPI RegSaveKey32W(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
7029 #define     RegSaveKey WINELIB_NAME_AW(RegSaveKey)
7030 LONG        WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
7031 LONG        WINAPI RegUnLoadKey32A(HKEY,LPCSTR);
7032 LONG        WINAPI RegUnLoadKey32W(HKEY,LPCWSTR);
7033 #define     RegUnLoadKey WINELIB_NAME_AW(RegUnLoadKey)
7034 BOOL32      WINAPI ReleaseSemaphore(HANDLE32,LONG,LPLONG);
7035 BOOL32      WINAPI ResetEvent(HANDLE32);
7036 DWORD       WINAPI ResumeThread(HANDLE32);
7037 VOID        WINAPI RtlFillMemory(LPVOID,UINT32,UINT32);
7038 VOID        WINAPI RtlMoveMemory(LPVOID,LPCVOID,UINT32);
7039 VOID        WINAPI RtlZeroMemory(LPVOID,UINT32);
7040 DWORD       WINAPI SearchPath32A(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
7041 DWORD       WINAPI SearchPath32W(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
7042 #define     SearchPath WINELIB_NAME(SearchPath)
7043 BOOL32      WINAPI SetBrushOrgEx(HDC32,INT32,INT32,LPPOINT32);
7044 BOOL32      WINAPI SetCommMask(INT32,DWORD);
7045 BOOL32      WINAPI SetCommTimeouts(INT32,LPCOMMTIMEOUTS);
7046 BOOL32      WINAPI SetComputerName32A(LPCSTR);
7047 BOOL32      WINAPI SetComputerName32W(LPCWSTR);
7048 #define     SetComputerName WINELIB_NAME_AW(SetComputerName)
7049 BOOL32      WINAPI SetConsoleCursorPosition(HANDLE32,COORD);
7050 BOOL32      WINAPI SetConsoleMode(HANDLE32,DWORD);
7051 BOOL32      WINAPI SetConsoleTitle32A(LPCSTR);
7052 BOOL32      WINAPI SetConsoleTitle32W(LPCWSTR);
7053 #define     SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
7054 VOID        WINAPI SetDebugErrorLevel(DWORD);
7055 BOOL32      WINAPI SetEndOfFile(HFILE32);
7056 HENHMETAFILE32 WINAPI SetEnhMetaFileBits(UINT32,const BYTE *);
7057 BOOL32      WINAPI SetEnvironmentVariable32A(LPCSTR,LPCSTR);
7058 BOOL32      WINAPI SetEnvironmentVariable32W(LPCWSTR,LPCWSTR);
7059 #define     SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
7060 BOOL32      WINAPI SetEvent(HANDLE32);
7061 VOID        WINAPI SetFileApisToANSI(void);
7062 VOID        WINAPI SetFileApisToOEM(void);
7063 DWORD       WINAPI SetFilePointer(HFILE32,LONG,LPLONG,DWORD);
7064 BOOL32      WINAPI SetFileTime(HFILE32,const FILETIME*,const FILETIME*,
7065                                const FILETIME*);
7066 INT32       WINAPI SetGraphicsMode(HDC32,INT32);
7067 BOOL32      WINAPI SetHandleInformation(HANDLE32,DWORD,DWORD);
7068 VOID        WINAPI SetLastErrorEx(DWORD,DWORD);
7069 BOOL32      WINAPI SetMenuDefaultItem32(HMENU32,UINT32,UINT32);
7070 #define     SetMenuDefaultItem WINELIB_NAME(SetMenuDefaultItem)
7071 BOOL32      WINAPI SetMenuItemInfo32A(HMENU32,UINT32,BOOL32,const MENUITEMINFO32A*);
7072 BOOL32      WINAPI SetMenuItemInfo32W(HMENU32,UINT32,BOOL32,const MENUITEMINFO32W*);
7073 #define     SetMenuItemInfo WINELIB_NAME_AW(SetMenuItemInfo)
7074 HMETAFILE32 WINAPI SetMetaFileBitsEx(UINT32,const BYTE*);
7075 BOOL32      WINAPI SetPriorityClass(HANDLE32,DWORD);
7076 BOOL32      WINAPI SetStdHandle(DWORD,HANDLE32);
7077 BOOL32      WINAPI SetSystemPowerState(BOOL32,BOOL32);
7078 BOOL32      WINAPI SetSystemTime(const SYSTEMTIME*);
7079 BOOL32      WINAPI SetThreadPriority(HANDLE32,INT32);
7080 BOOL32      WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
7081 BOOL32      WINAPI SetWindowContextHelpId(HWND32,DWORD);
7082 BOOL32      WINAPI SetWorldTransform(HDC32,const XFORM*);
7083 VOID        WINAPI Sleep(DWORD);
7084 DWORD       WINAPI SleepEx(DWORD,BOOL32);
7085 BOOL32      WINAPI StartService32A(HANDLE32,DWORD,LPCSTR*);
7086 BOOL32      WINAPI StartService32W(HANDLE32,DWORD,LPCWSTR*);
7087 #define     StartService WINELIB_NAME_AW(StartService)
7088 DWORD       WINAPI SuspendThread(HANDLE32);
7089 BOOL32      WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
7090 WORD        WINAPI TileWindows (HWND32, UINT32, const LPRECT32,
7091                                 UINT32, const HWND32 *);
7092 BOOL32      WINAPI TrackPopupMenuEx(HMENU32,UINT32,INT32,INT32,HWND32,
7093                                     LPTPMPARAMS);
7094 DWORD       WINAPI TlsAlloc(void);
7095 BOOL32      WINAPI TlsFree(DWORD);
7096 LPVOID      WINAPI TlsGetValue(DWORD);
7097 BOOL32      WINAPI TlsSetValue(DWORD,LPVOID);
7098 BOOL32      WINAPI TranslateCharsetInfo(LPDWORD,LPCHARSETINFO,DWORD);
7099 VOID        WINAPI UnMapLS(SEGPTR);
7100 BOOL32      WINAPI UnlockFile(HFILE32,DWORD,DWORD,DWORD,DWORD);
7101 BOOL32      WINAPI UnmapViewOfFile(LPVOID);
7102 LPVOID      WINAPI VirtualAlloc(LPVOID,DWORD,DWORD,DWORD);
7103 BOOL32      WINAPI VirtualFree(LPVOID,DWORD,DWORD);
7104 BOOL32      WINAPI VirtualLock(LPVOID,DWORD);
7105 BOOL32      WINAPI VirtualProtect(LPVOID,DWORD,DWORD,LPDWORD);
7106 BOOL32      WINAPI VirtualProtectEx(HANDLE32,LPVOID,DWORD,DWORD,LPDWORD);
7107 DWORD       WINAPI VirtualQuery(LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
7108 DWORD       WINAPI VirtualQueryEx(HANDLE32,LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
7109 BOOL32      WINAPI VirtualUnlock(LPVOID,DWORD);
7110 BOOL32      WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
7111 DWORD       WINAPI WaitForInputIdle(HANDLE32,DWORD);
7112 DWORD       WINAPI WaitForMultipleObjects(DWORD,const HANDLE32*,BOOL32,DWORD);
7113 DWORD       WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE32*,BOOL32,DWORD,BOOL32);
7114 DWORD       WINAPI WaitForSingleObject(HANDLE32,DWORD);
7115 DWORD       WINAPI WaitForSingleObjectEx(HANDLE32,DWORD,BOOL32);
7116 UINT32      WINAPI WNetAddConnection2_32A(LPNETRESOURCE32A,LPCSTR,LPCSTR,DWORD);
7117 UINT32      WINAPI WNetAddConnection2_32W(LPNETRESOURCE32W,LPCWSTR,LPCWSTR,DWORD);
7118 #define     WNetAddConnection2 WINELIB_NAME_AW(WNetAddConnection2_)
7119 UINT32      WINAPI WNetAddConnection3_32A(HWND32,LPNETRESOURCE32A,LPCSTR,LPCSTR,DWORD);
7120 UINT32      WINAPI WNetAddConnection3_32W(HWND32,LPNETRESOURCE32W,LPCWSTR,LPCWSTR,DWORD);
7121 #define     WNetAddConnection3 WINELIB_NAME_AW(WNetAddConnection3_)
7122 UINT32      WINAPI WNetConnectionDialog1_32(HWND32,DWORD);
7123 UINT32      WINAPI WNetConnectionDialog1_32A(LPCONNECTDLGSTRUCT32A);
7124 UINT32      WINAPI WNetConnectionDialog1_32W(LPCONNECTDLGSTRUCT32W);
7125 #define     WNetConnectionDialog1 WINELIB_NAME_AW(WNetConnectionDialog1_)
7126 UINT32      WINAPI MultinetGetErrorText32A(DWORD,DWORD,DWORD);
7127 UINT32      WINAPI MultinetGetErrorText32W(DWORD,DWORD,DWORD);
7128 #define     MultinetGetErrorText WINELIB_NAME_AW(MultinetGetErrorText_)
7129 SEGPTR      WINAPI WOWGlobalAllocLock16(DWORD,DWORD,HGLOBAL16*);
7130 DWORD       WINAPI WOWCallback16(FARPROC16,DWORD);
7131 BOOL32      WINAPI WOWCallback16Ex(FARPROC16,DWORD,DWORD,LPVOID,LPDWORD);
7132 HANDLE32    WINAPI WOWHandle32(WORD,WOW_HANDLE_TYPE);
7133 WORD        WINAPI WOWHandle16(HANDLE32,WOW_HANDLE_TYPE);
7134 BOOL32      WINAPI WriteConsole32A(HANDLE32,LPCVOID,DWORD,LPDWORD,LPVOID);
7135 BOOL32      WINAPI WriteConsole32W(HANDLE32,LPCVOID,DWORD,LPDWORD,LPVOID);
7136 #define     WriteConsole WINELIB_NAME_AW(WriteConsole)
7137 BOOL32      WINAPI WriteFile(HANDLE32,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
7138 VOID        WINAPI ZeroMemory(LPVOID,UINT32);
7139 #define     ZeroMemory RtlZeroMemory
7140 VOID        WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
7141 VOID        WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,DWORD);
7142
7143 /* Declarations for functions that are the same in Win16 and Win32 */
7144
7145 VOID        WINAPI CloseSound(VOID);
7146 VOID        WINAPI EndMenu(void);
7147 DWORD       WINAPI GetDialogBaseUnits(void);
7148 VOID        WINAPI GetKeyboardState(LPBYTE);
7149 DWORD       WINAPI GetLastError(void);
7150 DWORD       WINAPI GetMenuCheckMarkDimensions(void);
7151 LONG        WINAPI GetMessageExtraInfo(void);
7152 DWORD       WINAPI GetMessagePos(void);
7153 LONG        WINAPI GetMessageTime(void);
7154 LANGID      WINAPI GetSystemDefaultLangID(void);
7155 LCID        WINAPI GetSystemDefaultLCID(void);
7156 DWORD       WINAPI GetTickCount(void);
7157 LANGID      WINAPI GetUserDefaultLangID(void);
7158 LCID        WINAPI GetUserDefaultLCID(void);
7159 ATOM        WINAPI GlobalDeleteAtom(ATOM);
7160 VOID        WINAPI LZDone(void);
7161 VOID        WINAPI ScreenSwitchEnable(WORD);
7162 DWORD       WINAPI OemKeyScan(WORD);
7163 DWORD       WINAPI RegCloseKey(HKEY);
7164 DWORD       WINAPI RegFlushKey(HKEY);
7165 VOID        WINAPI ReleaseCapture(void);
7166 VOID        WINAPI SetKeyboardState(LPBYTE);
7167 VOID        WINAPI SetLastError(DWORD);
7168 VOID        WINAPI WaitMessage(VOID);
7169
7170
7171 /* Declarations for functions that change between Win16 and Win32 */
7172
7173 BOOL16      WINAPI AbortPath16(HDC16);
7174 BOOL32      WINAPI AbortPath32(HDC32);
7175 #define     AbortPath WINELIB_NAME(AbortPath)
7176 LRESULT     WINAPI AboutDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
7177 LRESULT     WINAPI AboutDlgProc32(HWND32,UINT32,WPARAM32,LPARAM);
7178 #define     AboutDlgProc WINELIB_NAME(AboutDlgProc)
7179 INT16       WINAPI AccessResource16(HINSTANCE16,HRSRC16);
7180 INT32       WINAPI AccessResource32(HMODULE32,HRSRC32);
7181 #define     AccessResource WINELIB_NAME(AccessResource)
7182 ATOM        WINAPI AddAtom16(SEGPTR);
7183 ATOM        WINAPI AddAtom32A(LPCSTR);
7184 ATOM        WINAPI AddAtom32W(LPCWSTR);
7185 #define     AddAtom WINELIB_NAME_AW(AddAtom)
7186 INT16       WINAPI AddFontResource16(LPCSTR);
7187 INT32       WINAPI AddFontResource32A(LPCSTR);
7188 INT32       WINAPI AddFontResource32W(LPCWSTR);
7189 #define     AddFontResource WINELIB_NAME_AW(AddFontResource)
7190 BOOL16      WINAPI AdjustWindowRect16(LPRECT16,DWORD,BOOL16);
7191 BOOL32      WINAPI AdjustWindowRect32(LPRECT32,DWORD,BOOL32);
7192 #define     AdjustWindowRect WINELIB_NAME(AdjustWindowRect)
7193 BOOL16      WINAPI AdjustWindowRectEx16(LPRECT16,DWORD,BOOL16,DWORD);
7194 BOOL32      WINAPI AdjustWindowRectEx32(LPRECT32,DWORD,BOOL32,DWORD);
7195 #define     AdjustWindowRectEx WINELIB_NAME(AdjustWindowRectEx)
7196 void        WINAPI AnimatePalette16(HPALETTE16,UINT16,UINT16,const PALETTEENTRY*);
7197 BOOL32      WINAPI AnimatePalette32(HPALETTE32,UINT32,UINT32,const PALETTEENTRY*);
7198 #define     AnimatePalette WINELIB_NAME(AnimatePalette)
7199 SEGPTR      WINAPI AnsiLower16(SEGPTR);
7200 #define     AnsiLower32A CharLower32A
7201 #define     AnsiLower32W CharLower32W
7202 #define     AnsiLower WINELIB_NAME_AW(AnsiLower)
7203 UINT16      WINAPI AnsiLowerBuff16(LPSTR,UINT16);
7204 #define     AnsiLowerBuff32A CharLowerBuff32A
7205 #define     AnsiLowerBuff32W CharLowerBuff32W
7206 #define     AnsiLowerBuff WINELIB_NAME_AW(AnsiLowerBuff)
7207 SEGPTR      WINAPI AnsiNext16(SEGPTR);
7208 #define     AnsiNext32A CharNext32A
7209 #define     AnsiNext32W CharNext32W
7210 #define     AnsiNext WINELIB_NAME_AW(AnsiNext)
7211 SEGPTR      WINAPI AnsiPrev16(SEGPTR,SEGPTR);
7212 #define     AnsiPrev32A CharPrev32A
7213 #define     AnsiPrev32W CharPrev32W
7214 #define     AnsiPrev WINELIB_NAME_AW(AnsiPrev)
7215 INT16       WINAPI AnsiToOem16(LPCSTR,LPSTR);
7216 #define     AnsiToOem32A CharToOem32A
7217 #define     AnsiToOem32W CharToOem32W
7218 #define     AnsiToOem WINELIB_NAME_AW(AnsiToOem)
7219 VOID        WINAPI AnsiToOemBuff16(LPCSTR,LPSTR,UINT16);
7220 #define     AnsiToOemBuff32A CharToOemBuff32A
7221 #define     AnsiToOemBuff32W CharToOemBuff32W
7222 #define     AnsiToOemBuff WINELIB_NAME_AW(AnsiToOemBuff)
7223 SEGPTR      WINAPI AnsiUpper16(SEGPTR);
7224 #define     AnsiUpper32A CharUpper32A
7225 #define     AnsiUpper32W CharUpper32W
7226 #define     AnsiUpper WINELIB_NAME_AW(AnsiUpper)
7227 UINT16      WINAPI AnsiUpperBuff16(LPSTR,UINT16);
7228 #define     AnsiUpperBuff32A CharUpperBuff32A
7229 #define     AnsiUpperBuff32W CharUpperBuff32W
7230 #define     AnsiUpperBuff WINELIB_NAME_AW(AnsiUpperBuff)
7231 BOOL16      WINAPI AnyPopup16(void);
7232 BOOL32      WINAPI AnyPopup32(void);
7233 #define     AnyPopup WINELIB_NAME(AnyPopup)
7234 BOOL16      WINAPI AppendMenu16(HMENU16,UINT16,UINT16,SEGPTR);
7235 BOOL32      WINAPI AppendMenu32A(HMENU32,UINT32,UINT32,LPCSTR);
7236 BOOL32      WINAPI AppendMenu32W(HMENU32,UINT32,UINT32,LPCWSTR);
7237 #define     AppendMenu WINELIB_NAME_AW(AppendMenu)
7238 BOOL16      WINAPI Arc16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
7239 BOOL32      WINAPI Arc32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
7240 #define     Arc WINELIB_NAME(Arc)
7241 UINT16      WINAPI ArrangeIconicWindows16(HWND16);
7242 UINT32      WINAPI ArrangeIconicWindows32(HWND32);
7243 #define     ArrangeIconicWindows WINELIB_NAME(ArrangeIconicWindows)
7244 HDWP16      WINAPI BeginDeferWindowPos16(INT16);
7245 HDWP32      WINAPI BeginDeferWindowPos32(INT32);
7246 #define     BeginDeferWindowPos WINELIB_NAME(BeginDeferWindowPos)
7247 HDC16       WINAPI BeginPaint16(HWND16,LPPAINTSTRUCT16);
7248 HDC32       WINAPI BeginPaint32(HWND32,LPPAINTSTRUCT32);
7249 #define     BeginPaint WINELIB_NAME(BeginPaint)
7250 BOOL16      WINAPI BeginPath16(HDC16);
7251 BOOL32      WINAPI BeginPath32(HDC32);
7252 #define     BeginPath WINELIB_NAME(BeginPath)
7253 BOOL16      WINAPI BitBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,DWORD);
7254 BOOL32      WINAPI BitBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,INT32,DWORD);
7255 #define     BitBlt WINELIB_NAME(BitBlt)
7256 BOOL16      WINAPI BringWindowToTop16(HWND16);
7257 BOOL32      WINAPI BringWindowToTop32(HWND32);
7258 #define     BringWindowToTop WINELIB_NAME(BringWindowToTop)
7259 BOOL16      WINAPI BuildCommDCB16(LPCSTR,LPDCB16);
7260 BOOL32      WINAPI BuildCommDCB32A(LPCSTR,LPDCB32);
7261 BOOL32      WINAPI BuildCommDCB32W(LPCWSTR,LPDCB32);
7262 #define     BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
7263 BOOL32      WINAPI BuildCommDCBAndTimeouts32A(LPCSTR,LPDCB32,LPCOMMTIMEOUTS);
7264 BOOL32      WINAPI BuildCommDCBAndTimeouts32W(LPCWSTR,LPDCB32,LPCOMMTIMEOUTS);
7265 #define     BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
7266 BOOL16      WINAPI CallMsgFilter16(SEGPTR,INT16);
7267 BOOL32      WINAPI CallMsgFilter32A(LPMSG32,INT32);
7268 BOOL32      WINAPI CallMsgFilter32W(LPMSG32,INT32);
7269 #define     CallMsgFilter WINELIB_NAME_AW(CallMsgFilter)
7270 LRESULT     WINAPI CallNextHookEx16(HHOOK,INT16,WPARAM16,LPARAM);
7271 LRESULT     WINAPI CallNextHookEx32(HHOOK,INT32,WPARAM32,LPARAM);
7272 #define     CallNextHookEx WINELIB_NAME(CallNextHookEx)
7273 LRESULT     WINAPI CallWindowProc16(WNDPROC16,HWND16,UINT16,WPARAM16,LPARAM);
7274 LRESULT     WINAPI CallWindowProc32A(WNDPROC32,HWND32,UINT32,WPARAM32,LPARAM);
7275 LRESULT     WINAPI CallWindowProc32W(WNDPROC32,HWND32,UINT32,WPARAM32,LPARAM);
7276 #define     CallWindowProc WINELIB_NAME_AW(CallWindowProc)
7277 BOOL16      WINAPI ChangeClipboardChain16(HWND16,HWND16);
7278 BOOL32      WINAPI ChangeClipboardChain32(HWND32,HWND32);
7279 #define     ChangeClipboardChain WINELIB_NAME(ChangeClipboardChain)
7280 BOOL16      WINAPI ChangeMenu16(HMENU16,UINT16,SEGPTR,UINT16,UINT16);
7281 BOOL32      WINAPI ChangeMenu32A(HMENU32,UINT32,LPCSTR,UINT32,UINT32);
7282 BOOL32      WINAPI ChangeMenu32W(HMENU32,UINT32,LPCWSTR,UINT32,UINT32);
7283 #define     ChangeMenu WINELIB_NAME_AW(ChangeMenu)
7284 LPSTR       WINAPI CharLower32A(LPSTR);
7285 LPWSTR      WINAPI CharLower32W(LPWSTR);
7286 #define     CharLower WINELIB_NAME_AW(CharLower)
7287 DWORD       WINAPI CharLowerBuff32A(LPSTR,DWORD);
7288 DWORD       WINAPI CharLowerBuff32W(LPWSTR,DWORD);
7289 #define     CharLowerBuff WINELIB_NAME_AW(CharLowerBuff)
7290 LPSTR       WINAPI CharNext32A(LPCSTR);
7291 LPWSTR      WINAPI CharNext32W(LPCWSTR);
7292 #define     CharNext WINELIB_NAME_AW(CharNext)
7293 LPSTR       WINAPI CharNextEx32A(WORD,LPCSTR,DWORD);
7294 LPWSTR      WINAPI CharNextEx32W(WORD,LPCWSTR,DWORD);
7295 #define     CharNextEx WINELIB_NAME_AW(CharNextEx)
7296 LPSTR       WINAPI CharPrev32A(LPCSTR,LPCSTR);
7297 LPWSTR      WINAPI CharPrev32W(LPCWSTR,LPCWSTR);
7298 #define     CharPrev WINELIB_NAME_AW(CharPrev)
7299 LPSTR       WINAPI CharPrevEx32A(WORD,LPCSTR,LPCSTR,DWORD);
7300 LPWSTR      WINAPI CharPrevEx32W(WORD,LPCWSTR,LPCWSTR,DWORD);
7301 #define     CharPrevEx WINELIB_NAME_AW(CharPrevEx)
7302 LPSTR       WINAPI CharUpper32A(LPSTR);
7303 LPWSTR      WINAPI CharUpper32W(LPWSTR);
7304 #define     CharUpper WINELIB_NAME_AW(CharUpper)
7305 DWORD       WINAPI CharUpperBuff32A(LPSTR,DWORD);
7306 DWORD       WINAPI CharUpperBuff32W(LPWSTR,DWORD);
7307 #define     CharUpperBuff WINELIB_NAME_AW(CharUpperBuff)
7308 BOOL32      WINAPI CharToOem32A(LPCSTR,LPSTR);
7309 BOOL32      WINAPI CharToOem32W(LPCWSTR,LPSTR);
7310 #define     CharToOem WINELIB_NAME_AW(CharToOem)
7311 BOOL32      WINAPI CharToOemBuff32A(LPCSTR,LPSTR,DWORD);
7312 BOOL32      WINAPI CharToOemBuff32W(LPCWSTR,LPSTR,DWORD);
7313 #define     CharToOemBuff WINELIB_NAME_AW(CharToOemBuff)
7314 BOOL16      WINAPI CheckDlgButton16(HWND16,INT16,UINT16);
7315 BOOL32      WINAPI CheckDlgButton32(HWND32,INT32,UINT32);
7316 #define     CheckDlgButton WINELIB_NAME(CheckDlgButton)
7317 BOOL16      WINAPI CheckMenuItem16(HMENU16,UINT16,UINT16);
7318 DWORD       WINAPI CheckMenuItem32(HMENU32,UINT32,UINT32);
7319 #define     CheckMenuItem WINELIB_NAME(CheckMenuItem)
7320 BOOL16      WINAPI CheckMenuRadioButton16(HMENU16,UINT16,UINT16,UINT16,BOOL16);
7321 BOOL32      WINAPI CheckMenuRadioButton32(HMENU32,UINT32,UINT32,UINT32,BOOL32);
7322 #define     CheckMenuRadioButton WINELIB_NAME(CheckMenuRadioButton)
7323 BOOL16      WINAPI CheckMenuRadioItem16(HMENU16,UINT16,UINT16,UINT16,UINT16);
7324 BOOL32      WINAPI CheckMenuRadioItem32(HMENU32,UINT32,UINT32,UINT32,UINT32);
7325 #define     CheckMenuRadioItem WINELIB_NAME(CheckMenuRadioItem)
7326 BOOL16      WINAPI CheckRadioButton16(HWND16,UINT16,UINT16,UINT16);
7327 BOOL32      WINAPI CheckRadioButton32(HWND32,UINT32,UINT32,UINT32);
7328 #define     CheckRadioButton WINELIB_NAME(CheckRadioButton)
7329 HWND16      WINAPI ChildWindowFromPoint16(HWND16,POINT16);
7330 HWND32      WINAPI ChildWindowFromPoint32(HWND32,POINT32);
7331 #define     ChildWindowFromPoint WINELIB_NAME(ChildWindowFromPoint)
7332 INT32       WINAPI ChoosePixelFormat(HDC32,const PIXELFORMATDESCRIPTOR*);
7333 BOOL16      WINAPI Chord16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
7334 BOOL32      WINAPI Chord32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
7335 #define     Chord WINELIB_NAME(Chord)
7336 INT16       WINAPI ClearCommBreak16(INT16);
7337 BOOL32      WINAPI ClearCommBreak32(INT32);
7338 #define     ClearCommBreak WINELIB_NAME(ClearCommBreak)
7339 VOID        WINAPI ClientToScreen16(HWND16,LPPOINT16);
7340 BOOL32      WINAPI ClientToScreen32(HWND32,LPPOINT32);
7341 #define     ClientToScreen WINELIB_NAME(ClientToScreen)
7342 BOOL16      WINAPI ClipCursor16(const RECT16*);
7343 BOOL32      WINAPI ClipCursor32(const RECT32*);
7344 #define     ClipCursor WINELIB_NAME(ClipCursor)
7345 BOOL16      WINAPI CloseClipboard16(void);
7346 BOOL32      WINAPI CloseClipboard32(void);
7347 #define     CloseClipboard WINELIB_NAME(CloseClipboard)
7348 BOOL16      WINAPI CloseFigure16(HDC16);
7349 BOOL32      WINAPI CloseFigure32(HDC32);
7350 #define     CloseFigure WINELIB_NAME(CloseFigure)
7351 HMETAFILE16 WINAPI CloseMetaFile16(HDC16);
7352 HMETAFILE32 WINAPI CloseMetaFile32(HDC32);
7353 #define     CloseMetaFile WINELIB_NAME(CloseMetaFile)
7354 BOOL16      WINAPI CloseWindow16(HWND16);
7355 BOOL32      WINAPI CloseWindow32(HWND32);
7356 #define     CloseWindow WINELIB_NAME(CloseWindow)
7357 INT16       WINAPI CombineRgn16(HRGN16,HRGN16,HRGN16,INT16);
7358 INT32       WINAPI CombineRgn32(HRGN32,HRGN32,HRGN32,INT32);
7359 #define     CombineRgn WINELIB_NAME(CombineRgn)
7360 UINT16      WINAPI CompareString16(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
7361 UINT32      WINAPI CompareString32A(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
7362 UINT32      WINAPI CompareString32W(DWORD,DWORD,LPCWSTR,DWORD,LPCWSTR,DWORD);
7363 #define     CompareString WINELIB_NAME_AW(CompareString)
7364 HCURSOR16   WINAPI CopyCursor16(HINSTANCE16,HCURSOR16);
7365 #define     CopyCursor32(cur) ((HCURSOR32)CopyIcon32((HICON32)(cur)))
7366 #define     CopyCursor WINELIB_NAME(CopyCursor)
7367 HICON16     WINAPI CopyIcon16(HINSTANCE16,HICON16);
7368 HICON32     WINAPI CopyIcon32(HICON32);
7369 #define     CopyIcon WINELIB_NAME(CopyIcon)
7370 HICON16     WINAPI CopyImage16(HANDLE16,UINT16,INT16,INT16,UINT16);
7371 HICON32     WINAPI CopyImage32(HANDLE32,UINT32,INT32,INT32,UINT32);
7372 #define     CopyImage WINELIB_NAME(CopyImage)
7373 LONG        WINAPI CopyLZFile16(HFILE16,HFILE16);
7374 LONG        WINAPI CopyLZFile32(HFILE32,HFILE32);
7375 #define     CopyLZFile WINELIB_NAME(CopyLZFile)
7376 HMETAFILE16 WINAPI CopyMetaFile16(HMETAFILE16,LPCSTR);
7377 HMETAFILE32 WINAPI CopyMetaFile32A(HMETAFILE32,LPCSTR);
7378 HMETAFILE32 WINAPI CopyMetaFile32W(HMETAFILE32,LPCWSTR);
7379 #define     CopyMetaFile WINELIB_NAME_AW(CopyMetaFile)
7380 BOOL16      WINAPI CopyRect16(RECT16*,const RECT16*);
7381 BOOL32      WINAPI CopyRect32(RECT32*,const RECT32*);
7382 #define     CopyRect WINELIB_NAME(CopyRect)
7383 INT16       WINAPI CountClipboardFormats16(void);
7384 INT32       WINAPI CountClipboardFormats32(void);
7385 #define     CountClipboardFormats WINELIB_NAME(CountClipboardFormats)
7386 INT16       WINAPI CountVoiceNotes16(INT16);
7387 DWORD       WINAPI CountVoiceNotes32(DWORD);
7388 #define     CountVoiceNotes WINELIB_NAME(CountVoiceNotes)
7389 HBITMAP16   WINAPI CreateBitmap16(INT16,INT16,UINT16,UINT16,LPCVOID);
7390 HBITMAP32   WINAPI CreateBitmap32(INT32,INT32,UINT32,UINT32,LPCVOID);
7391 #define     CreateBitmap WINELIB_NAME(CreateBitmap)
7392 HBITMAP16   WINAPI CreateBitmapIndirect16(const BITMAP16*);
7393 HBITMAP32   WINAPI CreateBitmapIndirect32(const BITMAP32*);
7394 #define     CreateBitmapIndirect WINELIB_NAME(CreateBitmapIndirect)
7395 HBRUSH16    WINAPI CreateBrushIndirect16(const LOGBRUSH16*);
7396 HBRUSH32    WINAPI CreateBrushIndirect32(const LOGBRUSH32*);
7397 #define     CreateBrushIndirect WINELIB_NAME(CreateBrushIndirect)
7398 VOID        WINAPI CreateCaret16(HWND16,HBITMAP16,INT16,INT16);
7399 BOOL32      WINAPI CreateCaret32(HWND32,HBITMAP32,INT32,INT32);
7400 #define     CreateCaret WINELIB_NAME(CreateCaret)
7401 HBITMAP16   WINAPI CreateCompatibleBitmap16(HDC16,INT16,INT16);
7402 HBITMAP32   WINAPI CreateCompatibleBitmap32(HDC32,INT32,INT32);
7403 #define     CreateCompatibleBitmap WINELIB_NAME(CreateCompatibleBitmap)
7404 HDC16       WINAPI CreateCompatibleDC16(HDC16);
7405 HDC32       WINAPI CreateCompatibleDC32(HDC32);
7406 #define     CreateCompatibleDC WINELIB_NAME(CreateCompatibleDC)
7407 HCURSOR16   WINAPI CreateCursor16(HINSTANCE16,INT16,INT16,INT16,INT16,LPCVOID,LPCVOID);
7408 HCURSOR32   WINAPI CreateCursor32(HINSTANCE32,INT32,INT32,INT32,INT32,LPCVOID,LPCVOID);
7409 #define     CreateCursor WINELIB_NAME(CreateCursor)
7410 HDC16       WINAPI CreateDC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
7411 HDC32       WINAPI CreateDC32A(LPCSTR,LPCSTR,LPCSTR,const DEVMODE32A*);
7412 HDC32       WINAPI CreateDC32W(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODE32W*);
7413 #define     CreateDC WINELIB_NAME_AW(CreateDC)
7414 HWND16      WINAPI CreateDialog16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
7415 #define     CreateDialog32A(inst,ptr,hwnd,dlg) \
7416            CreateDialogParam32A(inst,ptr,hwnd,dlg,0)
7417 #define     CreateDialog32W(inst,ptr,hwnd,dlg) \
7418            CreateDialogParam32W(inst,ptr,hwnd,dlg,0)
7419 #define     CreateDialog WINELIB_NAME_AW(CreateDialog)
7420 HWND16      WINAPI CreateDialogIndirect16(HINSTANCE16,LPCVOID,HWND16,DLGPROC16);
7421 #define     CreateDialogIndirect32A(inst,ptr,hwnd,dlg) \
7422            CreateDialogIndirectParam32A(inst,ptr,hwnd,dlg,0)
7423 #define     CreateDialogIndirect32W(inst,ptr,hwnd,dlg) \
7424            CreateDialogIndirectParam32W(inst,ptr,hwnd,dlg,0)
7425 #define     CreateDialogIndirect WINELIB_NAME_AW(CreateDialogIndirect)
7426 HWND16      WINAPI CreateDialogIndirectParam16(HINSTANCE16,LPCVOID,HWND16,
7427                                                DLGPROC16,LPARAM);
7428 HWND32      WINAPI CreateDialogIndirectParam32A(HINSTANCE32,LPCVOID,HWND32,
7429                                                 DLGPROC32,LPARAM);
7430 HWND32      WINAPI CreateDialogIndirectParam32W(HINSTANCE32,LPCVOID,HWND32,
7431                                                 DLGPROC32,LPARAM);
7432 #define     CreateDialogIndirectParam WINELIB_NAME_AW(CreateDialogIndirectParam)
7433 HWND16      WINAPI CreateDialogParam16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16,LPARAM);
7434 HWND32      WINAPI CreateDialogParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
7435 HWND32      WINAPI CreateDialogParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
7436 #define     CreateDialogParam WINELIB_NAME_AW(CreateDialogParam)
7437 HBITMAP16   WINAPI CreateDIBitmap16(HDC16,const BITMAPINFOHEADER*,DWORD,
7438                                     LPCVOID,const BITMAPINFO*,UINT16);
7439 HBITMAP32   WINAPI CreateDIBitmap32(HDC32,const BITMAPINFOHEADER*,DWORD,
7440                                     LPCVOID,const BITMAPINFO*,UINT32);
7441 #define     CreateDIBitmap WINELIB_NAME(CreateDIBitmap)
7442 HBRUSH16    WINAPI CreateDIBPatternBrush16(HGLOBAL16,UINT16);
7443 HBRUSH32    WINAPI CreateDIBPatternBrush32(HGLOBAL32,UINT32);
7444 #define     CreateDIBPatternBrush WINELIB_NAME(CreateDIBPatternBrush)
7445 HBITMAP16   WINAPI CreateDIBSection16 (HDC16, BITMAPINFO *, UINT16,
7446                                        LPVOID **, HANDLE32, DWORD offset);
7447 HBITMAP32   WINAPI CreateDIBSection32 (HDC32, BITMAPINFO *, UINT32,
7448                                        LPVOID **, HANDLE32, DWORD offset);
7449 #define     CreateDIBSection WINELIB_NAME(CreateDIBSection)
7450 BOOL16      WINAPI CreateDirectory16(LPCSTR,LPVOID);
7451 BOOL32      WINAPI CreateDirectory32A(LPCSTR,LPSECURITY_ATTRIBUTES);
7452 BOOL32      WINAPI CreateDirectory32W(LPCWSTR,LPSECURITY_ATTRIBUTES);
7453 #define     CreateDirectory WINELIB_NAME_AW(CreateDirectory)
7454 BOOL32      WINAPI CreateDirectoryEx32A(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
7455 BOOL32      WINAPI CreateDirectoryEx32W(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
7456 #define     CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
7457 HBITMAP16   WINAPI CreateDiscardableBitmap16(HDC16,INT16,INT16);
7458 HBITMAP32   WINAPI CreateDiscardableBitmap32(HDC32,INT32,INT32);
7459 #define     CreateDiscardableBitmap WINELIB_NAME(CreateDiscardableBitmap)
7460 HRGN16      WINAPI CreateEllipticRgn16(INT16,INT16,INT16,INT16);
7461 HRGN32      WINAPI CreateEllipticRgn32(INT32,INT32,INT32,INT32);
7462 #define     CreateEllipticRgn WINELIB_NAME(CreateEllipticRgn)
7463 HRGN16      WINAPI CreateEllipticRgnIndirect16(const RECT16 *);
7464 HRGN32      WINAPI CreateEllipticRgnIndirect32(const RECT32 *);
7465 #define     CreateEllipticRgnIndirect WINELIB_NAME(CreateEllipticRgnIndirect)
7466 HFONT16     WINAPI CreateFont16(INT16,INT16,INT16,INT16,INT16,BYTE,BYTE,BYTE,
7467                                 BYTE,BYTE,BYTE,BYTE,BYTE,LPCSTR);
7468 HFONT32     WINAPI CreateFont32A(INT32,INT32,INT32,INT32,INT32,DWORD,DWORD,
7469                                  DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
7470 HFONT32     WINAPI CreateFont32W(INT32,INT32,INT32,INT32,INT32,DWORD,DWORD,
7471                                  DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
7472 #define     CreateFont WINELIB_NAME_AW(CreateFont)
7473 HFONT16     WINAPI CreateFontIndirect16(const LOGFONT16*);
7474 HFONT32     WINAPI CreateFontIndirect32A(const LOGFONT32A*);
7475 HFONT32     WINAPI CreateFontIndirect32W(const LOGFONT32W*);
7476 #define     CreateFontIndirect WINELIB_NAME_AW(CreateFontIndirect)
7477 HBRUSH16    WINAPI CreateHatchBrush16(INT16,COLORREF);
7478 HBRUSH32    WINAPI CreateHatchBrush32(INT32,COLORREF);
7479 #define     CreateHatchBrush WINELIB_NAME(CreateHatchBrush)
7480 HDC16       WINAPI CreateIC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
7481 HDC32       WINAPI CreateIC32A(LPCSTR,LPCSTR,LPCSTR,const DEVMODE32A*);
7482 HDC32       WINAPI CreateIC32W(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODE32W*);
7483 #define     CreateIC WINELIB_NAME_AW(CreateIC)
7484 HICON16     WINAPI CreateIcon16(HINSTANCE16,INT16,INT16,BYTE,BYTE,LPCVOID,LPCVOID);
7485 HICON32     WINAPI CreateIcon32(HINSTANCE32,INT32,INT32,BYTE,BYTE,LPCVOID,LPCVOID);
7486 #define     CreateIcon WINELIB_NAME(CreateIcon)
7487 HICON16     WINAPI CreateIconFromResource16(LPBYTE,UINT16,BOOL16,DWORD);
7488 HICON32     WINAPI CreateIconFromResource32(LPBYTE,UINT32,BOOL32,DWORD);
7489 #define     CreateIconFromResource WINELIB_NAME(CreateIconFromResource)
7490 HICON16     WINAPI CreateIconFromResourceEx16(LPBYTE,UINT16,BOOL16,DWORD,INT16,INT16,UINT16);
7491 HICON32     WINAPI CreateIconFromResourceEx32(LPBYTE,UINT32,BOOL32,DWORD,INT32,INT32,UINT32);
7492 #define     CreateIconFromResourceEx WINELIB_NAME(CreateIconFromResourceEx)
7493 HMENU16     WINAPI CreateMenu16(void);
7494 HMENU32     WINAPI CreateMenu32(void);
7495 #define     CreateMenu WINELIB_NAME(CreateMenu)
7496 HDC16       WINAPI CreateMetaFile16(LPCSTR);
7497 HDC32       WINAPI CreateMetaFile32A(LPCSTR);
7498 HDC32       WINAPI CreateMetaFile32W(LPCWSTR);
7499 #define     CreateMetaFile WINELIB_NAME_AW(CreateMetaFile)
7500 HPALETTE16  WINAPI CreatePalette16(const LOGPALETTE*);
7501 HPALETTE32  WINAPI CreatePalette32(const LOGPALETTE*);
7502 #define     CreatePalette WINELIB_NAME(CreatePalette)
7503 HBRUSH16    WINAPI CreatePatternBrush16(HBITMAP16);
7504 HBRUSH32    WINAPI CreatePatternBrush32(HBITMAP32);
7505 #define     CreatePatternBrush WINELIB_NAME(CreatePatternBrush)
7506 HPEN16      WINAPI CreatePen16(INT16,INT16,COLORREF);
7507 HPEN32      WINAPI CreatePen32(INT32,INT32,COLORREF);
7508 #define     CreatePen WINELIB_NAME(CreatePen)
7509 HPEN16      WINAPI CreatePenIndirect16(const LOGPEN16*);
7510 HPEN32      WINAPI CreatePenIndirect32(const LOGPEN32*);
7511 #define     CreatePenIndirect WINELIB_NAME(CreatePenIndirect)
7512 HRGN16      WINAPI CreatePolyPolygonRgn16(const POINT16*,const INT16*,INT16,INT16);
7513 HRGN32      WINAPI CreatePolyPolygonRgn32(const POINT32*,const INT32*,INT32,INT32);
7514 #define     CreatePolyPolygonRgn WINELIB_NAME(CreatePolyPolygonRgn)
7515 HRGN16      WINAPI CreatePolygonRgn16(const POINT16*,INT16,INT16);
7516 HRGN32      WINAPI CreatePolygonRgn32(const POINT32*,INT32,INT32);
7517 #define     CreatePolygonRgn WINELIB_NAME(CreatePolygonRgn)
7518 HMENU16     WINAPI CreatePopupMenu16(void);
7519 HMENU32     WINAPI CreatePopupMenu32(void);
7520 #define     CreatePopupMenu WINELIB_NAME(CreatePopupMenu)
7521 HRGN16      WINAPI CreateRectRgn16(INT16,INT16,INT16,INT16);
7522 HRGN32      WINAPI CreateRectRgn32(INT32,INT32,INT32,INT32);
7523 #define     CreateRectRgn WINELIB_NAME(CreateRectRgn)
7524 HRGN16      WINAPI CreateRectRgnIndirect16(const RECT16*);
7525 HRGN32      WINAPI CreateRectRgnIndirect32(const RECT32*);
7526 #define     CreateRectRgnIndirect WINELIB_NAME(CreateRectRgnIndirect)
7527 HRGN16      WINAPI CreateRoundRectRgn16(INT16,INT16,INT16,INT16,INT16,INT16);
7528 HRGN32      WINAPI CreateRoundRectRgn32(INT32,INT32,INT32,INT32,INT32,INT32);
7529 #define     CreateRoundRectRgn WINELIB_NAME(CreateRoundRectRgn)
7530 BOOL16      WINAPI CreateScalableFontResource16(UINT16,LPCSTR,LPCSTR,LPCSTR);
7531 BOOL32      WINAPI CreateScalableFontResource32A(DWORD,LPCSTR,LPCSTR,LPCSTR);
7532 BOOL32      WINAPI CreateScalableFontResource32W(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
7533 #define     CreateScalableFontResource WINELIB_NAME_AW(CreateScalableFontResource)
7534 HBRUSH16    WINAPI CreateSolidBrush16(COLORREF);
7535 HBRUSH32    WINAPI CreateSolidBrush32(COLORREF);
7536 #define     CreateSolidBrush WINELIB_NAME(CreateSolidBrush)
7537 HWND16      WINAPI CreateWindow16(LPCSTR,LPCSTR,DWORD,INT16,INT16,INT16,INT16,
7538                                   HWND16,HMENU16,HINSTANCE16,LPVOID);
7539 #define     CreateWindow32A(className,titleName,style,x,y,width,height,\
7540                             parent,menu,instance,param) \
7541             CreateWindowEx32A(0,className,titleName,style,x,y,width,height,\
7542                               parent,menu,instance,param)
7543 #define     CreateWindow32W(className,titleName,style,x,y,width,height,\
7544                             parent,menu,instance,param) \
7545             CreateWindowEx32W(0,className,titleName,style,x,y,width,height,\
7546                               parent,menu,instance,param)
7547 #define     CreateWindow WINELIB_NAME_AW(CreateWindow)
7548 HWND16      WINAPI CreateWindowEx16(DWORD,LPCSTR,LPCSTR,DWORD,INT16,INT16,
7549                                 INT16,INT16,HWND16,HMENU16,HINSTANCE16,LPVOID);
7550 HWND32      WINAPI CreateWindowEx32A(DWORD,LPCSTR,LPCSTR,DWORD,INT32,INT32,
7551                                 INT32,INT32,HWND32,HMENU32,HINSTANCE32,LPVOID);
7552 HWND32      WINAPI CreateWindowEx32W(DWORD,LPCWSTR,LPCWSTR,DWORD,INT32,INT32,
7553                                 INT32,INT32,HWND32,HMENU32,HINSTANCE32,LPVOID);
7554 #define     CreateWindowEx WINELIB_NAME_AW(CreateWindowEx)
7555 HWND32      WINAPI CreateMDIWindow32A(LPCSTR,LPCSTR,DWORD,INT32,INT32,
7556                                 INT32,INT32,HWND32,HINSTANCE32,LPARAM);
7557 HWND32      WINAPI CreateMDIWindow32W(LPCWSTR,LPCWSTR,DWORD,INT32,INT32,
7558                                 INT32,INT32,HWND32,HINSTANCE32,LPARAM);
7559 #define     CreateMDIWindow WINELIB_NAME_AW(CreateMDIWindow)
7560 LRESULT     WINAPI DefDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
7561 LRESULT     WINAPI DefDlgProc32A(HWND32,UINT32,WPARAM32,LPARAM);
7562 LRESULT     WINAPI DefDlgProc32W(HWND32,UINT32,WPARAM32,LPARAM);
7563 #define     DefDlgProc WINELIB_NAME_AW(DefDlgProc)
7564 HDWP16      WINAPI DeferWindowPos16(HDWP16,HWND16,HWND16,INT16,INT16,INT16,INT16,UINT16);
7565 HDWP32      WINAPI DeferWindowPos32(HDWP32,HWND32,HWND32,INT32,INT32,INT32,INT32,UINT32);
7566 #define     DeferWindowPos WINELIB_NAME(DeferWindowPos)
7567 LRESULT     WINAPI DefFrameProc16(HWND16,HWND16,UINT16,WPARAM16,LPARAM);
7568 LRESULT     WINAPI DefFrameProc32A(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
7569 LRESULT     WINAPI DefFrameProc32W(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
7570 #define     DefFrameProc WINELIB_NAME_AW(DefFrameProc)
7571 LRESULT     WINAPI DefHookProc16(INT16,WPARAM16,LPARAM,HHOOK*);
7572 #define     DefHookProc32(code,wparam,lparam,phhook) \
7573             CallNextHookEx32(*(phhook),code,wparam,lparam)
7574 #define     DefHookProc WINELIB_NAME(DefHookProc)
7575 LRESULT     WINAPI DefMDIChildProc16(HWND16,UINT16,WPARAM16,LPARAM);
7576 LRESULT     WINAPI DefMDIChildProc32A(HWND32,UINT32,WPARAM32,LPARAM);
7577 LRESULT     WINAPI DefMDIChildProc32W(HWND32,UINT32,WPARAM32,LPARAM);
7578 #define     DefMDIChildProc WINELIB_NAME_AW(DefMDIChildProc)
7579 LRESULT     WINAPI DefWindowProc16(HWND16,UINT16,WPARAM16,LPARAM);
7580 LRESULT     WINAPI DefWindowProc32A(HWND32,UINT32,WPARAM32,LPARAM);
7581 LRESULT     WINAPI DefWindowProc32W(HWND32,UINT32,WPARAM32,LPARAM);
7582 #define     DefWindowProc WINELIB_NAME_AW(DefWindowProc)
7583 BOOL16      WINAPI DefineHandleTable16(WORD);
7584 #define     DefineHandleTable32(w) ((w),TRUE)
7585 #define     DefineHandleTable WINELIB_NAME(DefineHandleTable)
7586 ATOM        WINAPI DeleteAtom16(ATOM);
7587 ATOM        WINAPI DeleteAtom32(ATOM);
7588 #define     DeleteAtom WINELIB_NAME(DeleteAtom)
7589 BOOL16      WINAPI DeleteDC16(HDC16);
7590 BOOL32      WINAPI DeleteDC32(HDC32);
7591 #define     DeleteDC WINELIB_NAME(DeleteDC)
7592 BOOL16      WINAPI DeleteFile16(LPCSTR);
7593 BOOL32      WINAPI DeleteFile32A(LPCSTR);
7594 BOOL32      WINAPI DeleteFile32W(LPCWSTR);
7595 #define     DeleteFile WINELIB_NAME_AW(DeleteFile)
7596 BOOL16      WINAPI DeleteMenu16(HMENU16,UINT16,UINT16);
7597 BOOL32      WINAPI DeleteMenu32(HMENU32,UINT32,UINT32);
7598 #define     DeleteMenu WINELIB_NAME(DeleteMenu)
7599 BOOL16      WINAPI DeleteMetaFile16(HMETAFILE16);
7600 BOOL32      WINAPI DeleteMetaFile32(HMETAFILE32);
7601 #define     DeleteMetaFile WINELIB_NAME(DeleteMetaFile)
7602 BOOL16      WINAPI DeleteObject16(HGDIOBJ16);
7603 BOOL32      WINAPI DeleteObject32(HGDIOBJ32);
7604 #define     DeleteObject WINELIB_NAME(DeleteObject)
7605 INT32       WINAPI DescribePixelFormat(HDC32,int,UINT32,
7606                                        LPPIXELFORMATDESCRIPTOR);
7607 VOID        WINAPI DestroyCaret16(void);
7608 BOOL32      WINAPI DestroyCaret32(void);
7609 #define     DestroyCaret WINELIB_NAME(DestroyCaret)
7610 BOOL16      WINAPI DestroyCursor16(HCURSOR16);
7611 BOOL32      WINAPI DestroyCursor32(HCURSOR32);
7612 #define     DestroyCursor WINELIB_NAME(DestroyCursor)
7613 BOOL16      WINAPI DestroyIcon16(HICON16);
7614 BOOL32      WINAPI DestroyIcon32(HICON32);
7615 #define     DestroyIcon WINELIB_NAME(DestroyIcon)
7616 BOOL16      WINAPI DestroyMenu16(HMENU16);
7617 BOOL32      WINAPI DestroyMenu32(HMENU32);
7618 #define     DestroyMenu WINELIB_NAME(DestroyMenu)
7619 BOOL16      WINAPI DestroyWindow16(HWND16);
7620 BOOL32      WINAPI DestroyWindow32(HWND32);
7621 #define     DestroyWindow WINELIB_NAME(DestroyWindow)
7622 INT16       WINAPI DialogBox16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
7623 #define     DialogBox32A(inst,template,owner,func) \
7624             DialogBoxParam32A(inst,template,owner,func,0)
7625 #define     DialogBox32W(inst,template,owner,func) \
7626             DialogBoxParam32W(inst,template,owner,func,0)
7627 #define     DialogBox WINELIB_NAME_AW(DialogBox)
7628 INT16       WINAPI DialogBoxIndirect16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16);
7629 #define     DialogBoxIndirect32A(inst,template,owner,func) \
7630             DialogBoxIndirectParam32A(inst,template,owner,func,0)
7631 #define     DialogBoxIndirect32W(inst,template,owner,func) \
7632             DialogBoxIndirectParam32W(inst,template,owner,func,0)
7633 #define     DialogBoxIndirect WINELIB_NAME_AW(DialogBoxIndirect)
7634 INT16       WINAPI DialogBoxIndirectParam16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16,LPARAM);
7635 INT32       WINAPI DialogBoxIndirectParam32A(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
7636 INT32       WINAPI DialogBoxIndirectParam32W(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
7637 #define     DialogBoxIndirectParam WINELIB_NAME_AW(DialogBoxIndirectParam)
7638 INT16       WINAPI DialogBoxParam16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16,LPARAM);
7639 INT32       WINAPI DialogBoxParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
7640 INT32       WINAPI DialogBoxParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
7641 #define     DialogBoxParam WINELIB_NAME_AW(DialogBoxParam)
7642 LONG        WINAPI DispatchMessage16(const MSG16*);
7643 LONG        WINAPI DispatchMessage32A(const MSG32*);
7644 LONG        WINAPI DispatchMessage32W(const MSG32*);
7645 #define     DispatchMessage WINELIB_NAME_AW(DispatchMessage)
7646 INT16       WINAPI DlgDirList16(HWND16,LPSTR,INT16,INT16,UINT16);
7647 INT32       WINAPI DlgDirList32A(HWND32,LPSTR,INT32,INT32,UINT32);
7648 INT32       WINAPI DlgDirList32W(HWND32,LPWSTR,INT32,INT32,UINT32);
7649 #define     DlgDirList WINELIB_NAME_AW(DlgDirList)
7650 INT16       WINAPI DlgDirListComboBox16(HWND16,LPSTR,INT16,INT16,UINT16);
7651 INT32       WINAPI DlgDirListComboBox32A(HWND32,LPSTR,INT32,INT32,UINT32);
7652 INT32       WINAPI DlgDirListComboBox32W(HWND32,LPWSTR,INT32,INT32,UINT32);
7653 #define     DlgDirListComboBox WINELIB_NAME_AW(DlgDirListComboBox)
7654 BOOL16      WINAPI DlgDirSelectComboBoxEx16(HWND16,LPSTR,INT16,INT16);
7655 BOOL32      WINAPI DlgDirSelectComboBoxEx32A(HWND32,LPSTR,INT32,INT32);
7656 BOOL32      WINAPI DlgDirSelectComboBoxEx32W(HWND32,LPWSTR,INT32,INT32);
7657 #define     DlgDirSelectComboBoxEx WINELIB_NAME_AW(DlgDirSelectComboBoxEx)
7658 BOOL16      WINAPI DlgDirSelectEx16(HWND16,LPSTR,INT16,INT16);
7659 BOOL32      WINAPI DlgDirSelectEx32A(HWND32,LPSTR,INT32,INT32);
7660 BOOL32      WINAPI DlgDirSelectEx32W(HWND32,LPWSTR,INT32,INT32);
7661 #define     DlgDirSelectEx WINELIB_NAME_AW(DlgDirSelectEx)
7662 BOOL16      WINAPI DPtoLP16(HDC16,LPPOINT16,INT16);
7663 BOOL32      WINAPI DPtoLP32(HDC32,LPPOINT32,INT32);
7664 #define     DPtoLP WINELIB_NAME(DPtoLP)
7665 BOOL16      WINAPI DragDetect16(HWND16,POINT16);
7666 BOOL32      WINAPI DragDetect32(HWND32,POINT32);
7667 #define     DragDetect WINELIB_NAME(DragDetect)
7668 DWORD       WINAPI DragObject16(HWND16,HWND16,UINT16,HANDLE16,WORD,HCURSOR16);
7669 DWORD       WINAPI DragObject32(HWND32,HWND32,UINT32,DWORD,HCURSOR32);
7670 #define     DragObject WINELIB_NAME(DragObject)
7671 BOOL32      WINAPI DrawAnimatedRects32(HWND32,int,const RECT32*,const RECT32*);
7672 #define     DrawAnimatedRects WINELIB_NAME(DrawAnimatedRects)
7673 BOOL16      WINAPI DrawCaption16(HWND16,HDC16,const RECT16*,UINT16);
7674 BOOL32      WINAPI DrawCaption32(HWND32,HDC32,const RECT32*,UINT32);
7675 #define     DrawCaption WINELIB_NAME(DrawCaption)
7676 BOOL16      WINAPI DrawCaptionTemp16(HWND16,HDC16, const RECT16*,HFONT16,HICON16,LPCSTR,UINT16);
7677 BOOL32      WINAPI DrawCaptionTemp32A(HWND32,HDC32,const RECT32*,HFONT32,HICON32,LPCSTR,UINT32);
7678 BOOL32      WINAPI DrawCaptionTemp32W(HWND32,HDC32,const RECT32*,HFONT32,HICON32,LPCWSTR,UINT32);
7679 #define     DrawCaptionTemp WINELIB_NAME_AW(DrawCaptionTemp)
7680 BOOL16      WINAPI DrawEdge16(HDC16,LPRECT16,UINT16,UINT16);
7681 BOOL32      WINAPI DrawEdge32(HDC32,LPRECT32,UINT32,UINT32);
7682 #define     DrawEdge WINELIB_NAME(DrawEdge)
7683 void        WINAPI DrawFocusRect16(HDC16,const RECT16*);
7684 void        WINAPI DrawFocusRect32(HDC32,const RECT32*);
7685 #define     DrawFocusRect WINELIB_NAME(DrawFocusRect)
7686 BOOL16      WINAPI DrawFrameControl16(HDC16,LPRECT16,UINT16,UINT16);
7687 BOOL32      WINAPI DrawFrameControl32(HDC32,LPRECT32,UINT32,UINT32);
7688 #define     DrawFrameControl WINELIB_NAME(DrawFrameControl)
7689 BOOL16      WINAPI DrawIcon16(HDC16,INT16,INT16,HICON16);
7690 BOOL32      WINAPI DrawIcon32(HDC32,INT32,INT32,HICON32);
7691 #define     DrawIcon WINELIB_NAME(DrawIcon)
7692 BOOL16      WINAPI DrawIconEx16(HDC16,INT16,INT16,HICON16,INT16,INT16,
7693                                 UINT16,HBRUSH16,UINT16);
7694 BOOL32      WINAPI DrawIconEx32(HDC32,INT32,INT32,HICON32,INT32,INT32,
7695                                 UINT32,HBRUSH32,UINT32);
7696 #define     DrawIconEx WINELIB_NAME(DrawIconEx)
7697 VOID        WINAPI DrawMenuBar16(HWND16);
7698 BOOL32      WINAPI DrawMenuBar32(HWND32);
7699 #define     DrawMenuBar WINELIB_NAME(DrawMenuBar)
7700 BOOL16      WINAPI DrawState16A(HDC16,HBRUSH16,DRAWSTATEPROC16,LPARAM,WPARAM16,INT16,INT16,INT16,INT16,UINT16);
7701 BOOL32      WINAPI DrawState32A(HDC32,HBRUSH32,DRAWSTATEPROC32,LPARAM,WPARAM32,INT32,INT32,INT32,INT32,UINT32);
7702 BOOL32      WINAPI DrawState32W(HDC32,HBRUSH32,DRAWSTATEPROC32,LPARAM,WPARAM32,INT32,INT32,INT32,INT32,UINT32);
7703 #define     DrawState WINELIB_NAME_AW(DrawState)
7704 INT16       WINAPI DrawText16(HDC16,LPCSTR,INT16,LPRECT16,UINT16);
7705 INT32       WINAPI DrawText32A(HDC32,LPCSTR,INT32,LPRECT32,UINT32);
7706 INT32       WINAPI DrawText32W(HDC32,LPCWSTR,INT32,LPRECT32,UINT32);
7707 #define     DrawText WINELIB_NAME_AW(DrawText)
7708 BOOL16      WINAPI Ellipse16(HDC16,INT16,INT16,INT16,INT16);
7709 BOOL32      WINAPI Ellipse32(HDC32,INT32,INT32,INT32,INT32);
7710 #define     Ellipse WINELIB_NAME(Ellipse)
7711 BOOL16      WINAPI EmptyClipboard16(void);
7712 BOOL32      WINAPI EmptyClipboard32(void);
7713 #define     EmptyClipboard WINELIB_NAME(EmptyClipboard)
7714 UINT16      WINAPI EnableMenuItem16(HMENU16,UINT16,UINT16);
7715 UINT32      WINAPI EnableMenuItem32(HMENU32,UINT32,UINT32);
7716 #define     EnableMenuItem WINELIB_NAME(EnableMenuItem)
7717 BOOL16      WINAPI EnableScrollBar16(HWND16,INT16,UINT16);
7718 BOOL32      WINAPI EnableScrollBar32(HWND32,INT32,UINT32);
7719 #define     EnableScrollBar WINELIB_NAME(EnableScrollBar)
7720 BOOL16      WINAPI EnableWindow16(HWND16,BOOL16);
7721 BOOL32      WINAPI EnableWindow32(HWND32,BOOL32);
7722 #define     EnableWindow WINELIB_NAME(EnableWindow)
7723 BOOL16      WINAPI EndDeferWindowPos16(HDWP16);
7724 BOOL32      WINAPI EndDeferWindowPos32(HDWP32);
7725 #define     EndDeferWindowPos WINELIB_NAME(EndDeferWindowPos)
7726 BOOL16      WINAPI EndDialog16(HWND16,INT16);
7727 BOOL32      WINAPI EndDialog32(HWND32,INT32);
7728 #define     EndDialog WINELIB_NAME(EndDialog)
7729 INT16       WINAPI EndDoc16(HDC16);
7730 INT32       WINAPI EndDoc32(HDC32);
7731 #define     EndDoc WINELIB_NAME(EndDoc)
7732 BOOL16      WINAPI EndPaint16(HWND16,const PAINTSTRUCT16*);
7733 BOOL32      WINAPI EndPaint32(HWND32,const PAINTSTRUCT32*);
7734 #define     EndPaint WINELIB_NAME(EndPaint)
7735 BOOL16      WINAPI EndPath16(HDC16);
7736 BOOL32      WINAPI EndPath32(HDC32);
7737 #define     EndPath WINELIB_NAME(EndPath)
7738 BOOL16      WINAPI EnumChildWindows16(HWND16,WNDENUMPROC16,LPARAM);
7739 BOOL32      WINAPI EnumChildWindows32(HWND32,WNDENUMPROC32,LPARAM);
7740 #define     EnumChildWindows WINELIB_NAME(EnumChildWindows)
7741 UINT16      WINAPI EnumClipboardFormats16(UINT16);
7742 UINT32      WINAPI EnumClipboardFormats32(UINT32);
7743 #define     EnumClipboardFormats WINELIB_NAME(EnumClipboardFormats)
7744 INT16       WINAPI EnumFontFamilies16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
7745 INT32       WINAPI EnumFontFamilies32A(HDC32,LPCSTR,FONTENUMPROC32A,LPARAM);
7746 INT32       WINAPI EnumFontFamilies32W(HDC32,LPCWSTR,FONTENUMPROC32W,LPARAM);
7747 #define     EnumFontFamilies WINELIB_NAME_AW(EnumFontFamilies)
7748 INT16       WINAPI EnumFontFamiliesEx16(HDC16,LPLOGFONT16,FONTENUMPROCEX16,LPARAM,DWORD);
7749 INT32       WINAPI EnumFontFamiliesEx32A(HDC32,LPLOGFONT32A,FONTENUMPROCEX32A,LPARAM,DWORD);
7750 INT32       WINAPI EnumFontFamiliesEx32W(HDC32,LPLOGFONT32W,FONTENUMPROCEX32W,LPARAM,DWORD);
7751 #define     EnumFontFamiliesEx WINELIB_NAME_AW(EnumFontFamiliesEx)
7752 INT16       WINAPI EnumFonts16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
7753 INT32       WINAPI EnumFonts32A(HDC32,LPCSTR,FONTENUMPROC32A,LPARAM);
7754 INT32       WINAPI EnumFonts32W(HDC32,LPCWSTR,FONTENUMPROC32W,LPARAM);
7755 #define     EnumFonts WINELIB_NAME_AW(EnumFonts)
7756 BOOL16      WINAPI EnumMetaFile16(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
7757 BOOL32      WINAPI EnumMetaFile32(HDC32,HMETAFILE32,MFENUMPROC32,LPARAM);
7758 #define     EnumMetaFile WINELIB_NAME(EnumMetaFile)
7759 INT16       WINAPI EnumObjects16(HDC16,INT16,GOBJENUMPROC16,LPARAM);
7760 INT32       WINAPI EnumObjects32(HDC32,INT32,GOBJENUMPROC32,LPARAM);
7761 #define     EnumObjects WINELIB_NAME(EnumObjects)
7762 INT16       WINAPI EnumProps16(HWND16,PROPENUMPROC16);
7763 INT32       WINAPI EnumProps32A(HWND32,PROPENUMPROC32A);
7764 INT32       WINAPI EnumProps32W(HWND32,PROPENUMPROC32W);
7765 #define     EnumProps WINELIB_NAME_AW(EnumProps)
7766 BOOL16      WINAPI EnumTaskWindows16(HTASK16,WNDENUMPROC16,LPARAM);
7767 #define     EnumTaskWindows32(handle,proc,lparam) \
7768             EnumThreadWindows(handle,proc,lparam)
7769 #define     EnumTaskWindows WINELIB_NAME(EnumTaskWindows)
7770 BOOL16      WINAPI EnumWindows16(WNDENUMPROC16,LPARAM);
7771 BOOL32      WINAPI EnumWindows32(WNDENUMPROC32,LPARAM);
7772 #define     EnumWindows WINELIB_NAME(EnumWindows)
7773 BOOL16      WINAPI EqualRect16(const RECT16*,const RECT16*);
7774 BOOL32      WINAPI EqualRect32(const RECT32*,const RECT32*);
7775 #define     EqualRect WINELIB_NAME(EqualRect)
7776 BOOL16      WINAPI EqualRgn16(HRGN16,HRGN16);
7777 BOOL32      WINAPI EqualRgn32(HRGN32,HRGN32);
7778 #define     EqualRgn WINELIB_NAME(EqualRgn)
7779 INT16       WINAPI Escape16(HDC16,INT16,INT16,SEGPTR,SEGPTR);
7780 INT32       WINAPI Escape32(HDC32,INT32,INT32,LPCSTR,LPVOID);
7781 #define     Escape WINELIB_NAME(Escape)
7782 LONG        WINAPI EscapeCommFunction16(UINT16,UINT16);
7783 BOOL32      WINAPI EscapeCommFunction32(INT32,UINT32);
7784 #define     EscapeCommFunction WINELIB_NAME(EscapeCommFunction)
7785 INT16       WINAPI ExcludeClipRect16(HDC16,INT16,INT16,INT16,INT16);
7786 INT32       WINAPI ExcludeClipRect32(HDC32,INT32,INT32,INT32,INT32);
7787 #define     ExcludeClipRect WINELIB_NAME(ExcludeClipRect)
7788 INT16       WINAPI ExcludeUpdateRgn16(HDC16,HWND16);
7789 INT32       WINAPI ExcludeUpdateRgn32(HDC32,HWND32);
7790 #define     ExcludeUpdateRgn WINELIB_NAME(ExcludeUpdateRgn)
7791 BOOL16      WINAPI ExitWindows16(DWORD,UINT16);
7792 #define     ExitWindows32(a,b) ExitWindowsEx(EWX_LOGOFF,0xffffffff)
7793 #define     ExitWindows WINELIB_NAME(ExitWindows)
7794 HPEN16      WINAPI ExtCreatePen16(DWORD,DWORD,const LOGBRUSH16*,DWORD,const DWORD*);
7795 HPEN32      WINAPI ExtCreatePen32(DWORD,DWORD,const LOGBRUSH32*,DWORD,const DWORD*);
7796 #define     ExtCreatePen WINELIB_NAME(ExtCreatePen)
7797 BOOL16      WINAPI ExtFloodFill16(HDC16,INT16,INT16,COLORREF,UINT16);
7798 BOOL32      WINAPI ExtFloodFill32(HDC32,INT32,INT32,COLORREF,UINT32);
7799 #define     ExtFloodFill WINELIB_NAME(ExtFloodFill)
7800 HICON16     WINAPI ExtractIcon16(HINSTANCE16,LPCSTR,UINT16);
7801 HICON32     WINAPI ExtractIcon32A(HINSTANCE32,LPCSTR,UINT32);
7802 HICON32     WINAPI ExtractIcon32W(HINSTANCE32,LPCWSTR,UINT32);
7803 #define     ExtractIcon WINELIB_NAME_AW(ExtractIcon)
7804 HICON16     WINAPI ExtractAssociatedIcon16(HINSTANCE16,LPSTR,LPWORD);
7805 HICON32     WINAPI ExtractAssociatedIcon32A(HINSTANCE32,LPSTR,LPWORD);
7806 HICON32     WINAPI ExtractAssociatedIcon32W(HINSTANCE32,LPWSTR,LPWORD);
7807 #define     ExtractAssociatedIcon WINELIB_NAME_AW(ExtractAssociatedIcon)
7808 BOOL16      WINAPI ExtTextOut16(HDC16,INT16,INT16,UINT16,const RECT16*,
7809                                 LPCSTR,UINT16,const INT16*);
7810 BOOL32      WINAPI ExtTextOut32A(HDC32,INT32,INT32,UINT32,const RECT32*,
7811                                  LPCSTR,UINT32,const INT32*);
7812 BOOL32      WINAPI ExtTextOut32W(HDC32,INT32,INT32,UINT32,const RECT32*,
7813                                  LPCWSTR,UINT32,const INT32*);
7814 #define     ExtTextOut WINELIB_NAME_AW(ExtTextOut)
7815 void        WINAPI FatalAppExit16(UINT16,LPCSTR);
7816 void        WINAPI FatalAppExit32A(UINT32,LPCSTR);
7817 void        WINAPI FatalAppExit32W(UINT32,LPCWSTR);
7818 #define     FatalAppExit WINELIB_NAME_AW(FatalAppExit)
7819 BOOL16      WINAPI FillPath16(HDC16);
7820 BOOL32      WINAPI FillPath32(HDC32);
7821 #define     FillPath WINELIB_NAME(FillPath)
7822 INT16       WINAPI FillRect16(HDC16,const RECT16*,HBRUSH16);
7823 INT32       WINAPI FillRect32(HDC32,const RECT32*,HBRUSH32);
7824 #define     FillRect WINELIB_NAME(FillRect)
7825 BOOL16      WINAPI FillRgn16(HDC16,HRGN16,HBRUSH16);
7826 BOOL32      WINAPI FillRgn32(HDC32,HRGN32,HBRUSH32);
7827 #define     FillRgn WINELIB_NAME(FillRgn)
7828 ATOM        WINAPI FindAtom16(SEGPTR);
7829 ATOM        WINAPI FindAtom32A(LPCSTR);
7830 ATOM        WINAPI FindAtom32W(LPCWSTR);
7831 #define     FindAtom WINELIB_NAME_AW(FindAtom)
7832 BOOL16      WINAPI FindClose16(HANDLE16);
7833 BOOL32      WINAPI FindClose32(HANDLE32);
7834 #define     FindClose WINELIB_NAME(FindClose)
7835 HINSTANCE16 WINAPI FindExecutable16(LPCSTR,LPCSTR,LPSTR);
7836 HINSTANCE32 WINAPI FindExecutable32A(LPCSTR,LPCSTR,LPSTR);
7837 HINSTANCE32 WINAPI FindExecutable32W(LPCWSTR,LPCWSTR,LPWSTR);
7838 #define     FindExecutable WINELIB_NAME_AW(FindExecutable)
7839 HANDLE16    WINAPI FindFirstFile16(LPCSTR,LPWIN32_FIND_DATA32A);
7840 HANDLE32    WINAPI FindFirstFile32A(LPCSTR,LPWIN32_FIND_DATA32A);
7841 HANDLE32    WINAPI FindFirstFile32W(LPCWSTR,LPWIN32_FIND_DATA32W);
7842 #define     FindFirstFile WINELIB_NAME_AW(FindFirstFile)
7843 BOOL16      WINAPI FindNextFile16(HANDLE16,LPWIN32_FIND_DATA32A);
7844 BOOL32      WINAPI FindNextFile32A(HANDLE32,LPWIN32_FIND_DATA32A);
7845 BOOL32      WINAPI FindNextFile32W(HANDLE32,LPWIN32_FIND_DATA32W);
7846 #define     FindNextFile WINELIB_NAME_AW(FindNextFile)
7847 HRSRC16     WINAPI FindResource16(HINSTANCE16,SEGPTR,SEGPTR);
7848 HRSRC32     WINAPI FindResource32A(HMODULE32,LPCSTR,LPCSTR);
7849 HRSRC32     WINAPI FindResource32W(HMODULE32,LPCWSTR,LPCWSTR);
7850 #define     FindResource WINELIB_NAME_AW(FindResource)
7851 HWND16      WINAPI FindWindow16(SEGPTR,LPCSTR);
7852 HWND32      WINAPI FindWindow32A(LPCSTR,LPCSTR);
7853 HWND32      WINAPI FindWindow32W(LPCWSTR,LPCWSTR);
7854 #define     FindWindow WINELIB_NAME_AW(FindWindow)
7855 HWND16      WINAPI FindWindowEx16(HWND16,HWND16,SEGPTR,LPCSTR);
7856 HWND32      WINAPI FindWindowEx32A(HWND32,HWND32,LPCSTR,LPCSTR);
7857 HWND32      WINAPI FindWindowEx32W(HWND32,HWND32,LPCWSTR,LPCWSTR);
7858 #define     FindWindowEx WINELIB_NAME_AW(FindWindowEx)
7859 BOOL16      WINAPI FlashWindow16(HWND16,BOOL16);
7860 BOOL32      WINAPI FlashWindow32(HWND32,BOOL32);
7861 #define     FlashWindow WINELIB_NAME(FlashWindow)
7862 BOOL16      WINAPI FloodFill16(HDC16,INT16,INT16,COLORREF);
7863 BOOL32      WINAPI FloodFill32(HDC32,INT32,INT32,COLORREF);
7864 #define     FloodFill WINELIB_NAME(FloodFill)
7865 INT16       WINAPI FrameRect16(HDC16,const RECT16*,HBRUSH16);
7866 INT32       WINAPI FrameRect32(HDC32,const RECT32*,HBRUSH32);
7867 #define     FrameRect WINELIB_NAME(FrameRect)
7868 BOOL16      WINAPI FrameRgn16(HDC16,HRGN16,HBRUSH16,INT16,INT16);
7869 BOOL32      WINAPI FrameRgn32(HDC32,HRGN32,HBRUSH32,INT32,INT32);
7870 #define     FrameRgn WINELIB_NAME(FrameRgn)
7871 VOID        WINAPI FreeLibrary16(HINSTANCE16);
7872 BOOL32      WINAPI FreeLibrary32(HMODULE32);
7873 #define     FreeLibrary WINELIB_NAME(FreeLibrary)
7874 BOOL16      WINAPI FreeModule16(HMODULE16);
7875 #define     FreeModule32(handle) FreeLibrary32(handle)
7876 #define     FreeModule WINELIB_NAME(FreeModule)
7877 void        WINAPI FreeProcInstance16(FARPROC16);
7878 #define     FreeProcInstance32(proc) /*nothing*/
7879 #define     FreeProcInstance WINELIB_NAME(FreeProcInstance)
7880 BOOL16      WINAPI FreeResource16(HGLOBAL16);
7881 BOOL32      WINAPI FreeResource32(HGLOBAL32);
7882 #define     FreeResource WINELIB_NAME(FreeResource)
7883 HWND16      WINAPI GetActiveWindow16(void);
7884 HWND32      WINAPI GetActiveWindow32(void);
7885 #define     GetActiveWindow WINELIB_NAME(GetActiveWindow)
7886 DWORD       WINAPI GetAppCompatFlags16(HTASK16);
7887 DWORD       WINAPI GetAppCompatFlags32(HTASK32);
7888 #define     GetAppCompatFlags WINELIB_NAME(GetAppCompatFlags)
7889 INT16       WINAPI GetArcDirection16(HDC16);
7890 INT32       WINAPI GetArcDirection32(HDC32);
7891 #define     GetArcDirection WINELIB_NAME(GetArcDirection)
7892 WORD        WINAPI GetAsyncKeyState16(INT16);
7893 WORD        WINAPI GetAsyncKeyState32(INT32);
7894 #define     GetAsyncKeyState WINELIB_NAME(GetAsyncKeyState)
7895 UINT16      WINAPI GetAtomName16(ATOM,LPSTR,INT16);
7896 UINT32      WINAPI GetAtomName32A(ATOM,LPSTR,INT32);
7897 UINT32      WINAPI GetAtomName32W(ATOM,LPWSTR,INT32);
7898 #define     GetAtomName WINELIB_NAME_AW(GetAtomName)
7899 BOOL16      WINAPI GetAspectRatioFilterEx16(HDC16,LPSIZE16);
7900 BOOL32      WINAPI GetAspectRatioFilterEx32(HDC32,LPSIZE32);
7901 #define     GetAspectRatioFilterEx WINELIB_NAME(GetAspectRatioFilterEx)
7902 LONG        WINAPI GetBitmapBits16(HBITMAP16,LONG,LPVOID);
7903 LONG        WINAPI GetBitmapBits32(HBITMAP32,LONG,LPVOID);
7904 #define     GetBitmapBits WINELIB_NAME(GetBitmapBits)
7905 BOOL16      WINAPI GetBitmapDimensionEx16(HBITMAP16,LPSIZE16);
7906 BOOL32      WINAPI GetBitmapDimensionEx32(HBITMAP32,LPSIZE32);
7907 #define     GetBitmapDimensionEx WINELIB_NAME(GetBitmapDimensionEx)
7908 BOOL16      WINAPI GetBrushOrgEx16(HDC16,LPPOINT16);
7909 BOOL32      WINAPI GetBrushOrgEx32(HDC32,LPPOINT32);
7910 #define     GetBrushOrgEx WINELIB_NAME(GetBrushOrgEx)
7911 COLORREF    WINAPI GetBkColor16(HDC16);
7912 COLORREF    WINAPI GetBkColor32(HDC32);
7913 #define     GetBkColor WINELIB_NAME(GetBkColor)
7914 INT16       WINAPI GetBkMode16(HDC16);
7915 INT32       WINAPI GetBkMode32(HDC32);
7916 #define     GetBkMode WINELIB_NAME(GetBkMode)
7917 UINT16      WINAPI GetBoundsRect16(HDC16,LPRECT16,UINT16);
7918 UINT32      WINAPI GetBoundsRect32(HDC32,LPRECT32,UINT32);
7919 #define     GetBoundsRect WINELIB_NAME(GetBoundsRect)
7920 HWND16      WINAPI GetCapture16(void);
7921 HWND32      WINAPI GetCapture32(void);
7922 #define     GetCapture WINELIB_NAME(GetCapture)
7923 UINT16      WINAPI GetCaretBlinkTime16(void);
7924 UINT32      WINAPI GetCaretBlinkTime32(void);
7925 #define     GetCaretBlinkTime WINELIB_NAME(GetCaretBlinkTime)
7926 VOID        WINAPI GetCaretPos16(LPPOINT16);
7927 BOOL32      WINAPI GetCaretPos32(LPPOINT32);
7928 #define     GetCaretPos WINELIB_NAME(GetCaretPos)
7929 BOOL16      WINAPI GetCharABCWidths16(HDC16,UINT16,UINT16,LPABC16);
7930 BOOL32      WINAPI GetCharABCWidths32A(HDC32,UINT32,UINT32,LPABC32);
7931 BOOL32      WINAPI GetCharABCWidths32W(HDC32,UINT32,UINT32,LPABC32);
7932 #define     GetCharABCWidths WINELIB_NAME_AW(GetCharABCWidths)
7933 DWORD       WINAPI GetCharacterPlacement32A(HDC32,LPCSTR,INT32,INT32,GCP_RESULTS32A*,DWORD);
7934 DWORD       WINAPI GetCharacterPlacement32W(HDC32,LPCWSTR,INT32,INT32,GCP_RESULTS32W*,DWORD);
7935 #define     GetCharacterPlacement WINELIB_NAME_AW(GetCharacterPlacement)
7936 BOOL16      WINAPI GetCharWidth16(HDC16,UINT16,UINT16,LPINT16);
7937 BOOL32      WINAPI GetCharWidth32A(HDC32,UINT32,UINT32,LPINT32);
7938 BOOL32      WINAPI GetCharWidth32W(HDC32,UINT32,UINT32,LPINT32);
7939 #define     GetCharWidth WINELIB_NAME_AW(GetCharWidth)
7940 BOOL16      WINAPI GetClassInfo16(HINSTANCE16,SEGPTR,WNDCLASS16 *);
7941 BOOL32      WINAPI GetClassInfo32A(HINSTANCE32,LPCSTR,WNDCLASS32A *);
7942 BOOL32      WINAPI GetClassInfo32W(HINSTANCE32,LPCWSTR,WNDCLASS32W *);
7943 #define     GetClassInfo WINELIB_NAME_AW(GetClassInfo)
7944 BOOL16      WINAPI GetClassInfoEx16(HINSTANCE16,SEGPTR,WNDCLASSEX16 *);
7945 BOOL32      WINAPI GetClassInfoEx32A(HINSTANCE32,LPCSTR,WNDCLASSEX32A *);
7946 BOOL32      WINAPI GetClassInfoEx32W(HINSTANCE32,LPCWSTR,WNDCLASSEX32W *);
7947 #define     GetClassInfoEx WINELIB_NAME_AW(GetClassInfoEx)
7948 LONG        WINAPI GetClassLong16(HWND16,INT16);
7949 LONG        WINAPI GetClassLong32A(HWND32,INT32);
7950 LONG        WINAPI GetClassLong32W(HWND32,INT32);
7951 #define     GetClassLong WINELIB_NAME_AW(GetClassLong)
7952 INT16       WINAPI GetClassName16(HWND16,LPSTR,INT16);
7953 INT32       WINAPI GetClassName32A(HWND32,LPSTR,INT32);
7954 INT32       WINAPI GetClassName32W(HWND32,LPWSTR,INT32);
7955 #define     GetClassName WINELIB_NAME_AW(GetClassName)
7956 WORD        WINAPI GetClassWord16(HWND16,INT16);
7957 WORD        WINAPI GetClassWord32(HWND32,INT32);
7958 #define     GetClassWord WINELIB_NAME(GetClassWord)
7959 void        WINAPI GetClientRect16(HWND16,LPRECT16);
7960 void        WINAPI GetClientRect32(HWND32,LPRECT32);
7961 #define     GetClientRect WINELIB_NAME(GetClientRect)
7962 HANDLE16    WINAPI GetClipboardData16(UINT16);
7963 HANDLE32    WINAPI GetClipboardData32(UINT32);
7964 #define     GetClipboardData WINELIB_NAME(GetClipboardData)
7965 INT16       WINAPI GetClipboardFormatName16(UINT16,LPSTR,INT16);
7966 INT32       WINAPI GetClipboardFormatName32A(UINT32,LPSTR,INT32);
7967 INT32       WINAPI GetClipboardFormatName32W(UINT32,LPWSTR,INT32);
7968 #define     GetClipboardFormatName WINELIB_NAME_AW(GetClipboardFormatName)
7969 HWND16      WINAPI GetClipboardOwner16(void);
7970 HWND32      WINAPI GetClipboardOwner32(void);
7971 #define     GetClipboardOwner WINELIB_NAME(GetClipboardOwner)
7972 HWND16      WINAPI GetClipboardViewer16(void);
7973 HWND32      WINAPI GetClipboardViewer32(void);
7974 #define     GetClipboardViewer WINELIB_NAME(GetClipboardViewer)
7975 INT16       WINAPI GetClipBox16(HDC16,LPRECT16);
7976 INT32       WINAPI GetClipBox32(HDC32,LPRECT32);
7977 #define     GetClipBox WINELIB_NAME(GetClipBox)
7978 void        WINAPI GetClipCursor16(LPRECT16);
7979 void        WINAPI GetClipCursor32(LPRECT32);
7980 #define     GetClipCursor WINELIB_NAME(GetClipCursor)
7981 HRGN16      WINAPI GetClipRgn16(HDC16);
7982 INT32       WINAPI GetClipRgn32(HDC32,HRGN32);
7983 #define     GetClipRgn WINELIB_NAME(GetClipRgn)
7984 INT16       WINAPI GetCommState16(INT16,LPDCB16);
7985 BOOL32      WINAPI GetCommState32(INT32,LPDCB32);
7986 #define     GetCommState WINELIB_NAME(GetCommState)
7987 UINT16      WINAPI GetCurrentDirectory16(UINT16,LPSTR);
7988 UINT32      WINAPI GetCurrentDirectory32A(UINT32,LPSTR);
7989 UINT32      WINAPI GetCurrentDirectory32W(UINT32,LPWSTR);
7990 #define     GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
7991 BOOL16      WINAPI GetCurrentPositionEx16(HDC16,LPPOINT16);
7992 BOOL32      WINAPI GetCurrentPositionEx32(HDC32,LPPOINT32);
7993 #define     GetCurrentPositionEx WINELIB_NAME(GetCurrentPositionEx)
7994 DWORD       WINAPI GetCurrentTime16(void);
7995 #define     GetCurrentTime32() GetTickCount()
7996 #define     GetCurrentTime WINELIB_NAME(GetCurrentTime)
7997 HCURSOR16   WINAPI GetCursor16(void);
7998 HCURSOR32   WINAPI GetCursor32(void);
7999 #define     GetCursor WINELIB_NAME(GetCursor)
8000 void        WINAPI GetCursorPos16(LPPOINT16);
8001 void        WINAPI GetCursorPos32(LPPOINT32);
8002 #define     GetCursorPos WINELIB_NAME(GetCursorPos)
8003 HDC16       WINAPI GetDC16(HWND16);
8004 HDC32       WINAPI GetDC32(HWND32);
8005 #define     GetDC WINELIB_NAME(GetDC)
8006 HDC16       WINAPI GetDCEx16(HWND16,HRGN16,DWORD);
8007 HDC32       WINAPI GetDCEx32(HWND32,HRGN32,DWORD);
8008 #define     GetDCEx WINELIB_NAME(GetDCEx)
8009 HWND16      WINAPI GetDesktopWindow16(void);
8010 HWND32      WINAPI GetDesktopWindow32(void);
8011 #define     GetDesktopWindow WINELIB_NAME(GetDesktopWindow)
8012 INT16       WINAPI GetDeviceCaps16(HDC16,INT16);
8013 INT32       WINAPI GetDeviceCaps32(HDC32,INT32);
8014 #define     GetDeviceCaps WINELIB_NAME(GetDeviceCaps)
8015 UINT16      WINAPI GetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
8016 UINT32      WINAPI GetDIBColorTable32(HDC32,UINT32,UINT32,RGBQUAD*);
8017 #define     GetDIBColorTable WINELIB_NAME(GetDIBColorTable)
8018 INT16       WINAPI GetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPSTR,LPBITMAPINFO,UINT16);
8019 INT32       WINAPI GetDIBits32(HDC32,HBITMAP32,UINT32,UINT32,LPSTR,LPBITMAPINFO,UINT32);
8020 #define     GetDIBits WINELIB_NAME(GetDIBits)
8021 BOOL16      WINAPI GetDiskFreeSpace16(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
8022 BOOL32      WINAPI GetDiskFreeSpace32A(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
8023 BOOL32      WINAPI GetDiskFreeSpace32W(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
8024 #define     GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
8025 BOOL32      WINAPI GetDiskFreeSpaceEx32A(LPCSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
8026 BOOL32      WINAPI GetDiskFreeSpaceEx32W(LPCWSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
8027 #define     GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
8028 INT16       WINAPI GetDlgCtrlID16(HWND16);
8029 INT32       WINAPI GetDlgCtrlID32(HWND32);
8030 #define     GetDlgCtrlID WINELIB_NAME(GetDlgCtrlID)
8031 HWND16      WINAPI GetDlgItem16(HWND16,INT16);
8032 HWND32      WINAPI GetDlgItem32(HWND32,INT32);
8033 #define     GetDlgItem WINELIB_NAME(GetDlgItem)
8034 UINT16      WINAPI GetDlgItemInt16(HWND16,INT16,BOOL16*,BOOL16);
8035 UINT32      WINAPI GetDlgItemInt32(HWND32,INT32,BOOL32*,BOOL32);
8036 #define     GetDlgItemInt WINELIB_NAME(GetDlgItemInt)
8037 INT16       WINAPI GetDlgItemText16(HWND16,INT16,SEGPTR,UINT16);
8038 INT32       WINAPI GetDlgItemText32A(HWND32,INT32,LPSTR,UINT32);
8039 INT32       WINAPI GetDlgItemText32W(HWND32,INT32,LPWSTR,UINT32);
8040 #define     GetDlgItemText WINELIB_NAME_AW(GetDlgItemText)
8041 UINT16      WINAPI GetDoubleClickTime16(void);
8042 UINT32      WINAPI GetDoubleClickTime32(void);
8043 #define     GetDoubleClickTime WINELIB_NAME(GetDoubleClickTime)
8044 UINT16      WINAPI GetDriveType16(UINT16); /* yes, the arguments differ */
8045 UINT32      WINAPI GetDriveType32A(LPCSTR);
8046 UINT32      WINAPI GetDriveType32W(LPCWSTR);
8047 #define     GetDriveType WINELIB_NAME_AW(GetDriveType)
8048 INT16       WINAPI GetExpandedName16(LPCSTR,LPSTR);
8049 INT32       WINAPI GetExpandedName32A(LPCSTR,LPSTR);
8050 INT32       WINAPI GetExpandedName32W(LPCWSTR,LPWSTR);
8051 #define     GetExpandedName WINELIB_NAME_AW(GetExpandedName)
8052 DWORD       WINAPI GetFileAttributes16(LPCSTR);
8053 DWORD       WINAPI GetFileAttributes32A(LPCSTR);
8054 DWORD       WINAPI GetFileAttributes32W(LPCWSTR);
8055 #define     GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
8056 DWORD       WINAPI GetFileVersionInfoSize16(LPCSTR,LPDWORD);
8057 DWORD       WINAPI GetFileVersionInfoSize32A(LPCSTR,LPDWORD);
8058 DWORD       WINAPI GetFileVersionInfoSize32W(LPCWSTR,LPDWORD);
8059 #define     GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
8060 DWORD       WINAPI GetFileVersionInfo16(LPCSTR,DWORD,DWORD,LPVOID);
8061 DWORD       WINAPI GetFileVersionInfo32A(LPCSTR,DWORD,DWORD,LPVOID);
8062 DWORD       WINAPI GetFileVersionInfo32W(LPCWSTR,DWORD,DWORD,LPVOID);
8063 #define     GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)
8064 HWND16      WINAPI GetFocus16(void);
8065 HWND32      WINAPI GetFocus32(void);
8066 #define     GetFocus WINELIB_NAME(GetFocus)
8067 DWORD       WINAPI GetFontData32(HDC32,DWORD,DWORD,LPVOID,DWORD);
8068 #define     GetFontData WINELIB_NAME(GetFontData)
8069 DWORD       WINAPI GetFontLanguageInfo16(HDC16);
8070 DWORD       WINAPI GetFontLanguageInfo32(HDC32);
8071 #define     GetFontLanguageInfo WINELIB_NAME(GetFontLanguageInfo)
8072 HWND16      WINAPI GetForegroundWindow16(void);
8073 HWND32      WINAPI GetForegroundWindow32(void);
8074 #define     GetForegroundWindow WINELIB_NAME(GetForegroundWindow)
8075 DWORD       WINAPI GetFreeSpace16(UINT16);
8076 #define     GetFreeSpace32(w) (0x100000L)
8077 #define     GetFreeSpace WINELIB_NAME(GetFreeSpace)
8078 DWORD       WINAPI GetGlyphOutline16(HDC16,UINT16,UINT16,LPGLYPHMETRICS16,DWORD,LPVOID,const MAT2*);
8079 DWORD       WINAPI GetGlyphOutline32A(HDC32,UINT32,UINT32,LPGLYPHMETRICS32,DWORD,LPVOID,const MAT2*);
8080 DWORD       WINAPI GetGlyphOutline32W(HDC32,UINT32,UINT32,LPGLYPHMETRICS32,DWORD,LPVOID,const MAT2*);
8081 #define     GetGlyphOutline WINELIB_NAME_AW(GetGlyphOutline)
8082 BOOL16      WINAPI GetInputState16(void);
8083 BOOL32      WINAPI GetInputState32(void);
8084 #define     GetInputState WINELIB_NAME(GetInputState)
8085 UINT16      WINAPI GetInternalWindowPos16(HWND16,LPRECT16,LPPOINT16);
8086 UINT32      WINAPI GetInternalWindowPos32(HWND32,LPRECT32,LPPOINT32);
8087 #define     GetInternalWindowPos WINELIB_NAME(GetInternalWindowPos)
8088 INT16       WINAPI GetKBCodePage16(void);
8089 UINT32      WINAPI GetKBCodePage32(void);
8090 #define     GetKBCodePage WINELIB_NAME(GetKBCodePage)
8091 INT16       WINAPI GetKerningPairs16(HDC16,INT16,LPKERNINGPAIR16);
8092 DWORD       WINAPI GetKerningPairs32A(HDC32,DWORD,LPKERNINGPAIR32);
8093 DWORD       WINAPI GetKerningPairs32W(HDC32,DWORD,LPKERNINGPAIR32);
8094 #define     GetKerningPairs WINELIB_NAME_AW(GetKerningPairs)
8095 INT16       WINAPI GetKeyboardType16(INT16);
8096 INT32       WINAPI GetKeyboardType32(INT32);
8097 #define     GetKeyboardType WINELIB_NAME(GetKeyboardType)
8098 INT16       WINAPI GetKeyNameText16(LONG,LPSTR,INT16);
8099 INT32       WINAPI GetKeyNameText32A(LONG,LPSTR,INT32);
8100 INT32       WINAPI GetKeyNameText32W(LONG,LPWSTR,INT32);
8101 #define     GetKeyNameText WINELIB_NAME_AW(GetKeyNameText)
8102 INT16       WINAPI GetKeyboardLayoutName16(LPSTR);
8103 INT32       WINAPI GetKeyboardLayoutName32A(LPSTR);
8104 INT32       WINAPI GetKeyboardLayoutName32W(LPWSTR);
8105 #define     GetKeyboardLayoutName WINELIB_NAME_AW(GetKeyboardLayoutName)
8106 INT16       WINAPI GetKeyState16(INT16);
8107 INT16       WINAPI GetKeyState32(INT32);
8108 #define     GetKeyState WINELIB_NAME(GetKeyState)
8109 HWND16      WINAPI GetLastActivePopup16(HWND16);
8110 HWND32      WINAPI GetLastActivePopup32(HWND32);
8111 #define     GetLastActivePopup WINELIB_NAME(GetLastActivePopup)
8112 UINT32      WINAPI GetLogicalDriveStrings32A(UINT32,LPSTR);
8113 UINT32      WINAPI GetLogicalDriveStrings32W(UINT32,LPWSTR);
8114 #define     GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
8115 INT16       WINAPI GetLocaleInfo16(LCID,LCTYPE,LPSTR,INT16);
8116 INT32       WINAPI GetLocaleInfo32A(LCID,LCTYPE,LPSTR,INT32);
8117 INT32       WINAPI GetLocaleInfo32W(LCID,LCTYPE,LPWSTR,INT32);
8118 #define     GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
8119 INT16       WINAPI GetMapMode16(HDC16);
8120 INT32       WINAPI GetMapMode32(HDC32);
8121 #define     GetMapMode WINELIB_NAME(GetMapMode)
8122 HMENU16     WINAPI GetMenu16(HWND16);
8123 HMENU32     WINAPI GetMenu32(HWND32);
8124 #define     GetMenu WINELIB_NAME(GetMenu)
8125 INT16       WINAPI GetMenuItemCount16(HMENU16);
8126 INT32       WINAPI GetMenuItemCount32(HMENU32);
8127 #define     GetMenuItemCount WINELIB_NAME(GetMenuItemCount)
8128 UINT16      WINAPI GetMenuItemID16(HMENU16,INT16);
8129 UINT32      WINAPI GetMenuItemID32(HMENU32,INT32);
8130 #define     GetMenuItemID WINELIB_NAME(GetMenuItemID)
8131 BOOL16      WINAPI GetMenuItemRect16(HWND16,HMENU16,UINT16,LPRECT16);
8132 BOOL32      WINAPI GetMenuItemRect32(HWND32,HMENU32,UINT32,LPRECT32);
8133 #define     GetMenuItemRect WINELIB_NAME(GetMenuItemRect)
8134 UINT16      WINAPI GetMenuState16(HMENU16,UINT16,UINT16);
8135 UINT32      WINAPI GetMenuState32(HMENU32,UINT32,UINT32);
8136 #define     GetMenuState WINELIB_NAME(GetMenuState)
8137 INT16       WINAPI GetMenuString16(HMENU16,UINT16,LPSTR,INT16,UINT16);
8138 INT32       WINAPI GetMenuString32A(HMENU32,UINT32,LPSTR,INT32,UINT32);
8139 INT32       WINAPI GetMenuString32W(HMENU32,UINT32,LPWSTR,INT32,UINT32);
8140 #define     GetMenuString WINELIB_NAME_AW(GetMenuString)
8141 BOOL16      WINAPI GetMessage16(SEGPTR,HWND16,UINT16,UINT16);
8142 BOOL32      WINAPI GetMessage32A(LPMSG32,HWND32,UINT32,UINT32);
8143 BOOL32      WINAPI GetMessage32W(LPMSG32,HWND32,UINT32,UINT32);
8144 #define     GetMessage WINELIB_NAME_AW(GetMessage)
8145 HMETAFILE16 WINAPI GetMetaFile16(LPCSTR);
8146 HMETAFILE32 WINAPI GetMetaFile32A(LPCSTR);
8147 HMETAFILE32 WINAPI GetMetaFile32W(LPCWSTR);
8148 #define     GetMetaFile WINELIB_NAME_AW(GetMetaFile)
8149 INT16       WINAPI GetModuleFileName16(HINSTANCE16,LPSTR,INT16);
8150 DWORD       WINAPI GetModuleFileName32A(HMODULE32,LPSTR,DWORD);
8151 DWORD       WINAPI GetModuleFileName32W(HMODULE32,LPWSTR,DWORD);
8152 #define     GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
8153 HMODULE16   WINAPI GetModuleHandle16(LPCSTR);
8154 HMODULE32   WINAPI GetModuleHandle32A(LPCSTR);
8155 HMODULE32   WINAPI GetModuleHandle32W(LPCWSTR);
8156 #define     GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
8157 DWORD       WINAPI GetNearestColor16(HDC16,DWORD);
8158 DWORD       WINAPI GetNearestColor32(HDC32,DWORD);
8159 #define     GetNearestColor WINELIB_NAME(GetNearestColor)
8160 UINT16      WINAPI GetNearestPaletteIndex16(HPALETTE16,COLORREF);
8161 UINT32      WINAPI GetNearestPaletteIndex32(HPALETTE32,COLORREF);
8162 #define     GetNearestPaletteIndex WINELIB_NAME(GetNearestPaletteIndex)
8163 HWND16      WINAPI GetNextDlgGroupItem16(HWND16,HWND16,BOOL16);
8164 HWND32      WINAPI GetNextDlgGroupItem32(HWND32,HWND32,BOOL32);
8165 #define     GetNextDlgGroupItem WINELIB_NAME(GetNextDlgGroupItem)
8166 HWND16      WINAPI GetNextDlgTabItem16(HWND16,HWND16,BOOL16);
8167 HWND32      WINAPI GetNextDlgTabItem32(HWND32,HWND32,BOOL32);
8168 #define     GetNextDlgTabItem WINELIB_NAME(GetNextDlgTabItem)
8169 HWND16      WINAPI GetNextWindow16(HWND16,WORD);
8170 #define     GetNextWindow32 GetWindow32
8171 #define     GetNextWindow WINELIB_NAME(GetNextWindow)
8172 INT16       WINAPI GetObject16(HANDLE16,INT16,LPVOID);
8173 INT32       WINAPI GetObject32A(HANDLE32,INT32,LPVOID);
8174 INT32       WINAPI GetObject32W(HANDLE32,INT32,LPVOID);
8175 #define     GetObject WINELIB_NAME_AW(GetObject)
8176 HWND16      WINAPI GetOpenClipboardWindow16(void);
8177 HWND32      WINAPI GetOpenClipboardWindow32(void);
8178 #define     GetOpenClipboardWindow WINELIB_NAME(GetOpenClipboardWindow)
8179 UINT16      WINAPI GetOutlineTextMetrics16(HDC16,UINT16,LPOUTLINETEXTMETRIC16);
8180 UINT32      WINAPI GetOutlineTextMetrics32A(HDC32,UINT32,LPOUTLINETEXTMETRIC32A);
8181 UINT32      WINAPI GetOutlineTextMetrics32W(HDC32,UINT32,LPOUTLINETEXTMETRIC32W);
8182 #define     GetOutlineTextMetrics WINELIB_NAME_AW(GetOutlineTextMetrics)
8183 UINT16      WINAPI GetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
8184 UINT32      WINAPI GetPaletteEntries32(HPALETTE32,UINT32,UINT32,LPPALETTEENTRY);
8185 #define     GetPaletteEntries WINELIB_NAME(GetPaletteEntries)
8186 HWND16      WINAPI GetParent16(HWND16);
8187 HWND32      WINAPI GetParent32(HWND32);
8188 #define     GetParent WINELIB_NAME(GetParent)
8189 INT16       WINAPI GetPath16(HDC16,LPPOINT16,LPBYTE,INT16);
8190 INT32       WINAPI GetPath32(HDC32,LPPOINT32,LPBYTE,INT32);
8191 #define     GetPath WINELIB_NAME(GetPath)
8192 COLORREF    WINAPI GetPixel16(HDC16,INT16,INT16);
8193 COLORREF    WINAPI GetPixel32(HDC32,INT32,INT32);
8194 #define     GetPixel WINELIB_NAME(GetPixel)
8195 INT32       WINAPI GetPixelFormat(HDC32);
8196 INT16       WINAPI GetPolyFillMode16(HDC16);
8197 INT32       WINAPI GetPolyFillMode32(HDC32);
8198 #define     GetPolyFillMode WINELIB_NAME(GetPolyFillMode)
8199 INT16       WINAPI GetPriorityClipboardFormat16(UINT16*,INT16);
8200 INT32       WINAPI GetPriorityClipboardFormat32(UINT32*,INT32);
8201 #define     GetPriorityClipboardFormat WINELIB_NAME(GetPriorityClipboardFormat)
8202 UINT16      WINAPI GetPrivateProfileInt16(LPCSTR,LPCSTR,INT16,LPCSTR);
8203 UINT32      WINAPI GetPrivateProfileInt32A(LPCSTR,LPCSTR,INT32,LPCSTR);
8204 UINT32      WINAPI GetPrivateProfileInt32W(LPCWSTR,LPCWSTR,INT32,LPCWSTR);
8205 #define     GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
8206 INT16       WINAPI GetPrivateProfileSection16(LPCSTR,LPSTR,UINT16,LPCSTR);
8207 INT32       WINAPI GetPrivateProfileSection32A(LPCSTR,LPSTR,DWORD,LPCSTR);
8208 INT32       WINAPI GetPrivateProfileSection32W(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
8209 #define     GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
8210 WORD        WINAPI GetPrivateProfileSectionNames16(LPSTR,UINT16,LPCSTR);
8211 DWORD       WINAPI GetPrivateProfileSectionNames32A(LPSTR,DWORD,LPCSTR);
8212 DWORD       WINAPI GetPrivateProfileSectionNames32W(LPWSTR,DWORD,LPCWSTR);
8213 #define     GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
8214 INT16       WINAPI GetPrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16,LPCSTR);
8215 INT32       WINAPI GetPrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32,LPCSTR);
8216 INT32       WINAPI GetPrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32,LPCWSTR);
8217 #define     GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
8218 BOOL16      WINAPI GetPrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
8219 BOOL32      WINAPI GetPrivateProfileStruct32A(LPCSTR,LPCSTR,LPVOID,UINT32,LPCSTR);
8220 BOOL32      WINAPI GetPrivateProfileStruct32W(LPCWSTR,LPCWSTR,LPVOID,UINT32,LPCWSTR);
8221 #define     GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
8222 FARPROC16   WINAPI GetProcAddress16(HMODULE16,SEGPTR);
8223 FARPROC32   WINAPI GetProcAddress32(HMODULE32,LPCSTR);
8224 #define     GetProcAddress WINELIB_NAME(GetProcAddress)
8225 UINT16      WINAPI GetProfileInt16(LPCSTR,LPCSTR,INT16);
8226 UINT32      WINAPI GetProfileInt32A(LPCSTR,LPCSTR,INT32);
8227 UINT32      WINAPI GetProfileInt32W(LPCWSTR,LPCWSTR,INT32);
8228 #define     GetProfileInt WINELIB_NAME_AW(GetProfileInt)
8229 INT16       WINAPI GetProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16);
8230 INT32       WINAPI GetProfileSection32A(LPCSTR,LPSTR,DWORD);
8231 INT32       WINAPI GetProfileSection32W(LPCWSTR,LPWSTR,DWORD);
8232 #define     GetProfileSection WINELIB_NAME_AW(GetProfileSection)
8233 INT32       WINAPI GetProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32);
8234 INT32       WINAPI GetProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32);
8235 #define     GetProfileString WINELIB_NAME_AW(GetProfileString)
8236 HANDLE16    WINAPI GetProp16(HWND16,LPCSTR);
8237 HANDLE32    WINAPI GetProp32A(HWND32,LPCSTR);
8238 HANDLE32    WINAPI GetProp32W(HWND32,LPCWSTR);
8239 #define     GetProp WINELIB_NAME_AW(GetProp)
8240 DWORD       WINAPI GetQueueStatus16(UINT16);
8241 DWORD       WINAPI GetQueueStatus32(UINT32);
8242 #define     GetQueueStatus WINELIB_NAME(GetQueueStatus)
8243 BOOL16      WINAPI GetRasterizerCaps16(LPRASTERIZER_STATUS,UINT16);
8244 BOOL32      WINAPI GetRasterizerCaps32(LPRASTERIZER_STATUS,UINT32);
8245 #define     GetRasterizerCaps WINELIB_NAME(GetRasterizerCaps)
8246 DWORD       WINAPI GetRegionData16(HRGN16,DWORD,LPRGNDATA);
8247 DWORD       WINAPI GetRegionData32(HRGN32,DWORD,LPRGNDATA);
8248 #define     GetRegionData WINELIB_NAME(GetRegionData)
8249 INT16       WINAPI GetRelAbs16(HDC16);
8250 INT32       WINAPI GetRelAbs32(HDC32);
8251 #define     GetRelAbs WINELIB_NAME(GetRelAbs)
8252 INT16       WINAPI GetRgnBox16(HRGN16,LPRECT16);
8253 INT32       WINAPI GetRgnBox32(HRGN32,LPRECT32);
8254 #define     GetRgnBox WINELIB_NAME(GetRgnBox)
8255 INT16       WINAPI GetROP216(HDC16);
8256 INT32       WINAPI GetROP232(HDC32);
8257 #define     GetROP2 WINELIB_NAME(GetROP2)
8258 BOOL16      WINAPI GetScrollInfo16(HWND16,INT16,LPSCROLLINFO);
8259 BOOL32      WINAPI GetScrollInfo32(HWND32,INT32,LPSCROLLINFO);
8260 #define     GetScrollInfo WINELIB_NAME(GetScrollInfo)
8261 INT16       WINAPI GetScrollPos16(HWND16,INT16);
8262 INT32       WINAPI GetScrollPos32(HWND32,INT32);
8263 #define     GetScrollPos WINELIB_NAME(GetScrollPos)
8264 BOOL16      WINAPI GetScrollRange16(HWND16,INT16,LPINT16,LPINT16);
8265 BOOL32      WINAPI GetScrollRange32(HWND32,INT32,LPINT32,LPINT32);
8266 #define     GetScrollRange WINELIB_NAME(GetScrollRange)
8267 HWND16      WINAPI GetShellWindow16(void);
8268 HWND32      WINAPI GetShellWindow32(void);
8269 #define     GetShellWindow WINELIB_NAME(GetShellWindow)
8270 HGDIOBJ16   WINAPI GetStockObject16(INT16);
8271 HGDIOBJ32   WINAPI GetStockObject32(INT32);
8272 #define     GetStockObject WINELIB_NAME(GetStockObject)
8273 INT16       WINAPI GetStretchBltMode16(HDC16);
8274 INT32       WINAPI GetStretchBltMode32(HDC32);
8275 #define     GetStretchBltMode WINELIB_NAME(GetStretchBltMode)
8276 BOOL16      WINAPI GetStringType16(LCID,DWORD,LPCSTR,INT16,LPWORD);
8277 BOOL32      WINAPI GetStringType32A(LCID,DWORD,LPCSTR,INT32,LPWORD);
8278 BOOL32      WINAPI GetStringType32W(DWORD,LPCWSTR,INT32,LPWORD);
8279 #define     GetStringType WINELIB_NAME_AW(GetStringType)
8280 HMENU16     WINAPI GetSubMenu16(HMENU16,INT16);
8281 HMENU32     WINAPI GetSubMenu32(HMENU32,INT32);
8282 #define     GetSubMenu WINELIB_NAME(GetSubMenu)
8283 COLORREF    WINAPI GetSysColor16(INT16);
8284 COLORREF    WINAPI GetSysColor32(INT32);
8285 #define     GetSysColor WINELIB_NAME(GetSysColor)
8286 HBRUSH16    WINAPI GetSysColorBrush16(INT16);
8287 HBRUSH32    WINAPI GetSysColorBrush32(INT32);
8288 #define     GetSysColorBrush WINELIB_NAME(GetSysColorBrush)
8289 HWND16      WINAPI GetSysModalWindow16(void);
8290 #define     GetSysModalWindow32() ((HWND32)0)
8291 #define     GetSysModalWindow WINELIB_NAME(GetSysModalWindow)
8292 UINT16      WINAPI GetSystemDirectory16(LPSTR,UINT16);
8293 UINT32      WINAPI GetSystemDirectory32A(LPSTR,UINT32);
8294 UINT32      WINAPI GetSystemDirectory32W(LPWSTR,UINT32);
8295 #define     GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
8296 HMENU16     WINAPI GetSystemMenu16(HWND16,BOOL16);
8297 HMENU32     WINAPI GetSystemMenu32(HWND32,BOOL32);
8298 #define     GetSystemMenu WINELIB_NAME(GetSystemMenu)
8299 INT16       WINAPI GetSystemMetrics16(INT16);
8300 INT32       WINAPI GetSystemMetrics32(INT32);
8301 #define     GetSystemMetrics WINELIB_NAME(GetSystemMetrics)
8302 UINT16      WINAPI GetSystemPaletteEntries16(HDC16,UINT16,UINT16,LPPALETTEENTRY);
8303 UINT32      WINAPI GetSystemPaletteEntries32(HDC32,UINT32,UINT32,LPPALETTEENTRY);
8304 #define     GetSystemPaletteEntries WINELIB_NAME(GetSystemPaletteEntries)
8305 UINT16      WINAPI GetSystemPaletteUse16(HDC16);
8306 UINT32      WINAPI GetSystemPaletteUse32(HDC32);
8307 #define     GetSystemPaletteUse WINELIB_NAME(GetSystemPaletteUse)
8308 DWORD       WINAPI GetTabbedTextExtent16(HDC16,LPCSTR,INT16,INT16,const INT16*);
8309 DWORD       WINAPI GetTabbedTextExtent32A(HDC32,LPCSTR,INT32,INT32,const INT32*);
8310 DWORD       WINAPI GetTabbedTextExtent32W(HDC32,LPCWSTR,INT32,INT32,const INT32*);
8311 #define     GetTabbedTextExtent WINELIB_NAME_AW(GetTabbedTextExtent)
8312 UINT16      WINAPI GetTempFileName16(BYTE,LPCSTR,UINT16,LPSTR);
8313 UINT32      WINAPI GetTempFileName32A(LPCSTR,LPCSTR,UINT32,LPSTR);
8314 UINT32      WINAPI GetTempFileName32W(LPCWSTR,LPCWSTR,UINT32,LPWSTR);
8315 #define     GetTempFileName WINELIB_NAME_AW(GetTempFileName)
8316 UINT32      WINAPI GetTempPath32A(UINT32,LPSTR);
8317 UINT32      WINAPI GetTempPath32W(UINT32,LPWSTR);
8318 #define     GetTempPath WINELIB_NAME_AW(GetTempPath)
8319 UINT16      WINAPI GetTextAlign16(HDC16);
8320 UINT32      WINAPI GetTextAlign32(HDC32);
8321 #define     GetTextAlign WINELIB_NAME(GetTextAlign)
8322 INT16       WINAPI GetTextCharacterExtra16(HDC16);
8323 INT32       WINAPI GetTextCharacterExtra32(HDC32);
8324 #define     GetTextCharacterExtra WINELIB_NAME(GetTextCharacterExtra)
8325 UINT16      WINAPI GetTextCharset16(HDC16);
8326 UINT32      WINAPI GetTextCharset32(HDC32);
8327 #define     GetTextCharset WINELIB_NAME(GetTextCharset)
8328 COLORREF    WINAPI GetTextColor16(HDC16);
8329 COLORREF    WINAPI GetTextColor32(HDC32);
8330 #define     GetTextColor WINELIB_NAME(GetTextColor)
8331 /* this one is different, because Win32 has *both* 
8332  * GetTextExtentPoint and GetTextExtentPoint32 !
8333  */
8334 BOOL16      WINAPI GetTextExtentPoint16(HDC16,LPCSTR,INT16,LPSIZE16);
8335 BOOL32      WINAPI GetTextExtentPoint32A(HDC32,LPCSTR,INT32,LPSIZE32);
8336 BOOL32      WINAPI GetTextExtentPoint32W(HDC32,LPCWSTR,INT32,LPSIZE32);
8337 BOOL32      WINAPI GetTextExtentPoint32ABuggy(HDC32,LPCSTR,INT32,LPSIZE32);
8338 BOOL32      WINAPI GetTextExtentPoint32WBuggy(HDC32,LPCWSTR,INT32,LPSIZE32);
8339 #ifdef UNICODE
8340 #define     GetTextExtentPoint GetTextExtentPoint32WBuggy
8341 #define     GetTextExtentPoint32 GetTextExtentPoint32W
8342 #else
8343 #define     GetTextExtentPoint GetTextExtentPoint32ABuggy
8344 #define     GetTextExtentPoint32 GetTextExtentPoint32A
8345 #endif
8346 INT16       WINAPI GetTextFace16(HDC16,INT16,LPSTR);
8347 INT32       WINAPI GetTextFace32A(HDC32,INT32,LPSTR);
8348 INT32       WINAPI GetTextFace32W(HDC32,INT32,LPWSTR);
8349 #define     GetTextFace WINELIB_NAME_AW(GetTextFace)
8350 BOOL16      WINAPI GetTextMetrics16(HDC16,LPTEXTMETRIC16);
8351 BOOL32      WINAPI GetTextMetrics32A(HDC32,LPTEXTMETRIC32A);
8352 BOOL32      WINAPI GetTextMetrics32W(HDC32,LPTEXTMETRIC32W);
8353 #define     GetTextMetrics WINELIB_NAME_AW(GetTextMetrics)
8354 LPINT16     WINAPI GetThresholdEvent16(void);
8355 LPDWORD     WINAPI GetThresholdEvent32(void);
8356 #define     GetThresholdEvent WINELIB_NAME(GetThresholdEvent)
8357 INT16       WINAPI GetThresholdStatus16(void);
8358 DWORD       WINAPI GetThresholdStatus32(void);
8359 #define     GetThresholdStatus WINELIB_NAME(GetThresholdStatus)
8360 HWND16      WINAPI GetTopWindow16(HWND16);
8361 HWND32      WINAPI GetTopWindow32(HWND32);
8362 #define     GetTopWindow WINELIB_NAME(GetTopWindow)
8363 BOOL16      WINAPI GetUpdateRect16(HWND16,LPRECT16,BOOL16);
8364 BOOL32      WINAPI GetUpdateRect32(HWND32,LPRECT32,BOOL32);
8365 #define     GetUpdateRect WINELIB_NAME(GetUpdateRect)
8366 INT16       WINAPI GetUpdateRgn16(HWND16,HRGN16,BOOL16);
8367 INT32       WINAPI GetUpdateRgn32(HWND32,HRGN32,BOOL32);
8368 #define     GetUpdateRgn WINELIB_NAME(GetUpdateRgn)
8369 LONG        WINAPI GetVersion16(void);
8370 LONG        WINAPI GetVersion32(void);
8371 #define     GetVersion WINELIB_NAME(GetVersion)
8372 BOOL32      WINAPI GetExitCodeProcess(HANDLE32,LPDWORD);
8373 BOOL16      WINAPI GetViewportExtEx16(HDC16,LPSIZE16);
8374 BOOL32      WINAPI GetViewportExtEx32(HDC32,LPSIZE32);
8375 #define     GetViewportExtEx WINELIB_NAME(GetViewportExtEx)
8376 BOOL16      WINAPI GetViewportOrgEx16(HDC16,LPPOINT16);
8377 BOOL32      WINAPI GetViewportOrgEx32(HDC32,LPPOINT32);
8378 #define     GetViewportOrgEx WINELIB_NAME(GetViewportOrgEx)
8379 BOOL32      WINAPI GetVolumeInformation32A(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
8380 BOOL32      WINAPI GetVolumeInformation32W(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
8381 #define     GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
8382 HWND16      WINAPI GetWindow16(HWND16,WORD);
8383 HWND32      WINAPI GetWindow32(HWND32,WORD);
8384 #define     GetWindow WINELIB_NAME(GetWindow)
8385 HDC16       WINAPI GetWindowDC16(HWND16);
8386 HDC32       WINAPI GetWindowDC32(HWND32);
8387 #define     GetWindowDC WINELIB_NAME(GetWindowDC)
8388 BOOL16      WINAPI GetWindowExtEx16(HDC16,LPSIZE16);
8389 BOOL32      WINAPI GetWindowExtEx32(HDC32,LPSIZE32);
8390 #define     GetWindowExtEx WINELIB_NAME(GetWindowExtEx)
8391 LONG        WINAPI GetWindowLong16(HWND16,INT16);
8392 LONG        WINAPI GetWindowLong32A(HWND32,INT32);
8393 LONG        WINAPI GetWindowLong32W(HWND32,INT32);
8394 #define     GetWindowLong WINELIB_NAME_AW(GetWindowLong)
8395 BOOL16      WINAPI GetWindowOrgEx16(HDC16,LPPOINT16);
8396 BOOL32      WINAPI GetWindowOrgEx32(HDC32,LPPOINT32);
8397 #define     GetWindowOrgEx WINELIB_NAME(GetWindowOrgEx)
8398 BOOL16      WINAPI GetWindowPlacement16(HWND16,LPWINDOWPLACEMENT16);
8399 BOOL32      WINAPI GetWindowPlacement32(HWND32,LPWINDOWPLACEMENT32);
8400 #define     GetWindowPlacement WINELIB_NAME(GetWindowPlacement)
8401 void        WINAPI GetWindowRect16(HWND16,LPRECT16);
8402 BOOL32      WINAPI GetWindowRect32(HWND32,LPRECT32);
8403 #define     GetWindowRect WINELIB_NAME(GetWindowRect)
8404 INT16       WINAPI GetWindowRgn16(HWND16,HRGN16);
8405 INT32       WINAPI GetWindowRgn32(HWND32,HRGN32);
8406 #define     GetWindowRgn WINELIB_NAME(GetWindowRgn)
8407 UINT16      WINAPI GetWindowsDirectory16(LPSTR,UINT16);
8408 UINT32      WINAPI GetWindowsDirectory32A(LPSTR,UINT32);
8409 UINT32      WINAPI GetWindowsDirectory32W(LPWSTR,UINT32);
8410 #define     GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
8411 HTASK16     WINAPI GetWindowTask16(HWND16);
8412 #define     GetWindowTask32(hwnd) ((HTASK32)GetWindowThreadProcessId(hwnd,NULL))
8413 #define     GetWindowTask WINELIB_NAME(GetWindowTask)
8414 INT16       WINAPI GetWindowText16(HWND16,SEGPTR,INT16);
8415 INT32       WINAPI GetWindowText32A(HWND32,LPSTR,INT32);
8416 INT32       WINAPI GetWindowText32W(HWND32,LPWSTR,INT32);
8417 #define     GetWindowText WINELIB_NAME_AW(GetWindowText)
8418 INT16       WINAPI GetWindowTextLength16(HWND16);
8419 INT32       WINAPI GetWindowTextLength32A(HWND32);
8420 INT32       WINAPI GetWindowTextLength32W(HWND32);
8421 #define     GetWindowTextLength WINELIB_NAME_AW(GetWindowTextLength)
8422 WORD        WINAPI GetWindowWord16(HWND16,INT16);
8423 WORD        WINAPI GetWindowWord32(HWND32,INT32);
8424 #define     GetWindowWord WINELIB_NAME(GetWindowWord)
8425 ATOM        WINAPI GlobalAddAtom16(SEGPTR);
8426 ATOM        WINAPI GlobalAddAtom32A(LPCSTR);
8427 ATOM        WINAPI GlobalAddAtom32W(LPCWSTR);
8428 #define     GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
8429 HGLOBAL16   WINAPI GlobalAlloc16(UINT16,DWORD);
8430 HGLOBAL32   WINAPI GlobalAlloc32(UINT32,DWORD);
8431 #define     GlobalAlloc WINELIB_NAME(GlobalAlloc)
8432 DWORD       WINAPI GlobalCompact16(DWORD);
8433 DWORD       WINAPI GlobalCompact32(DWORD);
8434 #define     GlobalCompact WINELIB_NAME(GlobalCompact)
8435 UINT16      WINAPI GlobalFlags16(HGLOBAL16);
8436 UINT32      WINAPI GlobalFlags32(HGLOBAL32);
8437 #define     GlobalFlags WINELIB_NAME(GlobalFlags)
8438 ATOM        WINAPI GlobalFindAtom16(SEGPTR);
8439 ATOM        WINAPI GlobalFindAtom32A(LPCSTR);
8440 ATOM        WINAPI GlobalFindAtom32W(LPCWSTR);
8441 #define     GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
8442 HGLOBAL16   WINAPI GlobalFree16(HGLOBAL16);
8443 HGLOBAL32   WINAPI GlobalFree32(HGLOBAL32);
8444 #define     GlobalFree WINELIB_NAME(GlobalFree)
8445 UINT16      WINAPI GlobalGetAtomName16(ATOM,LPSTR,INT16);
8446 UINT32      WINAPI GlobalGetAtomName32A(ATOM,LPSTR,INT32);
8447 UINT32      WINAPI GlobalGetAtomName32W(ATOM,LPWSTR,INT32);
8448 #define     GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
8449 DWORD       WINAPI GlobalHandle16(WORD);
8450 HGLOBAL32   WINAPI GlobalHandle32(LPCVOID);
8451 #define     GlobalHandle WINELIB_NAME(GlobalHandle)
8452 WORD        WINAPI GlobalFix16(HGLOBAL16);
8453 VOID        WINAPI GlobalFix32(HGLOBAL32);
8454 #define     GlobalFix WINELIB_NAME(GlobalFix)
8455 LPVOID      WINAPI GlobalLock16(HGLOBAL16);
8456 LPVOID      WINAPI GlobalLock32(HGLOBAL32);
8457 #define     GlobalLock WINELIB_NAME(GlobalLock)
8458 HGLOBAL16   WINAPI GlobalReAlloc16(HGLOBAL16,DWORD,UINT16);
8459 HGLOBAL32   WINAPI GlobalReAlloc32(HGLOBAL32,DWORD,UINT32);
8460 #define     GlobalReAlloc WINELIB_NAME(GlobalReAlloc)
8461 DWORD       WINAPI GlobalSize16(HGLOBAL16);
8462 DWORD       WINAPI GlobalSize32(HGLOBAL32);
8463 #define     GlobalSize WINELIB_NAME(GlobalSize)
8464 VOID        WINAPI GlobalUnfix16(HGLOBAL16);
8465 VOID        WINAPI GlobalUnfix32(HGLOBAL32);
8466 #define     GlobalUnfix WINELIB_NAME(GlobalUnfix)
8467 BOOL16      WINAPI GlobalUnlock16(HGLOBAL16);
8468 BOOL32      WINAPI GlobalUnlock32(HGLOBAL32);
8469 #define     GlobalUnlock WINELIB_NAME(GlobalUnlock)
8470 BOOL16      WINAPI GlobalUnWire16(HGLOBAL16);
8471 BOOL32      WINAPI GlobalUnWire32(HGLOBAL32);
8472 #define     GlobalUnWire WINELIB_NAME(GlobalUnWire)
8473 SEGPTR      WINAPI GlobalWire16(HGLOBAL16);
8474 LPVOID      WINAPI GlobalWire32(HGLOBAL32);
8475 #define     GlobalWire WINELIB_NAME(GlobalWire)
8476 BOOL16      WINAPI GrayString16(HDC16,HBRUSH16,GRAYSTRINGPROC16,LPARAM,
8477                                 INT16,INT16,INT16,INT16,INT16);
8478 BOOL32      WINAPI GrayString32A(HDC32,HBRUSH32,GRAYSTRINGPROC32,LPARAM,
8479                                  INT32,INT32,INT32,INT32,INT32);
8480 BOOL32      WINAPI GrayString32W(HDC32,HBRUSH32,GRAYSTRINGPROC32,LPARAM,
8481                                  INT32,INT32,INT32,INT32,INT32);
8482 #define     GrayString WINELIB_NAME_AW(GrayString)
8483 VOID        WINAPI HideCaret16(HWND16);
8484 BOOL32      WINAPI HideCaret32(HWND32);
8485 #define     HideCaret WINELIB_NAME(HideCaret)
8486 BOOL16      WINAPI HiliteMenuItem16(HWND16,HMENU16,UINT16,UINT16);
8487 BOOL32      WINAPI HiliteMenuItem32(HWND32,HMENU32,UINT32,UINT32);
8488 #define     HiliteMenuItem WINELIB_NAME(HiliteMenuItem)
8489 void        WINAPI InflateRect16(LPRECT16,INT16,INT16);
8490 void        WINAPI InflateRect32(LPRECT32,INT32,INT32);
8491 #define     InflateRect WINELIB_NAME(InflateRect)
8492 WORD        WINAPI InitAtomTable16(WORD);
8493 BOOL32      WINAPI InitAtomTable32(DWORD);
8494 #define     InitAtomTable WINELIB_NAME(InitAtomTable)
8495 BOOL16      WINAPI InSendMessage16(void);
8496 BOOL32      WINAPI InSendMessage32(void);
8497 #define     InSendMessage WINELIB_NAME(InSendMessage)
8498 BOOL16      WINAPI InsertMenu16(HMENU16,UINT16,UINT16,UINT16,SEGPTR);
8499 BOOL32      WINAPI InsertMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
8500 BOOL32      WINAPI InsertMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
8501 #define     InsertMenu WINELIB_NAME_AW(InsertMenu)
8502 BOOL16      WINAPI InsertMenuItem16(HMENU16,UINT16,BOOL16,const MENUITEMINFO16*);
8503 BOOL32      WINAPI InsertMenuItem32A(HMENU32,UINT32,BOOL32,const MENUITEMINFO32A*);
8504 BOOL32      WINAPI InsertMenuItem32W(HMENU32,UINT32,BOOL32,const MENUITEMINFO32W*);
8505 #define     InsertMenuItem WINELIB_NAME_AW(InsertMenuItem)
8506 INT16       WINAPI IntersectClipRect16(HDC16,INT16,INT16,INT16,INT16);
8507 INT32       WINAPI IntersectClipRect32(HDC32,INT32,INT32,INT32,INT32);
8508 #define     IntersectClipRect WINELIB_NAME(IntersectClipRect)
8509 BOOL16      WINAPI IntersectRect16(LPRECT16,const RECT16*,const RECT16*);
8510 BOOL32      WINAPI IntersectRect32(LPRECT32,const RECT32*,const RECT32*);
8511 #define     IntersectRect WINELIB_NAME(IntersectRect)
8512 void        WINAPI InvalidateRect16(HWND16,const RECT16*,BOOL16);
8513 void        WINAPI InvalidateRect32(HWND32,const RECT32*,BOOL32);
8514 #define     InvalidateRect WINELIB_NAME(InvalidateRect)
8515 void        WINAPI InvalidateRgn16(HWND16,HRGN16,BOOL16);
8516 void        WINAPI InvalidateRgn32(HWND32,HRGN32,BOOL32);
8517 #define     InvalidateRgn WINELIB_NAME(InvalidateRgn)
8518 void        WINAPI InvertRect16(HDC16,const RECT16*);
8519 void        WINAPI InvertRect32(HDC32,const RECT32*);
8520 #define     InvertRect WINELIB_NAME(InvertRect)
8521 BOOL16      WINAPI InvertRgn16(HDC16,HRGN16);
8522 BOOL32      WINAPI InvertRgn32(HDC32,HRGN32);
8523 #define     InvertRgn WINELIB_NAME(InvertRgn)
8524 BOOL16      WINAPI IsBadCodePtr16(SEGPTR);
8525 BOOL32      WINAPI IsBadCodePtr32(FARPROC32);
8526 #define     IsBadCodePtr WINELIB_NAME(IsBadCodePtr)
8527 BOOL16      WINAPI IsBadHugeReadPtr16(SEGPTR,DWORD);
8528 BOOL32      WINAPI IsBadHugeReadPtr32(LPCVOID,UINT32);
8529 #define     IsBadHugeReadPtr WINELIB_NAME(IsBadHugeReadPtr)
8530 BOOL16      WINAPI IsBadHugeWritePtr16(SEGPTR,DWORD);
8531 BOOL32      WINAPI IsBadHugeWritePtr32(LPVOID,UINT32);
8532 #define     IsBadHugeWritePtr WINELIB_NAME(IsBadHugeWritePtr)
8533 BOOL16      WINAPI IsBadReadPtr16(SEGPTR,UINT16);
8534 BOOL32      WINAPI IsBadReadPtr32(LPCVOID,UINT32);
8535 #define     IsBadReadPtr WINELIB_NAME(IsBadReadPtr)
8536 BOOL16      WINAPI IsBadStringPtr16(SEGPTR,UINT16);
8537 BOOL32      WINAPI IsBadStringPtr32A(LPCSTR,UINT32);
8538 BOOL32      WINAPI IsBadStringPtr32W(LPCWSTR,UINT32);
8539 #define     IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
8540 BOOL16      WINAPI IsBadWritePtr16(SEGPTR,UINT16);
8541 BOOL32      WINAPI IsBadWritePtr32(LPVOID,UINT32);
8542 #define     IsBadWritePtr WINELIB_NAME(IsBadWritePtr)
8543 BOOL16      WINAPI IsCharAlpha16(CHAR);
8544 BOOL32      WINAPI IsCharAlpha32A(CHAR);
8545 BOOL32      WINAPI IsCharAlpha32W(WCHAR);
8546 #define     IsCharAlpha WINELIB_NAME_AW(IsCharAlpha)
8547 BOOL16      WINAPI IsCharAlphaNumeric16(CHAR);
8548 BOOL32      WINAPI IsCharAlphaNumeric32A(CHAR);
8549 BOOL32      WINAPI IsCharAlphaNumeric32W(WCHAR);
8550 #define     IsCharAlphaNumeric WINELIB_NAME_AW(IsCharAlphaNumeric)
8551 BOOL16      WINAPI IsCharLower16(CHAR);
8552 BOOL32      WINAPI IsCharLower32A(CHAR);
8553 BOOL32      WINAPI IsCharLower32W(WCHAR);
8554 #define     IsCharLower WINELIB_NAME_AW(IsCharLower)
8555 BOOL16      WINAPI IsCharUpper16(CHAR);
8556 BOOL32      WINAPI IsCharUpper32A(CHAR);
8557 BOOL32      WINAPI IsCharUpper32W(WCHAR);
8558 #define     IsCharUpper WINELIB_NAME_AW(IsCharUpper)
8559 BOOL16      WINAPI IsChild16(HWND16,HWND16);
8560 BOOL32      WINAPI IsChild32(HWND32,HWND32);
8561 #define     IsChild WINELIB_NAME(IsChild)
8562 BOOL16      WINAPI IsClipboardFormatAvailable16(UINT16);
8563 BOOL32      WINAPI IsClipboardFormatAvailable32(UINT32);
8564 #define     IsClipboardFormatAvailable WINELIB_NAME(IsClipboardFormatAvailable)
8565 BOOL16      WINAPI IsDBCSLeadByte16(BYTE);
8566 BOOL32      WINAPI IsDBCSLeadByte32(BYTE);
8567 #define     IsDBCSLeadByte WINELIB_NAME(IsDBCSLeadByte)
8568 BOOL16      WINAPI IsDialogMessage16(HWND16,LPMSG16);
8569 BOOL32      WINAPI IsDialogMessage32A(HWND32,LPMSG32);
8570 BOOL32      WINAPI IsDialogMessage32W(HWND32,LPMSG32);
8571 #define     IsDialogMessage WINELIB_NAME_AW(IsDialogMessage)
8572 UINT16      WINAPI IsDlgButtonChecked16(HWND16,UINT16);
8573 UINT32      WINAPI IsDlgButtonChecked32(HWND32,UINT32);
8574 #define     IsDlgButtonChecked WINELIB_NAME(IsDlgButtonChecked)
8575 BOOL16      WINAPI IsIconic16(HWND16);
8576 BOOL32      WINAPI IsIconic32(HWND32);
8577 #define     IsIconic WINELIB_NAME(IsIconic)
8578 BOOL16      WINAPI IsMenu16(HMENU16);
8579 BOOL32      WINAPI IsMenu32(HMENU32);
8580 #define     IsMenu WINELIB_NAME(IsMenu)
8581 BOOL16      WINAPI IsRectEmpty16(const RECT16*);
8582 BOOL32      WINAPI IsRectEmpty32(const RECT32*);
8583 #define     IsRectEmpty WINELIB_NAME(IsRectEmpty)
8584 BOOL16      WINAPI IsWindow16(HWND16);
8585 BOOL32      WINAPI IsWindow32(HWND32);
8586 #define     IsWindow WINELIB_NAME(IsWindow)
8587 BOOL16      WINAPI IsWindowEnabled16(HWND16);
8588 BOOL32      WINAPI IsWindowEnabled32(HWND32);
8589 #define     IsWindowEnabled WINELIB_NAME(IsWindowEnabled)
8590 BOOL16      WINAPI IsWindowVisible16(HWND16);
8591 BOOL32      WINAPI IsWindowVisible32(HWND32);
8592 #define     IsWindowVisible WINELIB_NAME(IsWindowVisible)
8593 BOOL16      WINAPI IsZoomed16(HWND16);
8594 BOOL32      WINAPI IsZoomed32(HWND32);
8595 #define     IsZoomed WINELIB_NAME(IsZoomed)
8596 BOOL16      WINAPI KillSystemTimer16(HWND16,UINT16);
8597 BOOL32      WINAPI KillSystemTimer32(HWND32,UINT32);
8598 #define     KillSystemTimer WINELIB_NAME(KillSystemTimer)
8599 BOOL16      WINAPI KillTimer16(HWND16,UINT16);
8600 BOOL32      WINAPI KillTimer32(HWND32,UINT32);
8601 #define     KillTimer WINELIB_NAME(KillTimer)
8602 HFILE16     WINAPI LZOpenFile16(LPCSTR,LPOFSTRUCT,UINT16);
8603 HFILE32     WINAPI LZOpenFile32A(LPCSTR,LPOFSTRUCT,UINT32);
8604 HFILE32     WINAPI LZOpenFile32W(LPCWSTR,LPOFSTRUCT,UINT32);
8605 #define     LZOpenFile WINELIB_NAME_AW(LZOpenFile)
8606 INT16       WINAPI LZRead16(HFILE16,LPVOID,UINT16); 
8607 INT32       WINAPI LZRead32(HFILE32,LPVOID,UINT32); 
8608 #define     LZRead WINELIB_NAME(LZRead)
8609 INT16       WINAPI LZStart16(void);
8610 INT32       WINAPI LZStart32(void);
8611 #define     LZStart WINELIB_NAME(LZStart)
8612 VOID        WINAPI LineDDA16(INT16,INT16,INT16,INT16,LINEDDAPROC16,LPARAM);
8613 BOOL32      WINAPI LineDDA32(INT32,INT32,INT32,INT32,LINEDDAPROC32,LPARAM);
8614 #define     LineDDA WINELIB_NAME(LineDDA)
8615 BOOL16      WINAPI LineTo16(HDC16,INT16,INT16);
8616 BOOL32      WINAPI LineTo32(HDC32,INT32,INT32);
8617 #define     LineTo WINELIB_NAME(LineTo)
8618 HACCEL16    WINAPI LoadAccelerators16(HINSTANCE16,SEGPTR);
8619 HACCEL32    WINAPI LoadAccelerators32A(HINSTANCE32,LPCSTR);
8620 HACCEL32    WINAPI LoadAccelerators32W(HINSTANCE32,LPCWSTR);
8621 #define     LoadAccelerators WINELIB_NAME_AW(LoadAccelerators)
8622 HBITMAP16   WINAPI LoadBitmap16(HANDLE16,SEGPTR);
8623 HBITMAP32   WINAPI LoadBitmap32A(HANDLE32,LPCSTR);
8624 HBITMAP32   WINAPI LoadBitmap32W(HANDLE32,LPCWSTR);
8625 #define     LoadBitmap WINELIB_NAME(LoadBitmap)
8626 HCURSOR16   WINAPI LoadCursor16(HINSTANCE16,SEGPTR);
8627 HCURSOR32   WINAPI LoadCursor32A(HINSTANCE32,LPCSTR);
8628 HCURSOR32   WINAPI LoadCursor32W(HINSTANCE32,LPCWSTR);
8629 #define     LoadCursor WINELIB_NAME_AW(LoadCursor)
8630 HCURSOR32   WINAPI LoadCursorFromFile32A(LPCSTR);
8631 HCURSOR32   WINAPI LoadCursorFromFile32W(LPCWSTR);
8632 #define     LoadCursorFromFile WINELIB_NAME_AW(LoadCursorFromFile)
8633 HICON16     WINAPI LoadIcon16(HINSTANCE16,SEGPTR);
8634 HICON32     WINAPI LoadIcon32A(HINSTANCE32,LPCSTR);
8635 HICON32     WINAPI LoadIcon32W(HINSTANCE32,LPCWSTR);
8636 #define     LoadIcon WINELIB_NAME_AW(LoadIcon)
8637 HANDLE16    WINAPI LoadImage16(HINSTANCE16,LPCSTR,UINT16,INT16,INT16,UINT16);
8638 HANDLE32    WINAPI LoadImage32A(HINSTANCE32,LPCSTR,UINT32,INT32,INT32,UINT32);
8639 HANDLE32    WINAPI LoadImage32W(HINSTANCE32,LPCWSTR,UINT32,INT32,INT32,UINT32);
8640 #define     LoadImage WINELIB_NAME_AW(LoadImage)
8641 HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
8642 HMODULE32   WINAPI LoadLibrary32A(LPCSTR);
8643 HMODULE32   WINAPI LoadLibrary32W(LPCWSTR);
8644 #define     LoadLibrary WINELIB_NAME_AW(LoadLibrary)
8645 HMODULE32   WINAPI LoadLibraryEx32A(LPCSTR,HFILE32,DWORD);
8646 HMODULE32   WINAPI LoadLibraryEx32W(LPCWSTR,HFILE32,DWORD);
8647 #define     LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
8648 HMENU16     WINAPI LoadMenu16(HINSTANCE16,SEGPTR);
8649 HMENU32     WINAPI LoadMenu32A(HINSTANCE32,LPCSTR);
8650 HMENU32     WINAPI LoadMenu32W(HINSTANCE32,LPCWSTR);
8651 #define     LoadMenu WINELIB_NAME_AW(LoadMenu)
8652 HMENU16     WINAPI LoadMenuIndirect16(LPCVOID);
8653 HMENU32     WINAPI LoadMenuIndirect32A(LPCVOID);
8654 HMENU32     WINAPI LoadMenuIndirect32W(LPCVOID);
8655 #define     LoadMenuIndirect WINELIB_NAME_AW(LoadMenuIndirect)
8656 HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
8657 HINSTANCE32 WINAPI LoadModule32(LPCSTR,LPVOID);
8658 #define     LoadModule WINELIB_NAME(LoadModule)
8659 HGLOBAL16   WINAPI LoadResource16(HINSTANCE16,HRSRC16);
8660 HGLOBAL32   WINAPI LoadResource32(HMODULE32,HRSRC32);
8661 #define     LoadResource WINELIB_NAME(LoadResource)
8662 INT16       WINAPI LoadString16(HINSTANCE16,UINT16,LPSTR,INT16);
8663 INT32       WINAPI LoadString32A(HINSTANCE32,UINT32,LPSTR,INT32);
8664 INT32       WINAPI LoadString32W(HINSTANCE32,UINT32,LPWSTR,INT32);
8665 #define     LoadString WINELIB_NAME_AW(LoadString)
8666 HLOCAL16    WINAPI LocalAlloc16(UINT16,WORD);
8667 HLOCAL32    WINAPI LocalAlloc32(UINT32,DWORD);
8668 #define     LocalAlloc WINELIB_NAME(LocalAlloc)
8669 UINT16      WINAPI LocalCompact16(UINT16);
8670 UINT32      WINAPI LocalCompact32(UINT32);
8671 #define     LocalCompact WINELIB_NAME(LocalCompact)
8672 UINT16      WINAPI LocalFlags16(HLOCAL16);
8673 UINT32      WINAPI LocalFlags32(HLOCAL32);
8674 #define     LocalFlags WINELIB_NAME(LocalFlags)
8675 HLOCAL16    WINAPI LocalFree16(HLOCAL16);
8676 HLOCAL32    WINAPI LocalFree32(HLOCAL32);
8677 #define     LocalFree WINELIB_NAME(LocalFree)
8678 HLOCAL16    WINAPI LocalHandle16(WORD);
8679 HLOCAL32    WINAPI LocalHandle32(LPCVOID);
8680 #define     LocalHandle WINELIB_NAME(LocalHandle)
8681 SEGPTR      WINAPI LocalLock16(HLOCAL16);
8682 LPVOID      WINAPI LocalLock32(HLOCAL32);
8683 #define     LocalLock WINELIB_NAME(LocalLock)
8684 HLOCAL16    WINAPI LocalReAlloc16(HLOCAL16,WORD,UINT16);
8685 HLOCAL32    WINAPI LocalReAlloc32(HLOCAL32,DWORD,UINT32);
8686 #define     LocalReAlloc WINELIB_NAME(LocalReAlloc)
8687 UINT16      WINAPI LocalShrink16(HGLOBAL16,UINT16);
8688 UINT32      WINAPI LocalShrink32(HGLOBAL32,UINT32);
8689 #define     LocalShrink WINELIB_NAME(LocalShrink)
8690 UINT16      WINAPI LocalSize16(HLOCAL16);
8691 UINT32      WINAPI LocalSize32(HLOCAL32);
8692 #define     LocalSize WINELIB_NAME(LocalSize)
8693 BOOL16      WINAPI LocalUnlock16(HLOCAL16);
8694 BOOL32      WINAPI LocalUnlock32(HLOCAL32);
8695 #define     LocalUnlock WINELIB_NAME(LocalUnlock)
8696 LPVOID      WINAPI LockResource16(HGLOBAL16);
8697 LPVOID      WINAPI LockResource32(HGLOBAL32);
8698 #define     LockResource WINELIB_NAME(LockResource)
8699 HGLOBAL16   WINAPI LockSegment16(HGLOBAL16);
8700 #define     LockSegment32(handle) GlobalFix32((HANDLE32)(handle))
8701 #define     LockSegment WINELIB_NAME(LockSegment)
8702 BOOL16      WINAPI LockWindowUpdate16(HWND16);
8703 BOOL32      WINAPI LockWindowUpdate32(HWND32);
8704 #define     LockWindowUpdate WINELIB_NAME(LockWindowUpdate)
8705 INT16       WINAPI LookupIconIdFromDirectory16(LPBYTE,BOOL16);
8706 INT32       WINAPI LookupIconIdFromDirectory32(LPBYTE,BOOL32);
8707 #define     LookupIconIdFromDirectory WINELIB_NAME(LookupIconIdFromDirectory)
8708 INT16       WINAPI LookupIconIdFromDirectoryEx16(LPBYTE,BOOL16,INT16,INT16,UINT16);
8709 INT32       WINAPI LookupIconIdFromDirectoryEx32(LPBYTE,BOOL32,INT32,INT32,UINT32);
8710 #define     LookupIconIdFromDirectoryEx WINELIB_NAME(LookupIconIdFromDirectoryEx)
8711 BOOL16      WINAPI LPtoDP16(HDC16,LPPOINT16,INT16);
8712 BOOL32      WINAPI LPtoDP32(HDC32,LPPOINT32,INT32);
8713 #define     LPtoDP WINELIB_NAME(LPtoDP)
8714 void        WINAPI LZClose16(HFILE16);
8715 void        WINAPI LZClose32(HFILE32);
8716 #define     LZClose WINELIB_NAME(LZClose)
8717 LONG        WINAPI LZCopy16(HFILE16,HFILE16);
8718 LONG        WINAPI LZCopy32(HFILE32,HFILE32);
8719 #define     LZCopy WINELIB_NAME(LZCopy)
8720 HFILE16     WINAPI LZInit16(HFILE16);
8721 HFILE32     WINAPI LZInit32(HFILE32);
8722 #define     LZInit WINELIB_NAME(LZInit)
8723 LONG        WINAPI LZSeek16(HFILE16,LONG,INT16);
8724 LONG        WINAPI LZSeek32(HFILE32,LONG,INT32);
8725 #define     LZSeek WINELIB_NAME(LZSeek)
8726 UINT16      WINAPI MapVirtualKey16(UINT16,UINT16);
8727 UINT32      WINAPI MapVirtualKey32A(UINT32,UINT32);
8728 UINT32      WINAPI MapVirtualKey32W(UINT32,UINT32);
8729 #define     MapVirtualKey WINELIB_NAME_AW(MapVirtualKey)
8730 FARPROC16   WINAPI MakeProcInstance16(FARPROC16,HANDLE16);
8731 #define     MakeProcInstance32(proc,inst) (proc)
8732 #define     MakeProcInstance WINELIB_NAME(MakeProcInstance)
8733 void        WINAPI MapDialogRect16(HWND16,LPRECT16);
8734 void        WINAPI MapDialogRect32(HWND32,LPRECT32);
8735 #define     MapDialogRect WINELIB_NAME(MapDialogRect)
8736 void        WINAPI MapWindowPoints16(HWND16,HWND16,LPPOINT16,UINT16);
8737 void        WINAPI MapWindowPoints32(HWND32,HWND32,LPPOINT32,UINT32);
8738 #define     MapWindowPoints WINELIB_NAME(MapWindowPoints)
8739 VOID        WINAPI MessageBeep16(UINT16);
8740 BOOL32      WINAPI MessageBeep32(UINT32);
8741 #define     MessageBeep WINELIB_NAME(MessageBeep)
8742 INT16       WINAPI MessageBox16(HWND16,LPCSTR,LPCSTR,UINT16);
8743 INT32       WINAPI MessageBox32A(HWND32,LPCSTR,LPCSTR,UINT32);
8744 INT32       WINAPI MessageBox32W(HWND32,LPCWSTR,LPCWSTR,UINT32);
8745 #define     MessageBox WINELIB_NAME_AW(MessageBox)
8746 INT16       WINAPI MessageBoxIndirect16(LPMSGBOXPARAMS16);
8747 INT32       WINAPI MessageBoxIndirect32A(LPMSGBOXPARAMS32A);
8748 INT32       WINAPI MessageBoxIndirect32W(LPMSGBOXPARAMS32W);
8749 #define     MessageBoxIndirect WINELIB_NAME_AW(MessageBoxIndirect)
8750 BOOL16      WINAPI ModifyMenu16(HMENU16,UINT16,UINT16,UINT16,SEGPTR);
8751 BOOL32      WINAPI ModifyMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
8752 BOOL32      WINAPI ModifyMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
8753 #define     ModifyMenu WINELIB_NAME_AW(ModifyMenu)
8754 BOOL16      WINAPI MoveToEx16(HDC16,INT16,INT16,LPPOINT16);
8755 BOOL32      WINAPI MoveToEx32(HDC32,INT32,INT32,LPPOINT32);
8756 #define     MoveToEx WINELIB_NAME(MoveToEx)
8757 BOOL16      WINAPI MoveWindow16(HWND16,INT16,INT16,INT16,INT16,BOOL16);
8758 BOOL32      WINAPI MoveWindow32(HWND32,INT32,INT32,INT32,INT32,BOOL32);
8759 #define     MoveWindow WINELIB_NAME(MoveWindow)
8760 INT16       WINAPI MulDiv16(INT16,INT16,INT16);
8761 INT32       WINAPI MulDiv32(INT32,INT32,INT32);
8762 #define     MulDiv WINELIB_NAME(MulDiv)
8763 INT16       WINAPI OemToAnsi16(LPCSTR,LPSTR);
8764 #define     OemToAnsi32A OemToChar32A
8765 #define     OemToAnsi32W OemToChar32W
8766 #define     OemToAnsi WINELIB_NAME_AW(OemToAnsi)
8767 VOID        WINAPI OemToAnsiBuff16(LPCSTR,LPSTR,UINT16);
8768 #define     OemToAnsiBuff32A OemToCharBuff32A
8769 #define     OemToAnsiBuff32W OemToCharBuff32W
8770 #define     OemToAnsiBuff WINELIB_NAME_AW(OemToAnsiBuff)
8771 BOOL32      WINAPI OemToChar32A(LPCSTR,LPSTR);
8772 BOOL32      WINAPI OemToChar32W(LPCSTR,LPWSTR);
8773 #define     OemToChar WINELIB_NAME_AW(OemToChar)
8774 BOOL32      WINAPI OemToCharBuff32A(LPCSTR,LPSTR,DWORD);
8775 BOOL32      WINAPI OemToCharBuff32W(LPCSTR,LPWSTR,DWORD);
8776 #define     OemToCharBuff WINELIB_NAME_AW(OemToCharBuff)
8777 INT16       WINAPI WideCharToLocal16(LPSTR,LPWSTR,INT16);
8778 INT32       WINAPI WideCharToLocal32(LPSTR,LPWSTR,INT32);
8779 #define                 WideCharToLocal WINELIB_NAME(WideCharToLocal)
8780 INT16       WINAPI LocalToWideChar16(LPWSTR,LPSTR,INT16);
8781 INT32       WINAPI LocalToWideChar32(LPWSTR,LPSTR,INT32);
8782 #define                 LocalToWideChar WINELIB_NAME(LocalToWideChar)
8783 INT16       WINAPI OffsetClipRgn16(HDC16,INT16,INT16);
8784 INT32       WINAPI OffsetClipRgn32(HDC32,INT32,INT32);
8785 #define     OffsetClipRgn WINELIB_NAME(OffsetClipRgn)
8786 void        WINAPI OffsetRect16(LPRECT16,INT16,INT16);
8787 void        WINAPI OffsetRect32(LPRECT32,INT32,INT32);
8788 #define     OffsetRect WINELIB_NAME(OffsetRect)
8789 INT16       WINAPI OffsetRgn16(HRGN16,INT16,INT16);
8790 INT32       WINAPI OffsetRgn32(HRGN32,INT32,INT32);
8791 #define     OffsetRgn WINELIB_NAME(OffsetRgn)
8792 BOOL16      WINAPI OffsetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
8793 BOOL32      WINAPI OffsetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
8794 #define     OffsetViewportOrgEx WINELIB_NAME(OffsetViewportOrgEx)
8795 BOOL16      WINAPI OffsetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
8796 BOOL32      WINAPI OffsetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
8797 #define     OffsetWindowOrgEx WINELIB_NAME(OffsetWindowOrgEx)
8798 BOOL16      WINAPI OpenClipboard16(HWND16);
8799 BOOL32      WINAPI OpenClipboard32(HWND32);
8800 #define     OpenClipboard WINELIB_NAME(OpenClipboard)
8801 HFILE16     WINAPI OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
8802 HFILE32     WINAPI OpenFile32(LPCSTR,OFSTRUCT*,UINT32);
8803 #define     OpenFile WINELIB_NAME(OpenFile)
8804 BOOL16      WINAPI OpenIcon16(HWND16);
8805 BOOL32      WINAPI OpenIcon32(HWND32);
8806 #define     OpenIcon WINELIB_NAME(OpenIcon)
8807 INT16       WINAPI OpenSound16(void);
8808 VOID        WINAPI OpenSound32(void);
8809 #define     OpenSound WINELIB_NAME(OpenSound)
8810 VOID        WINAPI OutputDebugString16(LPCSTR);
8811 VOID        WINAPI OutputDebugString32A(LPCSTR);
8812 VOID        WINAPI OutputDebugString32W(LPCWSTR);
8813 #define     OutputDebugString WINELIB_NAME_AW(OutputDebugString)
8814 BOOL16      WINAPI PaintRgn16(HDC16,HRGN16);
8815 BOOL32      WINAPI PaintRgn32(HDC32,HRGN32);
8816 #define     PaintRgn WINELIB_NAME(PaintRgn)
8817 BOOL16      WINAPI PatBlt16(HDC16,INT16,INT16,INT16,INT16,DWORD);
8818 BOOL32      WINAPI PatBlt32(HDC32,INT32,INT32,INT32,INT32,DWORD);
8819 #define     PatBlt WINELIB_NAME(PatBlt)
8820 HRGN16      WINAPI PathToRegion16(HDC16);
8821 HRGN32      WINAPI PathToRegion32(HDC32);
8822 #define     PathToRegion WINELIB_NAME(PathToRegion)
8823 BOOL16      WINAPI PeekMessage16(LPMSG16,HWND16,UINT16,UINT16,UINT16);
8824 BOOL32      WINAPI PeekMessage32A(LPMSG32,HWND32,UINT32,UINT32,UINT32);
8825 BOOL32      WINAPI PeekMessage32W(LPMSG32,HWND32,UINT32,UINT32,UINT32);
8826 #define     PeekMessage WINELIB_NAME_AW(PeekMessage)
8827 BOOL16      WINAPI Pie16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
8828 BOOL32      WINAPI Pie32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
8829 #define     Pie WINELIB_NAME(Pie)
8830 BOOL16      WINAPI PlayMetaFile16(HDC16,HMETAFILE16);
8831 BOOL32      WINAPI PlayMetaFile32(HDC32,HMETAFILE32);
8832 #define     PlayMetaFile WINELIB_NAME(PlayMetaFile)
8833 VOID        WINAPI PlayMetaFileRecord16(HDC16,LPHANDLETABLE16,LPMETARECORD,UINT16);
8834 BOOL32      WINAPI PlayMetaFileRecord32(HDC32,LPHANDLETABLE32,LPMETARECORD,UINT32);
8835 #define     PlayMetaFileRecord WINELIB_NAME(PlayMetaFileRecord)
8836 BOOL16      WINAPI PolyBezier16(HDC16,const POINT16*,INT16);
8837 BOOL32      WINAPI PolyBezier32(HDC32,const POINT32*,DWORD);
8838 #define     PolyBezier WINELIB_NAME(PolyBezier)
8839 BOOL16      WINAPI PolyBezierTo16(HDC16,const POINT16*,INT16);
8840 BOOL32      WINAPI PolyBezierTo32(HDC32,const POINT32*,DWORD);
8841 #define     PolyBezierTo WINELIB_NAME(PolyBezierTo)
8842 BOOL16      WINAPI PolyPolygon16(HDC16,const POINT16*,const INT16*,UINT16);
8843 BOOL32      WINAPI PolyPolygon32(HDC32,const POINT32*,const INT32*,UINT32);
8844 #define     PolyPolygon WINELIB_NAME(PolyPolygon)
8845 BOOL16      WINAPI Polygon16(HDC16,const POINT16*,INT16);
8846 BOOL32      WINAPI Polygon32(HDC32,const POINT32*,INT32);
8847 #define     Polygon WINELIB_NAME(Polygon)
8848 BOOL16      WINAPI Polyline16(HDC16,const POINT16*,INT16);
8849 BOOL32      WINAPI Polyline32(HDC32,const POINT32*,INT32);
8850 #define     Polyline WINELIB_NAME(Polyline)
8851 BOOL16      WINAPI PostAppMessage16(HTASK16,UINT16,WPARAM16,LPARAM);
8852 #define     PostAppMessage32A(thread,msg,wparam,lparam) \
8853             PostThreadMessage32A((DWORD)(thread),msg,wparam,lparam)
8854 #define     PostAppMessage32W(thread,msg,wparam,lparam) \
8855             PostThreadMessage32W((DWORD)(thread),msg,wparam,lparam)
8856 #define     PostAppMessage WINELIB_NAME_AW(PostAppMessage)
8857 BOOL16      WINAPI PostMessage16(HWND16,UINT16,WPARAM16,LPARAM);
8858 BOOL32      WINAPI PostMessage32A(HWND32,UINT32,WPARAM32,LPARAM);
8859 BOOL32      WINAPI PostMessage32W(HWND32,UINT32,WPARAM32,LPARAM);
8860 #define     PostMessage WINELIB_NAME_AW(PostMessage)
8861 void        WINAPI PostQuitMessage16(INT16);
8862 void        WINAPI PostQuitMessage32(INT32);
8863 #define     PostQuitMessage WINELIB_NAME(PostQuitMessage)
8864 BOOL16      WINAPI PtInRect16(const RECT16*,POINT16);
8865 BOOL32      WINAPI PtInRect32(const RECT32*,POINT32);
8866 #define     PtInRect WINELIB_NAME(PtInRect)
8867 BOOL16      WINAPI PtInRegion16(HRGN16,INT16,INT16);
8868 BOOL32      WINAPI PtInRegion32(HRGN32,INT32,INT32);
8869 #define     PtInRegion WINELIB_NAME(PtInRegion)
8870 BOOL16      WINAPI PtVisible16(HDC16,INT16,INT16);
8871 BOOL32      WINAPI PtVisible32(HDC32,INT32,INT32);
8872 #define     PtVisible WINELIB_NAME(PtVisible)
8873 UINT16      WINAPI RealizePalette16(HDC16);
8874 UINT32      WINAPI RealizePalette32(HDC32);
8875 #define     RealizePalette WINELIB_NAME(RealizePalette)
8876 BOOL16      WINAPI Rectangle16(HDC16,INT16,INT16,INT16,INT16);
8877 BOOL32      WINAPI Rectangle32(HDC32,INT32,INT32,INT32,INT32);
8878 #define     Rectangle WINELIB_NAME(Rectangle)
8879 BOOL16      WINAPI RectInRegion16(HRGN16,const RECT16 *);
8880 BOOL32      WINAPI RectInRegion32(HRGN32,const RECT32 *);
8881 #define     RectInRegion WINELIB_NAME(RectInRegion)
8882 BOOL16      WINAPI RectVisible16(HDC16,const RECT16*);
8883 BOOL32      WINAPI RectVisible32(HDC32,const RECT32*);
8884 #define     RectVisible WINELIB_NAME(RectVisible)
8885 BOOL16      WINAPI RedrawWindow16(HWND16,const RECT16*,HRGN16,UINT16);
8886 BOOL32      WINAPI RedrawWindow32(HWND32,const RECT32*,HRGN32,UINT32);
8887 #define     RedrawWindow WINELIB_NAME(RedrawWindow)
8888 DWORD       WINAPI RegCreateKey16(HKEY,LPCSTR,LPHKEY);
8889 DWORD       WINAPI RegCreateKey32A(HKEY,LPCSTR,LPHKEY);
8890 DWORD       WINAPI RegCreateKey32W(HKEY,LPCWSTR,LPHKEY);
8891 #define     RegCreateKey WINELIB_NAME_AW(RegCreateKey)
8892 DWORD       WINAPI RegDeleteKey16(HKEY,LPCSTR);
8893 DWORD       WINAPI RegDeleteKey32A(HKEY,LPCSTR);
8894 DWORD       WINAPI RegDeleteKey32W(HKEY,LPWSTR);
8895 #define     RegDeleteKey WINELIB_NAME_AW(RegDeleteKey)
8896 DWORD       WINAPI RegDeleteValue16(HKEY,LPSTR);
8897 DWORD       WINAPI RegDeleteValue32A(HKEY,LPSTR);
8898 DWORD       WINAPI RegDeleteValue32W(HKEY,LPWSTR);
8899 #define     RegDeleteValue WINELIB_NAME_AW(RegDeleteValue)
8900 DWORD       WINAPI RegEnumKey16(HKEY,DWORD,LPSTR,DWORD);
8901 DWORD       WINAPI RegEnumKey32A(HKEY,DWORD,LPSTR,DWORD);
8902 DWORD       WINAPI RegEnumKey32W(HKEY,DWORD,LPWSTR,DWORD);
8903 #define     RegEnumKey WINELIB_NAME_AW(RegEnumKey)
8904 DWORD       WINAPI RegEnumValue16(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8905 DWORD       WINAPI RegEnumValue32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8906 DWORD       WINAPI RegEnumValue32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8907 #define     RegEnumValue WINELIB_NAME_AW(RegEnumValue)
8908 ATOM        WINAPI RegisterClass16(const WNDCLASS16*);
8909 ATOM        WINAPI RegisterClass32A(const WNDCLASS32A *);
8910 ATOM        WINAPI RegisterClass32W(const WNDCLASS32W *);
8911 #define     RegisterClass WINELIB_NAME_AW(RegisterClass)
8912 ATOM        WINAPI RegisterClassEx16(const WNDCLASSEX16*);
8913 ATOM        WINAPI RegisterClassEx32A(const WNDCLASSEX32A *);
8914 ATOM        WINAPI RegisterClassEx32W(const WNDCLASSEX32W *);
8915 #define     RegisterClassEx WINELIB_NAME_AW(RegisterClassEx)
8916 UINT16      WINAPI RegisterClipboardFormat16(LPCSTR);
8917 UINT32      WINAPI RegisterClipboardFormat32A(LPCSTR);
8918 UINT32      WINAPI RegisterClipboardFormat32W(LPCWSTR);
8919 #define     RegisterClipboardFormat WINELIB_NAME_AW(RegisterClipboardFormat)
8920 HRESULT     WINAPI RegisterDragDrop16(HWND16,LPVOID);
8921 HRESULT     WINAPI RegisterDragDrop32(HWND32,LPVOID);
8922 #define     RegisterDragDrop WINELIB_NAME(RegisterDragDrop)
8923 WORD        WINAPI RegisterWindowMessage16(SEGPTR);
8924 WORD        WINAPI RegisterWindowMessage32A(LPCSTR);
8925 WORD        WINAPI RegisterWindowMessage32W(LPCWSTR);
8926 #define     RegisterWindowMessage WINELIB_NAME_AW(RegisterWindowMessage)
8927 DWORD       WINAPI RegOpenKey16(HKEY,LPCSTR,LPHKEY);
8928 DWORD       WINAPI RegOpenKey32A(HKEY,LPCSTR,LPHKEY);
8929 DWORD       WINAPI RegOpenKey32W(HKEY,LPCWSTR,LPHKEY);
8930 #define     RegOpenKey WINELIB_NAME_AW(RegOpenKey)
8931 DWORD       WINAPI RegQueryValue16(HKEY,LPSTR,LPSTR,LPDWORD);
8932 DWORD       WINAPI RegQueryValue32A(HKEY,LPSTR,LPSTR,LPDWORD);
8933 DWORD       WINAPI RegQueryValue32W(HKEY,LPWSTR,LPWSTR,LPDWORD);
8934 #define     RegQueryValue WINELIB_NAME_AW(RegQueryValue)
8935 DWORD       WINAPI RegQueryValueEx16(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8936 DWORD       WINAPI RegQueryValueEx32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8937 DWORD       WINAPI RegQueryValueEx32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
8938 #define     RegQueryValueEx WINELIB_NAME_AW(RegQueryValueEx)
8939 DWORD       WINAPI RegSetValue16(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
8940 DWORD       WINAPI RegSetValue32A(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
8941 DWORD       WINAPI RegSetValue32W(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
8942 #define     RegSetValue WINELIB_NAME_AW(RegSetValue)
8943 DWORD       WINAPI RegSetValueEx16(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
8944 DWORD       WINAPI RegSetValueEx32A(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
8945 DWORD       WINAPI RegSetValueEx32W(HKEY,LPWSTR,DWORD,DWORD,LPBYTE,DWORD);
8946 #define     RegSetValueEx WINELIB_NAME_AW(RegSetValueEx)
8947 INT16       WINAPI ReleaseDC16(HWND16,HDC16);
8948 INT32       WINAPI ReleaseDC32(HWND32,HDC32);
8949 #define     ReleaseDC WINELIB_NAME(ReleaseDC)
8950 BOOL16      WINAPI RemoveDirectory16(LPCSTR);
8951 BOOL32      WINAPI RemoveDirectory32A(LPCSTR);
8952 BOOL32      WINAPI RemoveDirectory32W(LPCWSTR);
8953 #define     RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
8954 BOOL16      WINAPI RemoveFontResource16(SEGPTR);
8955 BOOL32      WINAPI RemoveFontResource32A(LPCSTR);
8956 BOOL32      WINAPI RemoveFontResource32W(LPCWSTR);
8957 #define     RemoveFontResource WINELIB_NAME_AW(RemoveFontResource)
8958 BOOL16      WINAPI RemoveMenu16(HMENU16,UINT16,UINT16);
8959 BOOL32      WINAPI RemoveMenu32(HMENU32,UINT32,UINT32);
8960 #define     RemoveMenu WINELIB_NAME(RemoveMenu)
8961 HANDLE16    WINAPI RemoveProp16(HWND16,LPCSTR);
8962 HANDLE32    WINAPI RemoveProp32A(HWND32,LPCSTR);
8963 HANDLE32    WINAPI RemoveProp32W(HWND32,LPCWSTR);
8964 #define     RemoveProp WINELIB_NAME_AW(RemoveProp)
8965 VOID        WINAPI ReplyMessage16(LRESULT);
8966 BOOL32      WINAPI ReplyMessage32(LRESULT);
8967 #define     ReplyMessage WINELIB_NAME(ReplyMessage)
8968 HDC16       WINAPI ResetDC16(HDC16,const DEVMODE16 *);
8969 HDC32       WINAPI ResetDC32A(HDC32,const DEVMODE32A *);
8970 HDC32       WINAPI ResetDC32W(HDC32,const DEVMODE32W *);
8971 #define     ResetDC WINELIB_NAME_AW(ResetDC)
8972 BOOL16      WINAPI ResizePalette16(HPALETTE16,UINT16);
8973 BOOL32      WINAPI ResizePalette32(HPALETTE32,UINT32);
8974 #define     ResizePalette WINELIB_NAME(ResizePalette)
8975 BOOL16      WINAPI RestoreDC16(HDC16,INT16);
8976 BOOL32      WINAPI RestoreDC32(HDC32,INT32);
8977 #define     RestoreDC WINELIB_NAME(RestoreDC)
8978 HRESULT     WINAPI RevokeDragDrop16(HWND16);
8979 HRESULT     WINAPI RevokeDragDrop32(HWND32);
8980 #define     RevokeDragDrop WINELIB_NAME(RevokeDragDrop)
8981 BOOL16      WINAPI RoundRect16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16);
8982 BOOL32      WINAPI RoundRect32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32);
8983 #define     RoundRect WINELIB_NAME(RoundRect)
8984 INT16       WINAPI SaveDC16(HDC16);
8985 INT32       WINAPI SaveDC32(HDC32);
8986 #define     SaveDC WINELIB_NAME(SaveDC)
8987 BOOL16      WINAPI ScaleViewportExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
8988 BOOL32      WINAPI ScaleViewportExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
8989 #define     ScaleViewportExtEx WINELIB_NAME(ScaleViewportExtEx)
8990 BOOL16      WINAPI ScaleWindowExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
8991 BOOL32      WINAPI ScaleWindowExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
8992 #define     ScaleWindowExtEx WINELIB_NAME(ScaleWindowExtEx)
8993 void        WINAPI ScreenToClient16(HWND16,LPPOINT16);
8994 void        WINAPI ScreenToClient32(HWND32,LPPOINT32);
8995 #define     ScreenToClient WINELIB_NAME(ScreenToClient)
8996 VOID        WINAPI ScrollChildren16(HWND16,UINT16,WPARAM16,LPARAM);
8997 VOID        WINAPI ScrollChildren32(HWND32,UINT32,WPARAM32,LPARAM);
8998 #define     ScrollChildren WINELIB_NAME(ScrollChildren)
8999 BOOL16      WINAPI ScrollDC16(HDC16,INT16,INT16,const RECT16*,const RECT16*,
9000                       HRGN16,LPRECT16);
9001 BOOL32      WINAPI ScrollDC32(HDC32,INT32,INT32,const RECT32*,const RECT32*,
9002                       HRGN32,LPRECT32);
9003 #define     ScrollDC WINELIB_NAME(ScrollDC)
9004 void        WINAPI ScrollWindow16(HWND16,INT16,INT16,const RECT16*,const RECT16*);
9005 BOOL32      WINAPI ScrollWindow32(HWND32,INT32,INT32,const RECT32*,const RECT32*);
9006 #define     ScrollWindow WINELIB_NAME(ScrollWindow)
9007 INT16       WINAPI ScrollWindowEx16(HWND16,INT16,INT16,const RECT16*,
9008                                     const RECT16*,HRGN16,LPRECT16,UINT16);
9009 INT32       WINAPI ScrollWindowEx32(HWND32,INT32,INT32,const RECT32*,
9010                                     const RECT32*,HRGN32,LPRECT32,UINT32);
9011 #define     ScrollWindowEx WINELIB_NAME(ScrollWindowEx)
9012 BOOL16      WINAPI SelectClipPath16(HDC16,INT16);
9013 BOOL32      WINAPI SelectClipPath32(HDC32,INT32);
9014 #define     SelectClipPath WINELIB_NAME(SelectClipPath)
9015 INT16       WINAPI SelectClipRgn16(HDC16,HRGN16);
9016 INT32       WINAPI SelectClipRgn32(HDC32,HRGN32);
9017 #define     SelectClipRgn WINELIB_NAME(SelectClipRgn)
9018 HGDIOBJ16   WINAPI SelectObject16(HDC16,HGDIOBJ16);
9019 HGDIOBJ32   WINAPI SelectObject32(HDC32,HGDIOBJ32);
9020 #define     SelectObject WINELIB_NAME(SelectObject)
9021 HPALETTE16  WINAPI SelectPalette16(HDC16,HPALETTE16,BOOL16);
9022 HPALETTE32  WINAPI SelectPalette32(HDC32,HPALETTE32,BOOL32);
9023 #define     SelectPalette WINELIB_NAME(SelectPalette)
9024 LRESULT     WINAPI SendDlgItemMessage16(HWND16,INT16,UINT16,WPARAM16,LPARAM);
9025 LRESULT     WINAPI SendDlgItemMessage32A(HWND32,INT32,UINT32,WPARAM32,LPARAM);
9026 LRESULT     WINAPI SendDlgItemMessage32W(HWND32,INT32,UINT32,WPARAM32,LPARAM);
9027 #define     SendDlgItemMessage WINELIB_NAME_AW(SendDlgItemMessage)
9028 LRESULT     WINAPI SendMessage16(HWND16,UINT16,WPARAM16,LPARAM);
9029 LRESULT     WINAPI SendMessage32A(HWND32,UINT32,WPARAM32,LPARAM);
9030 LRESULT     WINAPI SendMessage32W(HWND32,UINT32,WPARAM32,LPARAM);
9031 #define     SendMessage WINELIB_NAME_AW(SendMessage)
9032 LRESULT     WINAPI SendMessageTimeout16(HWND16,UINT16,WPARAM16,LPARAM,UINT16,
9033                                         UINT16,LPWORD);
9034 LRESULT     WINAPI SendMessageTimeout32A(HWND32,UINT32,WPARAM32,LPARAM,UINT32,
9035                                          UINT32,LPDWORD);
9036 LRESULT     WINAPI SendMessageTimeout32W(HWND32,UINT32,WPARAM32,LPARAM,UINT32,
9037                                          UINT32,LPDWORD);
9038 #define     SendMessageTimeout WINELIB_NAME_AW(SendMessageTimeout)
9039 HWND16      WINAPI SetActiveWindow16(HWND16);
9040 HWND32      WINAPI SetActiveWindow32(HWND32);
9041 #define     SetActiveWindow WINELIB_NAME(SetActiveWindow)
9042 INT16       WINAPI SetArcDirection16(HDC16,INT16);
9043 INT32       WINAPI SetArcDirection32(HDC32,INT32);
9044 #define     SetArcDirection WINELIB_NAME(SetArcDirection)
9045 LONG        WINAPI SetBitmapBits16(HBITMAP16,LONG,LPCVOID);
9046 LONG        WINAPI SetBitmapBits32(HBITMAP32,LONG,LPCVOID);
9047 #define     SetBitmapBits WINELIB_NAME(SetBitmapBits)
9048 BOOL16      WINAPI SetBitmapDimensionEx16(HBITMAP16,INT16,INT16,LPSIZE16);
9049 BOOL32      WINAPI SetBitmapDimensionEx32(HBITMAP32,INT32,INT32,LPSIZE32);
9050 #define     SetBitmapDimensionEx WINELIB_NAME(SetBitmapDimensionEx)
9051 COLORREF    WINAPI SetBkColor16(HDC16,COLORREF);
9052 COLORREF    WINAPI SetBkColor32(HDC32,COLORREF);
9053 #define     SetBkColor WINELIB_NAME(SetBkColor)
9054 INT16       WINAPI SetBkMode16(HDC16,INT16);
9055 INT32       WINAPI SetBkMode32(HDC32,INT32);
9056 #define     SetBkMode WINELIB_NAME(SetBkMode)
9057 UINT16      WINAPI SetBoundsRect16(HDC16,const RECT16*,UINT16);
9058 UINT32      WINAPI SetBoundsRect32(HDC32,const RECT32*,UINT32);
9059 #define     SetBoundsRect WINELIB_NAME(SetBoundsRect)
9060 HWND16      WINAPI SetCapture16(HWND16);
9061 HWND32      WINAPI SetCapture32(HWND32);
9062 #define     SetCapture WINELIB_NAME(SetCapture)
9063 VOID        WINAPI SetCaretBlinkTime16(UINT16);
9064 BOOL32      WINAPI SetCaretBlinkTime32(UINT32);
9065 #define     SetCaretBlinkTime WINELIB_NAME(SetCaretBlinkTime)
9066 VOID        WINAPI SetCaretPos16(INT16,INT16);
9067 BOOL32      WINAPI SetCaretPos32(INT32,INT32);
9068 #define     SetCaretPos WINELIB_NAME(SetCaretPos)
9069 LONG        WINAPI SetClassLong16(HWND16,INT16,LONG);
9070 LONG        WINAPI SetClassLong32A(HWND32,INT32,LONG);
9071 LONG        WINAPI SetClassLong32W(HWND32,INT32,LONG);
9072 #define     SetClassLong WINELIB_NAME_AW(SetClassLong)
9073 WORD        WINAPI SetClassWord16(HWND16,INT16,WORD);
9074 WORD        WINAPI SetClassWord32(HWND32,INT32,WORD);
9075 #define     SetClassWord WINELIB_NAME(SetClassWord)
9076 HANDLE16    WINAPI SetClipboardData16(UINT16,HANDLE16);
9077 HANDLE32    WINAPI SetClipboardData32(UINT32,HANDLE32);
9078 #define     SetClipboardData WINELIB_NAME(SetClipboardData)
9079 HWND16      WINAPI SetClipboardViewer16(HWND16);
9080 HWND32      WINAPI SetClipboardViewer32(HWND32);
9081 #define     SetClipboardViewer WINELIB_NAME(SetClipboardViewer)
9082 INT16       WINAPI SetCommBreak16(INT16);
9083 BOOL32      WINAPI SetCommBreak32(INT32);
9084 #define     SetCommBreak WINELIB_NAME(SetCommBreak)
9085 INT16       WINAPI SetCommState16(LPDCB16);
9086 BOOL32      WINAPI SetCommState32(INT32,LPDCB32);
9087 #define     SetCommState WINELIB_NAME(SetCommState)
9088 BOOL16      WINAPI SetCurrentDirectory16(LPCSTR);
9089 BOOL32      WINAPI SetCurrentDirectory32A(LPCSTR);
9090 BOOL32      WINAPI SetCurrentDirectory32W(LPCWSTR);
9091 #define     SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
9092 HCURSOR16   WINAPI SetCursor16(HCURSOR16);
9093 HCURSOR32   WINAPI SetCursor32(HCURSOR32);
9094 #define     SetCursor WINELIB_NAME(SetCursor)
9095 void        WINAPI SetCursorPos16(INT16,INT16);
9096 BOOL32      WINAPI SetCursorPos32(INT32,INT32);
9097 #define     SetCursorPos WINELIB_NAME(SetCursorPos)
9098 BOOL16      WINAPI SetDeskWallPaper16(LPCSTR);
9099 BOOL32      WINAPI SetDeskWallPaper32(LPCSTR);
9100 #define     SetDeskWallPaper WINELIB_NAME(SetDeskWallPaper)
9101 UINT16      WINAPI SetDIBColorTable16(HDC16,UINT16,UINT16,RGBQUAD*);
9102 UINT32      WINAPI SetDIBColorTable32(HDC32,UINT32,UINT32,RGBQUAD*);
9103 #define     SetDIBColorTable WINELIB_NAME(SetDIBColorTable)
9104 INT16       WINAPI SetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
9105 INT32       WINAPI SetDIBits32(HDC32,HBITMAP32,UINT32,UINT32,LPCVOID,const BITMAPINFO*,UINT32);
9106 #define     SetDIBits WINELIB_NAME(SetDIBits)
9107 INT16       WINAPI SetDIBitsToDevice16(HDC16,INT16,INT16,INT16,INT16,INT16,
9108                          INT16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
9109 INT32       WINAPI SetDIBitsToDevice32(HDC32,INT32,INT32,DWORD,DWORD,INT32,
9110                          INT32,UINT32,UINT32,LPCVOID,const BITMAPINFO*,UINT32);
9111 #define     SetDIBitsToDevice WINELIB_NAME(SetDIBitsToDevice)
9112 void        WINAPI SetDlgItemInt16(HWND16,INT16,UINT16,BOOL16);
9113 void        WINAPI SetDlgItemInt32(HWND32,INT32,UINT32,BOOL32);
9114 #define     SetDlgItemInt WINELIB_NAME(SetDlgItemInt)
9115 void        WINAPI SetDlgItemText16(HWND16,INT16,SEGPTR);
9116 BOOL32      WINAPI SetDlgItemText32A(HWND32,INT32,LPCSTR);
9117 BOOL32      WINAPI SetDlgItemText32W(HWND32,INT32,LPCWSTR);
9118 #define     SetDlgItemText WINELIB_NAME_AW(SetDlgItemText)
9119 VOID        WINAPI SetDoubleClickTime16(UINT16);
9120 BOOL32      WINAPI SetDoubleClickTime32(UINT32);
9121 #define     SetDoubleClickTime WINELIB_NAME(SetDoubleClickTime)
9122 UINT16      WINAPI SetErrorMode16(UINT16);
9123 UINT32      WINAPI SetErrorMode32(UINT32);
9124 #define     SetErrorMode WINELIB_NAME(SetErrorMode)
9125 BOOL16      WINAPI SetFileAttributes16(LPCSTR,DWORD);
9126 BOOL32      WINAPI SetFileAttributes32A(LPCSTR,DWORD);
9127 BOOL32      WINAPI SetFileAttributes32W(LPCWSTR,DWORD);
9128 #define     SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
9129 HWND16      WINAPI SetFocus16(HWND16);
9130 HWND32      WINAPI SetFocus32(HWND32);
9131 #define     SetFocus WINELIB_NAME(SetFocus)
9132 BOOL16      WINAPI SetForegroundWindow16(HWND16);
9133 BOOL32      WINAPI SetForegroundWindow32(HWND32);
9134 #define     SetForegroundWindow WINELIB_NAME(SetForegroundWindow)
9135 UINT16      WINAPI SetHandleCount16(UINT16);
9136 UINT32      WINAPI SetHandleCount32(UINT32);
9137 #define     SetHandleCount WINELIB_NAME(SetHandleCount)
9138 void        WINAPI SetInternalWindowPos16(HWND16,UINT16,LPRECT16,LPPOINT16);
9139 void        WINAPI SetInternalWindowPos32(HWND32,UINT32,LPRECT32,LPPOINT32);
9140 #define     SetInternalWindowPos WINELIB_NAME(SetInternalWindowPos)
9141 INT16       WINAPI SetMapMode16(HDC16,INT16);
9142 INT32       WINAPI SetMapMode32(HDC32,INT32);
9143 #define     SetMapMode WINELIB_NAME(SetMapMode)
9144 DWORD       WINAPI SetMapperFlags16(HDC16,DWORD);
9145 DWORD       WINAPI SetMapperFlags32(HDC32,DWORD);
9146 #define     SetMapperFlags WINELIB_NAME(SetMapperFlags)
9147 BOOL16      WINAPI SetMenu16(HWND16,HMENU16);
9148 BOOL32      WINAPI SetMenu32(HWND32,HMENU32);
9149 #define     SetMenu WINELIB_NAME(SetMenu)
9150 BOOL16      WINAPI SetMenuItemBitmaps16(HMENU16,UINT16,UINT16,HBITMAP16,HBITMAP16);
9151 BOOL32      WINAPI SetMenuItemBitmaps32(HMENU32,UINT32,UINT32,HBITMAP32,HBITMAP32);
9152 #define     SetMenuItemBitmaps WINELIB_NAME(SetMenuItemBitmaps)
9153 BOOL16      WINAPI SetMessageQueue16(INT16);
9154 BOOL32      WINAPI SetMessageQueue32(INT32);
9155 #define     SetMessageQueue WINELIB_NAME(SetMessageQueue)
9156 UINT16      WINAPI SetPaletteEntries16(HPALETTE16,UINT16,UINT16,LPPALETTEENTRY);
9157 UINT32      WINAPI SetPaletteEntries32(HPALETTE32,UINT32,UINT32,LPPALETTEENTRY);
9158 #define     SetPaletteEntries WINELIB_NAME(SetPaletteEntries)
9159 HWND16      WINAPI SetParent16(HWND16,HWND16);
9160 HWND32      WINAPI SetParent32(HWND32,HWND32);
9161 #define     SetParent WINELIB_NAME(SetParent)
9162 COLORREF    WINAPI SetPixel16(HDC16,INT16,INT16,COLORREF);
9163 COLORREF    WINAPI SetPixel32(HDC32,INT32,INT32,COLORREF);
9164 #define     SetPixel WINELIB_NAME(SetPixel)
9165 BOOL32      WINAPI SetPixelV32(HDC32,INT32,INT32,COLORREF);
9166 BOOL32      WINAPI SetPixelFormat(HDC32,int,const PIXELFORMATDESCRIPTOR*);
9167 INT16       WINAPI SetPolyFillMode16(HDC16,INT16);
9168 INT32       WINAPI SetPolyFillMode32(HDC32,INT32);
9169 #define     SetPolyFillMode WINELIB_NAME(SetPolyFillMode)
9170 BOOL16      WINAPI SetProp16(HWND16,LPCSTR,HANDLE16);
9171 BOOL32      WINAPI SetProp32A(HWND32,LPCSTR,HANDLE32);
9172 BOOL32      WINAPI SetProp32W(HWND32,LPCWSTR,HANDLE32);
9173 #define     SetProp WINELIB_NAME_AW(SetProp)
9174 void        WINAPI SetRect16(LPRECT16,INT16,INT16,INT16,INT16);
9175 void        WINAPI SetRect32(LPRECT32,INT32,INT32,INT32,INT32);
9176 #define     SetRect WINELIB_NAME(SetRect)
9177 void        WINAPI SetRectEmpty16(LPRECT16);
9178 void        WINAPI SetRectEmpty32(LPRECT32);
9179 #define     SetRectEmpty WINELIB_NAME(SetRectEmpty)
9180 VOID        WINAPI SetRectRgn16(HRGN16,INT16,INT16,INT16,INT16);
9181 VOID        WINAPI SetRectRgn32(HRGN32,INT32,INT32,INT32,INT32);
9182 #define     SetRectRgn WINELIB_NAME(SetRectRgn)
9183 INT16       WINAPI SetRelAbs16(HDC16,INT16);
9184 INT32       WINAPI SetRelAbs32(HDC32,INT32);
9185 #define     SetRelAbs WINELIB_NAME(SetRelAbs)
9186 INT16       WINAPI SetROP216(HDC16,INT16);
9187 INT32       WINAPI SetROP232(HDC32,INT32);
9188 #define     SetROP2 WINELIB_NAME(SetROP2)
9189 INT16       WINAPI SetScrollInfo16(HWND16,INT16,const SCROLLINFO*,BOOL16);
9190 INT32       WINAPI SetScrollInfo32(HWND32,INT32,const SCROLLINFO*,BOOL32);
9191 #define     SetScrollInfo WINELIB_NAME(SetScrollInfo)
9192 INT16       WINAPI SetScrollPos16(HWND16,INT16,INT16,BOOL16);
9193 INT32       WINAPI SetScrollPos32(HWND32,INT32,INT32,BOOL32);
9194 #define     SetScrollPos WINELIB_NAME(SetScrollPos)
9195 void        WINAPI SetScrollRange16(HWND16,INT16,INT16,INT16,BOOL16);
9196 BOOL32      WINAPI SetScrollRange32(HWND32,INT32,INT32,INT32,BOOL32);
9197 #define     SetScrollRange WINELIB_NAME(SetScrollRange)
9198 INT16       WINAPI SetSoundNoise16(INT16,INT16);
9199 DWORD       WINAPI SetSoundNoise32(DWORD,DWORD);
9200 #define     SetSoundNoise WINELIB_NAME(SetSoundNoise)
9201 INT16       WINAPI SetStretchBltMode16(HDC16,INT16);
9202 INT32       WINAPI SetStretchBltMode32(HDC32,INT32);
9203 #define     SetStretchBltMode WINELIB_NAME(SetStretchBltMode)
9204 LONG        WINAPI SetSwapAreaSize16(WORD);
9205 #define     SetSwapAreaSize32(w) (w)
9206 #define     SetSwapAreaSize WINELIB_NAME(SetSwapAreaSize)
9207 VOID        WINAPI SetSysColors16(INT16,const INT16*,const COLORREF*);
9208 BOOL32      WINAPI SetSysColors32(INT32,const INT32*,const COLORREF*);
9209 #define     SetSysColors WINELIB_NAME(SetSysColors)
9210 HWND16      WINAPI SetSysModalWindow16(HWND16);
9211 #define     SetSysModalWindow32(hwnd) ((HWND32)0)
9212 #define     SetSysModalWindow WINELIB_NAME(SetSysModalWindow)
9213 BOOL16      WINAPI SetSystemMenu16(HWND16,HMENU16);
9214 BOOL32      WINAPI SetSystemMenu32(HWND32,HMENU32);
9215 #define     SetSystemMenu WINELIB_NAME(SetSystemMenu)
9216 UINT16      WINAPI SetSystemPaletteUse16(HDC16,UINT16);
9217 UINT32      WINAPI SetSystemPaletteUse32(HDC32,UINT32);
9218 #define     SetSystemPaletteUse WINELIB_NAME(SetSystemPaletteUse)
9219 UINT16      WINAPI SetSystemTimer16(HWND16,UINT16,UINT16,TIMERPROC16);
9220 UINT32      WINAPI SetSystemTimer32(HWND32,UINT32,UINT32,TIMERPROC32);
9221 #define     SetSystemTimer WINELIB_NAME(SetSystemTimer)
9222 UINT16      WINAPI SetTextAlign16(HDC16,UINT16);
9223 UINT32      WINAPI SetTextAlign32(HDC32,UINT32);
9224 #define     SetTextAlign WINELIB_NAME(SetTextAlign)
9225 INT16       WINAPI SetTextCharacterExtra16(HDC16,INT16);
9226 INT32       WINAPI SetTextCharacterExtra32(HDC32,INT32);
9227 #define     SetTextCharacterExtra WINELIB_NAME(SetTextCharacterExtra)
9228 COLORREF    WINAPI SetTextColor16(HDC16,COLORREF);
9229 COLORREF    WINAPI SetTextColor32(HDC32,COLORREF);
9230 #define     SetTextColor WINELIB_NAME(SetTextColor)
9231 INT16       WINAPI SetTextJustification16(HDC16,INT16,INT16);
9232 BOOL32      WINAPI SetTextJustification32(HDC32,INT32,INT32);
9233 #define     SetTextJustification WINELIB_NAME(SetTextJustification)
9234 UINT16      WINAPI SetTimer16(HWND16,UINT16,UINT16,TIMERPROC16);
9235 UINT32      WINAPI SetTimer32(HWND32,UINT32,UINT32,TIMERPROC32);
9236 #define     SetTimer WINELIB_NAME(SetTimer)
9237 BOOL16      WINAPI SetViewportExtEx16(HDC16,INT16,INT16,LPSIZE16);
9238 BOOL32      WINAPI SetViewportExtEx32(HDC32,INT32,INT32,LPSIZE32);
9239 #define     SetViewportExtEx WINELIB_NAME(SetViewportExtEx)
9240 BOOL16      WINAPI SetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
9241 BOOL32      WINAPI SetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
9242 #define     SetViewportOrgEx WINELIB_NAME(SetViewportOrgEx)
9243 INT16       WINAPI SetVoiceAccent16(INT16,INT16,INT16,INT16,INT16);
9244 DWORD       WINAPI SetVoiceAccent32(DWORD,DWORD,DWORD,DWORD,DWORD);
9245 #define     SetVoiceAccent WINELIB_NAME(SetVoiceAccent)
9246 INT16       WINAPI SetVoiceEnvelope16(INT16,INT16,INT16);
9247 DWORD       WINAPI SetVoiceEnvelope32(DWORD,DWORD,DWORD);
9248 #define     SetVoiceEnvelope WINELIB_NAME(SetVoiceEnvelope)
9249 INT16       WINAPI SetVoiceNote16(INT16,INT16,INT16,INT16);
9250 DWORD       WINAPI SetVoiceNote32(DWORD,DWORD,DWORD,DWORD);
9251 #define     SetVoiceNote WINELIB_NAME(SetVoiceNote)
9252 INT16       WINAPI SetVoiceQueueSize16(INT16,INT16);
9253 DWORD       WINAPI SetVoiceQueueSize32(DWORD,DWORD);
9254 #define     SetVoiceQueueSize WINELIB_NAME(SetVoiceQueueSize)
9255 INT16       WINAPI SetVoiceSound16(INT16,DWORD,INT16);
9256 DWORD       WINAPI SetVoiceSound32(DWORD,DWORD,DWORD);
9257 #define     SetVoiceSound WINELIB_NAME(SetVoiceSound)
9258 INT16       WINAPI SetVoiceThreshold16(INT16,INT16);
9259 DWORD       WINAPI SetVoiceThreshold32(DWORD,DWORD);
9260 #define     SetVoiceThreshold WINELIB_NAME(SetVoiceThreshold)
9261 BOOL16      WINAPI SetWindowExtEx16(HDC16,INT16,INT16,LPSIZE16);
9262 BOOL32      WINAPI SetWindowExtEx32(HDC32,INT32,INT32,LPSIZE32);
9263 #define     SetWindowExtEx WINELIB_NAME(SetWindowExtEx)
9264 LONG        WINAPI SetWindowLong16(HWND16,INT16,LONG);
9265 LONG        WINAPI SetWindowLong32A(HWND32,INT32,LONG);
9266 LONG        WINAPI SetWindowLong32W(HWND32,INT32,LONG);
9267 #define     SetWindowLong WINELIB_NAME_AW(SetWindowLong)
9268 BOOL16      WINAPI SetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
9269 BOOL32      WINAPI SetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
9270 #define     SetWindowOrgEx WINELIB_NAME(SetWindowOrgEx)
9271 BOOL16      WINAPI SetWindowPlacement16(HWND16,const WINDOWPLACEMENT16*);
9272 BOOL32      WINAPI SetWindowPlacement32(HWND32,const WINDOWPLACEMENT32*);
9273 #define     SetWindowPlacement WINELIB_NAME(SetWindowPlacement)
9274 FARPROC16   WINAPI SetWindowsHook16(INT16,HOOKPROC16);
9275 HHOOK       WINAPI SetWindowsHook32A(INT32,HOOKPROC32);
9276 HHOOK       WINAPI SetWindowsHook32W(INT32,HOOKPROC32);
9277 #define     SetWindowsHook WINELIB_NAME_AW(SetWindowsHook)
9278 HHOOK       WINAPI SetWindowsHookEx16(INT16,HOOKPROC16,HINSTANCE16,HTASK16);
9279 HHOOK       WINAPI SetWindowsHookEx32A(INT32,HOOKPROC32,HINSTANCE32,DWORD);
9280 HHOOK       WINAPI SetWindowsHookEx32W(INT32,HOOKPROC32,HINSTANCE32,DWORD);
9281 #define     SetWindowsHookEx WINELIB_NAME_AW(SetWindowsHookEx)
9282 BOOL16      WINAPI SetWindowPos16(HWND16,HWND16,INT16,INT16,INT16,INT16,WORD);
9283 BOOL32      WINAPI SetWindowPos32(HWND32,HWND32,INT32,INT32,INT32,INT32,WORD);
9284 #define     SetWindowPos WINELIB_NAME(SetWindowPos)
9285 INT16       WINAPI SetWindowRgn16(HWND16,HRGN16,BOOL16);
9286 INT32       WINAPI SetWindowRgn32(HWND32,HRGN32,BOOL32);
9287 #define     SetWindowRgn WINELIB_NAME(SetWindowRgn)
9288 void        WINAPI SetWindowText16(HWND16,SEGPTR);
9289 void        WINAPI SetWindowText32A(HWND32,LPCSTR);
9290 void        WINAPI SetWindowText32W(HWND32,LPCWSTR);
9291 #define     SetWindowText WINELIB_NAME_AW(SetWindowText)
9292 WORD        WINAPI SetWindowWord16(HWND16,INT16,WORD);
9293 WORD        WINAPI SetWindowWord32(HWND32,INT32,WORD);
9294 HENHMETAFILE32 WINAPI SetWinMetaFileBits(UINT32,CONST BYTE*,HDC32,CONST METAFILEPICT32 *);
9295 #define     SetWindowWord WINELIB_NAME(SetWindowWord)
9296 BOOL16      WINAPI ShellAbout16(HWND16,LPCSTR,LPCSTR,HICON16);
9297 BOOL32      WINAPI ShellAbout32A(HWND32,LPCSTR,LPCSTR,HICON32);
9298 BOOL32      WINAPI ShellAbout32W(HWND32,LPCWSTR,LPCWSTR,HICON32);
9299 #define     ShellAbout WINELIB_NAME_AW(ShellAbout)
9300 HINSTANCE16 WINAPI ShellExecute16(HWND16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT16);
9301 HINSTANCE32 WINAPI ShellExecute32A(HWND32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT32);
9302 HINSTANCE32 WINAPI ShellExecute32W(HWND32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT32);
9303 #define     ShellExecute WINELIB_NAME_AW(ShellExecute)
9304 VOID        WINAPI ShowCaret16(HWND16);
9305 BOOL32      WINAPI ShowCaret32(HWND32);
9306 #define     ShowCaret WINELIB_NAME(ShowCaret)
9307 INT16       WINAPI ShowCursor16(BOOL16);
9308 INT32       WINAPI ShowCursor32(BOOL32);
9309 #define     ShowCursor WINELIB_NAME(ShowCursor)
9310 void        WINAPI ShowScrollBar16(HWND16,INT16,BOOL16);
9311 BOOL32      WINAPI ShowScrollBar32(HWND32,INT32,BOOL32);
9312 #define     ShowScrollBar WINELIB_NAME(ShowScrollBar)
9313 VOID        WINAPI ShowOwnedPopups16(HWND16,BOOL16);
9314 BOOL32      WINAPI ShowOwnedPopups32(HWND32,BOOL32);
9315 #define     ShowOwnedPopups WINELIB_NAME(ShowOwnedPopups)
9316 BOOL16      WINAPI ShowWindow16(HWND16,INT16);
9317 BOOL32      WINAPI ShowWindow32(HWND32,INT32);
9318 #define     ShowWindow WINELIB_NAME(ShowWindow)
9319 DWORD       WINAPI SizeofResource16(HMODULE16,HRSRC16);
9320 DWORD       WINAPI SizeofResource32(HMODULE32,HRSRC32);
9321 #define     SizeofResource WINELIB_NAME(SizeofResource)
9322 INT16       WINAPI StartDoc16(HDC16,const DOCINFO16*);
9323 INT32       WINAPI StartDoc32A(HDC32,const DOCINFO32A*);
9324 INT32       WINAPI StartDoc32W(HDC32,const DOCINFO32W*);
9325 #define     StartDoc WINELIB_NAME_AW(StartDoc)
9326 INT16       WINAPI StartSound16(void);
9327 VOID        WINAPI StartSound32(void);
9328 #define     StartSound WINELIB_NAME(StartSound)
9329 INT16       WINAPI StopSound16(void);
9330 VOID        WINAPI StopSound32(void);
9331 #define     StopSound WINELIB_NAME(StopSound)
9332 BOOL16      WINAPI StretchBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,
9333                                 INT16,INT16,INT16,DWORD);
9334 BOOL32      WINAPI StretchBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,
9335                                 INT32,INT32,INT32,DWORD);
9336 #define     StretchBlt WINELIB_NAME(StretchBlt)
9337 INT16       WINAPI StretchDIBits16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,
9338                        INT16,INT16,const VOID*,const BITMAPINFO*,UINT16,DWORD);
9339 INT32       WINAPI StretchDIBits32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,
9340                        INT32,INT32,const VOID*,const BITMAPINFO*,UINT32,DWORD);
9341 #define     StretchDIBits WINELIB_NAME(StretchDIBits)
9342 BOOL16      WINAPI SubtractRect16(LPRECT16,const RECT16*,const RECT16*);
9343 BOOL32      WINAPI SubtractRect32(LPRECT32,const RECT32*,const RECT32*);
9344 #define     SubtractRect WINELIB_NAME(SubtractRect)
9345 BOOL32      WINAPI SwapBuffers(HDC32);
9346 BOOL16      WINAPI SwapMouseButton16(BOOL16);
9347 BOOL32      WINAPI SwapMouseButton32(BOOL32);
9348 #define     SwapMouseButton WINELIB_NAME(SwapMouseButton)
9349 VOID        WINAPI SwitchToThisWindow16(HWND16,BOOL16);
9350 VOID        WINAPI SwitchToThisWindow32(HWND32,BOOL32);
9351 #define     SwitchToThisWindow WINELIB_NAME(SwitchToThisWindow)
9352 INT16       WINAPI SyncAllVoices16(void);
9353 DWORD       WINAPI SyncAllVoices32(void);
9354 #define     SyncAllVoices WINELIB_NAME(SyncAllVoices)
9355 BOOL16      WINAPI SystemParametersInfo16(UINT16,UINT16,LPVOID,UINT16);
9356 BOOL32      WINAPI SystemParametersInfo32A(UINT32,UINT32,LPVOID,UINT32);
9357 BOOL32      WINAPI SystemParametersInfo32W(UINT32,UINT32,LPVOID,UINT32);
9358 #define     SystemParametersInfo WINELIB_NAME_AW(SystemParametersInfo)
9359 LONG        WINAPI TabbedTextOut16(HDC16,INT16,INT16,LPCSTR,INT16,INT16,const INT16*,INT16);
9360 LONG        WINAPI TabbedTextOut32A(HDC32,INT32,INT32,LPCSTR,INT32,INT32,const INT32*,INT32);
9361 LONG        WINAPI TabbedTextOut32W(HDC32,INT32,INT32,LPCWSTR,INT32,INT32,const INT32*,INT32);
9362 #define     TabbedTextOut WINELIB_NAME_AW(TabbedTextOut)
9363 BOOL16      WINAPI TextOut16(HDC16,INT16,INT16,LPCSTR,INT16);
9364 BOOL32      WINAPI TextOut32A(HDC32,INT32,INT32,LPCSTR,INT32);
9365 BOOL32      WINAPI TextOut32W(HDC32,INT32,INT32,LPCWSTR,INT32);
9366 #define     TextOut WINELIB_NAME_AW(TextOut)
9367 INT16       WINAPI ToAscii16(UINT16,UINT16,LPBYTE,LPVOID,UINT16);
9368 INT32       WINAPI ToAscii32(UINT32,UINT32,LPBYTE,LPWORD,UINT32);
9369 #define     ToAscii WINELIB_NAME(ToAscii)
9370 BOOL16      WINAPI TrackPopupMenu16(HMENU16,UINT16,INT16,INT16,INT16,HWND16,const RECT16*);
9371 BOOL32      WINAPI TrackPopupMenu32(HMENU32,UINT32,INT32,INT32,INT32,HWND32,const RECT32*);
9372 #define     TrackPopupMenu WINELIB_NAME(TrackPopupMenu)
9373 INT16       WINAPI TranslateAccelerator16(HWND16,HACCEL16,LPMSG16);
9374 INT32       WINAPI TranslateAccelerator32(HWND32,HACCEL32,LPMSG32);
9375 #define     TranslateAccelerator WINELIB_NAME(TranslateAccelerator)
9376 BOOL16      WINAPI TranslateMDISysAccel16(HWND16,LPMSG16);
9377 BOOL32      WINAPI TranslateMDISysAccel32(HWND32,LPMSG32);
9378 #define     TranslateMDISysAccel WINELIB_NAME(TranslateMDISysAccel)
9379 BOOL16      WINAPI TranslateMessage16(const MSG16*);
9380 BOOL32      WINAPI TranslateMessage32(const MSG32*);
9381 #define     TranslateMessage WINELIB_NAME(TranslateMessage)
9382 INT16       WINAPI TransmitCommChar16(INT16,CHAR);
9383 BOOL32      WINAPI TransmitCommChar32(INT32,CHAR);
9384 #define     TransmitCommChar WINELIB_NAME(TransmitCommChar)
9385 BOOL16      WINAPI UnhookWindowsHook16(INT16,HOOKPROC16);
9386 BOOL32      WINAPI UnhookWindowsHook32(INT32,HOOKPROC32);
9387 #define     UnhookWindowsHook WINELIB_NAME(UnhookWindowsHook)
9388 BOOL16      WINAPI UnhookWindowsHookEx16(HHOOK);
9389 BOOL32      WINAPI UnhookWindowsHookEx32(HHOOK);
9390 #define     UnhookWindowsHookEx WINELIB_NAME(UnhookWindowsHookEx)
9391 BOOL16      WINAPI UnionRect16(LPRECT16,const RECT16*,const RECT16*);
9392 BOOL32      WINAPI UnionRect32(LPRECT32,const RECT32*,const RECT32*);
9393 #define     UnionRect WINELIB_NAME(UnionRect)
9394 void        WINAPI UnlockSegment16(HGLOBAL16);
9395 #define     UnlockSegment32(handle) GlobalUnfix((HANDLE32)(handle))
9396 #define     UnlockSegment WINELIB_NAME(UnlockSegment)
9397 BOOL16      WINAPI UnrealizeObject16(HGDIOBJ16);
9398 BOOL32      WINAPI UnrealizeObject32(HGDIOBJ32);
9399 #define     UnrealizeObject WINELIB_NAME(UnrealizeObject)
9400 BOOL16      WINAPI UnregisterClass16(SEGPTR,HINSTANCE16);
9401 BOOL32      WINAPI UnregisterClass32A(LPCSTR,HINSTANCE32);
9402 BOOL32      WINAPI UnregisterClass32W(LPCWSTR,HINSTANCE32);
9403 #define     UnregisterClass WINELIB_NAME_AW(UnregisterClass)
9404 INT16       WINAPI UpdateColors16(HDC16);
9405 BOOL32      WINAPI UpdateColors32(HDC32);
9406 #define     UpdateColors WINELIB_NAME(UpdateColors)
9407 VOID        WINAPI UpdateWindow16(HWND16);
9408 VOID        WINAPI UpdateWindow32(HWND32);
9409 #define     UpdateWindow WINELIB_NAME(UpdateWindow)
9410 VOID        WINAPI ValidateRect16(HWND16,const RECT16*);
9411 VOID        WINAPI ValidateRect32(HWND32,const RECT32*);
9412 #define     ValidateRect WINELIB_NAME(ValidateRect)
9413 VOID        WINAPI ValidateRgn16(HWND16,HRGN16);
9414 VOID        WINAPI ValidateRgn32(HWND32,HRGN32);
9415 #define     ValidateRgn WINELIB_NAME(ValidateRgn)
9416 DWORD       WINAPI VerFindFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*,LPSTR,UINT16*);
9417 DWORD       WINAPI VerFindFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*,LPSTR,UINT32*);
9418 DWORD       WINAPI VerFindFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*,LPWSTR,UINT32*);
9419 #define     VerFindFile WINELIB_NAME_AW(VerFindFile)
9420 DWORD       WINAPI VerInstallFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*);
9421 DWORD       WINAPI VerInstallFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*);
9422 DWORD       WINAPI VerInstallFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*);
9423 #define     VerInstallFile WINELIB_NAME_AW(VerInstallFile)
9424 DWORD       WINAPI VerLanguageName16(UINT16,LPSTR,UINT16);
9425 DWORD       WINAPI VerLanguageName32A(UINT32,LPSTR,UINT32);
9426 DWORD       WINAPI VerLanguageName32W(UINT32,LPWSTR,UINT32);
9427 #define     VerLanguageName WINELIB_NAME_AW(VerLanguageName)
9428 DWORD       WINAPI VerQueryValue16(SEGPTR,LPCSTR,SEGPTR*,UINT16*);
9429 DWORD       WINAPI VerQueryValue32A(LPVOID,LPCSTR,LPVOID*,UINT32*);
9430 DWORD       WINAPI VerQueryValue32W(LPVOID,LPCWSTR,LPVOID*,UINT32*);
9431 #define     VerQueryValue WINELIB_NAME_AW(VerQueryValue)
9432 WORD        WINAPI VkKeyScan16(CHAR);
9433 WORD        WINAPI VkKeyScan32A(CHAR);
9434 WORD        WINAPI VkKeyScan32W(WCHAR);
9435 #define     VkKeyScan WINELIB_NAME_AW(VkKeyScan)
9436 INT16       WINAPI WaitSoundState16(INT16);
9437 DWORD       WINAPI WaitSoundState32(DWORD);
9438 #define     WaitSoundState WINELIB_NAME(WaitSoundState)
9439 HWND16      WINAPI WindowFromDC16(HDC16);
9440 HWND32      WINAPI WindowFromDC32(HDC32);
9441 #define     WindowFromDC WINELIB_NAME(WindowFromDC)
9442 HWND16      WINAPI WindowFromPoint16(POINT16);
9443 HWND32      WINAPI WindowFromPoint32(POINT32);
9444 #define     WindowFromPoint WINELIB_NAME(WindowFromPoint)
9445 BOOL16      WINAPI WritePrivateProfileSection16(LPCSTR,LPCSTR,LPCSTR);
9446 BOOL32      WINAPI WritePrivateProfileSection32A(LPCSTR,LPCSTR,LPCSTR);
9447 BOOL32      WINAPI WritePrivateProfileSection32W(LPCWSTR,LPCWSTR,LPCWSTR);
9448 #define     WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
9449 BOOL16      WINAPI WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
9450 BOOL32      WINAPI WritePrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
9451 BOOL32      WINAPI WritePrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
9452 BOOL32       WINAPI WriteProfileSection32A(LPCSTR,LPCSTR);
9453 BOOL32       WINAPI WriteProfileSection32W(LPCWSTR,LPCWSTR);
9454 #define     WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
9455 BOOL16      WINAPI WritePrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
9456 BOOL32      WINAPI WritePrivateProfileStruct32A(LPCSTR,LPCSTR,LPVOID,UINT32,LPCSTR);
9457 BOOL32      WINAPI WritePrivateProfileStruct32W(LPCWSTR,LPCWSTR,LPVOID,UINT32,LPCWSTR);
9458 #define     WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
9459 BOOL16      WINAPI WriteProfileString16(LPCSTR,LPCSTR,LPCSTR);
9460 BOOL32      WINAPI WriteProfileString32A(LPCSTR,LPCSTR,LPCSTR);
9461 BOOL32      WINAPI WriteProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR);
9462 #define     WriteProfileString WINELIB_NAME_AW(WriteProfileString)
9463 VOID        WINAPI Yield16(void);
9464 #define     Yield32()
9465 #define     Yield WINELIB_NAME(Yield)
9466 SEGPTR      WINAPI lstrcat16(SEGPTR,LPCSTR);
9467 LPSTR       WINAPI lstrcat32A(LPSTR,LPCSTR);
9468 LPWSTR      WINAPI lstrcat32W(LPWSTR,LPCWSTR);
9469 #define     lstrcat WINELIB_NAME_AW(lstrcat)
9470 SEGPTR      WINAPI lstrcatn16(SEGPTR,LPCSTR,INT16);
9471 LPSTR       WINAPI lstrcatn32A(LPSTR,LPCSTR,INT32);
9472 LPWSTR      WINAPI lstrcatn32W(LPWSTR,LPCWSTR,INT32);
9473 #define     lstrcatn WINELIB_NAME_AW(lstrcatn)
9474 INT16       WINAPI lstrcmp16(LPCSTR,LPCSTR);
9475 INT32       WINAPI lstrcmp32A(LPCSTR,LPCSTR);
9476 INT32       WINAPI lstrcmp32W(LPCWSTR,LPCWSTR);
9477 #define     lstrcmp WINELIB_NAME_AW(lstrcmp)
9478 INT16       WINAPI lstrcmpi16(LPCSTR,LPCSTR);
9479 INT32       WINAPI lstrcmpi32A(LPCSTR,LPCSTR);
9480 INT32       WINAPI lstrcmpi32W(LPCWSTR,LPCWSTR);
9481 #define     lstrcmpi WINELIB_NAME_AW(lstrcmpi)
9482 SEGPTR      WINAPI lstrcpy16(SEGPTR,LPCSTR);
9483 LPSTR       WINAPI lstrcpy32A(LPSTR,LPCSTR);
9484 LPWSTR      WINAPI lstrcpy32W(LPWSTR,LPCWSTR);
9485 #define     lstrcpy WINELIB_NAME_AW(lstrcpy)
9486 SEGPTR      WINAPI lstrcpyn16(SEGPTR,LPCSTR,INT16);
9487 LPSTR       WINAPI lstrcpyn32A(LPSTR,LPCSTR,INT32);
9488 LPWSTR      WINAPI lstrcpyn32W(LPWSTR,LPCWSTR,INT32);
9489 #define     lstrcpyn WINELIB_NAME_AW(lstrcpyn)
9490 INT16       WINAPI lstrlen16(LPCSTR);
9491 INT32       WINAPI lstrlen32A(LPCSTR);
9492 INT32       WINAPI lstrlen32W(LPCWSTR);
9493 #define     lstrlen WINELIB_NAME_AW(lstrlen)
9494 HINSTANCE16 WINAPI WinExec16(LPCSTR,UINT16);
9495 HINSTANCE32 WINAPI WinExec32(LPCSTR,UINT32);
9496 #define     WinExec WINELIB_NAME(WinExec)
9497 BOOL16      WINAPI WinHelp16(HWND16,LPCSTR,UINT16,DWORD);
9498 BOOL32      WINAPI WinHelp32A(HWND32,LPCSTR,UINT32,DWORD);
9499 BOOL32      WINAPI WinHelp32W(HWND32,LPCWSTR,UINT32,DWORD);
9500 #define     WinHelp WINELIB_NAME_AW(WinHelp)
9501 UINT16      WINAPI WNetAddConnection16(LPCSTR,LPCSTR,LPCSTR);
9502 UINT32      WINAPI WNetAddConnection32A(LPCSTR,LPCSTR,LPCSTR);
9503 UINT32      WINAPI WNetAddConnection32W(LPCWSTR,LPCWSTR,LPCWSTR);
9504 #define     WNetAddConnection WINELIB_NAME_AW(WNetAddConnection)
9505 INT16       WINAPIV wsnprintf16(LPSTR,UINT16,LPCSTR,...);
9506 INT32       WINAPIV wsnprintf32A(LPSTR,UINT32,LPCSTR,...);
9507 INT32       WINAPIV wsnprintf32W(LPWSTR,UINT32,LPCWSTR,...);
9508 #define     wsnprintf WINELIB_NAME_AW(wsnprintf)
9509 INT16       WINAPIV wsprintf16(LPSTR,LPCSTR,...);
9510 INT32       WINAPIV wsprintf32A(LPSTR,LPCSTR,...);
9511 INT32       WINAPIV wsprintf32W(LPWSTR,LPCWSTR,...);
9512 #define     wsprintf WINELIB_NAME_AW(wsprintf)
9513 INT16       WINAPI wvsnprintf16(LPSTR,UINT16,LPCSTR,LPCVOID);
9514 INT32       WINAPI wvsnprintf32A(LPSTR,UINT32,LPCSTR,va_list);
9515 INT32       WINAPI wvsnprintf32W(LPWSTR,UINT32,LPCWSTR,va_list);
9516 #define     wvsnprintf WINELIB_NAME_AW(wvsnprintf)
9517 INT16       WINAPI wvsprintf16(LPSTR,LPCSTR,LPCVOID);
9518 INT32       WINAPI wvsprintf32A(LPSTR,LPCSTR,va_list);
9519 INT32       WINAPI wvsprintf32W(LPWSTR,LPCWSTR,va_list);
9520 #define     wvsprintf WINELIB_NAME_AW(wvsprintf)
9521 LONG        WINAPI _hread16(HFILE16,LPVOID,LONG);
9522 LONG        WINAPI _hread32(HFILE32,LPVOID,LONG);
9523 #define     _hread WINELIB_NAME(_hread)
9524 LONG        WINAPI _hwrite16(HFILE16,LPCSTR,LONG);
9525 LONG        WINAPI _hwrite32(HFILE32,LPCSTR,LONG);
9526 #define     _hwrite WINELIB_NAME(_hwrite)
9527 HFILE16     WINAPI _lcreat16(LPCSTR,INT16);
9528 HFILE32     WINAPI _lcreat32(LPCSTR,INT32);
9529 #define     _lcreat WINELIB_NAME(_lcreat)
9530 HFILE16     WINAPI _lclose16(HFILE16);
9531 HFILE32     WINAPI _lclose32(HFILE32);
9532 #define     _lclose WINELIB_NAME(_lclose)
9533 LONG        WINAPI _llseek16(HFILE16,LONG,INT16);
9534 LONG        WINAPI _llseek32(HFILE32,LONG,INT32);
9535 #define     _llseek WINELIB_NAME(_llseek)
9536 HFILE16     WINAPI _lopen16(LPCSTR,INT16);
9537 HFILE32     WINAPI _lopen32(LPCSTR,INT32);
9538 #define     _lopen WINELIB_NAME(_lopen)
9539 UINT16      WINAPI _lread16(HFILE16,LPVOID,UINT16);
9540 UINT32      WINAPI _lread32(HFILE32,LPVOID,UINT32);
9541 #define     _lread WINELIB_NAME(_lread)
9542 UINT16      WINAPI _lwrite16(HFILE16,LPCSTR,UINT16);
9543 UINT32      WINAPI _lwrite32(HFILE32,LPCSTR,UINT32);
9544 #define     _lwrite WINELIB_NAME(_lwrite)
9545
9546 /* Extra functions that don't exist in the Windows API */
9547
9548 HPEN16      WINAPI GetSysColorPen16(INT16);
9549 HPEN32      WINAPI GetSysColorPen32(INT32);
9550 INT32       WINAPI LoadMessage32A(HMODULE32,UINT32,WORD,LPSTR,INT32);
9551 INT32       WINAPI LoadMessage32W(HMODULE32,UINT32,WORD,LPWSTR,INT32);
9552 UINT32      WINAPI WIN16_GetTempDrive(BYTE);
9553 SEGPTR      WINAPI WIN16_GlobalLock16(HGLOBAL16);
9554 SEGPTR      WINAPI WIN16_LockResource16(HGLOBAL16);
9555 LONG        WINAPI WIN16_hread(HFILE16,SEGPTR,LONG);
9556 UINT16      WINAPI WIN16_lread(HFILE16,SEGPTR,UINT16);
9557 INT32       WINAPI lstrncmp32A(LPCSTR,LPCSTR,INT32);
9558 INT32       WINAPI lstrncmp32W(LPCWSTR,LPCWSTR,INT32);
9559 INT32       WINAPI lstrncmpi32A(LPCSTR,LPCSTR,INT32);
9560 INT32       WINAPI lstrncmpi32W(LPCWSTR,LPCWSTR,INT32);
9561 LPWSTR      WINAPI lstrcpyAtoW(LPWSTR,LPCSTR);
9562 LPSTR       WINAPI lstrcpyWtoA(LPSTR,LPCWSTR);
9563 LPWSTR      WINAPI lstrcpynAtoW(LPWSTR,LPCSTR,INT32);
9564 LPSTR       WINAPI lstrcpynWtoA(LPSTR,LPCWSTR,INT32);
9565
9566 #ifdef __cplusplus
9567 }
9568 #endif
9569
9570 #endif  /* __WINE_WINDOWS_H */