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