Preliminary tooltip support.
[wine] / include / windows.h
1 #ifndef __WINE_WINDOWS_H
2 #define __WINE_WINDOWS_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #ifndef RC_INVOKED
9 #include <stdarg.h>
10 #endif
11
12 #include "wintypes.h"
13
14 #ifndef DONT_INCLUDE_WINGDI
15 #include "wingdi.h"
16 #include "winuser.h"
17 #endif /* DONT_INCLUDE_WINGDI */
18
19 #pragma pack(1)
20
21 typedef struct tagCOORD {
22     INT16 x;
23     INT16 y;
24 } COORD, *LPCOORD;
25
26
27   /* Windows */
28
29 typedef struct
30 {
31     LPVOID      lpCreateParams;
32     HINSTANCE16 hInstance;
33     HMENU16     hMenu;
34     HWND16      hwndParent;
35     INT16       cy;
36     INT16       cx;
37     INT16       y;
38     INT16       x;
39     LONG        style WINE_PACKED;
40     SEGPTR      lpszName WINE_PACKED;
41     SEGPTR      lpszClass WINE_PACKED;
42     DWORD       dwExStyle WINE_PACKED;
43 } CREATESTRUCT16, *LPCREATESTRUCT16;
44
45 typedef struct
46 {
47     LPVOID      lpCreateParams;
48     HINSTANCE32 hInstance;
49     HMENU32     hMenu;
50     HWND32      hwndParent;
51     INT32       cy;
52     INT32       cx;
53     INT32       y;
54     INT32       x;
55     LONG        style;
56     LPCSTR      lpszName;
57     LPCSTR      lpszClass;
58     DWORD       dwExStyle;
59 } CREATESTRUCT32A, *LPCREATESTRUCT32A;
60
61 typedef struct
62 {
63     LPVOID      lpCreateParams;
64     HINSTANCE32 hInstance;
65     HMENU32     hMenu;
66     HWND32      hwndParent;
67     INT32       cy;
68     INT32       cx;
69     INT32       y;
70     INT32       x;
71     LONG        style;
72     LPCWSTR     lpszName;
73     LPCWSTR     lpszClass;
74     DWORD       dwExStyle;
75 } CREATESTRUCT32W, *LPCREATESTRUCT32W;
76
77 DECL_WINELIB_TYPE_AW(CREATESTRUCT)
78 DECL_WINELIB_TYPE_AW(LPCREATESTRUCT)
79
80 typedef struct 
81 {
82     HMENU16   hWindowMenu;
83     UINT16    idFirstChild;
84 } CLIENTCREATESTRUCT16, *LPCLIENTCREATESTRUCT16;
85
86 typedef struct 
87 {
88     HMENU32   hWindowMenu;
89     UINT32    idFirstChild;
90 } CLIENTCREATESTRUCT32, *LPCLIENTCREATESTRUCT32;
91
92 DECL_WINELIB_TYPE(CLIENTCREATESTRUCT)
93 DECL_WINELIB_TYPE(LPCLIENTCREATESTRUCT)
94
95 typedef struct
96 {
97     SEGPTR       szClass;
98     SEGPTR       szTitle;
99     HINSTANCE16  hOwner;
100     INT16        x;
101     INT16        y;
102     INT16        cx;
103     INT16        cy;
104     DWORD        style WINE_PACKED;
105     LPARAM       lParam WINE_PACKED;
106 } MDICREATESTRUCT16, *LPMDICREATESTRUCT16;
107
108 typedef struct
109 {
110     LPCSTR       szClass;
111     LPCSTR       szTitle;
112     HINSTANCE32  hOwner;
113     INT32        x;
114     INT32        y;
115     INT32        cx;
116     INT32        cy;
117     DWORD        style;
118     LPARAM       lParam;
119 } MDICREATESTRUCT32A, *LPMDICREATESTRUCT32A;
120
121 typedef struct
122 {
123     LPCWSTR      szClass;
124     LPCWSTR      szTitle;
125     HINSTANCE32  hOwner;
126     INT32        x;
127     INT32        y;
128     INT32        cx;
129     INT32        cy;
130     DWORD        style;
131     LPARAM       lParam;
132 } MDICREATESTRUCT32W, *LPMDICREATESTRUCT32W;
133
134 DECL_WINELIB_TYPE_AW(MDICREATESTRUCT)
135 DECL_WINELIB_TYPE_AW(LPMDICREATESTRUCT)
136
137 #define MDITILE_VERTICAL     0x0000   
138 #define MDITILE_HORIZONTAL   0x0001
139 #define MDITILE_SKIPDISABLED 0x0002
140
141 #define MDIS_ALLCHILDSTYLES  0x0001
142
143 typedef struct {
144     DWORD   styleOld;
145     DWORD   styleNew;
146 } STYLESTRUCT, *LPSTYLESTRUCT;
147
148   /* Offsets for GetWindowLong() and GetWindowWord() */
149 #define GWL_USERDATA        (-21)
150 #define GWL_EXSTYLE         (-20)
151 #define GWL_STYLE           (-16)
152 #define GWW_ID              (-12)
153 #define GWL_ID              GWW_ID
154 #define GWW_HWNDPARENT      (-8)
155 #define GWL_HWNDPARENT      GWW_HWNDPARENT
156 #define GWW_HINSTANCE       (-6)
157 #define GWL_HINSTANCE       GWW_HINSTANCE
158 #define GWL_WNDPROC         (-4)
159 #define DWL_MSGRESULT       0
160 #define DWL_DLGPROC         4
161 #define DWL_USER            8
162
163   /* GetWindow() constants */
164 #define GW_HWNDFIRST    0
165 #define GW_HWNDLAST     1
166 #define GW_HWNDNEXT     2
167 #define GW_HWNDPREV     3
168 #define GW_OWNER        4
169 #define GW_CHILD        5
170
171   /* WM_GETMINMAXINFO struct */
172 typedef struct
173 {
174     POINT16   ptReserved;
175     POINT16   ptMaxSize;
176     POINT16   ptMaxPosition;
177     POINT16   ptMinTrackSize;
178     POINT16   ptMaxTrackSize;
179 } MINMAXINFO16;
180
181 typedef struct
182 {
183     POINT32   ptReserved;
184     POINT32   ptMaxSize;
185     POINT32   ptMaxPosition;
186     POINT32   ptMinTrackSize;
187     POINT32   ptMaxTrackSize;
188 } MINMAXINFO32;
189
190 DECL_WINELIB_TYPE(MINMAXINFO)
191
192   /* RedrawWindow() flags */
193 #define RDW_INVALIDATE       0x0001
194 #define RDW_INTERNALPAINT    0x0002
195 #define RDW_ERASE            0x0004
196 #define RDW_VALIDATE         0x0008
197 #define RDW_NOINTERNALPAINT  0x0010
198 #define RDW_NOERASE          0x0020
199 #define RDW_NOCHILDREN       0x0040
200 #define RDW_ALLCHILDREN      0x0080
201 #define RDW_UPDATENOW        0x0100
202 #define RDW_ERASENOW         0x0200
203 #define RDW_FRAME            0x0400
204 #define RDW_NOFRAME          0x0800
205
206 /* debug flags */
207 #define DBGFILL_ALLOC  0xfd
208 #define DBGFILL_FREE   0xfb
209 #define DBGFILL_BUFFER 0xf9
210 #define DBGFILL_STACK  0xf7
211
212   /* WM_WINDOWPOSCHANGING/CHANGED struct */
213 typedef struct
214 {
215     HWND16  hwnd;
216     HWND16  hwndInsertAfter;
217     INT16   x;
218     INT16   y;
219     INT16   cx;
220     INT16   cy;
221     UINT16  flags;
222 } WINDOWPOS16, *LPWINDOWPOS16;
223
224 typedef struct
225 {
226     HWND32  hwnd;
227     HWND32  hwndInsertAfter;
228     INT32   x;
229     INT32   y;
230     INT32   cx;
231     INT32   cy;
232     UINT32  flags;
233 } WINDOWPOS32, *LPWINDOWPOS32;
234
235 DECL_WINELIB_TYPE(WINDOWPOS)
236 DECL_WINELIB_TYPE(LPWINDOWPOS)
237
238   /* SetWindowPlacement() struct */
239 typedef struct
240 {
241     UINT16   length;
242     UINT16   flags;
243     UINT16   showCmd;
244     POINT16  ptMinPosition WINE_PACKED;
245     POINT16  ptMaxPosition WINE_PACKED;
246     RECT16   rcNormalPosition WINE_PACKED;
247 } WINDOWPLACEMENT16, *LPWINDOWPLACEMENT16;
248
249 typedef struct
250 {
251     UINT32   length;
252     UINT32   flags;
253     UINT32   showCmd;
254     POINT32  ptMinPosition WINE_PACKED;
255     POINT32  ptMaxPosition WINE_PACKED;
256     RECT32   rcNormalPosition WINE_PACKED;
257 } WINDOWPLACEMENT32, *LPWINDOWPLACEMENT32;
258
259 DECL_WINELIB_TYPE(WINDOWPLACEMENT)
260 DECL_WINELIB_TYPE(LPWINDOWPLACEMENT)
261
262   /* WINDOWPLACEMENT flags */
263 #define WPF_SETMINPOSITION      0x0001
264 #define WPF_RESTORETOMAXIMIZED  0x0002
265
266   /* WM_MOUSEACTIVATE return values */
267 #define MA_ACTIVATE             1
268 #define MA_ACTIVATEANDEAT       2
269 #define MA_NOACTIVATE           3
270 #define MA_NOACTIVATEANDEAT     4
271
272   /* WM_ACTIVATE wParam values */
273 #define WA_INACTIVE             0
274 #define WA_ACTIVE               1
275 #define WA_CLICKACTIVE          2
276
277   /* WM_NCCALCSIZE parameter structure */
278 typedef struct
279 {
280     RECT16  rgrc[3];
281     SEGPTR  lppos;
282 } NCCALCSIZE_PARAMS16, *LPNCCALCSIZE_PARAMS16;
283
284 typedef struct
285 {
286     RECT32       rgrc[3];
287     WINDOWPOS32 *lppos;
288 } NCCALCSIZE_PARAMS32, *LPNCCALCSIZE_PARAMS32;
289
290 DECL_WINELIB_TYPE(NCCALCSIZE_PARAMS)
291 DECL_WINELIB_TYPE(LPNCCALCSIZE_PARAMS)
292
293   /* WM_NCCALCSIZE return flags */
294 #define WVR_ALIGNTOP        0x0010
295 #define WVR_ALIGNLEFT       0x0020
296 #define WVR_ALIGNBOTTOM     0x0040
297 #define WVR_ALIGNRIGHT      0x0080
298 #define WVR_HREDRAW         0x0100
299 #define WVR_VREDRAW         0x0200
300 #define WVR_REDRAW          (WVR_HREDRAW | WVR_VREDRAW)
301 #define WVR_VALIDRECTS      0x0400
302
303   /* WM_NCHITTEST return codes */
304 #define HTERROR             (-2)
305 #define HTTRANSPARENT       (-1)
306 #define HTNOWHERE           0
307 #define HTCLIENT            1
308 #define HTCAPTION           2
309 #define HTSYSMENU           3
310 #define HTSIZE              4
311 #define HTMENU              5
312 #define HTHSCROLL           6
313 #define HTVSCROLL           7
314 #define HTMINBUTTON         8
315 #define HTMAXBUTTON         9
316 #define HTLEFT              10
317 #define HTRIGHT             11
318 #define HTTOP               12
319 #define HTTOPLEFT           13
320 #define HTTOPRIGHT          14
321 #define HTBOTTOM            15
322 #define HTBOTTOMLEFT        16
323 #define HTBOTTOMRIGHT       17
324 #define HTBORDER            18
325 #define HTGROWBOX           HTSIZE
326 #define HTREDUCE            HTMINBUTTON
327 #define HTZOOM              HTMAXBUTTON
328 #define HTOBJECT            19
329 #define HTCLOSE             20
330 #define HTHELP              21
331 #define HTSIZEFIRST         HTLEFT
332 #define HTSIZELAST          HTBOTTOMRIGHT
333
334   /* WM_SYSCOMMAND parameters */
335 #ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */
336 #undef SC_SIZE
337 #endif
338 #define SC_SIZE         0xf000
339 #define SC_MOVE         0xf010
340 #define SC_MINIMIZE     0xf020
341 #define SC_MAXIMIZE     0xf030
342 #define SC_NEXTWINDOW   0xf040
343 #define SC_PREVWINDOW   0xf050
344 #define SC_CLOSE        0xf060
345 #define SC_VSCROLL      0xf070
346 #define SC_HSCROLL      0xf080
347 #define SC_MOUSEMENU    0xf090
348 #define SC_KEYMENU      0xf100
349 #define SC_ARRANGE      0xf110
350 #define SC_RESTORE      0xf120
351 #define SC_TASKLIST     0xf130
352 #define SC_SCREENSAVE   0xf140
353 #define SC_HOTKEY       0xf150
354
355 /****** Window classes ******/
356
357 typedef struct
358 {
359     UINT16      style;
360     WNDPROC16   lpfnWndProc WINE_PACKED;
361     INT16       cbClsExtra;
362     INT16       cbWndExtra;
363     HANDLE16    hInstance;
364     HICON16     hIcon;
365     HCURSOR16   hCursor;
366     HBRUSH16    hbrBackground;
367     SEGPTR      lpszMenuName WINE_PACKED;
368     SEGPTR      lpszClassName WINE_PACKED;
369 } WNDCLASS16, *LPWNDCLASS16;
370
371 typedef struct
372 {
373     UINT32      style;
374     WNDPROC32   lpfnWndProc;
375     INT32       cbClsExtra;
376     INT32       cbWndExtra;
377     HINSTANCE32 hInstance;
378     HICON32     hIcon;
379     HCURSOR32   hCursor;
380     HBRUSH32    hbrBackground;
381     LPCSTR      lpszMenuName;
382     LPCSTR      lpszClassName;
383 } WNDCLASS32A, *LPWNDCLASS32A;
384
385 typedef struct
386 {
387     UINT32      style;
388     WNDPROC32   lpfnWndProc;
389     INT32       cbClsExtra;
390     INT32       cbWndExtra;
391     HINSTANCE32 hInstance;
392     HICON32     hIcon;
393     HCURSOR32   hCursor;
394     HBRUSH32    hbrBackground;
395     LPCWSTR     lpszMenuName;
396     LPCWSTR     lpszClassName;
397 } WNDCLASS32W, *LPWNDCLASS32W;
398
399 DECL_WINELIB_TYPE_AW(WNDCLASS)
400 DECL_WINELIB_TYPE_AW(LPWNDCLASS)
401
402 typedef struct
403 {
404     UINT32      cbSize;
405     UINT32      style;
406     WNDPROC16   lpfnWndProc;
407     INT16       cbClsExtra;
408     INT16       cbWndExtra;
409     HANDLE16    hInstance;
410     HICON16     hIcon;
411     HCURSOR16   hCursor;
412     HBRUSH16    hbrBackground;
413     SEGPTR      lpszMenuName;
414     SEGPTR      lpszClassName;
415     HICON16     hIconSm;
416 } WNDCLASSEX16, *LPWNDCLASSEX16;
417
418 typedef struct
419 {
420     UINT32      cbSize;
421     UINT32      style;
422     WNDPROC32   lpfnWndProc;
423     INT32       cbClsExtra;
424     INT32       cbWndExtra;
425     HINSTANCE32 hInstance;
426     HICON32     hIcon;
427     HCURSOR32   hCursor;
428     HBRUSH32    hbrBackground;
429     LPCSTR      lpszMenuName;
430     LPCSTR      lpszClassName;
431     HICON32     hIconSm;
432 } WNDCLASSEX32A, *LPWNDCLASSEX32A;
433
434 typedef struct
435 {
436     UINT32      cbSize;
437     UINT32      style;
438     WNDPROC32   lpfnWndProc;
439     INT32       cbClsExtra;
440     INT32       cbWndExtra;
441     HINSTANCE32 hInstance;
442     HICON32     hIcon;
443     HCURSOR32   hCursor;
444     HBRUSH32    hbrBackground;
445     LPCWSTR     lpszMenuName;
446     LPCWSTR     lpszClassName;
447     HICON32     hIconSm;
448 } WNDCLASSEX32W, *LPWNDCLASSEX32W;
449
450 DECL_WINELIB_TYPE_AW(WNDCLASSEX)
451 DECL_WINELIB_TYPE_AW(LPWNDCLASSEX)
452
453 #define CS_VREDRAW          0x0001
454 #define CS_HREDRAW          0x0002
455 #define CS_KEYCVTWINDOW     0x0004
456 #define CS_DBLCLKS          0x0008
457 #define CS_OWNDC            0x0020
458 #define CS_CLASSDC          0x0040
459 #define CS_PARENTDC         0x0080
460 #define CS_NOKEYCVT         0x0100
461 #define CS_NOCLOSE          0x0200
462 #define CS_SAVEBITS         0x0800
463 #define CS_BYTEALIGNCLIENT  0x1000
464 #define CS_BYTEALIGNWINDOW  0x2000
465 #define CS_GLOBALCLASS      0x4000
466
467   /* Offsets for GetClassLong() and GetClassWord() */
468 #define GCL_MENUNAME        (-8)
469 #define GCW_HBRBACKGROUND   (-10)
470 #define GCL_HBRBACKGROUND   GCW_HBRBACKGROUND
471 #define GCW_HCURSOR         (-12)
472 #define GCL_HCURSOR         GCW_HCURSOR
473 #define GCW_HICON           (-14)
474 #define GCL_HICON           GCW_HICON
475 #define GCW_HMODULE         (-16)
476 #define GCL_HMODULE         GCW_HMODULE
477 #define GCW_CBWNDEXTRA      (-18)
478 #define GCL_CBWNDEXTRA      GCW_CBWNDEXTRA
479 #define GCW_CBCLSEXTRA      (-20)
480 #define GCL_CBCLSEXTRA      GCW_CBCLSEXTRA
481 #define GCL_WNDPROC         (-24)
482 #define GCW_STYLE           (-26)
483 #define GCL_STYLE           GCW_STYLE
484 #define GCW_ATOM            (-32)
485 #define GCW_HICONSM         (-34)
486 #define GCL_HICONSM         GCW_HICONSM
487
488 /***** Window hooks *****/
489
490   /* Hook values */
491 #define WH_MIN              (-1)
492 #define WH_MSGFILTER        (-1)
493 #define WH_JOURNALRECORD    0
494 #define WH_JOURNALPLAYBACK  1
495 #define WH_KEYBOARD         2
496 #define WH_GETMESSAGE       3
497 #define WH_CALLWNDPROC      4
498 #define WH_CBT              5
499 #define WH_SYSMSGFILTER     6
500 #define WH_MOUSE            7
501 #define WH_HARDWARE         8
502 #define WH_DEBUG            9
503 #define WH_SHELL            10
504 #define WH_FOREGROUNDIDLE   11
505 #define WH_CALLWNDPROCRET   12
506 #define WH_MAX              12
507
508 #define WH_MINHOOK          WH_MIN
509 #define WH_MAXHOOK          WH_MAX
510 #define WH_NB_HOOKS         (WH_MAXHOOK-WH_MINHOOK+1)
511
512   /* Hook action codes */
513 #define HC_ACTION           0
514 #define HC_GETNEXT          1
515 #define HC_SKIP             2
516 #define HC_NOREMOVE         3
517 #define HC_NOREM            HC_NOREMOVE
518 #define HC_SYSMODALON       4
519 #define HC_SYSMODALOFF      5
520
521   /* CallMsgFilter() values */
522 #define MSGF_DIALOGBOX      0
523 #define MSGF_MESSAGEBOX     1
524 #define MSGF_MENU           2
525 #define MSGF_MOVE           3
526 #define MSGF_SIZE           4
527 #define MSGF_SCROLLBAR      5
528 #define MSGF_NEXTWINDOW     6
529 #define MSGF_MAINLOOP       8
530 #define MSGF_USER        4096
531
532   /* Windows Exit Procedure flag values */
533 #define WEP_FREE_DLL        0
534 #define WEP_SYSTEM_EXIT     1
535
536   /* Journalling hook structure */
537
538 typedef struct
539 {
540     UINT16  message;
541     UINT16  paramL;
542     UINT16  paramH;
543     DWORD   time WINE_PACKED;
544 } EVENTMSG16, *LPEVENTMSG16;
545
546 typedef struct
547 {
548     UINT32  message;
549     UINT32  paramL;
550     UINT32  paramH;
551     DWORD   time;
552     HWND32  hwnd;
553 } EVENTMSG32, *LPEVENTMSG32;
554
555 DECL_WINELIB_TYPE(EVENTMSG)
556 DECL_WINELIB_TYPE(LPEVENTMSG)
557
558   /* Mouse hook structure */
559
560 typedef struct
561 {
562     POINT16 pt;
563     HWND16  hwnd;
564     UINT16  wHitTestCode;
565     DWORD   dwExtraInfo;
566 } MOUSEHOOKSTRUCT16, *LPMOUSEHOOKSTRUCT16;
567
568 typedef struct
569 {
570     POINT32 pt;
571     HWND32  hwnd;
572     UINT32  wHitTestCode;
573     DWORD   dwExtraInfo;
574 } MOUSEHOOKSTRUCT32, *LPMOUSEHOOKSTRUCT32;
575
576 DECL_WINELIB_TYPE(MOUSEHOOKSTRUCT)
577 DECL_WINELIB_TYPE(LPMOUSEHOOKSTRUCT)
578
579   /* Hardware hook structure */
580
581 typedef struct
582 {
583     HWND16    hWnd;
584     UINT16    wMessage;
585     WPARAM16  wParam;
586     LPARAM    lParam WINE_PACKED;
587 } HARDWAREHOOKSTRUCT16, *LPHARDWAREHOOKSTRUCT16;
588
589 typedef struct
590 {
591     HWND32    hWnd;
592     UINT32    wMessage;
593     WPARAM32  wParam;
594     LPARAM    lParam;
595 } HARDWAREHOOKSTRUCT32, *LPHARDWAREHOOKSTRUCT32;
596
597 DECL_WINELIB_TYPE(HARDWAREHOOKSTRUCT)
598 DECL_WINELIB_TYPE(LPHARDWAREHOOKSTRUCT)
599
600   /* CBT hook values */
601 #define HCBT_MOVESIZE       0
602 #define HCBT_MINMAX         1
603 #define HCBT_QS             2
604 #define HCBT_CREATEWND      3
605 #define HCBT_DESTROYWND     4
606 #define HCBT_ACTIVATE       5
607 #define HCBT_CLICKSKIPPED   6
608 #define HCBT_KEYSKIPPED     7
609 #define HCBT_SYSCOMMAND     8
610 #define HCBT_SETFOCUS       9
611
612   /* CBT hook structures */
613
614 typedef struct
615 {
616     CREATESTRUCT16  *lpcs;
617     HWND16           hwndInsertAfter;
618 } CBT_CREATEWND16, *LPCBT_CREATEWND16;
619
620 typedef struct
621 {
622     CREATESTRUCT32A *lpcs;
623     HWND32           hwndInsertAfter;
624 } CBT_CREATEWND32A, *LPCBT_CREATEWND32A;
625
626 typedef struct
627 {
628     CREATESTRUCT32W *lpcs;
629     HWND32           hwndInsertAfter;
630 } CBT_CREATEWND32W, *LPCBT_CREATEWND32W;
631
632 DECL_WINELIB_TYPE_AW(CBT_CREATEWND)
633 DECL_WINELIB_TYPE_AW(LPCBT_CREATEWND)
634
635 typedef struct
636 {
637     BOOL16    fMouse;
638     HWND16    hWndActive;
639 } CBTACTIVATESTRUCT16, *LPCBTACTIVATESTRUCT16;
640
641 typedef struct
642 {
643     BOOL32    fMouse;
644     HWND32    hWndActive;
645 } CBTACTIVATESTRUCT32, *LPCBTACTIVATESTRUCT32;
646
647 DECL_WINELIB_TYPE(CBTACTIVATESTRUCT)
648 DECL_WINELIB_TYPE(LPCBTACTIVATESTRUCT)
649
650   /* Shell hook values */
651 #define HSHELL_WINDOWCREATED       1
652 #define HSHELL_WINDOWDESTROYED     2
653 #define HSHELL_ACTIVATESHELLWINDOW 3
654
655   /* Debug hook structure */
656
657 typedef struct
658 {
659     HMODULE16   hModuleHook;
660     LPARAM      reserved WINE_PACKED;
661     LPARAM      lParam WINE_PACKED;
662     WPARAM16    wParam;
663     INT16       code;
664 } DEBUGHOOKINFO16, *LPDEBUGHOOKINFO16;
665
666 typedef struct
667 {
668     DWORD       idThread;
669     DWORD       idThreadInstaller;
670     LPARAM      lParam;
671     WPARAM32    wParam;
672     INT32       code;
673 } DEBUGHOOKINFO32, *LPDEBUGHOOKINFO32;
674
675 DECL_WINELIB_TYPE(DEBUGHOOKINFO)
676 DECL_WINELIB_TYPE(LPDEBUGHOOKINFO)
677
678 typedef DWORD (CALLBACK *LPTHREAD_START_ROUTINE)(LPVOID);
679
680 /* This is also defined in winnt.h */
681 /* typedef struct _EXCEPTION_RECORD {
682     DWORD   ExceptionCode;
683     DWORD   ExceptionFlags;
684     struct  _EXCEPTION_RECORD *ExceptionRecord;
685     LPVOID  ExceptionAddress;
686     DWORD   NumberParameters;
687     DWORD   ExceptionInformation[15];
688 } EXCEPTION_RECORD; */
689
690 typedef struct _EXCEPTION_DEBUG_INFO {
691 /*    EXCEPTION_RECORD ExceptionRecord; */
692     DWORD dwFirstChange;
693 } EXCEPTION_DEBUG_INFO;
694
695 typedef struct _CREATE_THREAD_DEBUG_INFO {
696     HANDLE32 hThread;
697     LPVOID lpThreadLocalBase;
698     LPTHREAD_START_ROUTINE lpStartAddress;
699 } CREATE_THREAD_DEBUG_INFO;
700
701 typedef struct _CREATE_PROCESS_DEBUG_INFO {
702     HANDLE32 hFile;
703     HANDLE32 hProcess;
704     HANDLE32 hThread;
705     LPVOID lpBaseOfImage;
706     DWORD dwDebugInfoFileOffset;
707     DWORD nDebugInfoSize;
708     LPVOID lpThreadLocalBase;
709     LPTHREAD_START_ROUTINE lpStartAddress;
710     LPVOID lpImageName;
711     WORD fUnicode;
712 } CREATE_PROCESS_DEBUG_INFO;
713
714 typedef struct _EXIT_THREAD_DEBUG_INFO {
715     DWORD dwExitCode;
716 } EXIT_THREAD_DEBUG_INFO;
717
718 typedef struct _EXIT_PROCESS_DEBUG_INFO {
719     DWORD dwExitCode;
720 } EXIT_PROCESS_DEBUG_INFO;
721
722 typedef struct _LOAD_DLL_DEBUG_INFO {
723     HANDLE32 hFile;
724     LPVOID   lpBaseOfDll;
725     DWORD    dwDebugInfoFileOffset;
726     DWORD    nDebugInfoSize;
727     LPVOID   lpImageName;
728     WORD     fUnicode;
729 } LOAD_DLL_DEBUG_INFO;
730
731 typedef struct _UNLOAD_DLL_DEBUG_INFO {
732     LPVOID lpBaseOfDll;
733 } UNLOAD_DLL_DEBUG_INFO;
734
735 typedef struct _OUTPUT_DEBUG_STRING_INFO {
736     LPSTR lpDebugStringData;
737     WORD  fUnicode;
738     WORD  nDebugStringLength;
739 } OUTPUT_DEBUG_STRING_INFO;
740
741 typedef struct _RIP_INFO {
742     DWORD dwError;
743     DWORD dwType;
744 } RIP_INFO;
745
746 typedef struct _DEBUG_EVENT {
747     DWORD dwDebugEventCode;
748     DWORD dwProcessId;
749     DWORD dwThreadId;
750     union {
751         EXCEPTION_DEBUG_INFO      Exception;
752         CREATE_THREAD_DEBUG_INFO  CreateThread;
753         CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
754         EXIT_THREAD_DEBUG_INFO    ExitThread;
755         EXIT_PROCESS_DEBUG_INFO   ExitProcess;
756         LOAD_DLL_DEBUG_INFO       LoadDll;
757         UNLOAD_DLL_DEBUG_INFO     UnloadDll;
758         OUTPUT_DEBUG_STRING_INFO  DebugString;
759         RIP_INFO                  RipInfo;
760     } u;
761 } DEBUG_EVENT, *LPDEBUG_EVENT;
762
763
764 /***** Dialogs *****/
765
766   /* cbWndExtra bytes for dialog class */
767 #define DLGWINDOWEXTRA      30
768
769   /* Dialog styles */
770 #define DS_ABSALIGN             0x0001
771 #define DS_SYSMODAL             0x0002
772 #define DS_3DLOOK               0x0004  /* win95 */
773 #define DS_FIXEDSYS             0x0008  /* win95 */
774 #define DS_NOFAILCREATE         0x0010  /* win95 */
775 #define DS_LOCALEDIT            0x0020
776 #define DS_SETFONT              0x0040
777 #define DS_MODALFRAME           0x0080
778 #define DS_NOIDLEMSG            0x0100
779 #define DS_SETFOREGROUND        0x0200  /* win95 */
780 #define DS_CONTROL              0x0400  /* win95 */
781 #define DS_CENTER               0x0800  /* win95 */
782 #define DS_CENTERMOUSE          0x1000  /* win95 */
783 #define DS_CONTEXTHELP          0x2000  /* win95 */
784
785
786   /* Dialog messages */
787 #define DM_GETDEFID         (WM_USER+0)
788 #define DM_SETDEFID         (WM_USER+1)
789
790 #define DC_HASDEFID         0x534b
791
792   /* WM_GETDLGCODE values */
793 #define DLGC_WANTARROWS      0x0001
794 #define DLGC_WANTTAB         0x0002
795 #define DLGC_WANTALLKEYS     0x0004
796 #define DLGC_WANTMESSAGE     0x0004
797 #define DLGC_HASSETSEL       0x0008
798 #define DLGC_DEFPUSHBUTTON   0x0010
799 #define DLGC_UNDEFPUSHBUTTON 0x0020
800 #define DLGC_RADIOBUTTON     0x0040
801 #define DLGC_WANTCHARS       0x0080
802 #define DLGC_STATIC          0x0100
803 #define DLGC_BUTTON          0x2000
804
805 /* Standard dialog button IDs */
806 #define IDOK                1
807 #define IDCANCEL            2
808 #define IDABORT             3
809 #define IDRETRY             4
810 #define IDIGNORE            5
811 #define IDYES               6
812 #define IDNO                7
813 #define IDCLOSE             8
814 #define IDHELP              9      
815
816 typedef struct
817 {
818     HWND16    hwnd;
819     UINT16    message;
820     WPARAM16  wParam;
821     LPARAM    lParam WINE_PACKED;
822     DWORD     time WINE_PACKED;
823     POINT16   pt WINE_PACKED;
824 } MSG16, *LPMSG16;
825
826 typedef struct
827 {
828     HWND32    hwnd;
829     UINT32    message;
830     WPARAM32  wParam;
831     LPARAM    lParam;
832     DWORD     time;
833     POINT32   pt;
834 } MSG32, *LPMSG32;
835
836 DECL_WINELIB_TYPE(MSG)
837 DECL_WINELIB_TYPE(LPMSG)
838         
839 /* Cursors / Icons */
840
841 typedef struct
842 {
843     POINT16 ptHotSpot;
844     WORD    nWidth;
845     WORD    nHeight;
846     WORD    nWidthBytes;
847     BYTE    bPlanes;
848     BYTE    bBitsPerPixel;
849 } CURSORICONINFO;
850
851 /* only used by Win32 functions */
852 typedef struct {
853         BOOL32          fIcon;
854         DWORD           xHotspot;
855         DWORD           yHotspot;
856         HBITMAP32       hbmMask;
857         HBITMAP32       hbmColor;
858 } ICONINFO,*LPICONINFO;
859
860 #ifdef FSHIFT
861 /* Gcc on Solaris has a version of this that we don't care about.  */
862 #undef FSHIFT
863 #endif
864
865 #define FVIRTKEY        TRUE          /* Assumed to be == TRUE */
866 #define FNOINVERT       0x02
867 #define FSHIFT          0x04
868 #define FCONTROL        0x08
869 #define FALT            0x10
870
871 typedef struct
872 {
873     BYTE   fVirt;
874     WORD   key;
875     WORD   cmd;
876 } ACCEL16, *LPACCEL16;
877
878 typedef struct
879 {
880     BYTE   fVirt;
881     BYTE   pad0;
882     WORD   key;
883     WORD   cmd;
884     WORD   pad1;
885 } ACCEL32, *LPACCEL32;
886
887 DECL_WINELIB_TYPE(ACCEL)
888 DECL_WINELIB_TYPE(LPACCEL)
889
890 /* modifiers for RegisterHotKey */
891 #define MOD_ALT         0x0001
892 #define MOD_CONTROL     0x0002
893 #define MOD_SHIFT       0x0004
894 #define MOD_WIN         0x0008
895
896 /* ids for RegisterHotKey */
897 #define IDHOT_SNAPWINDOW        (-1)    /* SHIFT-PRINTSCRN  */
898 #define IDHOT_SNAPDESKTOP       (-2)    /* PRINTSCRN        */
899
900 /* Flags for DrawIconEx.  */
901 #define DI_MASK                 1
902 #define DI_IMAGE                2
903 #define DI_NORMAL               (DI_MASK | DI_IMAGE)
904 #define DI_COMPAT               4
905 #define DI_DEFAULTSIZE          8
906
907 typedef struct {
908         BYTE i;  /* much more .... */
909 } KANJISTRUCT;
910 typedef KANJISTRUCT *LPKANJISTRUCT;
911 typedef KANJISTRUCT *NPKANJISTRUCT;
912 typedef KANJISTRUCT *PKANJISTRUCT;
913
914 #define OFS_MAXPATHNAME 128
915 typedef struct
916 {
917     BYTE cBytes;
918     BYTE fFixedDisk;
919     WORD nErrCode;
920     BYTE reserved[4];
921     BYTE szPathName[OFS_MAXPATHNAME];
922 } OFSTRUCT, *LPOFSTRUCT;
923
924 #define OF_READ               0x0000
925 #define OF_WRITE              0x0001
926 #define OF_READWRITE          0x0002
927 #define OF_SHARE_COMPAT       0x0000
928 #define OF_SHARE_EXCLUSIVE    0x0010
929 #define OF_SHARE_DENY_WRITE   0x0020
930 #define OF_SHARE_DENY_READ    0x0030
931 #define OF_SHARE_DENY_NONE    0x0040
932 #define OF_PARSE              0x0100
933 #define OF_DELETE             0x0200
934 #define OF_VERIFY             0x0400   /* Used with OF_REOPEN */
935 #define OF_SEARCH             0x0400   /* Used without OF_REOPEN */
936 #define OF_CANCEL             0x0800
937 #define OF_CREATE             0x1000
938 #define OF_PROMPT             0x2000
939 #define OF_EXIST              0x4000
940 #define OF_REOPEN             0x8000
941
942 /* SetErrorMode values */
943 #define SEM_FAILCRITICALERRORS      0x0001
944 #define SEM_NOGPFAULTERRORBOX       0x0002
945 #define SEM_NOALIGNMENTFAULTEXCEPT  0x0004
946 #define SEM_NOOPENFILEERRORBOX      0x8000
947
948 /* CopyFileEx flags */
949 #define COPY_FILE_FAIL_IF_EXISTS        0x00000001
950 #define COPY_FILE_RESTARTABLE           0x00000002
951 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
952
953 /* GetTempFileName() Flags */
954 #define TF_FORCEDRIVE           0x80
955
956 #define DRIVE_CANNOTDETERMINE      0
957 #define DRIVE_DOESNOTEXIST         1
958 #define DRIVE_REMOVABLE            2
959 #define DRIVE_FIXED                3
960 #define DRIVE_REMOTE               4
961 /* Win32 additions */
962 #define DRIVE_CDROM                5
963 #define DRIVE_RAMDISK              6
964
965 #define HFILE_ERROR16   ((HFILE16)-1)
966 #define HFILE_ERROR32   ((HFILE32)-1)
967 #define HFILE_ERROR     WINELIB_NAME(HFILE_ERROR)
968
969 #define DDL_READWRITE   0x0000
970 #define DDL_READONLY    0x0001
971 #define DDL_HIDDEN      0x0002
972 #define DDL_SYSTEM      0x0004
973 #define DDL_DIRECTORY   0x0010
974 #define DDL_ARCHIVE     0x0020
975
976 #define DDL_POSTMSGS    0x2000
977 #define DDL_DRIVES      0x4000
978 #define DDL_EXCLUSIVE   0x8000
979
980 typedef struct _ACL {
981     BYTE AclRevision;
982     BYTE Sbz1;
983     WORD AclSize;
984     WORD AceCount;
985     WORD Sbz2;
986 } ACL, *LPACL;
987
988 typedef struct {
989     BYTE Value[6];
990 } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
991
992 typedef struct _SID {
993     BYTE Revision;
994     BYTE SubAuthorityCount;
995     SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
996     DWORD SubAuthority[1];
997 } SID,*PSID,*LPSID;
998
999 /* The security attributes structure */
1000 typedef struct
1001 {
1002     DWORD   nLength;
1003     LPVOID  lpSecurityDescriptor;
1004     BOOL32  bInheritHandle;
1005 } SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
1006
1007 typedef WORD SECURITY_DESCRIPTOR_CONTROL;
1008
1009 /* The security descriptor structure */
1010 typedef struct {
1011     BYTE Revision;
1012     BYTE Sbz1;
1013     SECURITY_DESCRIPTOR_CONTROL Control;
1014     LPSID Owner;
1015     LPSID Group;
1016     LPACL Sacl;
1017     LPACL Dacl;
1018 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *LPSECURITY_DESCRIPTOR;
1019
1020 typedef DWORD SECURITY_INFORMATION;
1021
1022
1023 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
1024 typedef struct
1025 {
1026   DWORD  dwLowDateTime;
1027   DWORD  dwHighDateTime;
1028 } FILETIME, *LPFILETIME;
1029
1030 /* Find* structures */
1031 typedef struct
1032 {
1033     DWORD     dwFileAttributes;
1034     FILETIME  ftCreationTime;
1035     FILETIME  ftLastAccessTime;
1036     FILETIME  ftLastWriteTime;
1037     DWORD     nFileSizeHigh;
1038     DWORD     nFileSizeLow;
1039     DWORD     dwReserved0;
1040     DWORD     dwReserved1;
1041     CHAR      cFileName[260];
1042     CHAR      cAlternateFileName[14];
1043 } WIN32_FIND_DATA32A, *LPWIN32_FIND_DATA32A;
1044
1045 typedef struct
1046 {
1047     DWORD     dwFileAttributes;
1048     FILETIME  ftCreationTime;
1049     FILETIME  ftLastAccessTime;
1050     FILETIME  ftLastWriteTime;
1051     DWORD     nFileSizeHigh;
1052     DWORD     nFileSizeLow;
1053     DWORD     dwReserved0;
1054     DWORD     dwReserved1;
1055     WCHAR     cFileName[260];
1056     WCHAR     cAlternateFileName[14];
1057 } WIN32_FIND_DATA32W, *LPWIN32_FIND_DATA32W;
1058
1059 DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA)
1060 DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA)
1061
1062 #define INVALID_HANDLE_VALUE16  ((HANDLE16) -1)
1063 #define INVALID_HANDLE_VALUE32  ((HANDLE32) -1)
1064 #define INVALID_HANDLE_VALUE WINELIB_NAME(INVALID_HANDLE_VALUE)
1065
1066 /* comm */
1067
1068 #define CBR_110 0xFF10
1069 #define CBR_300 0xFF11
1070 #define CBR_600 0xFF12
1071 #define CBR_1200        0xFF13
1072 #define CBR_2400        0xFF14
1073 #define CBR_4800        0xFF15
1074 #define CBR_9600        0xFF16
1075 #define CBR_14400       0xFF17
1076 #define CBR_19200       0xFF18
1077 #define CBR_38400       0xFF1B
1078 #define CBR_56000       0xFF1F
1079 #define CBR_128000      0xFF23
1080 #define CBR_256000      0xFF27
1081
1082 #define NOPARITY        0
1083 #define ODDPARITY       1
1084 #define EVENPARITY      2
1085 #define MARKPARITY      3
1086 #define SPACEPARITY     4
1087 #define ONESTOPBIT      0
1088 #define ONE5STOPBITS    1
1089 #define TWOSTOPBITS     2
1090
1091 #define IGNORE          0
1092 #define INFINITE16      0xFFFF
1093 #define INFINITE32      0xFFFFFFFF
1094 #define INFINITE WINELIB_NAME(INFINITE)
1095
1096 #define CE_RXOVER       0x0001
1097 #define CE_OVERRUN      0x0002
1098 #define CE_RXPARITY     0x0004
1099 #define CE_FRAME        0x0008
1100 #define CE_BREAK        0x0010
1101 #define CE_CTSTO        0x0020
1102 #define CE_DSRTO        0x0040
1103 #define CE_RLSDTO       0x0080
1104 #define CE_TXFULL       0x0100
1105 #define CE_PTO          0x0200
1106 #define CE_IOE          0x0400
1107 #define CE_DNS          0x0800
1108 #define CE_OOP          0x1000
1109 #define CE_MODE 0x8000
1110
1111 #define IE_BADID        -1
1112 #define IE_OPEN -2
1113 #define IE_NOPEN        -3
1114 #define IE_MEMORY       -4
1115 #define IE_DEFAULT      -5
1116 #define IE_HARDWARE     -10
1117 #define IE_BYTESIZE     -11
1118 #define IE_BAUDRATE     -12
1119
1120 #define EV_RXCHAR       0x0001
1121 #define EV_RXFLAG       0x0002
1122 #define EV_TXEMPTY      0x0004
1123 #define EV_CTS          0x0008
1124 #define EV_DSR          0x0010
1125 #define EV_RLSD 0x0020
1126 #define EV_BREAK        0x0040
1127 #define EV_ERR          0x0080
1128 #define EV_RING 0x0100
1129 #define EV_PERR 0x0200
1130 #define EV_CTSS 0x0400
1131 #define EV_DSRS 0x0800
1132 #define EV_RLSDS        0x1000
1133 #define EV_RINGTE       0x2000
1134 #define EV_RingTe       EV_RINGTE
1135
1136 #define SETXOFF 1
1137 #define SETXON          2
1138 #define SETRTS          3
1139 #define CLRRTS          4
1140 #define SETDTR          5
1141 #define CLRDTR          6
1142 #define RESETDEV        7
1143 /* win16 only */
1144 #define GETMAXLPT       8
1145 #define GETMAXCOM       9
1146 /* win32 only */
1147 #define SETBREAK        8
1148 #define CLRBREAK        9
1149
1150 #define GETBASEIRQ      10
1151
1152 /* Purge functions for Comm Port */
1153 #define PURGE_TXABORT       0x0001  /* Kill the pending/current writes to the 
1154                                        comm port */
1155 #define PURGE_RXABORT       0x0002  /*Kill the pending/current reads to 
1156                                      the comm port */
1157 #define PURGE_TXCLEAR       0x0004  /* Kill the transmit queue if there*/
1158 #define PURGE_RXCLEAR       0x0008  /* Kill the typeahead buffer if there*/
1159
1160
1161 /* Modem Status Flags */
1162 #define MS_CTS_ON           ((DWORD)0x0010)
1163 #define MS_DSR_ON           ((DWORD)0x0020)
1164 #define MS_RING_ON          ((DWORD)0x0040)
1165 #define MS_RLSD_ON          ((DWORD)0x0080)
1166
1167
1168 #define CN_RECEIVE      0x0001
1169 #define CN_TRANSMIT     0x0002
1170 /*#define CN_EVENT      0x0004*/
1171
1172 typedef struct tagDCB16
1173 {
1174     BYTE   Id;
1175     UINT16 BaudRate WINE_PACKED;
1176     BYTE   ByteSize;
1177     BYTE   Parity;
1178     BYTE   StopBits;
1179     UINT16 RlsTimeout;
1180     UINT16 CtsTimeout;
1181     UINT16 DsrTimeout;
1182
1183     UINT16 fBinary        :1;
1184     UINT16 fRtsDisable    :1;
1185     UINT16 fParity        :1;
1186     UINT16 fOutxCtsFlow   :1;
1187     UINT16 fOutxDsrFlow   :1;
1188     UINT16 fDummy         :2;
1189     UINT16 fDtrDisable    :1;
1190
1191     UINT16 fOutX          :1;
1192     UINT16 fInX           :1;
1193     UINT16 fPeChar        :1;
1194     UINT16 fNull          :1;
1195     UINT16 fChEvt         :1;
1196     UINT16 fDtrflow       :1;
1197     UINT16 fRtsflow       :1;
1198     UINT16 fDummy2        :1;
1199
1200     CHAR   XonChar;
1201     CHAR   XoffChar;
1202     UINT16 XonLim;
1203     UINT16 XoffLim;
1204     CHAR   PeChar;
1205     CHAR   EofChar;
1206     CHAR   EvtChar;
1207     UINT16 TxDelay WINE_PACKED;
1208 } DCB16, *LPDCB16;
1209
1210 typedef struct tagDCB32
1211 {
1212     DWORD DCBlength;
1213     DWORD BaudRate;
1214     DWORD fBinary               :1;
1215     DWORD fParity               :1;
1216     DWORD fOutxCtsFlow          :1;
1217     DWORD fOutxDsrFlow          :1;
1218     DWORD fDtrControl           :2;
1219     DWORD fDsrSensitivity       :1;
1220     DWORD fTXContinueOnXoff     :1;
1221     DWORD fOutX                 :1;
1222     DWORD fInX                  :1;
1223     DWORD fErrorChar            :1;
1224     DWORD fNull                 :1;
1225     DWORD fRtsControl           :2;
1226     DWORD fAbortOnError         :1;
1227     DWORD fDummy2               :17;
1228     WORD wReserved;
1229     WORD XonLim;
1230     WORD XoffLim;
1231     BYTE ByteSize;
1232     BYTE Parity;
1233     BYTE StopBits;
1234     char XonChar;
1235     char XoffChar;
1236     char ErrorChar;
1237     char EofChar;
1238     char EvtChar;
1239 } DCB32, *LPDCB32;
1240
1241 DECL_WINELIB_TYPE(DCB)
1242 DECL_WINELIB_TYPE(LPDCB)
1243
1244 #define RTS_CONTROL_DISABLE     0
1245 #define RTS_CONTROL_ENABLE      1
1246 #define RTS_CONTROL_HANDSHAKE   2
1247 #define RTS_CONTROL_TOGGLE      3
1248
1249 #define DTR_CONTROL_DISABLE     0
1250 #define DTR_CONTROL_ENABLE      1
1251 #define DTR_CONTROL_HANDSHAKE   2
1252
1253 typedef struct tagCOMMTIMEOUTS {
1254         DWORD   ReadIntervalTimeout;
1255         DWORD   ReadTotalTimeoutMultiplier;
1256         DWORD   ReadTotalTimeoutConstant;
1257         DWORD   WriteTotalTimeoutMultiplier;
1258         DWORD   WriteTotalTimeoutConstant;
1259 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
1260
1261 typedef struct tagCOMSTAT
1262 {
1263     BYTE   status;
1264     UINT16 cbInQue WINE_PACKED;
1265     UINT16 cbOutQue WINE_PACKED;
1266 } COMSTAT,*LPCOMSTAT;
1267
1268 #define CSTF_CTSHOLD    0x01
1269 #define CSTF_DSRHOLD    0x02
1270 #define CSTF_RLSDHOLD   0x04
1271 #define CSTF_XOFFHOLD   0x08
1272 #define CSTF_XOFFSENT   0x10
1273 #define CSTF_EOF        0x20
1274 #define CSTF_TXIM       0x40
1275
1276 /* SystemParametersInfo */
1277 /* defines below are for all win versions */
1278 #define SPI_GETBEEP               1
1279 #define SPI_SETBEEP               2
1280 #define SPI_GETMOUSE              3
1281 #define SPI_SETMOUSE              4
1282 #define SPI_GETBORDER             5
1283 #define SPI_SETBORDER             6
1284 #define SPI_GETKEYBOARDSPEED      10
1285 #define SPI_SETKEYBOARDSPEED      11
1286 #define SPI_LANGDRIVER            12
1287 #define SPI_ICONHORIZONTALSPACING 13
1288 #define SPI_GETSCREENSAVETIMEOUT  14
1289 #define SPI_SETSCREENSAVETIMEOUT  15
1290 #define SPI_GETSCREENSAVEACTIVE   16
1291 #define SPI_SETSCREENSAVEACTIVE   17
1292 #define SPI_GETGRIDGRANULARITY    18
1293 #define SPI_SETGRIDGRANULARITY    19
1294 #define SPI_SETDESKWALLPAPER      20
1295 #define SPI_SETDESKPATTERN        21
1296 #define SPI_GETKEYBOARDDELAY      22
1297 #define SPI_SETKEYBOARDDELAY      23
1298 #define SPI_ICONVERTICALSPACING   24
1299 #define SPI_GETICONTITLEWRAP      25
1300 #define SPI_SETICONTITLEWRAP      26
1301 #define SPI_GETMENUDROPALIGNMENT  27
1302 #define SPI_SETMENUDROPALIGNMENT  28
1303 #define SPI_SETDOUBLECLKWIDTH     29
1304 #define SPI_SETDOUBLECLKHEIGHT    30
1305 #define SPI_GETICONTITLELOGFONT   31
1306 #define SPI_SETDOUBLECLICKTIME    32
1307 #define SPI_SETMOUSEBUTTONSWAP    33
1308 #define SPI_SETICONTITLELOGFONT   34
1309 #define SPI_GETFASTTASKSWITCH     35
1310 #define SPI_SETFASTTASKSWITCH     36
1311 #define SPI_SETDRAGFULLWINDOWS    37
1312 #define SPI_GETDRAGFULLWINDOWS    38
1313
1314 #define SPI_GETFILTERKEYS         50
1315 #define SPI_SETFILTERKEYS         51
1316 #define SPI_GETTOGGLEKEYS         52
1317 #define SPI_SETTOGGLEKEYS         53
1318 #define SPI_GETMOUSEKEYS          54
1319 #define SPI_SETMOUSEKEYS          55
1320 #define SPI_GETSHOWSOUNDS         56
1321 #define SPI_SETSHOWSOUNDS         57
1322 #define SPI_GETSTICKYKEYS         58
1323 #define SPI_SETSTICKYKEYS         59
1324 #define SPI_GETACCESSTIMEOUT      60
1325 #define SPI_SETACCESSTIMEOUT      61
1326
1327 #define SPI_GETSOUNDSENTRY        64
1328 #define SPI_SETSOUNDSENTRY        65
1329
1330 /* defines below are for all win versions WINVER >= 0x0400 */
1331 #define SPI_SETDRAGFULLWINDOWS    37
1332 #define SPI_GETDRAGFULLWINDOWS    38
1333 #define SPI_GETNONCLIENTMETRICS   41
1334 #define SPI_SETNONCLIENTMETRICS   42
1335 #define SPI_GETMINIMIZEDMETRICS   43
1336 #define SPI_SETMINIMIZEDMETRICS   44
1337 #define SPI_GETICONMETRICS        45
1338 #define SPI_SETICONMETRICS        46
1339 #define SPI_SETWORKAREA           47
1340 #define SPI_GETWORKAREA           48
1341 #define SPI_SETPENWINDOWS         49
1342
1343 #define SPI_GETSERIALKEYS         62
1344 #define SPI_SETSERIALKEYS         63
1345 #define SPI_GETHIGHCONTRAST       66
1346 #define SPI_SETHIGHCONTRAST       67
1347 #define SPI_GETKEYBOARDPREF       68
1348 #define SPI_SETKEYBOARDPREF       69
1349 #define SPI_GETSCREENREADER       70
1350 #define SPI_SETSCREENREADER       71
1351 #define SPI_GETANIMATION          72
1352 #define SPI_SETANIMATION          73
1353 #define SPI_GETFONTSMOOTHING      74
1354 #define SPI_SETFONTSMOOTHING      75
1355 #define SPI_SETDRAGWIDTH          76
1356 #define SPI_SETDRAGHEIGHT         77
1357 #define SPI_SETHANDHELD           78
1358 #define SPI_GETLOWPOWERTIMEOUT    79
1359 #define SPI_GETPOWEROFFTIMEOUT    80
1360 #define SPI_SETLOWPOWERTIMEOUT    81
1361 #define SPI_SETPOWEROFFTIMEOUT    82
1362 #define SPI_GETLOWPOWERACTIVE     83
1363 #define SPI_GETPOWEROFFACTIVE     84
1364 #define SPI_SETLOWPOWERACTIVE     85
1365 #define SPI_SETPOWEROFFACTIVE     86
1366 #define SPI_SETCURSORS            87
1367 #define SPI_SETICONS              88
1368 #define SPI_GETDEFAULTINPUTLANG   89
1369 #define SPI_SETDEFAULTINPUTLANG   90
1370 #define SPI_SETLANGTOGGLE         91
1371 #define SPI_GETWINDOWSEXTENSION   92
1372 #define SPI_SETMOUSETRAILS        93
1373 #define SPI_GETMOUSETRAILS        94
1374 #define SPI_SETSCREENSAVERRUNNING 97
1375 #define SPI_SCREENSAVERRUNNING    SPI_SETSCREENSAVERRUNNING
1376
1377 /* defines below are for all win versions (_WIN32_WINNT >= 0x0400) ||
1378  *                                        (_WIN32_WINDOWS > 0x0400) */
1379 #define SPI_GETMOUSEHOVERWIDTH    98
1380 #define SPI_SETMOUSEHOVERWIDTH    99
1381 #define SPI_GETMOUSEHOVERHEIGHT   100
1382 #define SPI_SETMOUSEHOVERHEIGHT   101
1383 #define SPI_GETMOUSEHOVERTIME     102
1384 #define SPI_SETMOUSEHOVERTIME     103
1385 #define SPI_GETWHEELSCROLLLINES   104
1386 #define SPI_SETWHEELSCROLLLINES   105
1387
1388 #define SPI_GETSHOWIMEUI          110
1389 #define SPI_SETSHOWIMEUI          111
1390
1391 /* defines below are for all win versions WINVER >= 0x0500 */
1392 #define SPI_GETMOUSESPEED         112
1393 #define SPI_SETMOUSESPEED         113
1394 #define SPI_GETSCREENSAVERRUNNING 114
1395
1396 #define SPI_GETACTIVEWINDOWTRACKING    0x1000
1397 #define SPI_SETACTIVEWINDOWTRACKING    0x1001
1398 #define SPI_GETMENUANIMATION           0x1002
1399 #define SPI_SETMENUANIMATION           0x1003
1400 #define SPI_GETCOMBOBOXANIMATION       0x1004
1401 #define SPI_SETCOMBOBOXANIMATION       0x1005
1402 #define SPI_GETLISTBOXSMOOTHSCROLLING  0x1006
1403 #define SPI_SETLISTBOXSMOOTHSCROLLING  0x1007
1404 #define SPI_GETGRADIENTCAPTIONS        0x1008
1405 #define SPI_SETGRADIENTCAPTIONS        0x1009
1406 #define SPI_GETMENUUNDERLINES          0x100A
1407 #define SPI_SETMENUUNDERLINES          0x100B
1408 #define SPI_GETACTIVEWNDTRKZORDER      0x100C
1409 #define SPI_SETACTIVEWNDTRKZORDER      0x100D
1410 #define SPI_GETHOTTRACKING             0x100E
1411 #define SPI_SETHOTTRACKING             0x100F
1412 #define SPI_GETFOREGROUNDLOCKTIMEOUT   0x2000
1413 #define SPI_SETFOREGROUNDLOCKTIMEOUT   0x2001
1414 #define SPI_GETACTIVEWNDTRKTIMEOUT     0x2002
1415 #define SPI_SETACTIVEWNDTRKTIMEOUT     0x2003
1416 #define SPI_GETFOREGROUNDFLASHCOUNT    0x2004
1417 #define SPI_SETFOREGROUNDFLASHCOUNT    0x2005
1418
1419 /* SystemParametersInfo flags */
1420
1421 #define SPIF_UPDATEINIFILE              1
1422 #define SPIF_SENDWININICHANGE           2
1423 #define SPIF_SENDCHANGE                 SPIF_SENDWININICHANGE
1424
1425 /* flags for HIGHCONTRAST dwFlags field */
1426 #define HCF_HIGHCONTRASTON  0x00000001
1427 #define HCF_AVAILABLE       0x00000002
1428 #define HCF_HOTKEYACTIVE    0x00000004
1429 #define HCF_CONFIRMHOTKEY   0x00000008
1430 #define HCF_HOTKEYSOUND     0x00000010
1431 #define HCF_INDICATOR       0x00000020
1432 #define HCF_HOTKEYAVAILABLE 0x00000040
1433 typedef struct tagHIGHCONTRASTA
1434 {
1435     UINT32  cbSize;
1436     DWORD   dwFlags;
1437     LPSTR   lpszDefaultScheme;
1438 }   HIGHCONTRASTA, *LPHIGHCONTRASTA;
1439
1440 typedef struct tagHIGHCONTRASTW
1441 {
1442     UINT32  cbSize;
1443     DWORD   dwFlags;
1444     LPWSTR  lpszDefaultScheme;
1445 }   HIGHCONTRASTW, *LPHIGHCONTRASTW;
1446
1447 /* GetFreeSystemResources() parameters */
1448
1449 #define GFSR_SYSTEMRESOURCES   0x0000
1450 #define GFSR_GDIRESOURCES      0x0001
1451 #define GFSR_USERRESOURCES     0x0002
1452
1453 /* GetWinFlags */
1454
1455 #define WF_PMODE        0x0001
1456 #define WF_CPU286       0x0002
1457 #define WF_CPU386       0x0004
1458 #define WF_CPU486       0x0008
1459 #define WF_STANDARD     0x0010
1460 #define WF_WIN286       0x0010
1461 #define WF_ENHANCED     0x0020
1462 #define WF_WIN386       0x0020
1463 #define WF_CPU086       0x0040
1464 #define WF_CPU186       0x0080
1465 #define WF_LARGEFRAME   0x0100
1466 #define WF_SMALLFRAME   0x0200
1467 #define WF_80x87        0x0400
1468 #define WF_PAGING       0x0800
1469 #define WF_HASCPUID     0x2000
1470 #define WF_WIN32WOW     0x4000  /* undoc */
1471 #define WF_WLO          0x8000
1472
1473 #define MAKEINTRESOURCE16(i)  (SEGPTR)((DWORD)((WORD)(i)))
1474 #define MAKEINTRESOURCE32A(i) (LPSTR)((DWORD)((WORD)(i)))
1475 #define MAKEINTRESOURCE32W(i) (LPWSTR)((DWORD)((WORD)(i)))
1476 #define MAKEINTRESOURCE WINELIB_NAME_AW(MAKEINTRESOURCE)
1477
1478 /* Predefined resource types */
1479 #define RT_CURSOR16          MAKEINTRESOURCE16(1)
1480 #define RT_CURSOR32A         MAKEINTRESOURCE32A(1)
1481 #define RT_CURSOR32W         MAKEINTRESOURCE32W(1)
1482 #define RT_CURSOR            WINELIB_NAME_AW(RT_CURSOR)
1483 #define RT_BITMAP16          MAKEINTRESOURCE16(2)
1484 #define RT_BITMAP32A         MAKEINTRESOURCE32A(2)
1485 #define RT_BITMAP32W         MAKEINTRESOURCE32W(2)
1486 #define RT_BITMAP            WINELIB_NAME_AW(RT_BITMAP)
1487 #define RT_ICON16            MAKEINTRESOURCE16(3)
1488 #define RT_ICON32A           MAKEINTRESOURCE32A(3)
1489 #define RT_ICON32W           MAKEINTRESOURCE32W(3)
1490 #define RT_ICON              WINELIB_NAME_AW(RT_ICON)
1491 #define RT_MENU16            MAKEINTRESOURCE16(4)
1492 #define RT_MENU32A           MAKEINTRESOURCE32A(4)
1493 #define RT_MENU32W           MAKEINTRESOURCE32W(4)
1494 #define RT_MENU              WINELIB_NAME_AW(RT_MENU)
1495 #define RT_DIALOG16          MAKEINTRESOURCE16(5)
1496 #define RT_DIALOG32A         MAKEINTRESOURCE32A(5)
1497 #define RT_DIALOG32W         MAKEINTRESOURCE32W(5)
1498 #define RT_DIALOG            WINELIB_NAME_AW(RT_DIALOG)
1499 #define RT_STRING16          MAKEINTRESOURCE16(6)
1500 #define RT_STRING32A         MAKEINTRESOURCE32A(6)
1501 #define RT_STRING32W         MAKEINTRESOURCE32W(6)
1502 #define RT_STRING            WINELIB_NAME_AW(RT_STRING)
1503 #define RT_FONTDIR16         MAKEINTRESOURCE16(7)
1504 #define RT_FONTDIR32A        MAKEINTRESOURCE32A(7)
1505 #define RT_FONTDIR32W        MAKEINTRESOURCE32W(7)
1506 #define RT_FONTDIR           WINELIB_NAME_AW(RT_FONTDIR)
1507 #define RT_FONT16            MAKEINTRESOURCE16(8)
1508 #define RT_FONT32A           MAKEINTRESOURCE32A(8)
1509 #define RT_FONT32W           MAKEINTRESOURCE32W(8)
1510 #define RT_FONT              WINELIB_NAME_AW(RT_FONT)
1511 #define RT_ACCELERATOR16     MAKEINTRESOURCE16(9)
1512 #define RT_ACCELERATOR32A    MAKEINTRESOURCE32A(9)
1513 #define RT_ACCELERATOR32W    MAKEINTRESOURCE32W(9)
1514 #define RT_ACCELERATOR       WINELIB_NAME_AW(RT_ACCELERATOR)
1515 #define RT_RCDATA16          MAKEINTRESOURCE16(10)
1516 #define RT_RCDATA32A         MAKEINTRESOURCE32A(10)
1517 #define RT_RCDATA32W         MAKEINTRESOURCE32W(10)
1518 #define RT_RCDATA            WINELIB_NAME_AW(RT_RCDATA)
1519 #define RT_MESSAGELIST16     MAKEINTRESOURCE16(11)
1520 #define RT_MESSAGELIST32A    MAKEINTRESOURCE32A(11)
1521 #define RT_MESSAGELIST32W    MAKEINTRESOURCE32W(11)
1522 #define RT_MESSAGELIST       WINELIB_NAME_AW(RT_MESSAGELIST)
1523 #define RT_GROUP_CURSOR16    MAKEINTRESOURCE16(12)
1524 #define RT_GROUP_CURSOR32A   MAKEINTRESOURCE32A(12)
1525 #define RT_GROUP_CURSOR32W   MAKEINTRESOURCE32W(12)
1526 #define RT_GROUP_CURSOR      WINELIB_NAME_AW(RT_GROUP_CURSOR)
1527 #define RT_GROUP_ICON16      MAKEINTRESOURCE16(14)
1528 #define RT_GROUP_ICON32A     MAKEINTRESOURCE32A(14)
1529 #define RT_GROUP_ICON32W     MAKEINTRESOURCE32W(14)
1530 #define RT_GROUP_ICON        WINELIB_NAME_AW(RT_GROUP_ICON)
1531
1532 /* Predefined resources */
1533 #define IDI_APPLICATION16  MAKEINTRESOURCE16(32512)
1534 #define IDI_APPLICATION32A MAKEINTRESOURCE32A(32512)
1535 #define IDI_APPLICATION32W MAKEINTRESOURCE32W(32512)
1536 #define IDI_APPLICATION    WINELIB_NAME_AW(IDI_APPLICATION)
1537 #define IDI_HAND16         MAKEINTRESOURCE16(32513)
1538 #define IDI_HAND32A        MAKEINTRESOURCE32A(32513)
1539 #define IDI_HAND32W        MAKEINTRESOURCE32W(32513)
1540 #define IDI_HAND           WINELIB_NAME_AW(IDI_HAND)
1541 #define IDI_QUESTION16     MAKEINTRESOURCE16(32514)
1542 #define IDI_QUESTION32A    MAKEINTRESOURCE32A(32514)
1543 #define IDI_QUESTION32W    MAKEINTRESOURCE32W(32514)
1544 #define IDI_QUESTION       WINELIB_NAME_AW(IDI_QUESTION)
1545 #define IDI_EXCLAMATION16  MAKEINTRESOURCE16(32515)
1546 #define IDI_EXCLAMATION32A MAKEINTRESOURCE32A(32515)
1547 #define IDI_EXCLAMATION32W MAKEINTRESOURCE32W(32515)
1548 #define IDI_EXCLAMATION    WINELIB_NAME_AW(IDI_EXCLAMATION)
1549 #define IDI_ASTERISK16     MAKEINTRESOURCE16(32516)
1550 #define IDI_ASTERISK32A    MAKEINTRESOURCE32A(32516)
1551 #define IDI_ASTERISK32W    MAKEINTRESOURCE32W(32516)
1552 #define IDI_ASTERISK       WINELIB_NAME_AW(IDI_ASTERISK)
1553
1554 #define IDC_BUMMER16       MAKEINTRESOURCE16(100)
1555 #define IDC_BUMMER32A      MAKEINTRESOURCE32A(100)
1556 #define IDC_BUMMER32W      MAKEINTRESOURCE32W(100)
1557 #define IDC_BUMMER         WINELIB_NAME_AW(IDC_BUMMER)
1558 #define IDC_ARROW16        MAKEINTRESOURCE16(32512)
1559 #define IDC_ARROW32A       MAKEINTRESOURCE32A(32512)
1560 #define IDC_ARROW32W       MAKEINTRESOURCE32W(32512)
1561 #define IDC_ARROW          WINELIB_NAME_AW(IDC_ARROW)
1562 #define IDC_IBEAM16        MAKEINTRESOURCE16(32513)
1563 #define IDC_IBEAM32A       MAKEINTRESOURCE32A(32513)
1564 #define IDC_IBEAM32W       MAKEINTRESOURCE32W(32513)
1565 #define IDC_IBEAM          WINELIB_NAME_AW(IDC_IBEAM)
1566 #define IDC_WAIT16         MAKEINTRESOURCE16(32514)
1567 #define IDC_WAIT32A        MAKEINTRESOURCE32A(32514)
1568 #define IDC_WAIT32W        MAKEINTRESOURCE32W(32514)
1569 #define IDC_WAIT           WINELIB_NAME_AW(IDC_WAIT)
1570 #define IDC_CROSS16        MAKEINTRESOURCE16(32515)
1571 #define IDC_CROSS32A       MAKEINTRESOURCE32A(32515)
1572 #define IDC_CROSS32W       MAKEINTRESOURCE32W(32515)
1573 #define IDC_CROSS          WINELIB_NAME_AW(IDC_CROSS)
1574 #define IDC_UPARROW16      MAKEINTRESOURCE16(32516)
1575 #define IDC_UPARROW32A     MAKEINTRESOURCE32A(32516)
1576 #define IDC_UPARROW32W     MAKEINTRESOURCE32W(32516)
1577 #define IDC_UPARROW        WINELIB_NAME_AW(IDC_UPARROW)
1578 #define IDC_SIZE16         MAKEINTRESOURCE16(32640)
1579 #define IDC_SIZE32A        MAKEINTRESOURCE32A(32640)
1580 #define IDC_SIZE32W        MAKEINTRESOURCE32W(32640)
1581 #define IDC_SIZE           WINELIB_NAME_AW(IDC_SIZE)
1582 #define IDC_ICON16         MAKEINTRESOURCE16(32641)
1583 #define IDC_ICON32A        MAKEINTRESOURCE32A(32641)
1584 #define IDC_ICON32W        MAKEINTRESOURCE32W(32641)
1585 #define IDC_ICON           WINELIB_NAME_AW(IDC_ICON)
1586 #define IDC_SIZENWSE16     MAKEINTRESOURCE16(32642)
1587 #define IDC_SIZENWSE32A    MAKEINTRESOURCE32A(32642)
1588 #define IDC_SIZENWSE32W    MAKEINTRESOURCE32W(32642)
1589 #define IDC_SIZENWSE       WINELIB_NAME_AW(IDC_SIZENWSE)
1590 #define IDC_SIZENESW16     MAKEINTRESOURCE16(32643)
1591 #define IDC_SIZENESW32A    MAKEINTRESOURCE32A(32643)
1592 #define IDC_SIZENESW32W    MAKEINTRESOURCE32W(32643)
1593 #define IDC_SIZENESW       WINELIB_NAME_AW(IDC_SIZENESW)
1594 #define IDC_SIZEWE16       MAKEINTRESOURCE16(32644)
1595 #define IDC_SIZEWE32A      MAKEINTRESOURCE32A(32644)
1596 #define IDC_SIZEWE32W      MAKEINTRESOURCE32W(32644)
1597 #define IDC_SIZEWE         WINELIB_NAME_AW(IDC_SIZEWE)
1598 #define IDC_SIZENS16       MAKEINTRESOURCE16(32645)
1599 #define IDC_SIZENS32A      MAKEINTRESOURCE32A(32645)
1600 #define IDC_SIZENS32W      MAKEINTRESOURCE32W(32645)
1601 #define IDC_SIZENS         WINELIB_NAME_AW(IDC_SIZENS)
1602 #define IDC_SIZEALL16      MAKEINTRESOURCE16(32646)
1603 #define IDC_SIZEALL32A     MAKEINTRESOURCE32A(32646)
1604 #define IDC_SIZEALL32W     MAKEINTRESOURCE32W(32646)
1605 #define IDC_SIZEALL        WINELIB_NAME_AW(IDC_SIZEALL)
1606 #define IDC_NO16           MAKEINTRESOURCE16(32648)
1607 #define IDC_NO32A          MAKEINTRESOURCE32A(32648)
1608 #define IDC_NO32W          MAKEINTRESOURCE32W(32648)
1609 #define IDC_NO             WINELIB_NAME_AW(IDC_NO)
1610 #define IDC_APPSTARTING16  MAKEINTRESOURCE16(32650)
1611 #define IDC_APPSTARTING32A MAKEINTRESOURCE32A(32650)
1612 #define IDC_APPSTARTING32W MAKEINTRESOURCE32W(32650)
1613 #define IDC_APPSTARTING    WINELIB_NAME_AW(IDC_APPSTARTING)
1614 #define IDC_HELP16         MAKEINTRESOURCE16(32651)
1615 #define IDC_HELP32A        MAKEINTRESOURCE32A(32651)
1616 #define IDC_HELP32W        MAKEINTRESOURCE32W(32651)
1617 #define IDC_HELP           WINELIB_NAME_AW(IDC_HELP)
1618
1619 /* OEM Resource Ordinal Numbers */
1620 #define OBM_CLOSE           32754
1621 #define OBM_UPARROW         32753
1622 #define OBM_DNARROW         32752
1623 #define OBM_RGARROW         32751
1624 #define OBM_LFARROW         32750
1625 #define OBM_REDUCE          32749
1626 #define OBM_ZOOM            32748
1627 #define OBM_RESTORE         32747
1628 #define OBM_REDUCED         32746
1629 #define OBM_ZOOMD           32745
1630 #define OBM_RESTORED        32744
1631 #define OBM_UPARROWD        32743
1632 #define OBM_DNARROWD        32742
1633 #define OBM_RGARROWD        32741
1634 #define OBM_LFARROWD        32740
1635 #define OBM_MNARROW         32739
1636 #define OBM_COMBO           32738
1637 #define OBM_UPARROWI        32737
1638 #define OBM_DNARROWI        32736
1639 #define OBM_RGARROWI        32735
1640 #define OBM_LFARROWI        32734
1641
1642 #define OBM_FOLDER          32733
1643 #define OBM_FOLDER2         32732
1644 #define OBM_FLOPPY          32731
1645 #define OBM_HDISK           32730
1646 #define OBM_CDROM           32729
1647 #define OBM_TRTYPE          32728
1648
1649 /* Wine extension, I think.  */
1650 #define OBM_RADIOCHECK      32727
1651
1652 #define OBM_OLD_CLOSE       32767
1653 #define OBM_SIZE            32766
1654 #define OBM_OLD_UPARROW     32765
1655 #define OBM_OLD_DNARROW     32764
1656 #define OBM_OLD_RGARROW     32763
1657 #define OBM_OLD_LFARROW     32762
1658 #define OBM_BTSIZE          32761
1659 #define OBM_CHECK           32760
1660 #define OBM_CHECKBOXES      32759
1661 #define OBM_BTNCORNERS      32758
1662 #define OBM_OLD_REDUCE      32757
1663 #define OBM_OLD_ZOOM        32756
1664 #define OBM_OLD_RESTORE     32755
1665
1666 #define OCR_BUMMER          100
1667 #define OCR_DRAGOBJECT      101
1668
1669 #define OCR_NORMAL          32512
1670 #define OCR_IBEAM           32513
1671 #define OCR_WAIT            32514
1672 #define OCR_CROSS           32515
1673 #define OCR_UP              32516
1674 #define OCR_SIZE            32640
1675 #define OCR_ICON            32641
1676 #define OCR_SIZENWSE        32642
1677 #define OCR_SIZENESW        32643
1678 #define OCR_SIZEWE          32644
1679 #define OCR_SIZENS          32645
1680 #define OCR_SIZEALL         32646
1681 #define OCR_ICOCUR          32647
1682 #define OCR_NO              32648
1683 #define OCR_APPSTARTING     32650
1684 #define OCR_HELP            32651  /* only defined in wine */
1685
1686 #define OIC_SAMPLE          32512
1687 #define OIC_HAND            32513
1688 #define OIC_QUES            32514
1689 #define OIC_BANG            32515
1690 #define OIC_NOTE            32516
1691 #define OIC_PORTRAIT        32517
1692 #define OIC_LANDSCAPE       32518
1693 #define OIC_WINEICON        32519
1694
1695
1696 /* DragObject stuff */
1697
1698 typedef struct
1699 {
1700     HWND16     hWnd;
1701     HANDLE16   hScope;
1702     WORD       wFlags;
1703     HANDLE16   hList;
1704     HANDLE16   hOfStruct;
1705     POINT16 pt WINE_PACKED;
1706     LONG       l WINE_PACKED;
1707 } DRAGINFO, *LPDRAGINFO;
1708
1709 #define DRAGOBJ_PROGRAM         0x0001
1710 #define DRAGOBJ_DATA            0x0002
1711 #define DRAGOBJ_DIRECTORY       0x0004
1712 #define DRAGOBJ_MULTIPLE        0x0008
1713 #define DRAGOBJ_EXTERNAL        0x8000
1714
1715 #define DRAG_PRINT              0x544E5250
1716 #define DRAG_FILE               0x454C4946
1717
1718 /* Messages */
1719
1720 #define WM_NULL                 0x0000
1721 #define WM_CREATE               0x0001
1722 #define WM_DESTROY              0x0002
1723 #define WM_MOVE                 0x0003
1724 #define WM_SIZEWAIT             0x0004
1725 #define WM_SIZE                 0x0005
1726 #define WM_ACTIVATE             0x0006
1727 #define WM_SETFOCUS             0x0007
1728 #define WM_KILLFOCUS            0x0008
1729 #define WM_SETVISIBLE           0x0009
1730 #define WM_ENABLE               0x000a
1731 #define WM_SETREDRAW            0x000b
1732 #define WM_SETTEXT              0x000c
1733 #define WM_GETTEXT              0x000d
1734 #define WM_GETTEXTLENGTH        0x000e
1735 #define WM_PAINT                0x000f
1736 #define WM_CLOSE                0x0010
1737 #define WM_QUERYENDSESSION      0x0011
1738 #define WM_QUIT                 0x0012
1739 #define WM_QUERYOPEN            0x0013
1740 #define WM_ERASEBKGND           0x0014
1741 #define WM_SYSCOLORCHANGE       0x0015
1742 #define WM_ENDSESSION           0x0016
1743 #define WM_SYSTEMERROR          0x0017
1744 #define WM_SHOWWINDOW           0x0018
1745 #define WM_CTLCOLOR             0x0019
1746 #define WM_WININICHANGE         0x001a
1747 #define WM_SETTINGCHANGE        WM_WININICHANGE
1748 #define WM_DEVMODECHANGE        0x001b
1749 #define WM_ACTIVATEAPP          0x001c
1750 #define WM_FONTCHANGE           0x001d
1751 #define WM_TIMECHANGE           0x001e
1752 #define WM_CANCELMODE           0x001f
1753 #define WM_SETCURSOR            0x0020
1754 #define WM_MOUSEACTIVATE        0x0021
1755 #define WM_CHILDACTIVATE        0x0022
1756 #define WM_QUEUESYNC            0x0023
1757 #define WM_GETMINMAXINFO        0x0024
1758
1759 #define WM_PAINTICON            0x0026
1760 #define WM_ICONERASEBKGND       0x0027
1761 #define WM_NEXTDLGCTL           0x0028
1762 #define WM_ALTTABACTIVE         0x0029
1763 #define WM_SPOOLERSTATUS        0x002a
1764 #define WM_DRAWITEM             0x002b
1765 #define WM_MEASUREITEM          0x002c
1766 #define WM_DELETEITEM           0x002d
1767 #define WM_VKEYTOITEM           0x002e
1768 #define WM_CHARTOITEM           0x002f
1769 #define WM_SETFONT              0x0030
1770 #define WM_GETFONT              0x0031
1771 #define WM_SETHOTKEY            0x0032
1772 #define WM_GETHOTKEY            0x0033
1773 #define WM_FILESYSCHANGE        0x0034
1774 #define WM_ISACTIVEICON         0x0035
1775 #define WM_QUERYPARKICON        0x0036
1776 #define WM_QUERYDRAGICON        0x0037
1777 #define WM_QUERYSAVESTATE       0x0038
1778 #define WM_COMPAREITEM          0x0039
1779 #define WM_TESTING              0x003a
1780
1781 #define WM_OTHERWINDOWCREATED   0x003c
1782 #define WM_OTHERWINDOWDESTROYED 0x003d
1783 #define WM_ACTIVATESHELLWINDOW  0x003e
1784
1785 #define WM_COMPACTING           0x0041
1786
1787 #define WM_COMMNOTIFY           0x0044
1788 #define WM_WINDOWPOSCHANGING    0x0046
1789 #define WM_WINDOWPOSCHANGED     0x0047
1790 #define WM_POWER                0x0048
1791
1792   /* Win32 4.0 messages */
1793 #define WM_COPYDATA             0x004a
1794 #define WM_CANCELJOURNAL        0x004b
1795 #define WM_NOTIFY               0x004e
1796 #define WM_HELP                 0x0053
1797 #define WM_NOTIFYFORMAT         0x0055
1798
1799 #define WM_CONTEXTMENU          0x007b
1800 #define WM_STYLECHANGING        0x007c
1801 #define WM_STYLECHANGED         0x007d
1802 #define WM_DISPLAYCHANGE        0x007e
1803 #define WM_GETICON              0x007f
1804 #define WM_SETICON              0x0080
1805
1806   /* Non-client system messages */
1807 #define WM_NCCREATE         0x0081
1808 #define WM_NCDESTROY        0x0082
1809 #define WM_NCCALCSIZE       0x0083
1810 #define WM_NCHITTEST        0x0084
1811 #define WM_NCPAINT          0x0085
1812 #define WM_NCACTIVATE       0x0086
1813
1814 #define WM_GETDLGCODE       0x0087
1815 #define WM_SYNCPAINT        0x0088
1816 #define WM_SYNCTASK         0x0089
1817
1818   /* Non-client mouse messages */
1819 #define WM_NCMOUSEMOVE      0x00a0
1820 #define WM_NCLBUTTONDOWN    0x00a1
1821 #define WM_NCLBUTTONUP      0x00a2
1822 #define WM_NCLBUTTONDBLCLK  0x00a3
1823 #define WM_NCRBUTTONDOWN    0x00a4
1824 #define WM_NCRBUTTONUP      0x00a5
1825 #define WM_NCRBUTTONDBLCLK  0x00a6
1826 #define WM_NCMBUTTONDOWN    0x00a7
1827 #define WM_NCMBUTTONUP      0x00a8
1828 #define WM_NCMBUTTONDBLCLK  0x00a9
1829
1830   /* Keyboard messages */
1831 #define WM_KEYDOWN          0x0100
1832 #define WM_KEYUP            0x0101
1833 #define WM_CHAR             0x0102
1834 #define WM_DEADCHAR         0x0103
1835 #define WM_SYSKEYDOWN       0x0104
1836 #define WM_SYSKEYUP         0x0105
1837 #define WM_SYSCHAR          0x0106
1838 #define WM_SYSDEADCHAR      0x0107
1839 #define WM_KEYFIRST         WM_KEYDOWN
1840 #define WM_KEYLAST          0x0108
1841
1842 #define WM_INITDIALOG       0x0110 
1843 #define WM_COMMAND          0x0111
1844 #define WM_SYSCOMMAND       0x0112
1845 #define WM_TIMER            0x0113
1846 #define WM_SYSTIMER         0x0118
1847
1848   /* scroll messages */
1849 #define WM_HSCROLL          0x0114
1850 #define WM_VSCROLL          0x0115
1851
1852 /* Menu messages */
1853 #define WM_INITMENU         0x0116
1854 #define WM_INITMENUPOPUP    0x0117
1855
1856 #define WM_MENUSELECT       0x011F
1857 #define WM_MENUCHAR         0x0120
1858 #define WM_ENTERIDLE        0x0121
1859
1860 #define WM_LBTRACKPOINT     0x0131
1861
1862   /* Win32 CTLCOLOR messages */
1863 #define WM_CTLCOLORMSGBOX    0x0132
1864 #define WM_CTLCOLOREDIT      0x0133
1865 #define WM_CTLCOLORLISTBOX   0x0134
1866 #define WM_CTLCOLORBTN       0x0135
1867 #define WM_CTLCOLORDLG       0x0136
1868 #define WM_CTLCOLORSCROLLBAR 0x0137
1869 #define WM_CTLCOLORSTATIC    0x0138
1870
1871   /* Mouse messages */
1872 #define WM_MOUSEMOVE        0x0200
1873 #define WM_LBUTTONDOWN      0x0201
1874 #define WM_LBUTTONUP        0x0202
1875 #define WM_LBUTTONDBLCLK    0x0203
1876 #define WM_RBUTTONDOWN      0x0204
1877 #define WM_RBUTTONUP        0x0205
1878 #define WM_RBUTTONDBLCLK    0x0206
1879 #define WM_MBUTTONDOWN      0x0207
1880 #define WM_MBUTTONUP        0x0208
1881 #define WM_MBUTTONDBLCLK    0x0209
1882 #define WM_MOUSEFIRST       WM_MOUSEMOVE
1883 #define WM_MOUSELAST        WM_MBUTTONDBLCLK
1884
1885 #define WM_PARENTNOTIFY     0x0210
1886 #define WM_ENTERMENULOOP    0x0211
1887 #define WM_EXITMENULOOP     0x0212
1888 #define WM_NEXTMENU         0x0213
1889
1890   /* Win32 4.0 messages */
1891 #define WM_SIZING           0x0214
1892 #define WM_CAPTURECHANGED   0x0215
1893 #define WM_MOVING           0x0216
1894
1895   /* MDI messages */
1896 #define WM_MDICREATE        0x0220
1897 #define WM_MDIDESTROY       0x0221
1898 #define WM_MDIACTIVATE      0x0222
1899 #define WM_MDIRESTORE       0x0223
1900 #define WM_MDINEXT          0x0224
1901 #define WM_MDIMAXIMIZE      0x0225
1902 #define WM_MDITILE          0x0226
1903 #define WM_MDICASCADE       0x0227
1904 #define WM_MDIICONARRANGE   0x0228
1905 #define WM_MDIGETACTIVE     0x0229
1906 #define WM_MDIREFRESHMENU   0x0234
1907
1908   /* D&D messages */
1909 #define WM_DROPOBJECT       0x022A
1910 #define WM_QUERYDROPOBJECT  0x022B
1911 #define WM_BEGINDRAG        0x022C
1912 #define WM_DRAGLOOP         0x022D
1913 #define WM_DRAGSELECT       0x022E
1914 #define WM_DRAGMOVE         0x022F
1915 #define WM_MDISETMENU       0x0230
1916
1917 #define WM_ENTERSIZEMOVE    0x0231
1918 #define WM_EXITSIZEMOVE     0x0232
1919 #define WM_DROPFILES        0x0233
1920
1921 #define WM_CUT               0x0300
1922 #define WM_COPY              0x0301
1923 #define WM_PASTE             0x0302
1924 #define WM_CLEAR             0x0303
1925 #define WM_UNDO              0x0304
1926 #define WM_RENDERFORMAT      0x0305
1927 #define WM_RENDERALLFORMATS  0x0306
1928 #define WM_DESTROYCLIPBOARD  0x0307
1929 #define WM_DRAWCLIPBOARD     0x0308
1930 #define WM_PAINTCLIPBOARD    0x0309
1931 #define WM_VSCROLLCLIPBOARD  0x030A
1932 #define WM_SIZECLIPBOARD     0x030B
1933 #define WM_ASKCBFORMATNAME   0x030C
1934 #define WM_CHANGECBCHAIN     0x030D
1935 #define WM_HSCROLLCLIPBOARD  0x030E
1936 #define WM_QUERYNEWPALETTE   0x030F
1937 #define WM_PALETTEISCHANGING 0x0310
1938 #define WM_PALETTECHANGED    0x0311
1939 #define WM_HOTKEY            0x0312
1940
1941 #define WM_PRINT             0x0317
1942 #define WM_PRINTCLIENT       0x0318
1943
1944   /* MFC messages [370-37f] */
1945
1946 #define WM_QUERYAFXWNDPROC  0x0360
1947 #define WM_SIZEPARENT       0x0361
1948 #define WM_SETMESSAGESTRING 0x0362
1949 #define WM_IDLEUPDATECMDUI  0x0363 
1950 #define WM_INITIALUPDATE    0x0364
1951 #define WM_COMMANDHELP      0x0365
1952 #define WM_HELPHITTEST      0x0366
1953 #define WM_EXITHELPMODE     0x0367
1954 #define WM_RECALCPARENT     0x0368
1955 #define WM_SIZECHILD        0x0369
1956 #define WM_KICKIDLE         0x036A 
1957 #define WM_QUERYCENTERWND   0x036B
1958 #define WM_DISABLEMODAL     0x036C
1959 #define WM_FLOATSTATUS      0x036D 
1960 #define WM_ACTIVATETOPLEVEL 0x036E 
1961 #define WM_QUERY3DCONTROLS  0x036F 
1962 #define WM_SOCKET_NOTIFY    0x0373
1963 #define WM_SOCKET_DEAD      0x0374
1964 #define WM_POPMESSAGESTRING 0x0375
1965 #define WM_OCC_LOADFROMSTREAM           0x0376
1966 #define WM_OCC_LOADFROMSTORAGE          0x0377
1967 #define WM_OCC_INITNEW                  0x0378
1968 #define WM_OCC_LOADFROMSTREAM_EX        0x037A
1969 #define WM_OCC_LOADFROMSTORAGE_EX       0x037B
1970 #define WM_QUEUE_SENTINEL   0x0379
1971
1972 /* end of MFC messages */
1973
1974 #define WM_COALESCE_FIRST    0x0390
1975 #define WM_COALESCE_LAST     0x039F
1976
1977   /* misc messages */
1978 #define WM_NULL             0x0000
1979 #define WM_USER             0x0400
1980 #define WM_CPL_LAUNCH       (WM_USER + 1000)
1981 #define WM_CPL_LAUNCHED     (WM_USER + 1001)
1982
1983 /* WM_NOTIFYFORMAT commands and return values */
1984 #define NFR_ANSI            1
1985 #define NFR_UNICODE         2
1986 #define NF_QUERY            3
1987 #define NF_REQUERY          4
1988
1989   /* Key status flags for mouse events */
1990 #define MK_LBUTTON          0x0001
1991 #define MK_RBUTTON          0x0002
1992 #define MK_SHIFT            0x0004
1993 #define MK_CONTROL          0x0008
1994 #define MK_MBUTTON          0x0010
1995
1996   /* keybd_event flags */
1997 #define KEYEVENTF_EXTENDEDKEY        0x0001
1998 #define KEYEVENTF_KEYUP              0x0002
1999 #define KEYEVENTF_WINE_FORCEEXTENDED 0x8000
2000
2001   /* mouse_event flags */
2002 #define MOUSEEVENTF_MOVE        0x0001
2003 #define MOUSEEVENTF_LEFTDOWN    0x0002
2004 #define MOUSEEVENTF_LEFTUP      0x0004
2005 #define MOUSEEVENTF_RIGHTDOWN   0x0008
2006 #define MOUSEEVENTF_RIGHTUP     0x0010
2007 #define MOUSEEVENTF_MIDDLEDOWN  0x0020
2008 #define MOUSEEVENTF_MIDDLEUP    0x0040
2009 #define MOUSEEVENTF_ABSOLUTE    0x8000
2010
2011   /* Queue status flags */
2012 #define QS_KEY          0x0001
2013 #define QS_MOUSEMOVE    0x0002
2014 #define QS_MOUSEBUTTON  0x0004
2015 #define QS_MOUSE        (QS_MOUSEMOVE | QS_MOUSEBUTTON)
2016 #define QS_POSTMESSAGE  0x0008
2017 #define QS_TIMER        0x0010
2018 #define QS_PAINT        0x0020
2019 #define QS_SENDMESSAGE  0x0040
2020 #define QS_ALLINPUT     0x007f
2021
2022   /* PeekMessage() options */
2023 #define PM_NOREMOVE     0x0000
2024 #define PM_REMOVE       0x0001
2025 #define PM_NOYIELD      0x0002
2026
2027 #define WM_SHOWWINDOW       0x0018
2028
2029 /* WM_SHOWWINDOW wParam codes */
2030 #define SW_PARENTCLOSING    1
2031 #define SW_OTHERMAXIMIZED   2
2032 #define SW_PARENTOPENING    3
2033 #define SW_OTHERRESTORED    4
2034
2035   /* ShowWindow() codes */
2036 #define SW_HIDE             0
2037 #define SW_SHOWNORMAL       1
2038 #define SW_NORMAL           1
2039 #define SW_SHOWMINIMIZED    2
2040 #define SW_SHOWMAXIMIZED    3
2041 #define SW_MAXIMIZE         3
2042 #define SW_SHOWNOACTIVATE   4
2043 #define SW_SHOW             5
2044 #define SW_MINIMIZE         6
2045 #define SW_SHOWMINNOACTIVE  7
2046 #define SW_SHOWNA           8
2047 #define SW_RESTORE          9
2048 #define SW_SHOWDEFAULT      10
2049 #define SW_MAX              10
2050 #define SW_NORMALNA         0xCC        /* undoc. flag in MinMaximize */
2051
2052   /* WM_SIZE message wParam values */
2053 #define SIZE_RESTORED        0
2054 #define SIZE_MINIMIZED       1
2055 #define SIZE_MAXIMIZED       2
2056 #define SIZE_MAXSHOW         3
2057 #define SIZE_MAXHIDE         4
2058 #define SIZENORMAL           SIZE_RESTORED
2059 #define SIZEICONIC           SIZE_MINIMIZED
2060 #define SIZEFULLSCREEN       SIZE_MAXIMIZED
2061 #define SIZEZOOMSHOW         SIZE_MAXSHOW
2062 #define SIZEZOOMHIDE         SIZE_MAXHIDE
2063
2064 /* SetWindowPos() and WINDOWPOS flags */
2065 #define SWP_NOSIZE          0x0001
2066 #define SWP_NOMOVE          0x0002
2067 #define SWP_NOZORDER        0x0004
2068 #define SWP_NOREDRAW        0x0008
2069 #define SWP_NOACTIVATE      0x0010
2070 #define SWP_FRAMECHANGED    0x0020  /* The frame changed: send WM_NCCALCSIZE */
2071 #define SWP_SHOWWINDOW      0x0040
2072 #define SWP_HIDEWINDOW      0x0080
2073 #define SWP_NOCOPYBITS      0x0100
2074 #define SWP_NOOWNERZORDER   0x0200  /* Don't do owner Z ordering */
2075
2076 #define SWP_DRAWFRAME       SWP_FRAMECHANGED
2077 #define SWP_NOREPOSITION    SWP_NOOWNERZORDER
2078
2079 #define SWP_NOSENDCHANGING  0x0400
2080 #define SWP_DEFERERASE      0x2000
2081
2082 #define HWND_DESKTOP        ((HWND32)0)
2083 #define HWND_BROADCAST      ((HWND32)0xffff)
2084
2085 /* SetWindowPos() hwndInsertAfter field values */
2086 #define HWND_TOP            ((HWND32)0)
2087 #define HWND_BOTTOM         ((HWND32)1)
2088 #define HWND_TOPMOST        ((HWND32)-1)
2089 #define HWND_NOTOPMOST      ((HWND32)-2)
2090
2091 /* Flags for TrackPopupMenu */
2092 #define TPM_LEFTBUTTON    0x0000
2093 #define TPM_RIGHTBUTTON   0x0002
2094 #define TPM_LEFTALIGN     0x0000
2095 #define TPM_CENTERALIGN   0x0004
2096 #define TPM_RIGHTALIGN    0x0008
2097 #define TPM_TOPALIGN      0x0000
2098 #define TPM_VCENTERALIGN  0x0010
2099 #define TPM_BOTTOMALIGN   0x0020
2100 #define TPM_HORIZONTAL    0x0000
2101 #define TPM_VERTICAL      0x0040
2102 #define TPM_NONOTIFY      0x0080
2103 #define TPM_RETURNCMD     0x0100
2104
2105 typedef struct 
2106 {
2107     UINT32   cbSize;
2108     RECT32   rcExclude;
2109 } TPMPARAMS, *LPTPMPARAMS;
2110
2111
2112 #define MF_INSERT          0x0000
2113 #define MF_CHANGE          0x0080
2114 #define MF_APPEND          0x0100
2115 #define MF_DELETE          0x0200
2116 #define MF_REMOVE          0x1000
2117 #define MF_END             0x0080
2118
2119 #define MF_ENABLED         0x0000
2120 #define MF_GRAYED          0x0001
2121 #define MF_DISABLED        0x0002
2122 #define MF_STRING          0x0000
2123 #define MF_BITMAP          0x0004
2124 #define MF_UNCHECKED       0x0000
2125 #define MF_CHECKED         0x0008
2126 #define MF_POPUP           0x0010
2127 #define MF_MENUBARBREAK    0x0020
2128 #define MF_MENUBREAK       0x0040
2129 #define MF_UNHILITE        0x0000
2130 #define MF_HILITE          0x0080
2131 #define MF_OWNERDRAW       0x0100
2132 #define MF_USECHECKBITMAPS 0x0200
2133 #define MF_BYCOMMAND       0x0000
2134 #define MF_BYPOSITION      0x0400
2135 #define MF_SEPARATOR       0x0800
2136 #define MF_DEFAULT         0x1000
2137 #define MF_SYSMENU         0x2000
2138 #define MF_HELP            0x4000
2139 #define MF_RIGHTJUSTIFY    0x4000
2140 #define MF_MOUSESELECT     0x8000
2141
2142 /* Flags for extended menu item types.  */
2143 #define MFT_STRING         MF_STRING
2144 #define MFT_BITMAP         MF_BITMAP
2145 #define MFT_MENUBARBREAK   MF_MENUBARBREAK
2146 #define MFT_MENUBREAK      MF_MENUBREAK
2147 #define MFT_OWNERDRAW      MF_OWNERDRAW
2148 #define MFT_RADIOCHECK     0x00000200L
2149 #define MFT_SEPARATOR      MF_SEPARATOR
2150 #define MFT_RIGHTORDER     0x00002000L
2151 #define MFT_RIGHTJUSTIFY   MF_RIGHTJUSTIFY
2152
2153 /* Flags for extended menu item states.  */
2154 #define MFS_GRAYED          0x00000003L
2155 #define MFS_DISABLED        MFS_GRAYED
2156 #define MFS_CHECKED         MF_CHECKED
2157 #define MFS_HILITE          MF_HILITE
2158 #define MFS_ENABLED         MF_ENABLED
2159 #define MFS_UNCHECKED       MF_UNCHECKED
2160 #define MFS_UNHILITE        MF_UNHILITE
2161 #define MFS_DEFAULT         MF_DEFAULT
2162
2163 /* FIXME: not sure this one is correct */
2164 typedef struct {
2165   UINT16    cbSize;
2166   UINT16    fMask;
2167   UINT16    fType;
2168   UINT16    fState;
2169   UINT16    wID;
2170   HMENU16   hSubMenu;
2171   HBITMAP16 hbmpChecked;
2172   HBITMAP16 hbmpUnchecked;
2173   DWORD     dwItemData;
2174   LPSTR     dwTypeData;
2175   UINT16    cch;
2176 } MENUITEMINFO16, *LPMENUITEMINFO16;
2177
2178 typedef struct {
2179   UINT32    cbSize;
2180   UINT32    fMask;
2181   UINT32    fType;
2182   UINT32    fState;
2183   UINT32    wID;
2184   HMENU32   hSubMenu;
2185   HBITMAP32 hbmpChecked;
2186   HBITMAP32 hbmpUnchecked;
2187   DWORD     dwItemData;
2188   LPSTR     dwTypeData;
2189   UINT32    cch;
2190 } MENUITEMINFO32A, *LPMENUITEMINFO32A;
2191
2192 typedef struct {
2193   UINT32    cbSize;
2194   UINT32    fMask;
2195   UINT32    fType;
2196   UINT32    fState;
2197   UINT32    wID;
2198   HMENU32   hSubMenu;
2199   HBITMAP32 hbmpChecked;
2200   HBITMAP32 hbmpUnchecked;
2201   DWORD     dwItemData;
2202   LPWSTR    dwTypeData;
2203   UINT32    cch;
2204 } MENUITEMINFO32W, *LPMENUITEMINFO32W;
2205
2206 DECL_WINELIB_TYPE_AW(MENUITEMINFO)
2207 DECL_WINELIB_TYPE_AW(LPMENUITEMINFO)
2208
2209 /* Field specifiers for MENUITEMINFO[AW] type.  */
2210 #define MIIM_STATE       0x00000001
2211 #define MIIM_ID          0x00000002
2212 #define MIIM_SUBMENU     0x00000004
2213 #define MIIM_CHECKMARKS  0x00000008
2214 #define MIIM_TYPE        0x00000010
2215 #define MIIM_DATA        0x00000020
2216
2217
2218 #ifndef NOWINOFFSETS
2219 #define GCW_HBRBACKGROUND (-10)
2220 #endif
2221
2222 #define MB_OK                   0x00000000
2223 #define MB_OKCANCEL             0x00000001
2224 #define MB_ABORTRETRYIGNORE     0x00000002
2225 #define MB_YESNOCANCEL          0x00000003
2226 #define MB_YESNO                0x00000004
2227 #define MB_RETRYCANCEL          0x00000005
2228 #define MB_TYPEMASK             0x0000000F
2229
2230 #define MB_ICONHAND             0x00000010
2231 #define MB_ICONQUESTION         0x00000020
2232 #define MB_ICONEXCLAMATION      0x00000030
2233 #define MB_ICONASTERISK         0x00000040
2234 #define MB_USERICON             0x00000080
2235 #define MB_ICONMASK             0x000000F0
2236
2237 #define MB_ICONINFORMATION      MB_ICONASTERISK
2238 #define MB_ICONSTOP             MB_ICONHAND
2239 #define MB_ICONWARNING          MB_ICONEXCLAMATION
2240 #define MB_ICONERROR            MB_ICONHAND
2241
2242 #define MB_DEFBUTTON1           0x00000000
2243 #define MB_DEFBUTTON2           0x00000100
2244 #define MB_DEFBUTTON3           0x00000200
2245 #define MB_DEFBUTTON4           0x00000300
2246 #define MB_DEFMASK              0x00000F00
2247
2248 #define MB_APPLMODAL            0x00000000
2249 #define MB_SYSTEMMODAL          0x00001000
2250 #define MB_TASKMODAL            0x00002000
2251 #define MB_MODEMASK             0x00003000
2252
2253 #define MB_HELP                 0x00004000
2254 #define MB_NOFOCUS              0x00008000
2255 #define MB_MISCMASK             0x0000C000
2256
2257 #define MB_SETFOREGROUND        0x00010000
2258 #define MB_DEFAULT_DESKTOP_ONLY 0x00020000
2259 #define MB_SERVICE_NOTIFICATION 0x00040000
2260 #define MB_TOPMOST              0x00040000
2261 #define MB_RIGHT                0x00080000
2262 #define MB_RTLREADING           0x00100000
2263
2264
2265 #define DT_TOP 0
2266 #define DT_LEFT 0
2267 #define DT_CENTER 1
2268 #define DT_RIGHT 2
2269 #define DT_VCENTER 4
2270 #define DT_BOTTOM 8
2271 #define DT_WORDBREAK 16
2272 #define DT_SINGLELINE 32
2273 #define DT_EXPANDTABS 64
2274 #define DT_TABSTOP 128
2275 #define DT_NOCLIP 256
2276 #define DT_EXTERNALLEADING 512
2277 #define DT_CALCRECT 1024
2278 #define DT_NOPREFIX 2048
2279 #define DT_INTERNAL 4096
2280
2281 /* DrawCaption()/DrawCaptionTemp() flags */
2282 #define DC_ACTIVE               0x0001
2283 #define DC_SMALLCAP             0x0002
2284 #define DC_ICON                 0x0004
2285 #define DC_TEXT                 0x0008
2286 #define DC_INBUTTON             0x0010
2287
2288 /* DrawEdge() flags */
2289 #define BDR_RAISEDOUTER    0x0001
2290 #define BDR_SUNKENOUTER    0x0002
2291 #define BDR_RAISEDINNER    0x0004
2292 #define BDR_SUNKENINNER    0x0008
2293
2294 #define BDR_OUTER          0x0003
2295 #define BDR_INNER          0x000c
2296 #define BDR_RAISED         0x0005
2297 #define BDR_SUNKEN         0x000a
2298
2299 #define EDGE_RAISED        (BDR_RAISEDOUTER | BDR_RAISEDINNER)
2300 #define EDGE_SUNKEN        (BDR_SUNKENOUTER | BDR_SUNKENINNER)
2301 #define EDGE_ETCHED        (BDR_SUNKENOUTER | BDR_RAISEDINNER)
2302 #define EDGE_BUMP          (BDR_RAISEDOUTER | BDR_SUNKENINNER)
2303
2304 /* border flags */
2305 #define BF_LEFT            0x0001
2306 #define BF_TOP             0x0002
2307 #define BF_RIGHT           0x0004
2308 #define BF_BOTTOM          0x0008
2309 #define BF_DIAGONAL        0x0010
2310 #define BF_MIDDLE          0x0800  /* Fill in the middle */
2311 #define BF_SOFT            0x1000  /* For softer buttons */
2312 #define BF_ADJUST          0x2000  /* Calculate the space left over */
2313 #define BF_FLAT            0x4000  /* For flat rather than 3D borders */
2314 #define BF_MONO            0x8000  /* For monochrome borders */
2315 #define BF_TOPLEFT         (BF_TOP | BF_LEFT)
2316 #define BF_TOPRIGHT        (BF_TOP | BF_RIGHT)
2317 #define BF_BOTTOMLEFT      (BF_BOTTOM | BF_LEFT)
2318 #define BF_BOTTOMRIGHT     (BF_BOTTOM | BF_RIGHT)
2319 #define BF_RECT            (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
2320 #define BF_DIAGONAL_ENDTOPRIGHT     (BF_DIAGONAL | BF_TOP | BF_RIGHT)
2321 #define BF_DIAGONAL_ENDTOPLEFT      (BF_DIAGONAL | BF_TOP | BF_LEFT)
2322 #define BF_DIAGONAL_ENDBOTTOMLEFT   (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
2323 #define BF_DIAGONAL_ENDBOTTOMRIGHT  (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
2324
2325 /* DrawFrameControl() uType's */
2326
2327 #define DFC_CAPTION             1
2328 #define DFC_MENU                2
2329 #define DFC_SCROLL              3
2330 #define DFC_BUTTON              4
2331
2332 /* uState's */
2333
2334 #define DFCS_CAPTIONCLOSE       0x0000
2335 #define DFCS_CAPTIONMIN         0x0001
2336 #define DFCS_CAPTIONMAX         0x0002
2337 #define DFCS_CAPTIONRESTORE     0x0003
2338 #define DFCS_CAPTIONHELP        0x0004          /* Windows 95 only */
2339
2340 #define DFCS_MENUARROW          0x0000
2341 #define DFCS_MENUCHECK          0x0001
2342 #define DFCS_MENUBULLET         0x0002
2343 #define DFCS_MENUARROWRIGHT     0x0004
2344
2345 #define DFCS_SCROLLUP            0x0000
2346 #define DFCS_SCROLLDOWN          0x0001
2347 #define DFCS_SCROLLLEFT          0x0002
2348 #define DFCS_SCROLLRIGHT         0x0003
2349 #define DFCS_SCROLLCOMBOBOX      0x0005
2350 #define DFCS_SCROLLSIZEGRIP      0x0008
2351 #define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
2352
2353 #define DFCS_BUTTONCHECK        0x0000
2354 #define DFCS_BUTTONRADIOIMAGE   0x0001
2355 #define DFCS_BUTTONRADIOMASK    0x0002          /* to draw nonsquare button */
2356 #define DFCS_BUTTONRADIO        0x0004
2357 #define DFCS_BUTTON3STATE       0x0008
2358 #define DFCS_BUTTONPUSH         0x0010
2359
2360 /* additional state of the control */
2361
2362 #define DFCS_INACTIVE           0x0100
2363 #define DFCS_PUSHED             0x0200
2364 #define DFCS_CHECKED            0x0400
2365 #define DFCS_ADJUSTRECT         0x2000          /* exclude surrounding edge */
2366 #define DFCS_FLAT               0x4000
2367 #define DFCS_MONO               0x8000
2368
2369 /* DrawState defines ... */
2370 typedef BOOL16 (CALLBACK *DRAWSTATEPROC16)(HDC16,LPARAM,WPARAM16,INT16,INT16);
2371 typedef BOOL32 (CALLBACK *DRAWSTATEPROC32)(HDC32,LPARAM,WPARAM32,INT32,INT32);
2372 DECL_WINELIB_TYPE(DRAWSTATEPROC)
2373
2374 /* Image type */
2375 #define DST_COMPLEX     0x0000
2376 #define DST_TEXT        0x0001
2377 #define DST_PREFIXTEXT  0x0002
2378 #define DST_ICON        0x0003
2379 #define DST_BITMAP      0x0004
2380
2381 /* State type */
2382 #define DSS_NORMAL      0x0000
2383 #define DSS_UNION       0x0010  /* Gray string appearance */
2384 #define DSS_DISABLED    0x0020
2385 #define DSS_DEFAULT     0x0040  /* Make it bold */
2386 #define DSS_MONO        0x0080
2387 #define DSS_RIGHT       0x8000
2388
2389 /* Window Styles */
2390 #define WS_OVERLAPPED    0x00000000L
2391 #define WS_POPUP         0x80000000L
2392 #define WS_CHILD         0x40000000L
2393 #define WS_MINIMIZE      0x20000000L
2394 #define WS_VISIBLE       0x10000000L
2395 #define WS_DISABLED      0x08000000L
2396 #define WS_CLIPSIBLINGS  0x04000000L
2397 #define WS_CLIPCHILDREN  0x02000000L
2398 #define WS_MAXIMIZE      0x01000000L
2399 #define WS_CAPTION       0x00C00000L
2400 #define WS_BORDER        0x00800000L
2401 #define WS_DLGFRAME      0x00400000L
2402 #define WS_VSCROLL       0x00200000L
2403 #define WS_HSCROLL       0x00100000L
2404 #define WS_SYSMENU       0x00080000L
2405 #define WS_THICKFRAME    0x00040000L
2406 #define WS_GROUP         0x00020000L
2407 #define WS_TABSTOP       0x00010000L
2408 #define WS_MINIMIZEBOX   0x00020000L
2409 #define WS_MAXIMIZEBOX   0x00010000L
2410 #define WS_TILED         WS_OVERLAPPED
2411 #define WS_ICONIC        WS_MINIMIZE
2412 #define WS_SIZEBOX       WS_THICKFRAME
2413 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
2414 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
2415 #define WS_CHILDWINDOW (WS_CHILD)
2416 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
2417
2418 /* Window extended styles */
2419 #define WS_EX_DLGMODALFRAME    0x00000001L
2420 #define WS_EX_DRAGDETECT       0x00000002L
2421 #define WS_EX_NOPARENTNOTIFY   0x00000004L
2422 #define WS_EX_TOPMOST          0x00000008L
2423 #define WS_EX_ACCEPTFILES      0x00000010L
2424 #define WS_EX_TRANSPARENT      0x00000020L
2425
2426 /* New Win95/WinNT4 styles */
2427 #define WS_EX_MDICHILD         0x00000040L
2428 #define WS_EX_TOOLWINDOW       0x00000080L
2429 #define WS_EX_WINDOWEDGE       0x00000100L
2430 #define WS_EX_CLIENTEDGE       0x00000200L
2431 #define WS_EX_CONTEXTHELP      0x00000400L
2432 #define WS_EX_RIGHT            0x00001000L
2433 #define WS_EX_LEFT             0x00000000L
2434 #define WS_EX_RTLREADING       0x00002000L
2435 #define WS_EX_LTRREADING       0x00000000L
2436 #define WS_EX_LEFTSCROLLBAR    0x00004000L
2437 #define WS_EX_RIGHTSCROLLBAR   0x00000000L
2438 #define WS_EX_CONTROLPARENT    0x00010000L
2439 #define WS_EX_STATICEDGE       0x00020000L
2440 #define WS_EX_APPWINDOW        0x00040000L
2441
2442 #define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
2443 #define WS_EX_PALETTEWINDOW    (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
2444
2445 /* Window scrolling */
2446 #define SW_SCROLLCHILDREN      0x0001
2447 #define SW_INVALIDATE          0x0002
2448 #define SW_ERASE               0x0004
2449
2450 /* CreateWindow() coordinates */
2451 #define CW_USEDEFAULT16 ((INT16)0x8000)
2452 #define CW_USEDEFAULT32 ((INT32)0x80000000)
2453 #define CW_USEDEFAULT   WINELIB_NAME(CW_USEDEFAULT)
2454
2455 /* ChildWindowFromPointEx Flags */
2456 #define CWP_ALL                0x0000
2457 #define CWP_SKIPINVISIBLE      0x0001
2458 #define CWP_SKIPDISABLED       0x0002
2459 #define CWP_SKIPTRANSPARENT    0x0004
2460
2461 /* Button control styles */
2462 #define BS_PUSHBUTTON          0x00000000L
2463 #define BS_DEFPUSHBUTTON       0x00000001L
2464 #define BS_CHECKBOX            0x00000002L
2465 #define BS_AUTOCHECKBOX        0x00000003L
2466 #define BS_RADIOBUTTON         0x00000004L
2467 #define BS_3STATE              0x00000005L
2468 #define BS_AUTO3STATE          0x00000006L
2469 #define BS_GROUPBOX            0x00000007L
2470 #define BS_USERBUTTON          0x00000008L
2471 #define BS_AUTORADIOBUTTON     0x00000009L
2472 #define BS_OWNERDRAW           0x0000000BL
2473 #define BS_LEFTTEXT            0x00000020L
2474
2475 /* Win16 button control messages */
2476 #define BM_GETCHECK16          (WM_USER+0)
2477 #define BM_SETCHECK16          (WM_USER+1)
2478 #define BM_GETSTATE16          (WM_USER+2)
2479 #define BM_SETSTATE16          (WM_USER+3)
2480 #define BM_SETSTYLE16          (WM_USER+4)
2481 #define BM_CLICK16             WM_NULL  /* Does not exist in Win16 */
2482 #define BM_GETIMAGE16          WM_NULL  /* Does not exist in Win16 */
2483 #define BM_SETIMAGE16          WM_NULL  /* Does not exist in Win16 */
2484 /* Win32 button control messages */
2485 #define BM_GETCHECK32          0x00f0
2486 #define BM_SETCHECK32          0x00f1
2487 #define BM_GETSTATE32          0x00f2
2488 #define BM_SETSTATE32          0x00f3
2489 #define BM_SETSTYLE32          0x00f4
2490 #define BM_CLICK32             0x00f5
2491 #define BM_GETIMAGE32          0x00f6
2492 #define BM_SETIMAGE32          0x00f7
2493 /* Winelib button control messages */
2494 #define BM_GETCHECK            WINELIB_NAME(BM_GETCHECK)
2495 #define BM_SETCHECK            WINELIB_NAME(BM_SETCHECK)
2496 #define BM_GETSTATE            WINELIB_NAME(BM_GETSTATE)
2497 #define BM_SETSTATE            WINELIB_NAME(BM_SETSTATE)
2498 #define BM_SETSTYLE            WINELIB_NAME(BM_SETSTYLE)
2499 #define BM_CLICK               WINELIB_NAME(BM_CLICK)
2500 #define BM_GETIMAGE            WINELIB_NAME(BM_GETIMAGE)
2501 #define BM_SETIMAGE            WINELIB_NAME(BM_SETIMAGE)
2502
2503 /* Button notification codes */
2504 #define BN_CLICKED             0
2505 #define BN_PAINT               1
2506 #define BN_HILITE              2
2507 #define BN_UNHILITE            3
2508 #define BN_DISABLE             4
2509 #define BN_DOUBLECLICKED       5
2510
2511 /* Static Control Styles */
2512 #define SS_LEFT             0x00000000L
2513 #define SS_CENTER           0x00000001L
2514 #define SS_RIGHT            0x00000002L
2515 #define SS_ICON             0x00000003L
2516 #define SS_BLACKRECT        0x00000004L
2517 #define SS_GRAYRECT         0x00000005L
2518 #define SS_WHITERECT        0x00000006L
2519 #define SS_BLACKFRAME       0x00000007L
2520 #define SS_GRAYFRAME        0x00000008L
2521 #define SS_WHITEFRAME       0x00000009L
2522
2523 #define SS_SIMPLE           0x0000000BL
2524 #define SS_LEFTNOWORDWRAP   0x0000000CL
2525
2526 #define SS_OWNERDRAW        0x0000000DL
2527 #define SS_BITMAP           0x0000000EL
2528 #define SS_ENHMETAFILE      0x0000000FL
2529
2530 #define SS_ETCHEDHORZ       0x00000010L
2531 #define SS_ETCHEDVERT       0x00000011L
2532 #define SS_ETCHEDFRAME      0x00000012L
2533 #define SS_TYPEMASK         0x0000001FL
2534
2535 #define SS_NOPREFIX         0x00000080L
2536 #define SS_NOTIFY           0x00000100L
2537 #define SS_CENTERIMAGE      0x00000200L
2538 #define SS_RIGHTJUST        0x00000400L
2539 #define SS_REALSIZEIMAGE    0x00000800L
2540 #define SS_SUNKEN           0x00001000L
2541
2542 /* Static Control Messages */
2543 #define STM_SETICON16       (WM_USER+0)
2544 #define STM_SETICON32       0x0170
2545 #define STM_SETICON         WINELIB_NAME(STM_SETICON)
2546 #define STM_GETICON16       (WM_USER+1)
2547 #define STM_GETICON32       0x0171
2548 #define STM_GETICON         WINELIB_NAME(STM_GETICON)
2549 #define STM_SETIMAGE        0x0172
2550 #define STM_GETIMAGE        0x0173
2551
2552 /* WM_H/VSCROLL commands */
2553 #define SB_LINEUP           0
2554 #define SB_LINELEFT         0
2555 #define SB_LINEDOWN         1
2556 #define SB_LINERIGHT        1
2557 #define SB_PAGEUP           2
2558 #define SB_PAGELEFT         2
2559 #define SB_PAGEDOWN         3
2560 #define SB_PAGERIGHT        3
2561 #define SB_THUMBPOSITION    4
2562 #define SB_THUMBTRACK       5
2563 #define SB_TOP              6
2564 #define SB_LEFT             6
2565 #define SB_BOTTOM           7
2566 #define SB_RIGHT            7
2567 #define SB_ENDSCROLL        8
2568
2569 /* Scroll bar selection constants */
2570 #define SB_HORZ             0
2571 #define SB_VERT             1
2572 #define SB_CTL              2
2573 #define SB_BOTH             3
2574
2575 /* Scrollbar styles */
2576 #define SBS_HORZ                    0x0000L
2577 #define SBS_VERT                    0x0001L
2578 #define SBS_TOPALIGN                0x0002L
2579 #define SBS_LEFTALIGN               0x0002L
2580 #define SBS_BOTTOMALIGN             0x0004L
2581 #define SBS_RIGHTALIGN              0x0004L
2582 #define SBS_SIZEBOXTOPLEFTALIGN     0x0002L
2583 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
2584 #define SBS_SIZEBOX                 0x0008L
2585
2586 /* EnableScrollBar() flags */
2587 #define ESB_ENABLE_BOTH     0x0000
2588 #define ESB_DISABLE_BOTH    0x0003
2589
2590 #define ESB_DISABLE_LEFT    0x0001
2591 #define ESB_DISABLE_RIGHT   0x0002
2592
2593 #define ESB_DISABLE_UP      0x0001
2594 #define ESB_DISABLE_DOWN    0x0002
2595
2596 #define ESB_DISABLE_LTUP    ESB_DISABLE_LEFT
2597 #define ESB_DISABLE_RTDN    ESB_DISABLE_RIGHT
2598
2599 /* Scrollbar messages */
2600 #define SBM_SETPOS16             (WM_USER+0)
2601 #define SBM_SETPOS32             0x00e0
2602 #define SBM_SETPOS               WINELIB_NAME(SBM_SETPOS)
2603 #define SBM_GETPOS16             (WM_USER+1)
2604 #define SBM_GETPOS32             0x00e1
2605 #define SBM_GETPOS               WINELIB_NAME(SBM_GETPOS)
2606 #define SBM_SETRANGE16           (WM_USER+2)
2607 #define SBM_SETRANGE32           0x00e2
2608 #define SBM_SETRANGE             WINELIB_NAME(SBM_SETRANGE)
2609 #define SBM_GETRANGE16           (WM_USER+3)
2610 #define SBM_GETRANGE32           0x00e3
2611 #define SBM_GETRANGE             WINELIB_NAME(SBM_GETRANGE)
2612 #define SBM_ENABLE_ARROWS16      (WM_USER+4)
2613 #define SBM_ENABLE_ARROWS32      0x00e4
2614 #define SBM_ENABLE_ARROWS        WINELIB_NAME(SBM_ENABLE_ARROWS)
2615 #define SBM_SETRANGEREDRAW16     WM_NULL  /* Not in Win16 */
2616 #define SBM_SETRANGEREDRAW32     0x00e6
2617 #define SBM_SETRANGEREDRAW       WINELIB_NAME(SBM_SETRANGEREDRAW)
2618 #define SBM_SETSCROLLINFO16      WM_NULL  /* Not in Win16 */
2619 #define SBM_SETSCROLLINFO32      0x00e9
2620 #define SBM_SETSCROLLINFO        WINELIB_NAME(SBM_SETSCROLLINFO)
2621 #define SBM_GETSCROLLINFO16      WM_NULL  /* Not in Win16 */
2622 #define SBM_GETSCROLLINFO32      0x00ea
2623 #define SBM_GETSCROLLINFO        WINELIB_NAME(SBM_GETSCROLLINFO)
2624
2625 /* Scrollbar info */
2626 typedef struct
2627 {
2628     UINT32    cbSize;
2629     UINT32    fMask;
2630     INT32     nMin;
2631     INT32     nMax;
2632     UINT32    nPage;
2633     INT32     nPos;
2634     INT32     nTrackPos;
2635 } SCROLLINFO, *LPSCROLLINFO;
2636  
2637 /* GetScrollInfo() flags */ 
2638 #define SIF_RANGE           0x0001
2639 #define SIF_PAGE            0x0002
2640 #define SIF_POS             0x0004
2641 #define SIF_DISABLENOSCROLL 0x0008
2642 #define SIF_TRACKPOS        0x0010
2643 #define SIF_ALL             (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
2644
2645 /* Listbox styles */
2646 #define LBS_NOTIFY               0x0001
2647 #define LBS_SORT                 0x0002
2648 #define LBS_NOREDRAW             0x0004
2649 #define LBS_MULTIPLESEL          0x0008
2650 #define LBS_OWNERDRAWFIXED       0x0010
2651 #define LBS_OWNERDRAWVARIABLE    0x0020
2652 #define LBS_HASSTRINGS           0x0040
2653 #define LBS_USETABSTOPS          0x0080
2654 #define LBS_NOINTEGRALHEIGHT     0x0100
2655 #define LBS_MULTICOLUMN          0x0200
2656 #define LBS_WANTKEYBOARDINPUT    0x0400
2657 #define LBS_EXTENDEDSEL          0x0800
2658 #define LBS_DISABLENOSCROLL      0x1000
2659 #define LBS_NODATA               0x2000
2660 #define LBS_NOSEL                0x4000
2661 #define LBS_STANDARD  (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
2662
2663 /* Listbox messages */
2664 #define LB_ADDSTRING16           (WM_USER+1)
2665 #define LB_ADDSTRING32           0x0180
2666 #define LB_ADDSTRING             WINELIB_NAME(LB_ADDSTRING)
2667 #define LB_INSERTSTRING16        (WM_USER+2)
2668 #define LB_INSERTSTRING32        0x0181
2669 #define LB_INSERTSTRING          WINELIB_NAME(LB_INSERTSTRING)
2670 #define LB_DELETESTRING16        (WM_USER+3)
2671 #define LB_DELETESTRING32        0x0182
2672 #define LB_DELETESTRING          WINELIB_NAME(LB_DELETESTRING)
2673 #define LB_SELITEMRANGEEX16      (WM_USER+4)
2674 #define LB_SELITEMRANGEEX32      0x0183
2675 #define LB_SELITEMRANGEEX        WINELIB_NAME(LB_SELITEMRANGEEX)
2676 #define LB_RESETCONTENT16        (WM_USER+5)
2677 #define LB_RESETCONTENT32        0x0184
2678 #define LB_RESETCONTENT          WINELIB_NAME(LB_RESETCONTENT)
2679 #define LB_SETSEL16              (WM_USER+6)
2680 #define LB_SETSEL32              0x0185
2681 #define LB_SETSEL                WINELIB_NAME(LB_SETSEL)
2682 #define LB_SETCURSEL16           (WM_USER+7)
2683 #define LB_SETCURSEL32           0x0186
2684 #define LB_SETCURSEL             WINELIB_NAME(LB_SETCURSEL)
2685 #define LB_GETSEL16              (WM_USER+8)
2686 #define LB_GETSEL32              0x0187
2687 #define LB_GETSEL                WINELIB_NAME(LB_GETSEL)
2688 #define LB_GETCURSEL16           (WM_USER+9)
2689 #define LB_GETCURSEL32           0x0188
2690 #define LB_GETCURSEL             WINELIB_NAME(LB_GETCURSEL)
2691 #define LB_GETTEXT16             (WM_USER+10)
2692 #define LB_GETTEXT32             0x0189
2693 #define LB_GETTEXT               WINELIB_NAME(LB_GETTEXT)
2694 #define LB_GETTEXTLEN16          (WM_USER+11)
2695 #define LB_GETTEXTLEN32          0x018a
2696 #define LB_GETTEXTLEN            WINELIB_NAME(LB_GETTEXTLEN)
2697 #define LB_GETCOUNT16            (WM_USER+12)
2698 #define LB_GETCOUNT32            0x018b
2699 #define LB_GETCOUNT              WINELIB_NAME(LB_GETCOUNT)
2700 #define LB_SELECTSTRING16        (WM_USER+13)
2701 #define LB_SELECTSTRING32        0x018c
2702 #define LB_SELECTSTRING          WINELIB_NAME(LB_SELECTSTRING)
2703 #define LB_DIR16                 (WM_USER+14)
2704 #define LB_DIR32                 0x018d
2705 #define LB_DIR                   WINELIB_NAME(LB_DIR)
2706 #define LB_GETTOPINDEX16         (WM_USER+15)
2707 #define LB_GETTOPINDEX32         0x018e
2708 #define LB_GETTOPINDEX           WINELIB_NAME(LB_GETTOPINDEX)
2709 #define LB_FINDSTRING16          (WM_USER+16)
2710 #define LB_FINDSTRING32          0x018f
2711 #define LB_FINDSTRING            WINELIB_NAME(LB_FINDSTRING)
2712 #define LB_GETSELCOUNT16         (WM_USER+17)
2713 #define LB_GETSELCOUNT32         0x0190
2714 #define LB_GETSELCOUNT           WINELIB_NAME(LB_GETSELCOUNT)
2715 #define LB_GETSELITEMS16         (WM_USER+18)
2716 #define LB_GETSELITEMS32         0x0191
2717 #define LB_GETSELITEMS           WINELIB_NAME(LB_GETSELITEMS)
2718 #define LB_SETTABSTOPS16         (WM_USER+19)
2719 #define LB_SETTABSTOPS32         0x0192
2720 #define LB_SETTABSTOPS           WINELIB_NAME(LB_SETTABSTOPS)
2721 #define LB_GETHORIZONTALEXTENT16 (WM_USER+20)
2722 #define LB_GETHORIZONTALEXTENT32 0x0193
2723 #define LB_GETHORIZONTALEXTENT   WINELIB_NAME(LB_GETHORIZONTALEXTENT)
2724 #define LB_SETHORIZONTALEXTENT16 (WM_USER+21)
2725 #define LB_SETHORIZONTALEXTENT32 0x0194
2726 #define LB_SETHORIZONTALEXTENT   WINELIB_NAME(LB_SETHORIZONTALEXTENT)
2727 #define LB_SETCOLUMNWIDTH16      (WM_USER+22)
2728 #define LB_SETCOLUMNWIDTH32      0x0195
2729 #define LB_SETCOLUMNWIDTH        WINELIB_NAME(LB_SETCOLUMNWIDTH)
2730 #define LB_ADDFILE16             (WM_USER+23)
2731 #define LB_ADDFILE32             0x0196
2732 #define LB_ADDFILE               WINELIB_NAME(LB_ADDFILE)
2733 #define LB_SETTOPINDEX16         (WM_USER+24)
2734 #define LB_SETTOPINDEX32         0x0197
2735 #define LB_SETTOPINDEX           WINELIB_NAME(LB_SETTOPINDEX)
2736 #define LB_GETITEMRECT16         (WM_USER+25)
2737 #define LB_GETITEMRECT32         0x0198
2738 #define LB_GETITEMRECT           WINELIB_NAME(LB_GETITEMRECT)
2739 #define LB_GETITEMDATA16         (WM_USER+26)
2740 #define LB_GETITEMDATA32         0x0199
2741 #define LB_GETITEMDATA           WINELIB_NAME(LB_GETITEMDATA)
2742 #define LB_SETITEMDATA16         (WM_USER+27)
2743 #define LB_SETITEMDATA32         0x019a
2744 #define LB_SETITEMDATA           WINELIB_NAME(LB_SETITEMDATA)
2745 #define LB_SELITEMRANGE16        (WM_USER+28)
2746 #define LB_SELITEMRANGE32        0x019b
2747 #define LB_SELITEMRANGE          WINELIB_NAME(LB_SELITEMRANGE)
2748 #define LB_SETANCHORINDEX16      (WM_USER+29)
2749 #define LB_SETANCHORINDEX32      0x019c
2750 #define LB_SETANCHORINDEX        WINELIB_NAME(LB_SETANCHORINDEX)
2751 #define LB_GETANCHORINDEX16      (WM_USER+30)
2752 #define LB_GETANCHORINDEX32      0x019d
2753 #define LB_GETANCHORINDEX        WINELIB_NAME(LB_GETANCHORINDEX)
2754 #define LB_SETCARETINDEX16       (WM_USER+31)
2755 #define LB_SETCARETINDEX32       0x019e
2756 #define LB_SETCARETINDEX         WINELIB_NAME(LB_SETCARETINDEX)
2757 #define LB_GETCARETINDEX16       (WM_USER+32)
2758 #define LB_GETCARETINDEX32       0x019f
2759 #define LB_GETCARETINDEX         WINELIB_NAME(LB_GETCARETINDEX)
2760 #define LB_SETITEMHEIGHT16       (WM_USER+33)
2761 #define LB_SETITEMHEIGHT32       0x01a0
2762 #define LB_SETITEMHEIGHT         WINELIB_NAME(LB_SETITEMHEIGHT)
2763 #define LB_GETITEMHEIGHT16       (WM_USER+34)
2764 #define LB_GETITEMHEIGHT32       0x01a1
2765 #define LB_GETITEMHEIGHT         WINELIB_NAME(LB_GETITEMHEIGHT)
2766 #define LB_FINDSTRINGEXACT16     (WM_USER+35)
2767 #define LB_FINDSTRINGEXACT32     0x01a2
2768 #define LB_FINDSTRINGEXACT       WINELIB_NAME(LB_FINDSTRINGEXACT)
2769 #define LB_CARETON16             (WM_USER+36)
2770 #define LB_CARETON32             0x01a3
2771 #define LB_CARETON               WINELIB_NAME(LB_CARETON)
2772 #define LB_CARETOFF16            (WM_USER+37)
2773 #define LB_CARETOFF32            0x01a4
2774 #define LB_CARETOFF              WINELIB_NAME(LB_CARETOFF)
2775 #define LB_SETLOCALE16           WM_NULL  /* Not in Win16 */
2776 #define LB_SETLOCALE32           0x01a5
2777 #define LB_SETLOCALE             WINELIB_NAME(LB_SETLOCALE)
2778 #define LB_GETLOCALE16           WM_NULL  /* Not in Win16 */
2779 #define LB_GETLOCALE32           0x01a6
2780 #define LB_GETLOCALE             WINELIB_NAME(LB_GETLOCALE)
2781 #define LB_SETCOUNT16            WM_NULL  /* Not in Win16 */
2782 #define LB_SETCOUNT32            0x01a7
2783 #define LB_SETCOUNT              WINELIB_NAME(LB_SETCOUNT)
2784 #define LB_INITSTORAGE16         WM_NULL  /* Not in Win16 */
2785 #define LB_INITSTORAGE32         0x01a8
2786 #define LB_INITSTORAGE           WINELIB_NAME(LB_INITSTORAGE)
2787 #define LB_ITEMFROMPOINT16       WM_NULL  /* Not in Win16 */
2788 #define LB_ITEMFROMPOINT32       0x01a9
2789 #define LB_ITEMFROMPOINT         WINELIB_NAME(LB_ITEMFROMPOINT)
2790
2791 /* Listbox notification codes */
2792 #define LBN_ERRSPACE        (-2)
2793 #define LBN_SELCHANGE       1
2794 #define LBN_DBLCLK          2
2795 #define LBN_SELCANCEL       3
2796 #define LBN_SETFOCUS        4
2797 #define LBN_KILLFOCUS       5
2798
2799 /* Listbox message return values */
2800 #define LB_OKAY             0
2801 #define LB_ERR              (-1)
2802 #define LB_ERRSPACE         (-2)
2803
2804 #define LB_CTLCODE          0L
2805
2806 /* Combo box styles */
2807 #define CBS_SIMPLE            0x0001L
2808 #define CBS_DROPDOWN          0x0002L
2809 #define CBS_DROPDOWNLIST      0x0003L
2810 #define CBS_OWNERDRAWFIXED    0x0010L
2811 #define CBS_OWNERDRAWVARIABLE 0x0020L
2812 #define CBS_AUTOHSCROLL       0x0040L
2813 #define CBS_OEMCONVERT        0x0080L
2814 #define CBS_SORT              0x0100L
2815 #define CBS_HASSTRINGS        0x0200L
2816 #define CBS_NOINTEGRALHEIGHT  0x0400L
2817 #define CBS_DISABLENOSCROLL   0x0800L
2818
2819 #define CBS_UPPERCASE         0x2000L
2820 #define CBS_LOWERCASE         0x4000L
2821
2822
2823 /* Combo box messages */
2824 #define CB_GETEDITSEL16            (WM_USER+0)
2825 #define CB_GETEDITSEL32            0x0140
2826 #define CB_GETEDITSEL              WINELIB_NAME(CB_GETEDITSEL)
2827 #define CB_LIMITTEXT16             (WM_USER+1)
2828 #define CB_LIMITTEXT32             0x0141
2829 #define CB_LIMITTEXT               WINELIB_NAME(CB_LIMITTEXT)
2830 #define CB_SETEDITSEL16            (WM_USER+2)
2831 #define CB_SETEDITSEL32            0x0142
2832 #define CB_SETEDITSEL              WINELIB_NAME(CB_SETEDITSEL)
2833 #define CB_ADDSTRING16             (WM_USER+3)
2834 #define CB_ADDSTRING32             0x0143
2835 #define CB_ADDSTRING               WINELIB_NAME(CB_ADDSTRING)
2836 #define CB_DELETESTRING16          (WM_USER+4)
2837 #define CB_DELETESTRING32          0x0144
2838 #define CB_DELETESTRING            WINELIB_NAME(CB_DELETESTRING)
2839 #define CB_DIR16                   (WM_USER+5)
2840 #define CB_DIR32                   0x0145
2841 #define CB_DIR                     WINELIB_NAME(CB_DIR)
2842 #define CB_GETCOUNT16              (WM_USER+6)
2843 #define CB_GETCOUNT32              0x0146
2844 #define CB_GETCOUNT                WINELIB_NAME(CB_GETCOUNT)
2845 #define CB_GETCURSEL16             (WM_USER+7)
2846 #define CB_GETCURSEL32             0x0147
2847 #define CB_GETCURSEL               WINELIB_NAME(CB_GETCURSEL)
2848 #define CB_GETLBTEXT16             (WM_USER+8)
2849 #define CB_GETLBTEXT32             0x0148
2850 #define CB_GETLBTEXT               WINELIB_NAME(CB_GETLBTEXT)
2851 #define CB_GETLBTEXTLEN16          (WM_USER+9)
2852 #define CB_GETLBTEXTLEN32          0x0149
2853 #define CB_GETLBTEXTLEN            WINELIB_NAME(CB_GETLBTEXTLEN)
2854 #define CB_INSERTSTRING16          (WM_USER+10)
2855 #define CB_INSERTSTRING32          0x014a
2856 #define CB_INSERTSTRING            WINELIB_NAME(CB_INSERTSTRING)
2857 #define CB_RESETCONTENT16          (WM_USER+11)
2858 #define CB_RESETCONTENT32          0x014b
2859 #define CB_RESETCONTENT            WINELIB_NAME(CB_RESETCONTENT)
2860 #define CB_FINDSTRING16            (WM_USER+12)
2861 #define CB_FINDSTRING32            0x014c
2862 #define CB_FINDSTRING              WINELIB_NAME(CB_FINDSTRING)
2863 #define CB_SELECTSTRING16          (WM_USER+13)
2864 #define CB_SELECTSTRING32          0x014d
2865 #define CB_SELECTSTRING            WINELIB_NAME(CB_SELECTSTRING)
2866 #define CB_SETCURSEL16             (WM_USER+14)
2867 #define CB_SETCURSEL32             0x014e
2868 #define CB_SETCURSEL               WINELIB_NAME(CB_SETCURSEL)
2869 #define CB_SHOWDROPDOWN16          (WM_USER+15)
2870 #define CB_SHOWDROPDOWN32          0x014f
2871 #define CB_SHOWDROPDOWN            WINELIB_NAME(CB_SHOWDROPDOWN)
2872 #define CB_GETITEMDATA16           (WM_USER+16)
2873 #define CB_GETITEMDATA32           0x0150
2874 #define CB_GETITEMDATA             WINELIB_NAME(CB_GETITEMDATA)
2875 #define CB_SETITEMDATA16           (WM_USER+17)
2876 #define CB_SETITEMDATA32           0x0151
2877 #define CB_SETITEMDATA             WINELIB_NAME(CB_SETITEMDATA)
2878 #define CB_GETDROPPEDCONTROLRECT16 (WM_USER+18)
2879 #define CB_GETDROPPEDCONTROLRECT32 0x0152
2880 #define CB_GETDROPPEDCONTROLRECT   WINELIB_NAME(CB_GETDROPPEDCONTROLRECT)
2881 #define CB_SETITEMHEIGHT16         (WM_USER+19)
2882 #define CB_SETITEMHEIGHT32         0x0153
2883 #define CB_SETITEMHEIGHT           WINELIB_NAME(CB_SETITEMHEIGHT)
2884 #define CB_GETITEMHEIGHT16         (WM_USER+20)
2885 #define CB_GETITEMHEIGHT32         0x0154
2886 #define CB_GETITEMHEIGHT           WINELIB_NAME(CB_GETITEMHEIGHT)
2887 #define CB_SETEXTENDEDUI16         (WM_USER+21)
2888 #define CB_SETEXTENDEDUI32         0x0155
2889 #define CB_SETEXTENDEDUI           WINELIB_NAME(CB_SETEXTENDEDUI)
2890 #define CB_GETEXTENDEDUI16         (WM_USER+22)
2891 #define CB_GETEXTENDEDUI32         0x0156
2892 #define CB_GETEXTENDEDUI           WINELIB_NAME(CB_GETEXTENDEDUI)
2893 #define CB_GETDROPPEDSTATE16       (WM_USER+23)
2894 #define CB_GETDROPPEDSTATE32       0x0157
2895 #define CB_GETDROPPEDSTATE         WINELIB_NAME(CB_GETDROPPEDSTATE)
2896 #define CB_FINDSTRINGEXACT16       (WM_USER+24)
2897 #define CB_FINDSTRINGEXACT32       0x0158
2898 #define CB_FINDSTRINGEXACT         WINELIB_NAME(CB_FINDSTRINGEXACT)
2899 #define CB_SETLOCALE16             WM_NULL  /* Not in Win16 */
2900 #define CB_SETLOCALE32             0x0159
2901 #define CB_SETLOCALE               WINELIB_NAME(CB_SETLOCALE)
2902 #define CB_GETLOCALE16             WM_NULL  /* Not in Win16 */
2903 #define CB_GETLOCALE32             0x015a
2904 #define CB_GETLOCALE               WINELIB_NAME(CB_GETLOCALE)
2905 #define CB_GETTOPINDEX16           WM_NULL  /* Not in Win16 */
2906 #define CB_GETTOPINDEX32           0x015b
2907 #define CB_GETTOPINDEX             WINELIB_NAME(CB_GETTOPINDEX)
2908 #define CB_SETTOPINDEX16           WM_NULL  /* Not in Win16 */
2909 #define CB_SETTOPINDEX32           0x015c
2910 #define CB_SETTOPINDEX             WINELIB_NAME(CB_SETTOPINDEX)
2911 #define CB_GETHORIZONTALEXTENT16   WM_NULL  /* Not in Win16 */
2912 #define CB_GETHORIZONTALEXTENT32   0x015d
2913 #define CB_GETHORIZONTALEXTENT     WINELIB_NAME(CB_GETHORIZONTALEXTENT)
2914 #define CB_SETHORIZONTALEXTENT16   WM_NULL  /* Not in Win16 */
2915 #define CB_SETHORIZONTALEXTENT32   0x015e
2916 #define CB_SETHORIZONTALEXTENT     WINELIB_NAME(CB_SETHORIZONTALEXTENT)
2917 #define CB_GETDROPPEDWIDTH16       WM_NULL  /* Not in Win16 */
2918 #define CB_GETDROPPEDWIDTH32       0x015f
2919 #define CB_GETDROPPEDWIDTH         WINELIB_NAME(CB_GETDROPPEDWIDTH)
2920 #define CB_SETDROPPEDWIDTH16       WM_NULL  /* Not in Win16 */
2921 #define CB_SETDROPPEDWIDTH32       0x0160
2922 #define CB_SETDROPPEDWIDTH         WINELIB_NAME(CB_SETDROPPEDWIDTH)
2923 #define CB_INITSTORAGE16           WM_NULL  /* Not in Win16 */
2924 #define CB_INITSTORAGE32           0x0161
2925 #define CB_INITSTORAGE             WINELIB_NAME(CB_INITSTORAGE)
2926
2927 /* Combo box notification codes */
2928 #define CBN_ERRSPACE        (-1)
2929 #define CBN_SELCHANGE       1
2930 #define CBN_DBLCLK          2
2931 #define CBN_SETFOCUS        3
2932 #define CBN_KILLFOCUS       4
2933 #define CBN_EDITCHANGE      5
2934 #define CBN_EDITUPDATE      6
2935 #define CBN_DROPDOWN        7
2936 #define CBN_CLOSEUP         8
2937 #define CBN_SELENDOK        9
2938 #define CBN_SELENDCANCEL    10
2939
2940 /* Combo box message return values */
2941 #define CB_OKAY             0
2942 #define CB_ERR              (-1)
2943 #define CB_ERRSPACE         (-2)
2944
2945
2946 /* Owner draw control types */
2947 #define ODT_MENU        1
2948 #define ODT_LISTBOX     2
2949 #define ODT_COMBOBOX    3
2950 #define ODT_BUTTON      4
2951
2952 /* Owner draw actions */
2953 #define ODA_DRAWENTIRE  0x0001
2954 #define ODA_SELECT      0x0002
2955 #define ODA_FOCUS       0x0004
2956
2957 /* Owner draw state */
2958 #define ODS_SELECTED    0x0001
2959 #define ODS_GRAYED      0x0002
2960 #define ODS_DISABLED    0x0004
2961 #define ODS_CHECKED     0x0008
2962 #define ODS_FOCUS       0x0010
2963
2964 /* Edit control styles */
2965 #define ES_LEFT         0x00000000
2966 #define ES_CENTER       0x00000001
2967 #define ES_RIGHT        0x00000002
2968 #define ES_MULTILINE    0x00000004
2969 #define ES_UPPERCASE    0x00000008
2970 #define ES_LOWERCASE    0x00000010
2971 #define ES_PASSWORD     0x00000020
2972 #define ES_AUTOVSCROLL  0x00000040
2973 #define ES_AUTOHSCROLL  0x00000080
2974 #define ES_NOHIDESEL    0x00000100
2975 #define ES_OEMCONVERT   0x00000400
2976 #define ES_READONLY     0x00000800
2977 #define ES_WANTRETURN   0x00001000
2978 #define ES_NUMBER       0x00002000
2979
2980 /* Edit control messages */
2981 #define EM_GETSEL16                (WM_USER+0)
2982 #define EM_GETSEL32                0x00b0
2983 #define EM_GETSEL                  WINELIB_NAME(EM_GETSEL)
2984 #define EM_SETSEL16                (WM_USER+1)
2985 #define EM_SETSEL32                0x00b1
2986 #define EM_SETSEL                  WINELIB_NAME(EM_SETSEL)
2987 #define EM_GETRECT16               (WM_USER+2)
2988 #define EM_GETRECT32               0x00b2
2989 #define EM_GETRECT                 WINELIB_NAME(EM_GETRECT)
2990 #define EM_SETRECT16               (WM_USER+3)
2991 #define EM_SETRECT32               0x00b3
2992 #define EM_SETRECT                 WINELIB_NAME(EM_SETRECT)
2993 #define EM_SETRECTNP16             (WM_USER+4)
2994 #define EM_SETRECTNP32             0x00b4
2995 #define EM_SETRECTNP               WINELIB_NAME(EM_SETRECTNP)
2996 #define EM_SCROLL16                (WM_USER+5)
2997 #define EM_SCROLL32                0x00b5
2998 #define EM_SCROLL                  WINELIB_NAME(EM_SCROLL)
2999 #define EM_LINESCROLL16            (WM_USER+6)
3000 #define EM_LINESCROLL32            0x00b6
3001 #define EM_LINESCROLL              WINELIB_NAME(EM_LINESCROLL)
3002 #define EM_SCROLLCARET16           (WM_USER+7)
3003 #define EM_SCROLLCARET32           0x00b7
3004 #define EM_SCROLLCARET             WINELIB_NAME(EM_SCROLLCARET)
3005 #define EM_GETMODIFY16             (WM_USER+8)
3006 #define EM_GETMODIFY32             0x00b8
3007 #define EM_GETMODIFY               WINELIB_NAME(EM_GETMODIFY)
3008 #define EM_SETMODIFY16             (WM_USER+9)
3009 #define EM_SETMODIFY32             0x00b9
3010 #define EM_SETMODIFY               WINELIB_NAME(EM_SETMODIFY)
3011 #define EM_GETLINECOUNT16          (WM_USER+10)
3012 #define EM_GETLINECOUNT32          0x00ba
3013 #define EM_GETLINECOUNT            WINELIB_NAME(EM_GETLINECOUNT)
3014 #define EM_LINEINDEX16             (WM_USER+11)
3015 #define EM_LINEINDEX32             0x00bb
3016 #define EM_LINEINDEX               WINELIB_NAME(EM_LINEINDEX)
3017 #define EM_SETHANDLE16             (WM_USER+12)
3018 #define EM_SETHANDLE32             0x00bc
3019 #define EM_SETHANDLE               WINELIB_NAME(EM_SETHANDLE)
3020 #define EM_GETHANDLE16             (WM_USER+13)
3021 #define EM_GETHANDLE32             0x00bd
3022 #define EM_GETHANDLE               WINELIB_NAME(EM_GETHANDLE)
3023 #define EM_GETTHUMB16              (WM_USER+14)
3024 #define EM_GETTHUMB32              0x00be
3025 #define EM_GETTHUMB                WINELIB_NAME(EM_GETTHUMB)
3026 /* FIXME : missing from specs 0x00bf and 0x00c0 */
3027 #define EM_LINELENGTH16            (WM_USER+17)
3028 #define EM_LINELENGTH32            0x00c1
3029 #define EM_LINELENGTH              WINELIB_NAME(EM_LINELENGTH)
3030 #define EM_REPLACESEL16            (WM_USER+18)
3031 #define EM_REPLACESEL32            0x00c2
3032 #define EM_REPLACESEL              WINELIB_NAME(EM_REPLACESEL)
3033 /* FIXME : missing from specs 0x00c3 */
3034 #define EM_GETLINE16               (WM_USER+20)
3035 #define EM_GETLINE32               0x00c4
3036 #define EM_GETLINE                 WINELIB_NAME(EM_GETLINE)
3037 #define EM_LIMITTEXT16             (WM_USER+21)
3038 #define EM_LIMITTEXT32             0x00c5
3039 #define EM_LIMITTEXT               WINELIB_NAME(EM_LIMITTEXT)
3040 #define EM_CANUNDO16               (WM_USER+22)
3041 #define EM_CANUNDO32               0x00c6
3042 #define EM_CANUNDO                 WINELIB_NAME(EM_CANUNDO)
3043 #define EM_UNDO16                  (WM_USER+23)
3044 #define EM_UNDO32                  0x00c7
3045 #define EM_UNDO                    WINELIB_NAME(EM_UNDO)
3046 #define EM_FMTLINES16              (WM_USER+24)
3047 #define EM_FMTLINES32              0x00c8
3048 #define EM_FMTLINES                WINELIB_NAME(EM_FMTLINES)
3049 #define EM_LINEFROMCHAR16          (WM_USER+25)
3050 #define EM_LINEFROMCHAR32          0x00c9
3051 #define EM_LINEFROMCHAR            WINELIB_NAME(EM_LINEFROMCHAR)
3052 /* FIXME : missing from specs 0x00ca */
3053 #define EM_SETTABSTOPS16           (WM_USER+27)
3054 #define EM_SETTABSTOPS32           0x00cb
3055 #define EM_SETTABSTOPS             WINELIB_NAME(EM_SETTABSTOPS)
3056 #define EM_SETPASSWORDCHAR16       (WM_USER+28)
3057 #define EM_SETPASSWORDCHAR32       0x00cc
3058 #define EM_SETPASSWORDCHAR         WINELIB_NAME(EM_SETPASSWORDCHAR)
3059 #define EM_EMPTYUNDOBUFFER16       (WM_USER+29)
3060 #define EM_EMPTYUNDOBUFFER32       0x00cd
3061 #define EM_EMPTYUNDOBUFFER         WINELIB_NAME(EM_EMPTYUNDOBUFFER)
3062 #define EM_GETFIRSTVISIBLELINE16   (WM_USER+30)
3063 #define EM_GETFIRSTVISIBLELINE32   0x00ce
3064 #define EM_GETFIRSTVISIBLELINE     WINELIB_NAME(EM_GETFIRSTVISIBLELINE)
3065 #define EM_SETREADONLY16           (WM_USER+31)
3066 #define EM_SETREADONLY32           0x00cf
3067 #define EM_SETREADONLY             WINELIB_NAME(EM_SETREADONLY)
3068 #define EM_SETWORDBREAKPROC16      (WM_USER+32)
3069 #define EM_SETWORDBREAKPROC32      0x00d0
3070 #define EM_SETWORDBREAKPROC        WINELIB_NAME(EM_SETWORDBREAKPROC)
3071 #define EM_GETWORDBREAKPROC16      (WM_USER+33)
3072 #define EM_GETWORDBREAKPROC32      0x00d1
3073 #define EM_GETWORDBREAKPROC        WINELIB_NAME(EM_GETWORDBREAKPROC)
3074 #define EM_GETPASSWORDCHAR16       (WM_USER+34)
3075 #define EM_GETPASSWORDCHAR32       0x00d2
3076 #define EM_GETPASSWORDCHAR         WINELIB_NAME(EM_GETPASSWORDCHAR)
3077 #define EM_SETMARGINS16            WM_NULL /* not in win16 */
3078 #define EM_SETMARGINS32            0x00d3
3079 #define EM_SETMARGINS              WINELIB_NAME(EM_SETMARGINS)
3080 #define EM_GETMARGINS16            WM_NULL /* not in win16 */
3081 #define EM_GETMARGINS32            0x00d4
3082 #define EM_GETMARGINS              WINELIB_NAME(EM_GETMARGINS)
3083 #define EM_GETLIMITTEXT16          WM_NULL /* not in win16 */
3084 #define EM_GETLIMITTEXT32          0x00d5
3085 #define EM_GETLIMITTEXT            WINELIB_NAME(EM_GETLIMITTEXT)
3086 #define EM_POSFROMCHAR16           WM_NULL /* not in win16 */
3087 #define EM_POSFROMCHAR32           0x00d6
3088 #define EM_POSFROMCHAR             WINELIB_NAME(EM_POSFROMCHAR)
3089 #define EM_CHARFROMPOS16           WM_NULL /* not in win16 */
3090 #define EM_CHARFROMPOS32           0x00d7
3091 #define EM_CHARFROMPOS             WINELIB_NAME(EM_CHARFROMPOS)
3092 /* a name change since win95 */
3093 #define EM_SETLIMITTEXT16          WM_NULL /* no name change in win16 */
3094 #define EM_SETLIMITTEXT32          EM_LIMITTEXT32
3095 #define EM_SETLIMITTEXT            WINELIB_NAME(EM_SETLIMITTEXT)
3096
3097 /* EDITWORDBREAKPROC code values */
3098 #define WB_LEFT         0
3099 #define WB_RIGHT        1
3100 #define WB_ISDELIMITER  2
3101
3102 /* Edit control notification codes */
3103 #define EN_SETFOCUS     0x0100
3104 #define EN_KILLFOCUS    0x0200
3105 #define EN_CHANGE       0x0300
3106 #define EN_UPDATE       0x0400
3107 #define EN_ERRSPACE     0x0500
3108 #define EN_MAXTEXT      0x0501
3109 #define EN_HSCROLL      0x0601
3110 #define EN_VSCROLL      0x0602
3111
3112 /* New since win95 : EM_SETMARGIN parameters */
3113 #define EC_LEFTMARGIN   0x0001
3114 #define EC_RIGHTMARGIN  0x0002
3115 #define EC_USEFONTINFO  0xffff
3116
3117
3118 typedef struct
3119 {
3120     UINT16      CtlType;
3121     UINT16      CtlID;
3122     UINT16      itemID;
3123     UINT16      itemAction;
3124     UINT16      itemState;
3125     HWND16      hwndItem;
3126     HDC16       hDC;
3127     RECT16      rcItem WINE_PACKED;
3128     DWORD       itemData WINE_PACKED;
3129 } DRAWITEMSTRUCT16, *PDRAWITEMSTRUCT16, *LPDRAWITEMSTRUCT16;
3130
3131 typedef struct
3132 {
3133     UINT32      CtlType;
3134     UINT32      CtlID;
3135     UINT32      itemID;
3136     UINT32      itemAction;
3137     UINT32      itemState;
3138     HWND32      hwndItem;
3139     HDC32       hDC;
3140     RECT32      rcItem WINE_PACKED;
3141     DWORD       itemData WINE_PACKED;
3142 } DRAWITEMSTRUCT32, *PDRAWITEMSTRUCT32, *LPDRAWITEMSTRUCT32;
3143
3144 DECL_WINELIB_TYPE(DRAWITEMSTRUCT)
3145 DECL_WINELIB_TYPE(PDRAWITEMSTRUCT)
3146 DECL_WINELIB_TYPE(LPDRAWITEMSTRUCT)
3147
3148 typedef struct
3149 {
3150     UINT16      CtlType;
3151     UINT16      CtlID;
3152     UINT16      itemID;
3153     UINT16      itemWidth;
3154     UINT16      itemHeight;
3155     DWORD       itemData WINE_PACKED;
3156 } MEASUREITEMSTRUCT16, *PMEASUREITEMSTRUCT16, *LPMEASUREITEMSTRUCT16;
3157
3158 typedef struct
3159 {
3160     UINT32      CtlType;
3161     UINT32      CtlID;
3162     UINT32      itemID;
3163     UINT32      itemWidth;
3164     UINT32      itemHeight;
3165     DWORD       itemData;
3166 } MEASUREITEMSTRUCT32, *PMEASUREITEMSTRUCT32, *LPMEASUREITEMSTRUCT32;
3167
3168 DECL_WINELIB_TYPE(MEASUREITEMSTRUCT)
3169 DECL_WINELIB_TYPE(PMEASUREITEMSTRUCT)
3170 DECL_WINELIB_TYPE(LPMEASUREITEMSTRUCT)
3171
3172 typedef struct
3173 {
3174     UINT16     CtlType;
3175     UINT16     CtlID;
3176     UINT16     itemID;
3177     HWND16     hwndItem;
3178     DWORD      itemData;
3179 } DELETEITEMSTRUCT16, *LPDELETEITEMSTRUCT16;
3180
3181 typedef struct
3182 {
3183     UINT32     CtlType;
3184     UINT32     CtlID;
3185     UINT32     itemID;
3186     HWND32     hwndItem;
3187     DWORD      itemData;
3188 } DELETEITEMSTRUCT32, *LPDELETEITEMSTRUCT32;
3189
3190 DECL_WINELIB_TYPE(DELETEITEMSTRUCT)
3191 DECL_WINELIB_TYPE(LPDELETEITEMSTRUCT)
3192
3193 typedef struct
3194 {
3195     UINT16      CtlType;
3196     UINT16      CtlID;
3197     HWND16      hwndItem;
3198     UINT16      itemID1;
3199     DWORD       itemData1;
3200     UINT16      itemID2;
3201     DWORD       itemData2 WINE_PACKED;
3202 } COMPAREITEMSTRUCT16, *LPCOMPAREITEMSTRUCT16;
3203
3204 typedef struct
3205 {
3206     UINT32      CtlType;
3207     UINT32      CtlID;
3208     HWND32      hwndItem;
3209     UINT32      itemID1;
3210     DWORD       itemData1;
3211     UINT32      itemID2;
3212     DWORD       itemData2;
3213     DWORD       dwLocaleId;
3214 } COMPAREITEMSTRUCT32, *LPCOMPAREITEMSTRUCT32;
3215
3216 DECL_WINELIB_TYPE(COMPAREITEMSTRUCT)
3217 DECL_WINELIB_TYPE(LPCOMPAREITEMSTRUCT)
3218
3219 /* WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags */
3220 #define KF_EXTENDED         0x0100
3221 #define KF_DLGMODE          0x0800
3222 #define KF_MENUMODE         0x1000
3223 #define KF_ALTDOWN          0x2000
3224 #define KF_REPEAT           0x4000
3225 #define KF_UP               0x8000
3226
3227 /* Virtual key codes */
3228 #define VK_LBUTTON          0x01
3229 #define VK_RBUTTON          0x02
3230 #define VK_CANCEL           0x03
3231 #define VK_MBUTTON          0x04
3232 /*                          0x05-0x07  Undefined */
3233 #define VK_BACK             0x08
3234 #define VK_TAB              0x09
3235 /*                          0x0A-0x0B  Undefined */
3236 #define VK_CLEAR            0x0C
3237 #define VK_RETURN           0x0D
3238 /*                          0x0E-0x0F  Undefined */
3239 #define VK_SHIFT            0x10
3240 #define VK_CONTROL          0x11
3241 #define VK_MENU             0x12
3242 #define VK_PAUSE            0x13
3243 #define VK_CAPITAL          0x14
3244 /*                          0x15-0x19  Reserved for Kanji systems */
3245 /*                          0x1A       Undefined */
3246 #define VK_ESCAPE           0x1B
3247 /*                          0x1C-0x1F  Reserved for Kanji systems */
3248 #define VK_SPACE            0x20
3249 #define VK_PRIOR            0x21
3250 #define VK_NEXT             0x22
3251 #define VK_END              0x23
3252 #define VK_HOME             0x24
3253 #define VK_LEFT             0x25
3254 #define VK_UP               0x26
3255 #define VK_RIGHT            0x27
3256 #define VK_DOWN             0x28
3257 #define VK_SELECT           0x29
3258 #define VK_PRINT            0x2A /* OEM specific in Windows 3.1 SDK */
3259 #define VK_EXECUTE          0x2B
3260 #define VK_SNAPSHOT         0x2C
3261 #define VK_INSERT           0x2D
3262 #define VK_DELETE           0x2E
3263 #define VK_HELP             0x2F
3264 #define VK_0                0x30
3265 #define VK_1                0x31
3266 #define VK_2                0x32
3267 #define VK_3                0x33
3268 #define VK_4                0x34
3269 #define VK_5                0x35
3270 #define VK_6                0x36
3271 #define VK_7                0x37
3272 #define VK_8                0x38
3273 #define VK_9                0x39
3274 /*                          0x3A-0x40  Undefined */
3275 #define VK_A                0x41
3276 #define VK_B                0x42
3277 #define VK_C                0x43
3278 #define VK_D                0x44
3279 #define VK_E                0x45
3280 #define VK_F                0x46
3281 #define VK_G                0x47
3282 #define VK_H                0x48
3283 #define VK_I                0x49
3284 #define VK_J                0x4A
3285 #define VK_K                0x4B
3286 #define VK_L                0x4C
3287 #define VK_M                0x4D
3288 #define VK_N                0x4E
3289 #define VK_O                0x4F
3290 #define VK_P                0x50
3291 #define VK_Q                0x51
3292 #define VK_R                0x52
3293 #define VK_S                0x53
3294 #define VK_T                0x54
3295 #define VK_U                0x55
3296 #define VK_V                0x56
3297 #define VK_W                0x57
3298 #define VK_X                0x58
3299 #define VK_Y                0x59
3300 #define VK_Z                0x5A
3301
3302 #define VK_LWIN             0x5B
3303 #define VK_RWIN             0x5C
3304 #define VK_APPS             0x5D
3305 /*                          0x5E-0x5F Unassigned */
3306 #define VK_NUMPAD0          0x60
3307 #define VK_NUMPAD1          0x61
3308 #define VK_NUMPAD2          0x62
3309 #define VK_NUMPAD3          0x63
3310 #define VK_NUMPAD4          0x64
3311 #define VK_NUMPAD5          0x65
3312 #define VK_NUMPAD6          0x66
3313 #define VK_NUMPAD7          0x67
3314 #define VK_NUMPAD8          0x68
3315 #define VK_NUMPAD9          0x69
3316 #define VK_MULTIPLY         0x6A
3317 #define VK_ADD              0x6B
3318 #define VK_SEPARATOR        0x6C
3319 #define VK_SUBTRACT         0x6D
3320 #define VK_DECIMAL          0x6E
3321 #define VK_DIVIDE           0x6F
3322 #define VK_F1               0x70
3323 #define VK_F2               0x71
3324 #define VK_F3               0x72
3325 #define VK_F4               0x73
3326 #define VK_F5               0x74
3327 #define VK_F6               0x75
3328 #define VK_F7               0x76
3329 #define VK_F8               0x77
3330 #define VK_F9               0x78
3331 #define VK_F10              0x79
3332 #define VK_F11              0x7A
3333 #define VK_F12              0x7B
3334 #define VK_F13              0x7C
3335 #define VK_F14              0x7D
3336 #define VK_F15              0x7E
3337 #define VK_F16              0x7F
3338 #define VK_F17              0x80
3339 #define VK_F18              0x81
3340 #define VK_F19              0x82
3341 #define VK_F20              0x83
3342 #define VK_F21              0x84
3343 #define VK_F22              0x85
3344 #define VK_F23              0x86
3345 #define VK_F24              0x87
3346 /*                          0x88-0x8F  Unassigned */
3347 #define VK_NUMLOCK          0x90
3348 #define VK_SCROLL           0x91
3349 /*                          0x92-0x9F  Unassigned */
3350 /*
3351  * differencing between right and left shift/control/alt key.
3352  * Used only by GetAsyncKeyState() and GetKeyState().
3353  */
3354 #define VK_LSHIFT           0xA0
3355 #define VK_RSHIFT           0xA1
3356 #define VK_LCONTROL         0xA2
3357 #define VK_RCONTROL         0xA3
3358 #define VK_LMENU            0xA4
3359 #define VK_RMENU            0xA5
3360 /*                          0xA6-0xB9  Unassigned */
3361 #define VK_OEM_1            0xBA
3362 #define VK_OEM_PLUS         0xBB
3363 #define VK_OEM_COMMA        0xBC
3364 #define VK_OEM_MINUS        0xBD
3365 #define VK_OEM_PERIOD       0xBE
3366 #define VK_OEM_2            0xBF
3367 #define VK_OEM_3            0xC0
3368 /*                          0xC1-0xDA  Unassigned */
3369 #define VK_OEM_4            0xDB
3370 #define VK_OEM_5            0xDC
3371 #define VK_OEM_6            0xDD
3372 #define VK_OEM_7            0xDE
3373 /*                          0xDF-0xE4  OEM specific */
3374
3375 #define VK_PROCESSKEY       0xE5
3376
3377 /*                          0xE6       OEM specific */
3378 /*                          0xE7-0xE8  Unassigned */
3379 /*                          0xE9-0xF5  OEM specific */
3380
3381 #define VK_ATTN             0xF6
3382 #define VK_CRSEL            0xF7
3383 #define VK_EXSEL            0xF8
3384 #define VK_EREOF            0xF9
3385 #define VK_PLAY             0xFA
3386 #define VK_ZOOM             0xFB
3387 #define VK_NONAME           0xFC
3388 #define VK_PA1              0xFD
3389 #define VK_OEM_CLEAR        0xFE
3390   
3391 #define LMEM_FIXED          0   
3392 #define LMEM_MOVEABLE       0x0002
3393 #define LMEM_NOCOMPACT      0x0010
3394 #define LMEM_NODISCARD      0x0020
3395 #define LMEM_ZEROINIT       0x0040
3396 #define LMEM_MODIFY         0x0080
3397 #define LMEM_DISCARDABLE    0x0F00
3398 #define LMEM_DISCARDED      0x4000
3399 #define LMEM_LOCKCOUNT      0x00FF
3400
3401 #define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
3402
3403 #define GMEM_FIXED          0x0000
3404 #define GMEM_MOVEABLE       0x0002
3405 #define GMEM_NOCOMPACT      0x0010
3406 #define GMEM_NODISCARD      0x0020
3407 #define GMEM_ZEROINIT       0x0040
3408 #define GMEM_MODIFY         0x0080
3409 #define GMEM_DISCARDABLE    0x0100
3410 #define GMEM_NOT_BANKED     0x1000
3411 #define GMEM_SHARE          0x2000
3412 #define GMEM_DDESHARE       0x2000
3413 #define GMEM_NOTIFY         0x4000
3414 #define GMEM_LOWER          GMEM_NOT_BANKED
3415 #define GMEM_DISCARDED      0x4000
3416 #define GMEM_LOCKCOUNT      0x00ff
3417 #define GMEM_INVALID_HANDLE 0x8000
3418
3419 #define GHND                (GMEM_MOVEABLE | GMEM_ZEROINIT)
3420 #define GPTR                (GMEM_FIXED | GMEM_ZEROINIT)
3421
3422
3423 typedef struct tagMEMORYSTATUS
3424 {
3425     DWORD    dwLength;
3426     DWORD    dwMemoryLoad;
3427     DWORD    dwTotalPhys;
3428     DWORD    dwAvailPhys;
3429     DWORD    dwTotalPageFile;
3430     DWORD    dwAvailPageFile;
3431     DWORD    dwTotalVirtual;
3432     DWORD    dwAvailVirtual;
3433 } MEMORYSTATUS, *LPMEMORYSTATUS;
3434
3435 /* Predefined Clipboard Formats */
3436 #define CF_TEXT              1
3437 #define CF_BITMAP            2
3438 #define CF_METAFILEPICT      3
3439 #define CF_SYLK              4
3440 #define CF_DIF               5
3441 #define CF_TIFF              6
3442 #define CF_OEMTEXT           7
3443 #define CF_DIB               8
3444 #define CF_PALETTE           9
3445 #define CF_PENDATA          10
3446 #define CF_RIFF             11
3447 #define CF_WAVE             12
3448 #define CF_ENHMETAFILE      14
3449
3450 #define CF_OWNERDISPLAY     0x0080
3451 #define CF_DSPTEXT          0x0081
3452 #define CF_DSPBITMAP        0x0082
3453 #define CF_DSPMETAFILEPICT  0x0083
3454
3455 /* "Private" formats don't get GlobalFree()'d */
3456 #define CF_PRIVATEFIRST     0x0200
3457 #define CF_PRIVATELAST      0x02FF
3458
3459 /* "GDIOBJ" formats do get DeleteObject()'d */
3460 #define CF_GDIOBJFIRST      0x0300
3461 #define CF_GDIOBJLAST       0x03FF
3462
3463 /* Clipboard command messages */
3464 #define WM_CUT              0x0300
3465 #define WM_COPY             0x0301
3466 #define WM_PASTE            0x0302
3467 #define WM_CLEAR            0x0303
3468 #define WM_UNDO             0x0304
3469
3470 /* Clipboard owner messages */
3471 #define WM_RENDERFORMAT     0x0305
3472 #define WM_RENDERALLFORMATS 0x0306
3473 #define WM_DESTROYCLIPBOARD 0x0307
3474
3475 /* Clipboard viewer messages */
3476 #define WM_DRAWCLIPBOARD    0x0308
3477 #define WM_PAINTCLIPBOARD   0x0309
3478 #define WM_SIZECLIPBOARD    0x030B
3479 #define WM_VSCROLLCLIPBOARD 0x030A
3480 #define WM_HSCROLLCLIPBOARD 0x030E
3481 #define WM_ASKCBFORMATNAME  0x030C
3482 #define WM_CHANGECBCHAIN    0x030D
3483
3484
3485 #ifndef NOLOGERROR
3486
3487 /* LogParamError and LogError values */
3488
3489 /* Error modifier bits */
3490 #define ERR_WARNING             0x8000
3491 #define ERR_PARAM               0x4000
3492
3493 #define ERR_SIZE_MASK           0x3000
3494 #define ERR_BYTE                0x1000
3495 #define ERR_WORD                0x2000
3496 #define ERR_DWORD               0x3000
3497
3498 /* LogParamError() values */
3499
3500 /* Generic parameter values */
3501 #define ERR_BAD_VALUE           0x6001
3502 #define ERR_BAD_FLAGS           0x6002
3503 #define ERR_BAD_INDEX           0x6003
3504 #define ERR_BAD_DVALUE          0x7004
3505 #define ERR_BAD_DFLAGS          0x7005
3506 #define ERR_BAD_DINDEX          0x7006
3507 #define ERR_BAD_PTR             0x7007
3508 #define ERR_BAD_FUNC_PTR        0x7008
3509 #define ERR_BAD_SELECTOR        0x6009
3510 #define ERR_BAD_STRING_PTR      0x700a
3511 #define ERR_BAD_HANDLE          0x600b
3512
3513 /* KERNEL parameter errors */
3514 #define ERR_BAD_HINSTANCE       0x6020
3515 #define ERR_BAD_HMODULE         0x6021
3516 #define ERR_BAD_GLOBAL_HANDLE   0x6022
3517 #define ERR_BAD_LOCAL_HANDLE    0x6023
3518 #define ERR_BAD_ATOM            0x6024
3519 #define ERR_BAD_HFILE           0x6025
3520
3521 /* USER parameter errors */
3522 #define ERR_BAD_HWND            0x6040
3523 #define ERR_BAD_HMENU           0x6041
3524 #define ERR_BAD_HCURSOR         0x6042
3525 #define ERR_BAD_HICON           0x6043
3526 #define ERR_BAD_HDWP            0x6044
3527 #define ERR_BAD_CID             0x6045
3528 #define ERR_BAD_HDRVR           0x6046
3529
3530 /* GDI parameter errors */
3531 #define ERR_BAD_COORDS          0x7060
3532 #define ERR_BAD_GDI_OBJECT      0x6061
3533 #define ERR_BAD_HDC             0x6062
3534 #define ERR_BAD_HPEN            0x6063
3535 #define ERR_BAD_HFONT           0x6064
3536 #define ERR_BAD_HBRUSH          0x6065
3537 #define ERR_BAD_HBITMAP         0x6066
3538 #define ERR_BAD_HRGN            0x6067
3539 #define ERR_BAD_HPALETTE        0x6068
3540 #define ERR_BAD_HMETAFILE       0x6069
3541
3542
3543 /* LogError() values */
3544
3545 /* KERNEL errors */
3546 #define ERR_GALLOC              0x0001
3547 #define ERR_GREALLOC            0x0002
3548 #define ERR_GLOCK               0x0003
3549 #define ERR_LALLOC              0x0004
3550 #define ERR_LREALLOC            0x0005
3551 #define ERR_LLOCK               0x0006
3552 #define ERR_ALLOCRES            0x0007
3553 #define ERR_LOCKRES             0x0008
3554 #define ERR_LOADMODULE          0x0009
3555
3556 /* USER errors */
3557 #define ERR_CREATEDLG           0x0040
3558 #define ERR_CREATEDLG2          0x0041
3559 #define ERR_REGISTERCLASS       0x0042
3560 #define ERR_DCBUSY              0x0043
3561 #define ERR_CREATEWND           0x0044
3562 #define ERR_STRUCEXTRA          0x0045
3563 #define ERR_LOADSTR             0x0046
3564 #define ERR_LOADMENU            0x0047
3565 #define ERR_NESTEDBEGINPAINT    0x0048
3566 #define ERR_BADINDEX            0x0049
3567 #define ERR_CREATEMENU          0x004a
3568
3569 /* GDI errors */
3570 #define ERR_CREATEDC            0x0080
3571 #define ERR_CREATEMETA          0x0081
3572 #define ERR_DELOBJSELECTED      0x0082
3573 #define ERR_SELBITMAP           0x0083
3574
3575
3576
3577 /* Debugging support (DEBUG SYSTEM ONLY) */
3578 typedef struct
3579 {
3580     UINT16  flags;
3581     DWORD   dwOptions WINE_PACKED;
3582     DWORD   dwFilter WINE_PACKED;
3583     CHAR    achAllocModule[8] WINE_PACKED;
3584     DWORD   dwAllocBreak WINE_PACKED;
3585     DWORD   dwAllocCount WINE_PACKED;
3586 } WINDEBUGINFO, *LPWINDEBUGINFO;
3587
3588 /* WINDEBUGINFO flags values */
3589 #define WDI_OPTIONS         0x0001
3590 #define WDI_FILTER          0x0002
3591 #define WDI_ALLOCBREAK      0x0004
3592
3593 /* dwOptions values */
3594 #define DBO_CHECKHEAP       0x0001
3595 #define DBO_BUFFERFILL      0x0004
3596 #define DBO_DISABLEGPTRAPPING 0x0010
3597 #define DBO_CHECKFREE       0x0020
3598
3599 #define DBO_SILENT          0x8000
3600
3601 #define DBO_TRACEBREAK      0x2000
3602 #define DBO_WARNINGBREAK    0x1000
3603 #define DBO_NOERRORBREAK    0x0800
3604 #define DBO_NOFATALBREAK    0x0400
3605 #define DBO_INT3BREAK       0x0100
3606
3607 /* DebugOutput flags values */
3608 #define DBF_TRACE           0x0000
3609 #define DBF_WARNING         0x4000
3610 #define DBF_ERROR           0x8000
3611 #define DBF_FATAL           0xc000
3612
3613 /* dwFilter values */
3614 #define DBF_KERNEL          0x1000
3615 #define DBF_KRN_MEMMAN      0x0001
3616 #define DBF_KRN_LOADMODULE  0x0002
3617 #define DBF_KRN_SEGMENTLOAD 0x0004
3618 #define DBF_USER            0x0800
3619 #define DBF_GDI             0x0400
3620 #define DBF_MMSYSTEM        0x0040
3621 #define DBF_PENWIN          0x0020
3622 #define DBF_APPLICATION     0x0008
3623 #define DBF_DRIVER          0x0010
3624
3625 #endif /* NOLOGERROR */
3626
3627 /* Win32-specific structures */
3628
3629 typedef struct {
3630     DWORD dwData;
3631     DWORD cbData;
3632     LPVOID lpData;
3633 } COPYDATASTRUCT, *PCOPYDATASTRUCT, *LPCOPYDATASTRUCT;
3634
3635 typedef struct {
3636     HMENU32 hmenuIn;
3637     HMENU32 hmenuNext;
3638     HWND32  hwndNext;
3639 } MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
3640
3641 typedef struct {
3642         WORD wYear;
3643         WORD wMonth;
3644         WORD wDayOfWeek;
3645         WORD wDay;
3646         WORD wHour;
3647         WORD wMinute;
3648         WORD wSecond;
3649         WORD wMilliseconds;
3650 } SYSTEMTIME, *LPSYSTEMTIME;
3651
3652
3653 /* Code page information.
3654  */
3655 #define MAX_LEADBYTES     12
3656 #define MAX_DEFAULTCHAR   2
3657
3658 typedef struct
3659 {
3660     UINT32 MaxCharSize;
3661     BYTE   DefaultChar[MAX_DEFAULTCHAR];
3662     BYTE   LeadByte[MAX_LEADBYTES];
3663 } CPINFO, *LPCPINFO;
3664
3665 /* The 'overlapped' data structure used by async I/O functions.
3666  */
3667 typedef struct {
3668         DWORD Internal;
3669         DWORD InternalHigh;
3670         DWORD Offset;
3671         DWORD OffsetHigh;
3672         HANDLE32 hEvent;
3673 } OVERLAPPED, *LPOVERLAPPED;
3674
3675 /* Process startup information.
3676  */
3677
3678 /* STARTUPINFO.dwFlags */
3679 #define STARTF_USESHOWWINDOW    0x00000001
3680 #define STARTF_USESIZE          0x00000002
3681 #define STARTF_USEPOSITION      0x00000004
3682 #define STARTF_USECOUNTCHARS    0x00000008
3683 #define STARTF_USEFILLATTRIBUTE 0x00000010
3684 #define STARTF_RUNFULLSCREEN    0x00000020
3685 #define STARTF_FORCEONFEEDBACK  0x00000040
3686 #define STARTF_FORCEOFFFEEDBACK 0x00000080
3687 #define STARTF_USESTDHANDLES    0x00000100
3688 #define STARTF_USEHOTKEY        0x00000200
3689
3690 typedef struct {
3691         DWORD cb;               /* 00: size of struct */
3692         LPSTR lpReserved;       /* 04: */
3693         LPSTR lpDesktop;        /* 08: */
3694         LPSTR lpTitle;          /* 0c: */
3695         DWORD dwX;              /* 10: */
3696         DWORD dwY;              /* 14: */
3697         DWORD dwXSize;          /* 18: */
3698         DWORD dwYSize;          /* 1c: */
3699         DWORD dwXCountChars;    /* 20: */
3700         DWORD dwYCountChars;    /* 24: */
3701         DWORD dwFillAttribute;  /* 28: */
3702         DWORD dwFlags;          /* 2c: */
3703         WORD wShowWindow;       /* 30: */
3704         WORD cbReserved2;       /* 32: */
3705         BYTE *lpReserved2;      /* 34: */
3706         HANDLE32 hStdInput;     /* 38: */
3707         HANDLE32 hStdOutput;    /* 3c: */
3708         HANDLE32 hStdError;     /* 40: */
3709 } STARTUPINFO32A, *LPSTARTUPINFO32A;
3710
3711 typedef struct {
3712         DWORD cb;
3713         LPWSTR lpReserved;
3714         LPWSTR lpDesktop;
3715         LPWSTR lpTitle;
3716         DWORD dwX;
3717         DWORD dwY;
3718         DWORD dwXSize;
3719         DWORD dwYSize;
3720         DWORD dwXCountChars;
3721         DWORD dwYCountChars;
3722         DWORD dwFillAttribute;
3723         DWORD dwFlags;
3724         WORD wShowWindow;
3725         WORD cbReserved2;
3726         BYTE *lpReserved2;
3727         HANDLE32 hStdInput;
3728         HANDLE32 hStdOutput;
3729         HANDLE32 hStdError;
3730 } STARTUPINFO32W, *LPSTARTUPINFO32W;
3731
3732 DECL_WINELIB_TYPE_AW(STARTUPINFO)
3733 DECL_WINELIB_TYPE_AW(LPSTARTUPINFO)
3734
3735 typedef struct {
3736         HANDLE32        hProcess;
3737         HANDLE32        hThread;
3738         DWORD           dwProcessId;
3739         DWORD           dwThreadId;
3740 } PROCESS_INFORMATION,*LPPROCESS_INFORMATION;
3741
3742 typedef struct {
3743         LONG Bias;
3744         WCHAR StandardName[32];
3745         SYSTEMTIME StandardDate;
3746         LONG StandardBias;
3747         WCHAR DaylightName[32];
3748         SYSTEMTIME DaylightDate;
3749         LONG DaylightBias;
3750 } TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
3751
3752 #define TIME_ZONE_ID_UNKNOWN    0
3753 #define TIME_ZONE_ID_STANDARD   1
3754 #define TIME_ZONE_ID_DAYLIGHT   2
3755
3756 /* CreateProcess: dwCreationFlag values
3757  */
3758 #define DEBUG_PROCESS               0x00000001
3759 #define DEBUG_ONLY_THIS_PROCESS     0x00000002
3760 #define CREATE_SUSPENDED            0x00000004
3761 #define DETACHED_PROCESS            0x00000008
3762 #define CREATE_NEW_CONSOLE          0x00000010
3763 #define NORMAL_PRIORITY_CLASS       0x00000020
3764 #define IDLE_PRIORITY_CLASS         0x00000040
3765 #define HIGH_PRIORITY_CLASS         0x00000080
3766 #define REALTIME_PRIORITY_CLASS     0x00000100
3767 #define CREATE_NEW_PROCESS_GROUP    0x00000200
3768 #define CREATE_UNICODE_ENVIRONMENT  0x00000400
3769 #define CREATE_SEPARATE_WOW_VDM     0x00000800
3770 #define CREATE_SHARED_WOW_VDM       0x00001000
3771 #define CREATE_DEFAULT_ERROR_MODE   0x04000000
3772 #define CREATE_NO_WINDOW            0x08000000
3773 #define PROFILE_USER                0x10000000
3774 #define PROFILE_KERNEL              0x20000000
3775 #define PROFILE_SERVER              0x40000000
3776
3777
3778 /* File object type definitions
3779  */
3780 #define FILE_TYPE_UNKNOWN       0
3781 #define FILE_TYPE_DISK          1
3782 #define FILE_TYPE_CHAR          2
3783 #define FILE_TYPE_PIPE          3
3784 #define FILE_TYPE_REMOTE        32768
3785
3786 /* File creation flags
3787  */
3788 #define FILE_FLAG_WRITE_THROUGH    0x80000000UL
3789 #define FILE_FLAG_OVERLAPPED       0x40000000L
3790 #define FILE_FLAG_NO_BUFFERING     0x20000000L
3791 #define FILE_FLAG_RANDOM_ACCESS    0x10000000L
3792 #define FILE_FLAG_SEQUENTIAL_SCAN  0x08000000L
3793 #define FILE_FLAG_DELETE_ON_CLOSE  0x04000000L
3794 #define FILE_FLAG_BACKUP_SEMANTICS 0x02000000L
3795 #define FILE_FLAG_POSIX_SEMANTICS  0x01000000L
3796 #define CREATE_NEW              1
3797 #define CREATE_ALWAYS           2
3798 #define OPEN_EXISTING           3
3799 #define OPEN_ALWAYS             4
3800 #define TRUNCATE_EXISTING       5
3801
3802 /* Standard handle identifiers
3803  */
3804 #define STD_INPUT_HANDLE        ((DWORD) -10)
3805 #define STD_OUTPUT_HANDLE       ((DWORD) -11)
3806 #define STD_ERROR_HANDLE        ((DWORD) -12)
3807
3808 typedef struct
3809 {
3810   int dwFileAttributes;
3811   FILETIME ftCreationTime;
3812   FILETIME ftLastAccessTime;
3813   FILETIME ftLastWriteTime;
3814   int dwVolumeSerialNumber;
3815   int nFileSizeHigh;
3816   int nFileSizeLow;
3817   int nNumberOfLinks;
3818   int nFileIndexHigh;
3819   int nFileIndexLow;
3820 } BY_HANDLE_FILE_INFORMATION ;
3821
3822 /* File attribute flags
3823  */
3824 #define FILE_SHARE_READ                 0x00000001L
3825 #define FILE_SHARE_WRITE                0x00000002L
3826 #define FILE_SHARE_DELETE               0x00000004L
3827 #define FILE_ATTRIBUTE_READONLY         0x00000001L
3828 #define FILE_ATTRIBUTE_HIDDEN           0x00000002L
3829 #define FILE_ATTRIBUTE_SYSTEM           0x00000004L
3830 #define FILE_ATTRIBUTE_LABEL            0x00000008L  /* Not in Windows API */
3831 #define FILE_ATTRIBUTE_DIRECTORY        0x00000010L
3832 #define FILE_ATTRIBUTE_ARCHIVE          0x00000020L
3833 #define FILE_ATTRIBUTE_NORMAL           0x00000080L
3834 #define FILE_ATTRIBUTE_TEMPORARY        0x00000100L
3835 #define FILE_ATTRIBUTE_ATOMIC_WRITE     0x00000200L
3836 #define FILE_ATTRIBUTE_XACTION_WRITE    0x00000400L
3837 #define FILE_ATTRIBUTE_COMPRESSED       0x00000800L
3838 #define FILE_ATTRIBUTE_OFFLINE          0x00001000L
3839
3840 /* File alignments (NT) */
3841 #define FILE_BYTE_ALIGNMENT             0x00000000
3842 #define FILE_WORD_ALIGNMENT             0x00000001
3843 #define FILE_LONG_ALIGNMENT             0x00000003
3844 #define FILE_QUAD_ALIGNMENT             0x00000007
3845 #define FILE_OCTA_ALIGNMENT             0x0000000f
3846 #define FILE_32_BYTE_ALIGNMENT          0x0000001f
3847 #define FILE_64_BYTE_ALIGNMENT          0x0000003f
3848 #define FILE_128_BYTE_ALIGNMENT         0x0000007f
3849 #define FILE_256_BYTE_ALIGNMENT         0x000000ff
3850 #define FILE_512_BYTE_ALIGNMENT         0x000001ff
3851
3852 /* WinHelp internal structure */
3853 typedef struct {
3854         WORD size;
3855         WORD command;
3856         LONG data;
3857         LONG reserved;
3858         WORD ofsFilename;
3859         WORD ofsData;
3860 } WINHELP,*LPWINHELP;
3861
3862 typedef struct
3863 {
3864     UINT16  mkSize;
3865     BYTE    mkKeyList;
3866     BYTE    szKeyPhrase[1];
3867 } MULTIKEYHELP, *LPMULTIKEYHELP;
3868
3869 typedef struct {
3870         WORD wStructSize;
3871         WORD x;
3872         WORD y;
3873         WORD dx;
3874         WORD dy;
3875         WORD wMax;
3876         char rgchMember[2];
3877 } HELPWININFO, *LPHELPWININFO;
3878
3879 #define HELP_CONTEXT        0x0001
3880 #define HELP_QUIT           0x0002
3881 #define HELP_INDEX          0x0003
3882 #define HELP_CONTENTS       0x0003
3883 #define HELP_HELPONHELP     0x0004
3884 #define HELP_SETINDEX       0x0005
3885 #define HELP_SETCONTENTS    0x0005
3886 #define HELP_CONTEXTPOPUP   0x0008
3887 #define HELP_FORCEFILE      0x0009
3888 #define HELP_KEY            0x0101
3889 #define HELP_COMMAND        0x0102
3890 #define HELP_PARTIALKEY     0x0105
3891 #define HELP_MULTIKEY       0x0201
3892 #define HELP_SETWINPOS      0x0203
3893 #define HELP_CONTEXTMENU    0x000a
3894 #define HELP_FINDER         0x000b
3895 #define HELP_WM_HELP        0x000c
3896 #define HELP_SETPOPUP_POS   0x000d
3897
3898 #define HELP_TCARD          0x8000
3899 #define HELP_TCARD_DATA     0x0010
3900 #define HELP_TCARD_OTHER_CALLER 0x0011
3901
3902
3903 /* ExitWindows() flags */
3904 #define EW_RESTARTWINDOWS   0x0042
3905 #define EW_REBOOTSYSTEM     0x0043
3906 #define EW_EXITANDEXECAPP   0x0044
3907
3908 /* ExitWindowsEx() flags */
3909 #define EWX_LOGOFF           0
3910 #define EWX_SHUTDOWN         1
3911 #define EWX_REBOOT           2
3912 #define EWX_FORCE            4
3913 #define EWX_POWEROFF         8
3914
3915
3916 #define DM_UPDATE       1
3917 #define DM_COPY         2
3918 #define DM_PROMPT       4
3919 #define DM_MODIFY       8
3920
3921 #define DM_ORIENTATION          0x00000001L
3922 #define DM_PAPERSIZE            0x00000002L
3923 #define DM_PAPERLENGTH          0x00000004L
3924 #define DM_PAPERWIDTH           0x00000008L
3925 #define DM_SCALE                0x00000010L
3926 #define DM_COPIES               0x00000100L
3927 #define DM_DEFAULTSOURCE        0x00000200L
3928 #define DM_PRINTQUALITY         0x00000400L
3929 #define DM_COLOR                0x00000800L
3930 #define DM_DUPLEX               0x00001000L
3931 #define DM_YRESOLUTION          0x00002000L
3932 #define DM_TTOPTION             0x00004000L
3933 #define DM_BITSPERPEL           0x00040000L
3934 #define DM_PELSWIDTH            0x00080000L
3935 #define DM_PELSHEIGHT           0x00100000L
3936 #define DM_DISPLAYFLAGS         0x00200000L
3937 #define DM_DISPLAYFREQUENCY     0x00400000L
3938
3939 /* etc.... */
3940
3941 #define DMORIENT_PORTRAIT       1
3942 #define DMORIENT_LANDSCAPE      2
3943
3944 #define DMPAPER_LETTER          1
3945 #define DMPAPER_LEGAL           5
3946 #define DMPAPER_EXECUTIVE       7
3947 #define DMPAPER_A3              8
3948 #define DMPAPER_A4              9
3949 #define DMPAPER_A5              11
3950 #define DMPAPER_ENV_10          20
3951 #define DMPAPER_ENV_DL          27
3952 #define DMPAPER_ENV_C5          28
3953 #define DMPAPER_ENV_B5          34
3954 #define DMPAPER_ENV_MONARCH     37
3955
3956 #define DMBIN_UPPER             1
3957 #define DMBIN_LOWER             2
3958 #define DMBIN_MIDDLE            3
3959 #define DMBIN_MANUAL            4
3960 #define DMBIN_ENVELOPE          5
3961 #define DMBIN_ENVMANUAL         6
3962 #define DMBIN_AUTO              7
3963 #define DMBIN_LARGECAPACITY     11
3964
3965 #define DMCOLOR_MONOCHROME      1
3966 #define DMCOLOR_COLOR           2
3967
3968 #define DMTT_BITMAP             1
3969 #define DMTT_DOWNLOAD           2
3970 #define DMTT_SUBDEV             3
3971
3972
3973 #define DC_FIELDS               1
3974 #define DC_PAPERS               2
3975 #define DC_PAPERSIZE            3
3976 #define DC_MINEXTENT            4
3977 #define DC_MAXEXTENT            5
3978 #define DC_BINS                 6
3979 #define DC_DUPLEX               7
3980 #define DC_SIZE                 8
3981 #define DC_EXTRA                9
3982 #define DC_VERSION              10
3983 #define DC_DRIVER               11
3984 #define DC_BINNAMES             12
3985 #define DC_ENUMRESOLUTIONS      13
3986 #define DC_FILEDEPENDENCIES     14
3987 #define DC_TRUETYPE             15
3988 #define DC_PAPERNAMES           16
3989 #define DC_ORIENTATION          17
3990 #define DC_COPIES               18
3991
3992      /* ChangeDisplaySettings return codes */
3993
3994 #define DISP_CHANGE_SUCCESSFUL 0
3995 #define DISP_CHANGE_RESTART    1
3996 #define DISP_CHANGE_FAILED     (-1)
3997 #define DISP_CHANGE_BADMODE    (-2)
3998 #define DISP_CHANGE_NOTUPDATED (-3)
3999 #define DISP_CHANGE_BADFLAGS   (-4)
4000
4001
4002 typedef struct _SYSTEM_POWER_STATUS
4003 {
4004   BOOL16  ACLineStatus;
4005   BYTE    BatteryFlag;
4006   BYTE    BatteryLifePercent;
4007   BYTE    reserved;
4008   DWORD   BatteryLifeTime;
4009   DWORD   BatteryFullLifeTime;
4010 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
4011
4012 /* flags to FormatMessage */
4013 #define FORMAT_MESSAGE_ALLOCATE_BUFFER  0x00000100
4014 #define FORMAT_MESSAGE_IGNORE_INSERTS   0x00000200
4015 #define FORMAT_MESSAGE_FROM_STRING      0x00000400
4016 #define FORMAT_MESSAGE_FROM_HMODULE     0x00000800
4017 #define FORMAT_MESSAGE_FROM_SYSTEM      0x00001000
4018 #define FORMAT_MESSAGE_ARGUMENT_ARRAY   0x00002000
4019 #define FORMAT_MESSAGE_MAX_WIDTH_MASK   0x000000FF
4020
4021 /* types of LoadImage */
4022 #define IMAGE_BITMAP    0
4023 #define IMAGE_ICON      1
4024 #define IMAGE_CURSOR    2
4025 #define IMAGE_ENHMETA   3
4026
4027 /* loadflags to LoadImage */
4028 #define LR_DEFAULTCOLOR         0x0000
4029 #define LR_MONOCHROME           0x0001
4030 #define LR_COLOR                0x0002
4031 #define LR_COPYRETURNORG        0x0004
4032 #define LR_COPYDELETEORG        0x0008
4033 #define LR_LOADFROMFILE         0x0010
4034 #define LR_LOADTRANSPARENT      0x0020
4035 #define LR_DEFAULTSIZE          0x0040
4036 #define LR_VGA_COLOR            0x0080
4037 #define LR_LOADMAP3DCOLORS      0x1000
4038 #define LR_CREATEDIBSECTION     0x2000
4039 #define LR_COPYFROMRESOURCE     0x4000
4040 #define LR_SHARED               0x8000
4041
4042 /* Flags for PolyDraw and GetPath */
4043 #define PT_CLOSEFIGURE          0x0001
4044 #define PT_LINETO               0x0002
4045 #define PT_BEZIERTO             0x0004
4046 #define PT_MOVETO               0x0006
4047
4048 typedef struct _LARGE_INTEGER
4049 {
4050     DWORD    LowPart;
4051     LONG     HighPart;
4052 } LARGE_INTEGER,*LPLARGE_INTEGER;
4053
4054 typedef struct _ULARGE_INTEGER
4055 {
4056     DWORD    LowPart;
4057     DWORD    HighPart;
4058 } ULARGE_INTEGER,*LPULARGE_INTEGER;
4059
4060 typedef LARGE_INTEGER LUID,*LPLUID; /* locally unique ids */
4061
4062 /* SetLastErrorEx types */
4063 #define SLE_ERROR       0x00000001
4064 #define SLE_MINORERROR  0x00000002
4065 #define SLE_WARNING     0x00000003
4066
4067 /* Argument 1 passed to the DllEntryProc. */
4068 #define DLL_PROCESS_DETACH      0       /* detach process (unload library) */
4069 #define DLL_PROCESS_ATTACH      1       /* attach process (load library) */
4070 #define DLL_THREAD_ATTACH       2       /* attach new thread */
4071 #define DLL_THREAD_DETACH       3       /* detach thread */
4072
4073 typedef struct _MEMORY_BASIC_INFORMATION
4074 {
4075     LPVOID   BaseAddress;
4076     LPVOID   AllocationBase;
4077     DWORD    AllocationProtect;
4078     DWORD    RegionSize;
4079     DWORD    State;
4080     DWORD    Protect;
4081     DWORD    Type;
4082 } MEMORY_BASIC_INFORMATION,*LPMEMORY_BASIC_INFORMATION;
4083
4084
4085 typedef BOOL32 (CALLBACK *CODEPAGE_ENUMPROC32A)(LPSTR);
4086 typedef BOOL32 (CALLBACK *CODEPAGE_ENUMPROC32W)(LPWSTR);
4087 DECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC)
4088 typedef BOOL32 (CALLBACK *LOCALE_ENUMPROC32A)(LPSTR);
4089 typedef BOOL32 (CALLBACK *LOCALE_ENUMPROC32W)(LPWSTR);
4090 DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC)
4091
4092 typedef struct tagSYSTEM_INFO
4093 {
4094     union {
4095         DWORD   dwOemId;
4096         struct {
4097                 WORD wProcessorArchitecture;
4098                 WORD wReserved;
4099         } x;
4100     } u;
4101     DWORD       dwPageSize;
4102     LPVOID      lpMinimumApplicationAddress;
4103     LPVOID      lpMaximumApplicationAddress;
4104     DWORD       dwActiveProcessorMask;
4105     DWORD       dwNumberOfProcessors;
4106     DWORD       dwProcessorType;
4107     DWORD       dwAllocationGranularity;
4108     WORD        wProcessorLevel;
4109     WORD        wProcessorRevision;
4110 } SYSTEM_INFO, *LPSYSTEM_INFO;
4111
4112 /* u.x.wProcessorArchitecture (NT) */
4113 #define PROCESSOR_ARCHITECTURE_INTEL    0
4114 #define PROCESSOR_ARCHITECTURE_MIPS     1
4115 #define PROCESSOR_ARCHITECTURE_ALPHA    2
4116 #define PROCESSOR_ARCHITECTURE_PPC      3
4117 #define PROCESSOR_ARCHITECTURE_UNKNOWN  0xFFFF
4118
4119 /* dwProcessorType */
4120 #define PROCESSOR_INTEL_386     386
4121 #define PROCESSOR_INTEL_486     486
4122 #define PROCESSOR_INTEL_PENTIUM 586
4123 #define PROCESSOR_MIPS_R4000    4000
4124 #define PROCESSOR_ALPHA_21064   21064
4125
4126 /* service main function prototype */
4127 typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTION32A)(DWORD,LPSTR);
4128 typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTION32W)(DWORD,LPWSTR);
4129 DECL_WINELIB_TYPE_AW(LPSERVICE_MAIN_FUNCTION)
4130
4131 /* service start table */
4132 typedef struct
4133 {
4134     LPSTR                       lpServiceName;
4135     LPSERVICE_MAIN_FUNCTION32A  lpServiceProc;
4136 } *LPSERVICE_TABLE_ENTRY32A, SERVICE_TABLE_ENTRY32A;
4137
4138 typedef struct
4139 {
4140     LPWSTR                      lpServiceName;
4141     LPSERVICE_MAIN_FUNCTION32W  lpServiceProc;
4142 } *LPSERVICE_TABLE_ENTRY32W, SERVICE_TABLE_ENTRY32W;
4143
4144 DECL_WINELIB_TYPE_AW(SERVICE_TABLE_ENTRY)
4145 DECL_WINELIB_TYPE_AW(LPSERVICE_TABLE_ENTRY)
4146
4147 /* Used by: ControlService */
4148 typedef struct _SERVICE_STATUS {
4149     DWORD dwServiceType;
4150     DWORD dwCurrentState;
4151     DWORD dwControlsAccepted;
4152     DWORD dwWin32ExitCode;
4153     DWORD dwServiceSpecificExitCode;
4154     DWORD dwCheckPoint;
4155     DWORD dwWaitHint;
4156 } SERVICE_STATUS, *LPSERVICE_STATUS;
4157
4158
4159 /* {G,S}etPriorityClass */
4160 #define NORMAL_PRIORITY_CLASS   0x00000020
4161 #define IDLE_PRIORITY_CLASS     0x00000040
4162 #define HIGH_PRIORITY_CLASS     0x00000080
4163 #define REALTIME_PRIORITY_CLASS 0x00000100
4164
4165 /* GDI Escape commands */
4166 #define NEWFRAME                1
4167 #define ABORTDOC                2
4168 #define NEXTBAND                3
4169 #define SETCOLORTABLE           4
4170 #define GETCOLORTABLE           5
4171 #define FLUSHOUTPUT             6
4172 #define DRAFTMODE               7
4173 #define QUERYESCSUPPORT         8
4174 #define SETABORTPROC            9
4175 #define STARTDOC                10
4176 #define ENDDOC                  11
4177 #define GETPHYSPAGESIZE         12
4178 #define GETPRINTINGOFFSET       13
4179 #define GETSCALINGFACTOR        14
4180 #define MFCOMMENT               15
4181 #define GETPENWIDTH             16
4182 #define SETCOPYCOUNT            17
4183 #define SELECTPAPERSOURCE       18
4184 #define DEVICEDATA              19
4185 #define PASSTHROUGH             19
4186 #define GETTECHNOLGY            20
4187 #define GETTECHNOLOGY           20 /* yes, both of them */
4188 #define SETLINECAP              21
4189 #define SETLINEJOIN             22
4190 #define SETMITERLIMIT           23
4191 #define BANDINFO                24
4192 #define DRAWPATTERNRECT         25
4193 #define GETVECTORPENSIZE        26
4194 #define GETVECTORBRUSHSIZE      27
4195 #define ENABLEDUPLEX            28
4196 #define GETSETPAPERBINS         29
4197 #define GETSETPRINTORIENT       30
4198 #define ENUMPAPERBINS           31
4199 #define SETDIBSCALING           32
4200 #define EPSPRINTING             33
4201 #define ENUMPAPERMETRICS        34
4202 #define GETSETPAPERMETRICS      35
4203 #define POSTSCRIPT_DATA         37
4204 #define POSTSCRIPT_IGNORE       38
4205 #define MOUSETRAILS             39
4206 #define GETDEVICEUNITS          42
4207
4208 #define GETEXTENDEDTEXTMETRICS  256
4209 #define GETEXTENTTABLE          257
4210 #define GETPAIRKERNTABLE        258
4211 #define GETTRACKKERNTABLE       259
4212 #define EXTTEXTOUT              512
4213 #define GETFACENAME             513
4214 #define DOWNLOADFACE            514
4215 #define ENABLERELATIVEWIDTHS    768
4216 #define ENABLEPAIRKERNING       769
4217 #define SETKERNTRACK            770
4218 #define SETALLJUSTVALUES        771
4219 #define SETCHARSET              772
4220
4221 #define STRETCHBLT              2048
4222 #define GETSETSCREENPARAMS      3072
4223 #define QUERYDIBSUPPORT         3073
4224 #define BEGIN_PATH              4096
4225 #define CLIP_TO_PATH            4097
4226 #define END_PATH                4098
4227 #define EXT_DEVICE_CAPS         4099
4228 #define RESTORE_CTM             4100
4229 #define SAVE_CTM                4101
4230 #define SET_ARC_DIRECTION       4102
4231 #define SET_BACKGROUND_COLOR    4103
4232 #define SET_POLY_MODE           4104
4233 #define SET_SCREEN_ANGLE        4105
4234 #define SET_SPREAD              4106
4235 #define TRANSFORM_CTM           4107
4236 #define SET_CLIP_BOX            4108
4237 #define SET_BOUNDS              4109
4238 #define SET_MIRROR_MODE         4110
4239 #define OPENCHANNEL             4110
4240 #define DOWNLOADHEADER          4111
4241 #define CLOSECHANNEL            4112
4242 #define POSTSCRIPT_PASSTHROUGH  4115
4243 #define ENCAPSULATED_POSTSCRIPT 4116
4244
4245 /* Flag returned from Escape QUERYDIBSUPPORT */
4246 #define QDI_SETDIBITS           1
4247 #define QDI_GETDIBITS           2
4248 #define QDI_DIBTOSCREEN         4
4249 #define QDI_STRETCHDIB          8
4250
4251 /* Spooler Error Codes */
4252 #define SP_NOTREPORTED  0x4000
4253 #define SP_ERROR        (-1)
4254 #define SP_APPABORT     (-2)
4255 #define SP_USERABORT    (-3)
4256 #define SP_OUTOFDISK    (-4)
4257 #define SP_OUTOFMEMORY  (-5)
4258
4259 #define PR_JOBSTATUS    0x0000
4260
4261 typedef BOOL32 (CALLBACK *ENUMRESTYPEPROC32A)(HMODULE32,LPSTR,LONG);
4262 typedef BOOL32 (CALLBACK *ENUMRESTYPEPROC32W)(HMODULE32,LPWSTR,LONG);
4263 typedef BOOL32 (CALLBACK *ENUMRESNAMEPROC32A)(HMODULE32,LPCSTR,LPSTR,LONG);
4264 typedef BOOL32 (CALLBACK *ENUMRESNAMEPROC32W)(HMODULE32,LPCWSTR,LPWSTR,LONG);
4265 typedef BOOL32 (CALLBACK *ENUMRESLANGPROC32A)(HMODULE32,LPCSTR,LPCSTR,WORD,LONG);
4266 typedef BOOL32 (CALLBACK *ENUMRESLANGPROC32W)(HMODULE32,LPCWSTR,LPCWSTR,WORD,LONG);
4267
4268 DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
4269 DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
4270 DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC)
4271
4272 /* Character Type Flags */
4273 #define CT_CTYPE1               0x00000001      /* usual ctype */
4274 #define CT_CTYPE2               0x00000002      /* bidirectional layout info */
4275 #define CT_CTYPE3               0x00000004      /* textprocessing info */
4276
4277 /* CType 1 Flag Bits */
4278 #define C1_UPPER                0x0001
4279 #define C1_LOWER                0x0002
4280 #define C1_DIGIT                0x0004
4281 #define C1_SPACE                0x0008
4282 #define C1_PUNCT                0x0010
4283 #define C1_CNTRL                0x0020
4284 #define C1_BLANK                0x0040
4285 #define C1_XDIGIT               0x0080
4286 #define C1_ALPHA                0x0100
4287
4288 /* CType 2 Flag Bits */
4289 #define C2_LEFTTORIGHT          0x0001
4290 #define C2_RIGHTTOLEFT          0x0002
4291 #define C2_EUROPENUMBER         0x0003
4292 #define C2_EUROPESEPARATOR      0x0004
4293 #define C2_EUROPETERMINATOR     0x0005
4294 #define C2_ARABICNUMBER         0x0006
4295 #define C2_COMMONSEPARATOR      0x0007
4296 #define C2_BLOCKSEPARATOR       0x0008
4297 #define C2_SEGMENTSEPARATOR     0x0009
4298 #define C2_WHITESPACE           0x000A
4299 #define C2_OTHERNEUTRAL         0x000B
4300 #define C2_NOTAPPLICABLE        0x0000
4301
4302 /* CType 3 Flag Bits */
4303 #define C3_NONSPACING           0x0001
4304 #define C3_DIACRITIC            0x0002
4305 #define C3_VOWELMARK            0x0004
4306 #define C3_SYMBOL               0x0008
4307 #define C3_KATAKANA             0x0010
4308 #define C3_HIRAGANA             0x0020
4309 #define C3_HALFWIDTH            0x0040
4310 #define C3_FULLWIDTH            0x0080
4311 #define C3_IDEOGRAPH            0x0100
4312 #define C3_KASHIDA              0x0200
4313 #define C3_LEXICAL              0x0400
4314 #define C3_ALPHA                0x8000
4315 #define C3_NOTAPPLICABLE        0x0000
4316
4317 /* flags that can be passed to LoadLibraryEx */
4318 #define DONT_RESOLVE_DLL_REFERENCES     0x00000001
4319 #define LOAD_LIBRARY_AS_DATAFILE        0x00000002
4320 #define LOAD_WITH_ALTERED_SEARCH_PATH   0x00000008
4321
4322
4323 typedef struct {
4324         DWORD   dwScope;
4325         DWORD   dwType;
4326         DWORD   dwDisplayType;
4327         DWORD   dwUsage;
4328         LPSTR   lpLocalName;
4329         LPSTR   lpRemoteName;
4330         LPSTR   lpComment ;
4331         LPSTR   lpProvider;
4332 } NETRESOURCE32A,*LPNETRESOURCE32A;
4333
4334 typedef struct {
4335         DWORD   dwScope;
4336         DWORD   dwType;
4337         DWORD   dwDisplayType;
4338         DWORD   dwUsage;
4339         LPWSTR  lpLocalName;
4340         LPWSTR  lpRemoteName;
4341         LPWSTR  lpComment ;
4342         LPWSTR  lpProvider;
4343 } NETRESOURCE32W,*LPNETRESOURCE32W;
4344
4345 DECL_WINELIB_TYPE_AW(NETRESOURCE)
4346 DECL_WINELIB_TYPE_AW(LPNETRESOURCE)
4347
4348 typedef struct {
4349     DWORD cbStructure;       /* size of this structure in bytes */
4350     HWND32 hwndOwner;          /* owner window for the dialog */
4351     LPNETRESOURCE32A lpConnRes;/* Requested Resource info    */
4352     DWORD dwFlags;           /* flags (see below) */
4353     DWORD dwDevNum;          /* number of devices connected to */
4354 } CONNECTDLGSTRUCT32A, *LPCONNECTDLGSTRUCT32A;
4355 typedef struct {
4356     DWORD cbStructure;       /* size of this structure in bytes */
4357     HWND32 hwndOwner;          /* owner window for the dialog */
4358     LPNETRESOURCE32W lpConnRes;/* Requested Resource info    */
4359     DWORD dwFlags;           /* flags (see below) */
4360     DWORD dwDevNum;          /* number of devices connected to */
4361 } CONNECTDLGSTRUCT32W, *LPCONNECTDLGSTRUCT32W;
4362
4363 DECL_WINELIB_TYPE_AW(CONNECTDLGSTRUCT)
4364 DECL_WINELIB_TYPE_AW(LPCONNECTDLGSTRUCT)
4365
4366 /**/
4367 #define CONNDLG_RO_PATH     0x00000001 /* Resource path should be read-only    */
4368 #define CONNDLG_CONN_POINT  0x00000002 /* Netware -style movable connection point enabled */
4369 #define CONNDLG_USE_MRU     0x00000004 /* Use MRU combobox  */
4370 #define CONNDLG_HIDE_BOX    0x00000008 /* Hide persistent connect checkbox  */
4371 #define CONNDLG_PERSIST     0x00000010 /* Force persistent connection */
4372 #define CONNDLG_NOT_PERSIST 0x00000020 /* Force connection NOT persistent */
4373
4374
4375 typedef struct {
4376         DWORD   cbStructure;
4377         DWORD   dwFlags;
4378         DWORD   dwSpeed;
4379         DWORD   dwDelay;
4380         DWORD   dwOptDataSize;
4381 } NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
4382
4383
4384 typedef struct tagANIMATIONINFO
4385 {
4386        UINT32          cbSize;
4387        INT32           iMinAnimate;
4388 } ANIMATIONINFO, *LPANIMATIONINFO;
4389
4390 typedef struct tagNMHDR
4391 {
4392     HWND32  hwndFrom;
4393     UINT32  idFrom;
4394     UINT32  code;
4395 } NMHDR, *LPNMHDR;
4396
4397 typedef struct
4398 {
4399         UINT32  cbSize;
4400         INT32   iTabLength;
4401         INT32   iLeftMargin;
4402         INT32   iRightMargin;
4403         UINT32  uiLengthDrawn;
4404 } DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
4405
4406 /* ifdef _x86_ ... */
4407 typedef struct _LDT_ENTRY {
4408     WORD        LimitLow;
4409     WORD        BaseLow;
4410     union {
4411         struct {
4412             BYTE        BaseMid;
4413             BYTE        Flags1;/*Declare as bytes to avoid alignment problems */
4414             BYTE        Flags2; 
4415             BYTE        BaseHi;
4416         } Bytes;
4417         struct {
4418             DWORD       BaseMid         : 8;
4419             DWORD       Type            : 5;
4420             DWORD       Dpl             : 2;
4421             DWORD       Pres            : 1;
4422             DWORD       LimitHi         : 4;
4423             DWORD       Sys             : 1;
4424             DWORD       Reserved_0      : 1;
4425             DWORD       Default_Big     : 1;
4426             DWORD       Granularity     : 1;
4427             DWORD       BaseHi          : 8;
4428         } Bits;
4429     } HighWord;
4430 } LDT_ENTRY, *LPLDT_ENTRY;
4431 #define HELPINFO_WINDOW         0x0001
4432 #define HELPINFO_MENUITEM       0x0002
4433 typedef struct                  /* Structure pointed to by lParam of WM_HELP */
4434 {
4435     UINT32      cbSize;         /* Size in bytes of this struct  */
4436     INT32       iContextType;   /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
4437     INT32       iCtrlId;        /* Control Id or a Menu item Id. */
4438     HANDLE32    hItemHandle;    /* hWnd of control or hMenu.     */
4439     DWORD       dwContextId;    /* Context Id associated with this item */
4440     POINT32     MousePos;       /* Mouse Position in screen co-ordinates */
4441 }  HELPINFO,*LPHELPINFO;
4442
4443 typedef void (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
4444
4445 typedef struct /* not sure if the 16bit version is correct */
4446 {
4447     UINT32      cbSize;
4448     HWND16      hwndOwner;
4449     HINSTANCE16 hInstance;
4450     SEGPTR      lpszText;
4451     SEGPTR      lpszCaption;
4452     DWORD       dwStyle;
4453     SEGPTR      lpszIcon;
4454     DWORD       dwContextHelpId;
4455     MSGBOXCALLBACK      lpfnMsgBoxCallback;
4456     DWORD       dwLanguageId;
4457 } MSGBOXPARAMS16,*LPMSGBOXPARAMS16;
4458
4459 typedef struct
4460 {
4461     UINT32      cbSize;
4462     HWND32      hwndOwner;
4463     HINSTANCE32 hInstance;
4464     LPCSTR      lpszText;
4465     LPCSTR      lpszCaption;
4466     DWORD       dwStyle;
4467     LPCSTR      lpszIcon;
4468     DWORD       dwContextHelpId;
4469     MSGBOXCALLBACK      lpfnMsgBoxCallback;
4470     DWORD       dwLanguageId;
4471 } MSGBOXPARAMS32A,*LPMSGBOXPARAMS32A;
4472
4473 typedef struct
4474 {
4475     UINT32      cbSize;
4476     HWND32      hwndOwner;
4477     HINSTANCE32 hInstance;
4478     LPCWSTR     lpszText;
4479     LPCWSTR     lpszCaption;
4480     DWORD       dwStyle;
4481     LPCWSTR     lpszIcon;
4482     DWORD       dwContextHelpId;
4483     MSGBOXCALLBACK      lpfnMsgBoxCallback;
4484     DWORD       dwLanguageId;
4485 } MSGBOXPARAMS32W,*LPMSGBOXPARAMS32W;
4486
4487 DECL_WINELIB_TYPE_AW(MSGBOXPARAMS)
4488 DECL_WINELIB_TYPE_AW(LPMSGBOXPARAMS)
4489
4490 /* for WOWHandle{16,32} */
4491 typedef enum _WOW_HANDLE_TYPE { /* WOW */
4492     WOW_TYPE_HWND,
4493     WOW_TYPE_HMENU,
4494     WOW_TYPE_HDWP,
4495     WOW_TYPE_HDROP,
4496     WOW_TYPE_HDC,
4497     WOW_TYPE_HFONT,
4498     WOW_TYPE_HMETAFILE,
4499     WOW_TYPE_HRGN,
4500     WOW_TYPE_HBITMAP,
4501     WOW_TYPE_HBRUSH,
4502     WOW_TYPE_HPALETTE,
4503     WOW_TYPE_HPEN,
4504     WOW_TYPE_HACCEL,
4505     WOW_TYPE_HTASK,
4506     WOW_TYPE_FULLHWND
4507 } WOW_HANDLE_TYPE;
4508
4509 /* WOWCallback16Ex defines */
4510 #define WCB16_MAX_CBARGS        16
4511 /* ... dwFlags */
4512 #define WCB16_PASCAL            0x0
4513 #define WCB16_CDECL             0x1
4514
4515 typedef struct _numberfmt32a {
4516     UINT32 NumDigits;
4517     UINT32 LeadingZero;
4518     UINT32 Grouping;
4519     LPCSTR lpDecimalSep;
4520     LPCSTR lpThousandSep;
4521     UINT32 NegativeOrder;
4522 } NUMBERFMT32A;
4523
4524 typedef struct _numberfmt32w {
4525     UINT32 NumDigits;
4526     UINT32 LeadingZero;
4527     UINT32 Grouping;
4528     LPCWSTR lpDecimalSep;
4529     LPCWSTR lpThousandSep;
4530     UINT32 NegativeOrder;
4531 } NUMBERFMT32W;
4532
4533 typedef enum _GET_FILEEX_INFO_LEVELS {
4534     GetFileExInfoStandard
4535 } GET_FILEEX_INFO_LEVELS;
4536
4537 typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
4538     DWORD    dwFileAttributes;
4539     FILETIME ftCreationTime;
4540     FILETIME ftLastAccessTime;
4541     FILETIME ftLastWriteTime;
4542     DWORD    nFileSizeHigh;
4543     DWORD    nFileSizeLow;
4544 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
4545
4546 typedef struct _DllVersionInfo {
4547     DWORD cbSize;
4548     DWORD dwMajorVersion;
4549     DWORD dwMinorVersion;
4550     DWORD dwBuildNumber;
4551     DWORD dwPlatformID;
4552 } DLLVERSIONINFO;
4553
4554 typedef struct _SEGINFO {
4555     UINT16    offSegment;
4556     UINT16    cbSegment;
4557     UINT16    flags;
4558     UINT16    cbAlloc;
4559     HGLOBAL16 h;
4560     UINT16    alignShift;
4561     UINT16    reserved[2];
4562 } SEGINFO;
4563
4564 typedef struct tagDLGTEMPLATE
4565 {
4566     DWORD style;
4567     DWORD dwExtendedStyle;
4568     WORD cdit;
4569     short x;
4570     short y;
4571     short cx;
4572     short cy;
4573 }DLGTEMPLATE, *LPDLGTEMPLATE;
4574 typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
4575 /* Fixme: use this instaed of LPCVOID for CreateDialogIndirectParam and DialogBoxIndirectParam*/
4576 typedef struct tagDLGITEMTEMPLATE
4577 {
4578     DWORD style;
4579     DWORD dwExtendedStyle;
4580     WORD cdit;
4581     short x;
4582     short y;
4583     short cx;
4584     short cy;
4585     WORD id;
4586 }DLGITEMTEMPLATE, *LPDLGITEMTEMPLATE;
4587 typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATE;
4588
4589 /*
4590  * This one seems to be a Win32 only definition. It also is defined with
4591  * WINAPI instead of CALLBACK in the windows headers.
4592  */
4593 typedef DWORD (WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, 
4594                                            LARGE_INTEGER, DWORD, DWORD, HANDLE32,
4595                                            HANDLE32, LPVOID);
4596
4597 #pragma pack(4)
4598
4599 /* Declarations for functions that exist only in Win16 */
4600
4601 #ifdef __WINE__
4602 typedef VOID (*SYSTEMTIMERPROC)(WORD);
4603
4604 WORD        WINAPI AllocCStoDSAlias(WORD);
4605 WORD        WINAPI AllocDStoCSAlias(WORD);
4606 HGLOBAL16   WINAPI AllocResource(HINSTANCE16,HRSRC16,DWORD);
4607 WORD        WINAPI AllocSelector(WORD);
4608 WORD        WINAPI AllocSelectorArray(WORD);
4609 VOID        WINAPI CalcChildScroll(HWND16,WORD);
4610 VOID        WINAPI CascadeChildWindows(HWND16,WORD);
4611 INT16       WINAPI CloseComm(INT16);
4612 HGLOBAL16   WINAPI CreateCursorIconIndirect(HINSTANCE16,CURSORICONINFO*,
4613                                             LPCVOID,LPCVOID);
4614 WORD        WINAPI CreateSystemTimer(WORD,SYSTEMTIMERPROC);
4615 BOOL16      WINAPI DCHook(HDC16,WORD,DWORD,LPARAM);
4616 VOID        WINAPI DirectedYield(HTASK16);
4617 HGLOBAL16   WINAPI DirectResAlloc(HINSTANCE16,WORD,UINT16);
4618 VOID        WINAPI DisableSystemTimers(void);
4619 BOOL16      WINAPI DlgDirSelect(HWND16,LPSTR,INT16);
4620 BOOL16      WINAPI DlgDirSelectComboBox(HWND16,LPSTR,INT16);
4621 DWORD       WINAPI DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
4622 BOOL16      WINAPI EnableCommNotification(INT16,HWND16,INT16,INT16);
4623 BOOL16      WINAPI EnableHardwareInput(BOOL16);
4624 VOID        WINAPI EnableSystemTimers(void);
4625 HANDLE16    WINAPI FarGetOwner(HGLOBAL16);
4626 VOID        WINAPI FarSetOwner(HGLOBAL16,HANDLE16);
4627 FARPROC16   WINAPI FileCDR(FARPROC16);
4628 VOID        WINAPI FillWindow(HWND16,HWND16,HDC16,HBRUSH16);
4629 INT16       WINAPI FlushComm(INT16,INT16);
4630 WORD        WINAPI FreeSelector(WORD);
4631 HANDLE16    WINAPI GetAtomHandle(ATOM);
4632 HANDLE16    WINAPI GetCodeHandle(FARPROC16);
4633 INT16       WINAPI GetCommError(INT16,LPCOMSTAT);
4634 UINT16      WINAPI GetCommEventMask(INT16,UINT16);
4635 HBRUSH16    WINAPI GetControlBrush(HWND16,HDC16,UINT16);
4636 VOID        WINAPI GetCodeInfo(FARPROC16,SEGINFO*);
4637 DWORD       WINAPI GetCurrentPDB(void);
4638 HTASK16     WINAPI GetCurrentTask(void);
4639 HWND16      WINAPI GetDesktopHwnd(void);
4640 SEGPTR      WINAPI GetDOSEnvironment(void);
4641 HMODULE16   WINAPI GetExePtr(HANDLE16);
4642 WORD        WINAPI GetExeVersion(void);
4643 WORD        WINAPI GetExpWinVer(HMODULE16);
4644 DWORD       WINAPI GetFileResourceSize(LPCSTR,SEGPTR,SEGPTR,LPDWORD);
4645 DWORD       WINAPI GetFileResource(LPCSTR,SEGPTR,SEGPTR,DWORD,DWORD,LPVOID);
4646 DWORD       WINAPI GetHeapSpaces(HMODULE16);
4647 WORD        WINAPI GetIconID(HGLOBAL16,DWORD);
4648 INT16       WINAPI GetInstanceData(HINSTANCE16,WORD,INT16);
4649 BOOL16      WINAPI GetModuleName(HINSTANCE16,LPSTR,INT16);
4650 INT16       WINAPI GetModuleUsage(HINSTANCE16);
4651 FARPROC16   WINAPI GetMouseEventProc(void);
4652 UINT16      WINAPI GetNumTasks(void);
4653 DWORD       WINAPI GetSelectorBase(WORD);
4654 DWORD       WINAPI GetSelectorLimit(WORD);
4655 FARPROC16   WINAPI GetSetKernelDOSProc(FARPROC16 DosProc);
4656 HINSTANCE16 WINAPI GetTaskDS(void);
4657 HQUEUE16    WINAPI GetTaskQueue(HTASK16);
4658 BYTE        WINAPI GetTempDrive(BYTE);
4659 BOOL16      WINAPI GetWinDebugInfo(LPWINDEBUGINFO,UINT16);
4660 DWORD       WINAPI GetWinFlags(void);
4661 DWORD       WINAPI GlobalDOSAlloc(DWORD);
4662 WORD        WINAPI GlobalDOSFree(WORD);
4663 void        WINAPI GlobalFreeAll(HGLOBAL16);
4664 DWORD       WINAPI GlobalHandleNoRIP(WORD);
4665 HGLOBAL16   WINAPI GlobalLRUNewest(HGLOBAL16);
4666 HGLOBAL16   WINAPI GlobalLRUOldest(HGLOBAL16);
4667 VOID        WINAPI GlobalNotify(FARPROC16);
4668 WORD        WINAPI GlobalPageLock(HGLOBAL16);
4669 WORD        WINAPI GlobalPageUnlock(HGLOBAL16);
4670 INT16       WINAPI InitApp(HINSTANCE16);
4671 BOOL16      WINAPI IsSharedSelector(HANDLE16);
4672 BOOL16      WINAPI IsTask(HTASK16);
4673 HTASK16     WINAPI IsTaskLocked(void);
4674 BOOL16      WINAPI IsUserIdle(void);
4675 VOID        WINAPI LogError(UINT16, LPVOID);
4676 VOID        WINAPI LogParamError(UINT16,FARPROC16,LPVOID);
4677 HGLOBAL16   WINAPI LoadCursorIconHandler(HGLOBAL16,HMODULE16,HRSRC16);
4678 HGLOBAL16   WINAPI LoadDIBCursorHandler(HGLOBAL16,HMODULE16,HRSRC16);
4679 HGLOBAL16   WINAPI LoadDIBIconHandler(HGLOBAL16,HMODULE16,HRSRC16);
4680 WORD        WINAPI LocalCountFree(void);
4681 WORD        WINAPI LocalHandleDelta(WORD);
4682 WORD        WINAPI LocalHeapSize(void);
4683 HICON16     WINAPI LoadIconHandler(HGLOBAL16,BOOL16);
4684 BOOL16      WINAPI LocalInit(HANDLE16,WORD,WORD);
4685 HMODULE32   WINAPI LoadLibraryEx32W16(LPCSTR,HANDLE16,DWORD);
4686 FARPROC16   WINAPI LocalNotify(FARPROC16);
4687 HTASK16     WINAPI LockCurrentTask(BOOL16);
4688 HMENU16     WINAPI LookupMenuHandle(HMENU16,INT16);
4689 VOID        WINAPI OldYield(void);
4690 INT16       WINAPI OpenComm(LPCSTR,UINT16,UINT16);
4691 VOID        WINAPI PaintRect(HWND16,HWND16,HDC16,HBRUSH16,const RECT16*);
4692 VOID        WINAPI PostEvent(HTASK16);
4693 WORD        WINAPI PrestoChangoSelector(WORD,WORD);
4694 INT16       WINAPI ReadComm(INT16,LPSTR,INT16);
4695 BOOL32      WINAPI RegisterShellHook(HWND16,UINT16);
4696 WORD        WINAPI SelectorAccessRights(WORD,WORD,WORD);
4697 SEGPTR      WINAPI SetCommEventMask(INT16,UINT16);
4698 BOOL16      WINAPI SetDeskPattern(void);
4699 VOID        WINAPI SetPriority(HTASK16,INT16);
4700 FARPROC16   WINAPI SetResourceHandler(HINSTANCE16,SEGPTR,FARPROC16);
4701 WORD        WINAPI SetSelectorBase(WORD,DWORD);
4702 WORD        WINAPI SetSelectorLimit(WORD,DWORD);
4703 HQUEUE16    WINAPI SetTaskQueue(HTASK16,HQUEUE16);
4704 FARPROC16   WINAPI SetTaskSignalProc(HTASK16,FARPROC16);
4705 BOOL16      WINAPI SetWinDebugInfo(LPWINDEBUGINFO);
4706 VOID        WINAPI SwitchStackTo(WORD,WORD,WORD);
4707 VOID        WINAPI TileChildWindows(HWND16,WORD);
4708 INT16       WINAPI UngetCommChar(INT16,CHAR);
4709 VOID        WINAPI UserYield(void);
4710 BOOL16      WINAPI WaitEvent(HTASK16);
4711 INT16       WINAPI WriteComm(INT16,LPSTR,INT16);
4712 VOID        WINAPI WriteOutProfiles(VOID);
4713 VOID        WINAPI hmemcpy(LPVOID,LPCVOID,LONG);
4714 #endif  /* __WINE__ */
4715
4716 /* Declarations for functions that exist only in Win32 */
4717
4718 BOOL32      WINAPI AllocConsole(void);
4719 BOOL32      WINAPI AreFileApisANSI(void);
4720 BOOL32      WINAPI Beep(DWORD,DWORD);
4721 WORD        WINAPI CascadeWindows (HWND32, UINT32, const LPRECT32,
4722                                    UINT32, const HWND32 *);
4723 BOOL32      WINAPI ClearCommError(INT32,LPDWORD,LPCOMSTAT);
4724 BOOL32      WINAPI CloseHandle(HANDLE32);
4725 BOOL32      WINAPI CloseServiceHandle(HANDLE32);
4726 INT32       WINAPI CopyAcceleratorTable32A(HACCEL32,LPACCEL32,INT32);
4727 INT32       WINAPI CopyAcceleratorTable32W(HACCEL32,LPACCEL32,INT32);
4728 #define     CopyAcceleratorTable WINELIB_NAME_AW(CopyAcceleratorTable)
4729 BOOL32      WINAPI CopyFile32A(LPCSTR,LPCSTR,BOOL32);
4730 BOOL32      WINAPI CopyFile32W(LPCWSTR,LPCWSTR,BOOL32);
4731 #define     CopyFile WINELIB_NAME_AW(CopyFile)
4732 BOOL32      WINAPI CopyFileEx32A(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL32, DWORD);
4733 BOOL32      WINAPI CopyFileEx32W(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL32, DWORD);
4734 #define     CopyFileEx WINELIB_NAME_AW(CopyFileEx)
4735 INT32       WINAPI CompareFileTime(LPFILETIME,LPFILETIME);
4736 BOOL32      WINAPI ControlService(HANDLE32,DWORD,LPSERVICE_STATUS);
4737 HANDLE32    WINAPI CreateEvent32A(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCSTR);
4738 HANDLE32    WINAPI CreateEvent32W(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCWSTR);
4739 #define     CreateEvent WINELIB_NAME_AW(CreateEvent)
4740 HFILE32     WINAPI CreateFile32A(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
4741                                  DWORD,DWORD,HANDLE32);
4742 HFILE32     WINAPI CreateFile32W(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
4743                                  DWORD,DWORD,HANDLE32);
4744 #define     CreateFile WINELIB_NAME_AW(CreateFile)
4745 HANDLE32    WINAPI CreateFileMapping32A(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,
4746                                         DWORD,DWORD,LPCSTR);
4747 HANDLE32    WINAPI CreateFileMapping32W(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,
4748                                         DWORD,DWORD,LPCWSTR);
4749 #define     CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
4750 HICON32     WINAPI CreateIconIndirect(LPICONINFO);
4751 HANDLE32    WINAPI CreateMutex32A(LPSECURITY_ATTRIBUTES,BOOL32,LPCSTR);
4752 HANDLE32    WINAPI CreateMutex32W(LPSECURITY_ATTRIBUTES,BOOL32,LPCWSTR);
4753 #define     CreateMutex WINELIB_NAME_AW(CreateMutex)
4754 BOOL32      WINAPI CreateProcess32A(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,
4755                                     LPSECURITY_ATTRIBUTES,BOOL32,DWORD,LPVOID,LPCSTR,
4756                                     LPSTARTUPINFO32A,LPPROCESS_INFORMATION);
4757 BOOL32      WINAPI CreateProcess32W(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,
4758                                     LPSECURITY_ATTRIBUTES,BOOL32,DWORD,LPVOID,LPCWSTR,
4759                                     LPSTARTUPINFO32W,LPPROCESS_INFORMATION);
4760 #define     CreateProcess WINELIB_NAME_AW(CreateProcess)
4761 HANDLE32    WINAPI CreateSemaphore32A(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
4762 HANDLE32    WINAPI CreateSemaphore32W(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
4763 #define     CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
4764 HANDLE32    WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
4765 BOOL32      WINAPI DeleteService(HANDLE32);
4766 BOOL32      WINAPI DeregisterEventSource(HANDLE32);
4767 BOOL32      WINAPI DestroyAcceleratorTable(HACCEL32);
4768 BOOL32      WINAPI DisableThreadLibraryCalls(HMODULE32);
4769 BOOL32      WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
4770 BOOL32      WINAPI DuplicateHandle(HANDLE32,HANDLE32,HANDLE32,HANDLE32*,DWORD,BOOL32,DWORD);
4771 BOOL32      WINAPI EnumDateFormats32A(DATEFMT_ENUMPROC32A lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
4772 BOOL32      WINAPI EnumDateFormats32W(DATEFMT_ENUMPROC32W lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
4773 #define     EnumDateFormats WINELIB_NAME_AW(EnumDateFormats)
4774 INT32       WINAPI EnumPropsEx32A(HWND32,PROPENUMPROCEX32A,LPARAM);
4775 INT32       WINAPI EnumPropsEx32W(HWND32,PROPENUMPROCEX32W,LPARAM);
4776 #define     EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
4777 BOOL32      WINAPI EnumResourceLanguages32A(HMODULE32,LPCSTR,LPCSTR,
4778                                             ENUMRESLANGPROC32A,LONG);
4779 BOOL32      WINAPI EnumResourceLanguages32W(HMODULE32,LPCWSTR,LPCWSTR,
4780                                             ENUMRESLANGPROC32W,LONG);
4781 #define     EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
4782 BOOL32      WINAPI EnumResourceNames32A(HMODULE32,LPCSTR,ENUMRESNAMEPROC32A,
4783                                         LONG);
4784 BOOL32      WINAPI EnumResourceNames32W(HMODULE32,LPCWSTR,ENUMRESNAMEPROC32W,
4785                                         LONG);
4786 #define     EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
4787 BOOL32      WINAPI EnumResourceTypes32A(HMODULE32,ENUMRESTYPEPROC32A,LONG);
4788 BOOL32      WINAPI EnumResourceTypes32W(HMODULE32,ENUMRESTYPEPROC32W,LONG);
4789 #define     EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
4790 BOOL32      WINAPI EnumSystemCodePages32A(CODEPAGE_ENUMPROC32A,DWORD);
4791 BOOL32      WINAPI EnumSystemCodePages32W(CODEPAGE_ENUMPROC32W,DWORD);
4792 #define     EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages)
4793 BOOL32      WINAPI EnumSystemLocales32A(LOCALE_ENUMPROC32A,DWORD);
4794 BOOL32      WINAPI EnumSystemLocales32W(LOCALE_ENUMPROC32W,DWORD);
4795 #define     EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales)
4796 BOOL32      WINAPI EnumThreadWindows(DWORD,WNDENUMPROC32,LPARAM);
4797 BOOL32      WINAPI EnumTimeFormats32A(TIMEFMT_ENUMPROC32A lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
4798 BOOL32      WINAPI EnumTimeFormats32W(TIMEFMT_ENUMPROC32W lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
4799 #define     EnumTimeFormats WINELIB_NAME_AW(EnumTimeFormats)
4800 VOID        WINAPI ExitProcess(DWORD);
4801 VOID        WINAPI ExitThread(DWORD);
4802 BOOL32      WINAPI ExitWindowsEx(UINT32,DWORD);
4803 DWORD       WINAPI ExpandEnvironmentStrings32A(LPCSTR,LPSTR,DWORD);
4804 DWORD       WINAPI ExpandEnvironmentStrings32W(LPCWSTR,LPWSTR,DWORD);
4805 #define     ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
4806 BOOL32      WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
4807 BOOL32      WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
4808 BOOL32      WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
4809 HANDLE32    WINAPI FindFirstChangeNotification32A(LPCSTR,BOOL32,DWORD);
4810 HANDLE32    WINAPI FindFirstChangeNotification32W(LPCWSTR,BOOL32,DWORD);
4811 #define     FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
4812 BOOL32      WINAPI FindNextChangeNotification(HANDLE32);
4813 BOOL32      WINAPI FindCloseChangeNotification(HANDLE32);
4814 HRSRC32     WINAPI FindResourceEx32A(HMODULE32,LPCSTR,LPCSTR,WORD);
4815 HRSRC32     WINAPI FindResourceEx32W(HMODULE32,LPCWSTR,LPCWSTR,WORD);
4816 #define     FindResourceEx WINELIB_NAME_AW(FindResourceEx)
4817 BOOL32      WINAPI FlushConsoleInputBuffer(HANDLE32);
4818 BOOL32      WINAPI FlushFileBuffers(HFILE32);
4819 BOOL32      WINAPI FlushViewOfFile(LPCVOID, DWORD);
4820 DWORD       WINAPI FormatMessage32A(DWORD,LPCVOID,DWORD,DWORD,LPSTR,
4821                                     DWORD,LPDWORD);
4822 #define     FormatMessage WINELIB_NAME_AW(FormatMessage)
4823 BOOL32      WINAPI FreeConsole(void);
4824 BOOL32      WINAPI FreeEnvironmentStrings32A(LPSTR);
4825 BOOL32      WINAPI FreeEnvironmentStrings32W(LPWSTR);
4826 #define     FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
4827 UINT32      WINAPI GetACP(void);
4828 LPCSTR      WINAPI GetCommandLine32A(void);
4829 LPCWSTR     WINAPI GetCommandLine32W(void);
4830 #define     GetCommandLine WINELIB_NAME_AW(GetCommandLine)
4831 BOOL32      WINAPI GetCommTimeouts(INT32,LPCOMMTIMEOUTS);
4832 BOOL32      WINAPI GetComputerName32A(LPSTR,LPDWORD);
4833 BOOL32      WINAPI GetComputerName32W(LPWSTR,LPDWORD);
4834 #define     GetComputerName WINELIB_NAME_AW(GetComputerName)
4835 UINT32      WINAPI GetConsoleCP(void);
4836 BOOL32      WINAPI GetConsoleMode(HANDLE32,LPDWORD);
4837 UINT32      WINAPI GetConsoleOutputCP(void);
4838 DWORD       WINAPI GetConsoleTitle32A(LPSTR,DWORD);
4839 DWORD       WINAPI GetConsoleTitle32W(LPWSTR,DWORD);
4840 #define     GetConsoleTitle WINELIB_NAME_AW(GetConsoleTitle)
4841 BOOL32      WINAPI GetCPInfo(UINT32,LPCPINFO);
4842 BOOL32      WINAPI GetCommMask(HANDLE32, LPDWORD);
4843 BOOL32      WINAPI GetCommModemStatus(HANDLE32, LPDWORD);
4844 HANDLE32    WINAPI GetCurrentProcess(void);
4845 DWORD       WINAPI GetCurrentProcessId(void);
4846 HANDLE32    WINAPI GetCurrentThread(void);
4847 DWORD       WINAPI GetCurrentThreadId(void);
4848 INT32       WINAPI GetDateFormat32A(LCID,DWORD,LPSYSTEMTIME,LPCSTR,LPSTR,INT32);
4849 INT32       WINAPI GetDateFormat32W(LCID,DWORD,LPSYSTEMTIME,LPCWSTR,LPWSTR,INT32);
4850 #define     GetDateFormat WINELIB_NAME_AW(GetDateFormat)
4851 LPSTR       WINAPI GetEnvironmentStrings32A(void);
4852 LPWSTR      WINAPI GetEnvironmentStrings32W(void);
4853 #define     GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
4854 DWORD       WINAPI GetEnvironmentVariable32A(LPCSTR,LPSTR,DWORD);
4855 DWORD       WINAPI GetEnvironmentVariable32W(LPCWSTR,LPWSTR,DWORD);
4856 #define     GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
4857 BOOL32      WINAPI GetFileAttributesEx32A(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
4858 BOOL32      WINAPI GetFileAttributesEx32W(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
4859 #define     GetFileattributesEx WINELIB_NAME_AW(GetFileAttributesEx)
4860 DWORD       WINAPI GetFileInformationByHandle(HFILE32,BY_HANDLE_FILE_INFORMATION*);
4861 BOOL32      WINAPI GetFileSecurity32A(LPCSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
4862 BOOL32      WINAPI GetFileSecurity32W(LPCWSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
4863 #define     GetFileSecurity WINELIB_NAME_AW(GetFileSecurity)
4864 DWORD       WINAPI GetFileSize(HFILE32,LPDWORD);
4865 BOOL32      WINAPI GetFileTime(HFILE32,LPFILETIME,LPFILETIME,LPFILETIME);
4866 DWORD       WINAPI GetFileType(HFILE32);
4867 DWORD       WINAPI GetFullPathName32A(LPCSTR,DWORD,LPSTR,LPSTR*);
4868 DWORD       WINAPI GetFullPathName32W(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
4869 #define     GetFullPathName WINELIB_NAME_AW(GetFullPathName)
4870 BOOL32      WINAPI GetHandleInformation(HANDLE32,LPDWORD);
4871 BOOL32      WINAPI GetIconInfo(HICON32,LPICONINFO);
4872 DWORD       WINAPI GetLargestConsoleWindowSize(HANDLE32);
4873 VOID        WINAPI GetLocalTime(LPSYSTEMTIME);
4874 DWORD       WINAPI GetLogicalDrives(void);
4875 DWORD       WINAPI GetLongPathName32A(LPCSTR,LPSTR,DWORD);
4876 DWORD       WINAPI GetLongPathName32W(LPCWSTR,LPWSTR,DWORD);
4877 #define     GetLongPathName WINELIB_NAME_AW(GetLongPathName)
4878 DWORD       WINAPI GetMenuContextHelpId32(HMENU32);
4879 #define     GetMenuContextHelpId WINELIB_NAME(GetMenuContextHelpId)
4880 UINT32      WINAPI GetMenuDefaultItem32(HMENU32,UINT32,UINT32);
4881 #define     GetMenuDefaultItem WINELIB_NAME(GetMenuDefaultItem)
4882 BOOL32      WINAPI GetMenuItemInfo32A(HMENU32,UINT32,BOOL32,MENUITEMINFO32A*);
4883 BOOL32      WINAPI GetMenuItemInfo32W(HMENU32,UINT32,BOOL32,MENUITEMINFO32W*);
4884 #define     GetMenuItemInfo WINELIB_NAME_AW(GetMenuItemInfo)
4885 INT32       WINAPI GetNumberFormat32A(LCID,DWORD,LPCSTR,const NUMBERFMT32A*,LPSTR,int);
4886 INT32       WINAPI GetNumberFormat32W(LCID,DWORD,LPCWSTR,const NUMBERFMT32W*,LPWSTR,int);
4887 #define     GetNumberFormat WINELIB_NAME_AW(GetNumberFormat);
4888 BOOL32      WINAPI GetNumberOfConsoleInputEvents(HANDLE32,LPDWORD);
4889 BOOL32      WINAPI GetNumberOfConsoleMouseButtons(LPDWORD);
4890 UINT32      WINAPI GetOEMCP(void);
4891 DWORD       WINAPI GetPriorityClass(HANDLE32);
4892 HANDLE32    WINAPI GetProcessHeap(void);
4893 DWORD       WINAPI GetProcessVersion(DWORD);
4894 DWORD       WINAPI GetShortPathName32A(LPCSTR,LPSTR,DWORD);
4895 DWORD       WINAPI GetShortPathName32W(LPCWSTR,LPWSTR,DWORD);
4896 #define     GetShortPathName WINELIB_NAME_AW(GetShortPathName)
4897 HFILE32     WINAPI GetStdHandle(DWORD);
4898 BOOL32      WINAPI GetStringTypeEx32A(LCID,DWORD,LPCSTR,INT32,LPWORD);
4899 BOOL32      WINAPI GetStringTypeEx32W(LCID,DWORD,LPCWSTR,INT32,LPWORD);
4900 #define     GetStringTypeEx WINELIB_NAME_AW(GetStringTypeEx)
4901 VOID        WINAPI GetSystemInfo(LPSYSTEM_INFO);
4902 BOOL32      WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
4903 VOID        WINAPI GetSystemTime(LPSYSTEMTIME);
4904 INT32       WINAPI GetTimeFormat32A(LCID,DWORD,LPSYSTEMTIME,LPCSTR,LPSTR,INT32);
4905 INT32       WINAPI GetTimeFormat32W(LCID,DWORD,LPSYSTEMTIME,LPCWSTR,LPWSTR,INT32);
4906 #define     GetTimeFormat WINELIB_NAME_AW(GetTimeFormat)
4907 LCID        WINAPI GetThreadLocale(void);
4908 INT32       WINAPI GetThreadPriority(HANDLE32);
4909 BOOL32      WINAPI GetThreadSelectorEntry(HANDLE32,DWORD,LPLDT_ENTRY);
4910 BOOL32      WINAPI GetUserName32A(LPSTR,LPDWORD);
4911 BOOL32      WINAPI GetUserName32W(LPWSTR,LPDWORD);
4912 #define     GetUserName WINELIB_NAME_AW(GetUserName)
4913 DWORD       WINAPI GetWindowContextHelpId(HWND32);
4914 DWORD       WINAPI GetWindowThreadProcessId(HWND32,LPDWORD);
4915 VOID        WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
4916 LPVOID      WINAPI HeapAlloc(HANDLE32,DWORD,DWORD);
4917 DWORD       WINAPI HeapCompact(HANDLE32,DWORD);
4918 HANDLE32    WINAPI HeapCreate(DWORD,DWORD,DWORD);
4919 BOOL32      WINAPI HeapDestroy(HANDLE32);
4920 BOOL32      WINAPI HeapFree(HANDLE32,DWORD,LPVOID);
4921 BOOL32      WINAPI HeapLock(HANDLE32);
4922 LPVOID      WINAPI HeapReAlloc(HANDLE32,DWORD,LPVOID,DWORD);
4923 DWORD       WINAPI HeapSize(HANDLE32,DWORD,LPVOID);
4924 BOOL32      WINAPI HeapUnlock(HANDLE32);
4925 BOOL32      WINAPI HeapValidate(HANDLE32,DWORD,LPCVOID);
4926 LONG        WINAPI InterlockedDecrement(LPLONG);
4927 LONG        WINAPI InterlockedExchange(LPLONG,LONG);
4928 LONG        WINAPI InterlockedIncrement(LPLONG);
4929 BOOL32      WINAPI IsDBCSLeadByteEx(UINT32,BYTE);
4930 BOOL32      WINAPI IsProcessorFeaturePresent(DWORD);
4931 BOOL32      WINAPI IsWindowUnicode(HWND32);
4932 BOOL32      WINAPI IsValidLocale(DWORD,DWORD);
4933 HKL32       WINAPI LoadKeyboardLayout32A(LPCSTR,UINT32);
4934 HKL32       WINAPI LoadKeyboardLayout32W(LPCWSTR,UINT32);
4935 #define     LoadKeyboardLayout WINELIB_NAME_AW(LoadKeyboardLayout)
4936 BOOL32      WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
4937 BOOL32      WINAPI LockFile(HFILE32,DWORD,DWORD,DWORD,DWORD);
4938 BOOL32      WINAPI LookupPrivilegeValue32A(LPCSTR,LPCSTR,LPVOID);
4939 BOOL32      WINAPI LookupPrivilegeValue32W(LPCWSTR,LPCWSTR,LPVOID);
4940 #define     LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
4941 HMODULE32   WINAPI MapHModuleSL(HMODULE16);
4942 HMODULE16   WINAPI MapHModuleLS(HMODULE32);
4943 SEGPTR      WINAPI MapLS(LPVOID);
4944 LPVOID      WINAPI MapSL(SEGPTR);
4945 LPVOID      WINAPI MapViewOfFile(HANDLE32,DWORD,DWORD,DWORD,DWORD);
4946 LPVOID      WINAPI MapViewOfFileEx(HANDLE32,DWORD,DWORD,DWORD,DWORD,LPVOID);
4947 INT32       WINAPI MessageBoxEx32A(HWND32,LPCSTR,LPCSTR,UINT32,WORD);
4948 INT32       WINAPI MessageBoxEx32W(HWND32,LPCWSTR,LPCWSTR,UINT32,WORD);
4949 #define     MessageBoxEx WINELIB_NAME_AW(MessageBoxEx)
4950 HMONITOR    WINAPI MonitorFromPoint(POINT32,DWORD);
4951 HMONITOR    WINAPI MonitorFromRect(LPRECT32,DWORD);
4952 HMONITOR    WINAPI MonitorFromWindow(HWND32,DWORD);
4953 BOOL32      WINAPI MoveFile32A(LPCSTR,LPCSTR);
4954 BOOL32      WINAPI MoveFile32W(LPCWSTR,LPCWSTR);
4955 #define     MoveFile WINELIB_NAME_AW(MoveFile)
4956 BOOL32      WINAPI MoveFileEx32A(LPCSTR,LPCSTR,DWORD);
4957 BOOL32      WINAPI MoveFileEx32W(LPCWSTR,LPCWSTR,DWORD);
4958 #define     MoveFileEx WINELIB_NAME_AW(MoveFileEx)
4959 DWORD       WINAPI MsgWaitForMultipleObjects(DWORD,HANDLE32*,BOOL32,DWORD,DWORD);
4960 INT32       WINAPI MultiByteToWideChar(UINT32,DWORD,LPCSTR,INT32,LPWSTR,INT32);
4961 INT32       WINAPI WideCharToMultiByte(UINT32,DWORD,LPCWSTR,INT32,LPSTR,INT32,LPCSTR,BOOL32*);
4962 HANDLE32    WINAPI OpenEvent32A(DWORD,BOOL32,LPCSTR);
4963 HANDLE32    WINAPI OpenEvent32W(DWORD,BOOL32,LPCWSTR);
4964 #define     OpenEvent WINELIB_NAME_AW(OpenEvent)
4965 HANDLE32    WINAPI OpenFileMapping32A(DWORD,BOOL32,LPCSTR);
4966 HANDLE32    WINAPI OpenFileMapping32W(DWORD,BOOL32,LPCWSTR);
4967 #define     OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
4968 HANDLE32    WINAPI OpenMutex32A(DWORD,BOOL32,LPCSTR);
4969 HANDLE32    WINAPI OpenMutex32W(DWORD,BOOL32,LPCWSTR);
4970 #define     OpenMutex WINELIB_NAME_AW(OpenMutex)
4971 HANDLE32    WINAPI OpenProcess(DWORD,BOOL32,DWORD);
4972 BOOL32      WINAPI OpenProcessToken(HANDLE32,DWORD,HANDLE32*);
4973 HANDLE32    WINAPI OpenSCManager32A(LPCSTR,LPCSTR,DWORD);
4974 HANDLE32    WINAPI OpenSCManager32W(LPCWSTR,LPCWSTR,DWORD);
4975 #define     OpenSCManager WINELIB_NAME_AW(OpenSCManager)
4976 HANDLE32    WINAPI OpenSemaphore32A(DWORD,BOOL32,LPCSTR);
4977 HANDLE32    WINAPI OpenSemaphore32W(DWORD,BOOL32,LPCWSTR);
4978 #define     OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
4979 HANDLE32    WINAPI OpenService32A(HANDLE32,LPCSTR,DWORD);
4980 HANDLE32    WINAPI OpenService32W(HANDLE32,LPCWSTR,DWORD);
4981 #define     OpenService WINELIB_NAME_AW(OpenService)
4982 BOOL32      WINAPI PaintDesktop(HDC32);
4983 BOOL32      WINAPI PostThreadMessage32A(DWORD, UINT32, WPARAM32, LPARAM);
4984 BOOL32      WINAPI PostThreadMessage32W(DWORD, UINT32, WPARAM32, LPARAM);
4985 #define     PostThreadMessage WINELIB_NAME_AW(PostThreadMessage)
4986 BOOL32      WINAPI PulseEvent(HANDLE32);
4987 BOOL32      WINAPI PurgeComm(HANDLE32,DWORD);
4988 DWORD       WINAPI QueryDosDevice32A(LPCSTR,LPSTR,DWORD);
4989 DWORD       WINAPI QueryDosDevice32W(LPCWSTR,LPWSTR,DWORD);
4990 #define     QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
4991 BOOL32      WINAPI QueryPerformanceCounter(LPLARGE_INTEGER);
4992 BOOL32      WINAPI ReadConsole32A(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
4993 BOOL32      WINAPI ReadConsole32W(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
4994 #define     ReadConsole WINELIB_NAME_AW(ReadConsole)
4995 BOOL32      WINAPI ReadConsoleOutputCharacter32A(HANDLE32,LPSTR,DWORD,
4996                                                  COORD,LPDWORD);
4997 #define     ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter)
4998 BOOL32      WINAPI ReadFile(HANDLE32,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
4999 LONG        WINAPI RegConnectRegistry32A(LPCSTR,HKEY,LPHKEY);
5000 LONG        WINAPI RegConnectRegistry32W(LPCWSTR,HKEY,LPHKEY);
5001 #define     RegConnectRegistry WINELIB_NAME_AW(RegConnectRegistry)
5002 DWORD       WINAPI RegCreateKeyEx32A(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,
5003                                      LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
5004 DWORD       WINAPI RegCreateKeyEx32W(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,
5005                                      LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
5006 #define     RegCreateKeyEx WINELIB_NAME_AW(RegCreateKeyEx)
5007 DWORD       WINAPI RegEnumKeyEx32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPSTR,
5008                                    LPDWORD,LPFILETIME);
5009 DWORD       WINAPI RegEnumKeyEx32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPWSTR,
5010                                    LPDWORD,LPFILETIME);
5011 #define     RegEnumKeyEx WINELIB_NAME_AW(RegEnumKeyEx)
5012 LONG        WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,LPDWORD);
5013 HANDLE32    WINAPI RegisterEventSource32A(LPCSTR,LPCSTR);
5014 HANDLE32    WINAPI RegisterEventSource32W(LPCWSTR,LPCWSTR);
5015 #define     RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
5016 LONG        WINAPI RegLoadKey32A(HKEY,LPCSTR,LPCSTR);
5017 LONG        WINAPI RegLoadKey32W(HKEY,LPCWSTR,LPCWSTR);
5018 #define     RegLoadKey WINELIB_NAME_AW(RegLoadKey)
5019 LONG        WINAPI RegNotifyChangeKeyValue(HKEY,BOOL32,DWORD,HANDLE32,BOOL32);
5020 DWORD       WINAPI RegOpenKeyEx32W(HKEY,LPCWSTR,DWORD,REGSAM,LPHKEY);
5021 DWORD       WINAPI RegOpenKeyEx32A(HKEY,LPCSTR,DWORD,REGSAM,LPHKEY);
5022 #define     RegOpenKeyEx WINELIB_NAME_AW(RegOpenKeyEx)
5023 DWORD       WINAPI RegQueryInfoKey32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPDWORD,
5024                                       LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
5025                                       LPDWORD,LPFILETIME);
5026 DWORD       WINAPI RegQueryInfoKey32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPDWORD,
5027                                       LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
5028                                       LPDWORD,LPFILETIME);
5029 #define     RegQueryInfoKey WINELIB_NAME_AW(RegQueryInfoKey)
5030 LONG        WINAPI RegReplaceKey32A(HKEY,LPCSTR,LPCSTR,LPCSTR);
5031 LONG        WINAPI RegReplaceKey32W(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
5032 #define     RegReplaceKey WINELIB_NAME_AW(RegReplaceKey)
5033 LONG        WINAPI RegRestoreKey32A(HKEY,LPCSTR,DWORD);
5034 LONG        WINAPI RegRestoreKey32W(HKEY,LPCWSTR,DWORD);
5035 #define     RegRestoreKey WINELIB_NAME_AW(RegRestoreKey)
5036 LONG        WINAPI RegSaveKey32A(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
5037 LONG        WINAPI RegSaveKey32W(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
5038 #define     RegSaveKey WINELIB_NAME_AW(RegSaveKey)
5039 LONG        WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
5040 LONG        WINAPI RegUnLoadKey32A(HKEY,LPCSTR);
5041 LONG        WINAPI RegUnLoadKey32W(HKEY,LPCWSTR);
5042 #define     RegUnLoadKey WINELIB_NAME_AW(RegUnLoadKey)
5043 BOOL32      WINAPI ReleaseSemaphore(HANDLE32,LONG,LPLONG);
5044 BOOL32      WINAPI ResetEvent(HANDLE32);
5045 DWORD       WINAPI ResumeThread(HANDLE32);
5046 UINT32      WINAPI ReuseDDElParam(UINT32,UINT32,UINT32,UINT32,UINT32);
5047 VOID        WINAPI RtlFillMemory(LPVOID,UINT32,UINT32);
5048 VOID        WINAPI RtlMoveMemory(LPVOID,LPCVOID,UINT32);
5049 VOID        WINAPI RtlZeroMemory(LPVOID,UINT32);
5050 DWORD       WINAPI SearchPath32A(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
5051 DWORD       WINAPI SearchPath32W(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
5052 #define     SearchPath WINELIB_NAME(SearchPath)
5053 BOOL32      WINAPI SendNotifyMessage32A(HWND32,UINT32,WPARAM32,LPARAM);
5054 BOOL32      WINAPI SendNotifyMessage32W(HWND32,UINT32,WPARAM32,LPARAM);
5055 #define     SendNotifyMessage WINELIB_NAME_AW(SendNotifyMessage)
5056 BOOL32      WINAPI SetCommMask(INT32,DWORD);
5057 BOOL32      WINAPI SetCommTimeouts(INT32,LPCOMMTIMEOUTS);
5058 BOOL32      WINAPI SetComputerName32A(LPCSTR);
5059 BOOL32      WINAPI SetComputerName32W(LPCWSTR);
5060 #define     SetComputerName WINELIB_NAME_AW(SetComputerName)
5061 BOOL32      WINAPI SetConsoleCursorPosition(HANDLE32,COORD);
5062 BOOL32      WINAPI SetConsoleMode(HANDLE32,DWORD);
5063 BOOL32      WINAPI SetConsoleTitle32A(LPCSTR);
5064 BOOL32      WINAPI SetConsoleTitle32W(LPCWSTR);
5065 #define     SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
5066 VOID        WINAPI SetDebugErrorLevel(DWORD);
5067 BOOL32      WINAPI SetEndOfFile(HFILE32);
5068 BOOL32      WINAPI SetEnvironmentVariable32A(LPCSTR,LPCSTR);
5069 BOOL32      WINAPI SetEnvironmentVariable32W(LPCWSTR,LPCWSTR);
5070 #define     SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
5071 BOOL32      WINAPI SetEvent(HANDLE32);
5072 VOID        WINAPI SetFileApisToANSI(void);
5073 VOID        WINAPI SetFileApisToOEM(void);
5074 DWORD       WINAPI SetFilePointer(HFILE32,LONG,LPLONG,DWORD);
5075 BOOL32      WINAPI SetFileSecurity32A(LPCSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
5076 BOOL32      WINAPI SetFileSecurity32W(LPCWSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
5077 #define     SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
5078 BOOL32      WINAPI SetFileTime(HFILE32,const FILETIME*,const FILETIME*,
5079                                const FILETIME*);
5080 BOOL32      WINAPI SetHandleInformation(HANDLE32,DWORD,DWORD);
5081 VOID        WINAPI SetLastErrorEx(DWORD,DWORD);
5082 BOOL32      WINAPI SetMenuDefaultItem32(HMENU32,UINT32,UINT32);
5083 #define     SetMenuDefaultItem WINELIB_NAME(SetMenuDefaultItem)
5084 BOOL32      WINAPI SetMenuItemInfo32A(HMENU32,UINT32,BOOL32,const MENUITEMINFO32A*);
5085 BOOL32      WINAPI SetMenuItemInfo32W(HMENU32,UINT32,BOOL32,const MENUITEMINFO32W*);
5086 #define     SetMenuItemInfo WINELIB_NAME_AW(SetMenuItemInfo)
5087 BOOL32      WINAPI SetPriorityClass(HANDLE32,DWORD);
5088 BOOL32      WINAPI SetStdHandle(DWORD,HANDLE32);
5089 BOOL32      WINAPI SetSystemPowerState(BOOL32,BOOL32);
5090 BOOL32      WINAPI SetSystemTime(const SYSTEMTIME*);
5091 BOOL32      WINAPI SetThreadPriority(HANDLE32,INT32);
5092 BOOL32      WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
5093 BOOL32      WINAPI SetWindowContextHelpId(HWND32,DWORD);
5094 VOID        WINAPI Sleep(DWORD);
5095 DWORD       WINAPI SleepEx(DWORD,BOOL32);
5096 BOOL32      WINAPI StartService32A(HANDLE32,DWORD,LPCSTR*);
5097 BOOL32      WINAPI StartService32W(HANDLE32,DWORD,LPCWSTR*);
5098 #define     StartService WINELIB_NAME_AW(StartService)
5099 DWORD       WINAPI SuspendThread(HANDLE32);
5100 BOOL32      WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
5101 WORD        WINAPI TileWindows (HWND32, UINT32, const LPRECT32,
5102                                 UINT32, const HWND32 *);
5103 BOOL32      WINAPI TrackPopupMenuEx(HMENU32,UINT32,INT32,INT32,HWND32,
5104                                     LPTPMPARAMS);
5105 DWORD       WINAPI TlsAlloc(void);
5106 BOOL32      WINAPI TlsFree(DWORD);
5107 LPVOID      WINAPI TlsGetValue(DWORD);
5108 BOOL32      WINAPI TlsSetValue(DWORD,LPVOID);
5109 VOID        WINAPI UnMapLS(SEGPTR);
5110 BOOL32      WINAPI UnlockFile(HFILE32,DWORD,DWORD,DWORD,DWORD);
5111 BOOL32      WINAPI UnmapViewOfFile(LPVOID);
5112 UINT32      WINAPI UnpackDDElParam(UINT32,UINT32,UINT32*,UINT32*);
5113 LPVOID      WINAPI VirtualAlloc(LPVOID,DWORD,DWORD,DWORD);
5114 BOOL32      WINAPI VirtualFree(LPVOID,DWORD,DWORD);
5115 BOOL32      WINAPI VirtualLock(LPVOID,DWORD);
5116 BOOL32      WINAPI VirtualProtect(LPVOID,DWORD,DWORD,LPDWORD);
5117 BOOL32      WINAPI VirtualProtectEx(HANDLE32,LPVOID,DWORD,DWORD,LPDWORD);
5118 DWORD       WINAPI VirtualQuery(LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
5119 DWORD       WINAPI VirtualQueryEx(HANDLE32,LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
5120 BOOL32      WINAPI VirtualUnlock(LPVOID,DWORD);
5121 BOOL32      WINAPI WaitCommEvent(HANDLE32,LPDWORD,LPOVERLAPPED);
5122 BOOL32      WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
5123 DWORD       WINAPI WaitForInputIdle(HANDLE32,DWORD);
5124 DWORD       WINAPI WaitForMultipleObjects(DWORD,const HANDLE32*,BOOL32,DWORD);
5125 DWORD       WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE32*,BOOL32,DWORD,BOOL32);
5126 DWORD       WINAPI WaitForSingleObject(HANDLE32,DWORD);
5127 DWORD       WINAPI WaitForSingleObjectEx(HANDLE32,DWORD,BOOL32);
5128 UINT32      WINAPI WNetAddConnection2_32A(LPNETRESOURCE32A,LPCSTR,LPCSTR,DWORD);
5129 UINT32      WINAPI WNetAddConnection2_32W(LPNETRESOURCE32W,LPCWSTR,LPCWSTR,DWORD);
5130 #define     WNetAddConnection2 WINELIB_NAME_AW(WNetAddConnection2_)
5131 UINT32      WINAPI WNetAddConnection3_32A(HWND32,LPNETRESOURCE32A,LPCSTR,LPCSTR,DWORD);
5132 UINT32      WINAPI WNetAddConnection3_32W(HWND32,LPNETRESOURCE32W,LPCWSTR,LPCWSTR,DWORD);
5133 #define     WNetAddConnection3 WINELIB_NAME_AW(WNetAddConnection3_)
5134 UINT32      WINAPI WNetConnectionDialog1_32(HWND32,DWORD);
5135 UINT32      WINAPI WNetConnectionDialog1_32A(LPCONNECTDLGSTRUCT32A);
5136 UINT32      WINAPI WNetConnectionDialog1_32W(LPCONNECTDLGSTRUCT32W);
5137 #define     WNetConnectionDialog1 WINELIB_NAME_AW(WNetConnectionDialog1_)
5138 UINT32      WINAPI MultinetGetErrorText32A(DWORD,DWORD,DWORD);
5139 UINT32      WINAPI MultinetGetErrorText32W(DWORD,DWORD,DWORD);
5140 #define     MultinetGetErrorText WINELIB_NAME_AW(MultinetGetErrorText_)
5141 SEGPTR      WINAPI WOWGlobalAllocLock16(DWORD,DWORD,HGLOBAL16*);
5142 DWORD       WINAPI WOWCallback16(FARPROC16,DWORD);
5143 BOOL32      WINAPI WOWCallback16Ex(FARPROC16,DWORD,DWORD,LPVOID,LPDWORD);
5144 HANDLE32    WINAPI WOWHandle32(WORD,WOW_HANDLE_TYPE);
5145 WORD        WINAPI WOWHandle16(HANDLE32,WOW_HANDLE_TYPE);
5146 BOOL32      WINAPI WriteConsole32A(HANDLE32,LPCVOID,DWORD,LPDWORD,LPVOID);
5147 BOOL32      WINAPI WriteConsole32W(HANDLE32,LPCVOID,DWORD,LPDWORD,LPVOID);
5148 #define     WriteConsole WINELIB_NAME_AW(WriteConsole)
5149 BOOL32      WINAPI WriteFile(HANDLE32,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
5150 VOID        WINAPI ZeroMemory(LPVOID,UINT32);
5151 #define     ZeroMemory RtlZeroMemory
5152 VOID        WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
5153 VOID        WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,DWORD);
5154
5155 /* Declarations for functions that are the same in Win16 and Win32 */
5156
5157 VOID        WINAPI CloseSound(VOID);
5158 VOID        WINAPI EndMenu(void);
5159 DWORD       WINAPI GetDialogBaseUnits(void);
5160 VOID        WINAPI GetKeyboardState(LPBYTE);
5161 DWORD       WINAPI GetLastError(void);
5162 DWORD       WINAPI GetMenuCheckMarkDimensions(void);
5163 LONG        WINAPI GetMessageExtraInfo(void);
5164 DWORD       WINAPI GetMessagePos(void);
5165 LONG        WINAPI GetMessageTime(void);
5166 LANGID      WINAPI GetSystemDefaultLangID(void);
5167 LCID        WINAPI GetSystemDefaultLCID(void);
5168 DWORD       WINAPI GetTickCount(void);
5169 LANGID      WINAPI GetUserDefaultLangID(void);
5170 LCID        WINAPI GetUserDefaultLCID(void);
5171 ATOM        WINAPI GlobalDeleteAtom(ATOM);
5172 VOID        WINAPI LZDone(void);
5173 VOID        WINAPI ScreenSwitchEnable(WORD);
5174 DWORD       WINAPI OemKeyScan(WORD);
5175 DWORD       WINAPI RegCloseKey(HKEY);
5176 DWORD       WINAPI RegFlushKey(HKEY);
5177 VOID        WINAPI ReleaseCapture(void);
5178 VOID        WINAPI SetKeyboardState(LPBYTE);
5179 VOID        WINAPI SetLastError(DWORD);
5180 VOID        WINAPI WaitMessage(VOID);
5181
5182
5183 /* Declarations for functions that change between Win16 and Win32 */
5184
5185 LRESULT     WINAPI AboutDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
5186 LRESULT     WINAPI AboutDlgProc32(HWND32,UINT32,WPARAM32,LPARAM);
5187 #define     AboutDlgProc WINELIB_NAME(AboutDlgProc)
5188 INT16       WINAPI AccessResource16(HINSTANCE16,HRSRC16);
5189 INT32       WINAPI AccessResource32(HMODULE32,HRSRC32);
5190 #define     AccessResource WINELIB_NAME(AccessResource)
5191 ATOM        WINAPI AddAtom16(SEGPTR);
5192 ATOM        WINAPI AddAtom32A(LPCSTR);
5193 ATOM        WINAPI AddAtom32W(LPCWSTR);
5194 #define     AddAtom WINELIB_NAME_AW(AddAtom)
5195 BOOL16      WINAPI AdjustWindowRect16(LPRECT16,DWORD,BOOL16);
5196 BOOL32      WINAPI AdjustWindowRect32(LPRECT32,DWORD,BOOL32);
5197 #define     AdjustWindowRect WINELIB_NAME(AdjustWindowRect)
5198 BOOL16      WINAPI AdjustWindowRectEx16(LPRECT16,DWORD,BOOL16,DWORD);
5199 BOOL32      WINAPI AdjustWindowRectEx32(LPRECT32,DWORD,BOOL32,DWORD);
5200 #define     AdjustWindowRectEx WINELIB_NAME(AdjustWindowRectEx)
5201 SEGPTR      WINAPI AnsiLower16(SEGPTR);
5202 #define     AnsiLower32A CharLower32A
5203 #define     AnsiLower32W CharLower32W
5204 #define     AnsiLower WINELIB_NAME_AW(AnsiLower)
5205 UINT16      WINAPI AnsiLowerBuff16(LPSTR,UINT16);
5206 #define     AnsiLowerBuff32A CharLowerBuff32A
5207 #define     AnsiLowerBuff32W CharLowerBuff32W
5208 #define     AnsiLowerBuff WINELIB_NAME_AW(AnsiLowerBuff)
5209 SEGPTR      WINAPI AnsiNext16(SEGPTR);
5210 #define     AnsiNext32A CharNext32A
5211 #define     AnsiNext32W CharNext32W
5212 #define     AnsiNext WINELIB_NAME_AW(AnsiNext)
5213 SEGPTR      WINAPI AnsiPrev16(SEGPTR,SEGPTR);
5214 #define     AnsiPrev32A CharPrev32A
5215 #define     AnsiPrev32W CharPrev32W
5216 #define     AnsiPrev WINELIB_NAME_AW(AnsiPrev)
5217 INT16       WINAPI AnsiToOem16(LPCSTR,LPSTR);
5218 #define     AnsiToOem32A CharToOem32A
5219 #define     AnsiToOem32W CharToOem32W
5220 #define     AnsiToOem WINELIB_NAME_AW(AnsiToOem)
5221 VOID        WINAPI AnsiToOemBuff16(LPCSTR,LPSTR,UINT16);
5222 #define     AnsiToOemBuff32A CharToOemBuff32A
5223 #define     AnsiToOemBuff32W CharToOemBuff32W
5224 #define     AnsiToOemBuff WINELIB_NAME_AW(AnsiToOemBuff)
5225 SEGPTR      WINAPI AnsiUpper16(SEGPTR);
5226 #define     AnsiUpper32A CharUpper32A
5227 #define     AnsiUpper32W CharUpper32W
5228 #define     AnsiUpper WINELIB_NAME_AW(AnsiUpper)
5229 UINT16      WINAPI AnsiUpperBuff16(LPSTR,UINT16);
5230 #define     AnsiUpperBuff32A CharUpperBuff32A
5231 #define     AnsiUpperBuff32W CharUpperBuff32W
5232 #define     AnsiUpperBuff WINELIB_NAME_AW(AnsiUpperBuff)
5233 BOOL16      WINAPI AnyPopup16(void);
5234 BOOL32      WINAPI AnyPopup32(void);
5235 #define     AnyPopup WINELIB_NAME(AnyPopup)
5236 BOOL16      WINAPI AppendMenu16(HMENU16,UINT16,UINT16,SEGPTR);
5237 BOOL32      WINAPI AppendMenu32A(HMENU32,UINT32,UINT32,LPCSTR);
5238 BOOL32      WINAPI AppendMenu32W(HMENU32,UINT32,UINT32,LPCWSTR);
5239 #define     AppendMenu WINELIB_NAME_AW(AppendMenu)
5240 UINT16      WINAPI ArrangeIconicWindows16(HWND16);
5241 UINT32      WINAPI ArrangeIconicWindows32(HWND32);
5242 #define     ArrangeIconicWindows WINELIB_NAME(ArrangeIconicWindows)
5243 HDWP16      WINAPI BeginDeferWindowPos16(INT16);
5244 HDWP32      WINAPI BeginDeferWindowPos32(INT32);
5245 #define     BeginDeferWindowPos WINELIB_NAME(BeginDeferWindowPos)
5246 BOOL16      WINAPI BringWindowToTop16(HWND16);
5247 BOOL32      WINAPI BringWindowToTop32(HWND32);
5248 #define     BringWindowToTop WINELIB_NAME(BringWindowToTop)
5249 BOOL16      WINAPI BuildCommDCB16(LPCSTR,LPDCB16);
5250 BOOL32      WINAPI BuildCommDCB32A(LPCSTR,LPDCB32);
5251 BOOL32      WINAPI BuildCommDCB32W(LPCWSTR,LPDCB32);
5252 #define     BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
5253 BOOL32      WINAPI BuildCommDCBAndTimeouts32A(LPCSTR,LPDCB32,LPCOMMTIMEOUTS);
5254 BOOL32      WINAPI BuildCommDCBAndTimeouts32W(LPCWSTR,LPDCB32,LPCOMMTIMEOUTS);
5255 #define     BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
5256 BOOL16      WINAPI CallMsgFilter16(SEGPTR,INT16);
5257 BOOL32      WINAPI CallMsgFilter32A(LPMSG32,INT32);
5258 BOOL32      WINAPI CallMsgFilter32W(LPMSG32,INT32);
5259 #define     CallMsgFilter WINELIB_NAME_AW(CallMsgFilter)
5260 LRESULT     WINAPI CallNextHookEx16(HHOOK,INT16,WPARAM16,LPARAM);
5261 LRESULT     WINAPI CallNextHookEx32(HHOOK,INT32,WPARAM32,LPARAM);
5262 #define     CallNextHookEx WINELIB_NAME(CallNextHookEx)
5263 LRESULT     WINAPI CallWindowProc16(WNDPROC16,HWND16,UINT16,WPARAM16,LPARAM);
5264 LRESULT     WINAPI CallWindowProc32A(WNDPROC32,HWND32,UINT32,WPARAM32,LPARAM);
5265 LRESULT     WINAPI CallWindowProc32W(WNDPROC32,HWND32,UINT32,WPARAM32,LPARAM);
5266 #define     CallWindowProc WINELIB_NAME_AW(CallWindowProc)
5267 BOOL16      WINAPI ChangeClipboardChain16(HWND16,HWND16);
5268 BOOL32      WINAPI ChangeClipboardChain32(HWND32,HWND32);
5269 #define     ChangeClipboardChain WINELIB_NAME(ChangeClipboardChain)
5270 BOOL16      WINAPI ChangeMenu16(HMENU16,UINT16,SEGPTR,UINT16,UINT16);
5271 BOOL32      WINAPI ChangeMenu32A(HMENU32,UINT32,LPCSTR,UINT32,UINT32);
5272 BOOL32      WINAPI ChangeMenu32W(HMENU32,UINT32,LPCWSTR,UINT32,UINT32);
5273 #define     ChangeMenu WINELIB_NAME_AW(ChangeMenu)
5274 LPSTR       WINAPI CharLower32A(LPSTR);
5275 LPWSTR      WINAPI CharLower32W(LPWSTR);
5276 #define     CharLower WINELIB_NAME_AW(CharLower)
5277 DWORD       WINAPI CharLowerBuff32A(LPSTR,DWORD);
5278 DWORD       WINAPI CharLowerBuff32W(LPWSTR,DWORD);
5279 #define     CharLowerBuff WINELIB_NAME_AW(CharLowerBuff)
5280 LPSTR       WINAPI CharNext32A(LPCSTR);
5281 LPWSTR      WINAPI CharNext32W(LPCWSTR);
5282 #define     CharNext WINELIB_NAME_AW(CharNext)
5283 LPSTR       WINAPI CharNextEx32A(WORD,LPCSTR,DWORD);
5284 LPWSTR      WINAPI CharNextEx32W(WORD,LPCWSTR,DWORD);
5285 #define     CharNextEx WINELIB_NAME_AW(CharNextEx)
5286 LPSTR       WINAPI CharPrev32A(LPCSTR,LPCSTR);
5287 LPWSTR      WINAPI CharPrev32W(LPCWSTR,LPCWSTR);
5288 #define     CharPrev WINELIB_NAME_AW(CharPrev)
5289 LPSTR       WINAPI CharPrevEx32A(WORD,LPCSTR,LPCSTR,DWORD);
5290 LPWSTR      WINAPI CharPrevEx32W(WORD,LPCWSTR,LPCWSTR,DWORD);
5291 #define     CharPrevEx WINELIB_NAME_AW(CharPrevEx)
5292 LPSTR       WINAPI CharUpper32A(LPSTR);
5293 LPWSTR      WINAPI CharUpper32W(LPWSTR);
5294 #define     CharUpper WINELIB_NAME_AW(CharUpper)
5295 DWORD       WINAPI CharUpperBuff32A(LPSTR,DWORD);
5296 DWORD       WINAPI CharUpperBuff32W(LPWSTR,DWORD);
5297 #define     CharUpperBuff WINELIB_NAME_AW(CharUpperBuff)
5298 BOOL32      WINAPI CharToOem32A(LPCSTR,LPSTR);
5299 BOOL32      WINAPI CharToOem32W(LPCWSTR,LPSTR);
5300 #define     CharToOem WINELIB_NAME_AW(CharToOem)
5301 BOOL32      WINAPI CharToOemBuff32A(LPCSTR,LPSTR,DWORD);
5302 BOOL32      WINAPI CharToOemBuff32W(LPCWSTR,LPSTR,DWORD);
5303 #define     CharToOemBuff WINELIB_NAME_AW(CharToOemBuff)
5304 BOOL16      WINAPI CheckDlgButton16(HWND16,INT16,UINT16);
5305 BOOL32      WINAPI CheckDlgButton32(HWND32,INT32,UINT32);
5306 #define     CheckDlgButton WINELIB_NAME(CheckDlgButton)
5307 BOOL16      WINAPI CheckMenuItem16(HMENU16,UINT16,UINT16);
5308 DWORD       WINAPI CheckMenuItem32(HMENU32,UINT32,UINT32);
5309 #define     CheckMenuItem WINELIB_NAME(CheckMenuItem)
5310 BOOL16      WINAPI CheckMenuRadioButton16(HMENU16,UINT16,UINT16,UINT16,BOOL16);
5311 BOOL32      WINAPI CheckMenuRadioButton32(HMENU32,UINT32,UINT32,UINT32,BOOL32);
5312 #define     CheckMenuRadioButton WINELIB_NAME(CheckMenuRadioButton)
5313 BOOL16      WINAPI CheckMenuRadioItem16(HMENU16,UINT16,UINT16,UINT16,UINT16);
5314 BOOL32      WINAPI CheckMenuRadioItem32(HMENU32,UINT32,UINT32,UINT32,UINT32);
5315 #define     CheckMenuRadioItem WINELIB_NAME(CheckMenuRadioItem)
5316 BOOL16      WINAPI CheckRadioButton16(HWND16,UINT16,UINT16,UINT16);
5317 BOOL32      WINAPI CheckRadioButton32(HWND32,UINT32,UINT32,UINT32);
5318 #define     CheckRadioButton WINELIB_NAME(CheckRadioButton)
5319 HWND16      WINAPI ChildWindowFromPoint16(HWND16,POINT16);
5320 HWND32      WINAPI ChildWindowFromPoint32(HWND32,POINT32);
5321 #define     ChildWindowFromPoint WINELIB_NAME(ChildWindowFromPoint)
5322 HWND16      WINAPI ChildWindowFromPointEx16(HWND16,POINT16,UINT16);
5323 HWND32      WINAPI ChildWindowFromPointEx32(HWND32,POINT32,UINT32);
5324 #define     ChildWindowFromPointEx WINELIB_NAME(ChildWindowFromPointEx)
5325 INT16       WINAPI ClearCommBreak16(INT16);
5326 BOOL32      WINAPI ClearCommBreak32(INT32);
5327 #define     ClearCommBreak WINELIB_NAME(ClearCommBreak)
5328 VOID        WINAPI ClientToScreen16(HWND16,LPPOINT16);
5329 BOOL32      WINAPI ClientToScreen32(HWND32,LPPOINT32);
5330 #define     ClientToScreen WINELIB_NAME(ClientToScreen)
5331 BOOL16      WINAPI ClipCursor16(const RECT16*);
5332 BOOL32      WINAPI ClipCursor32(const RECT32*);
5333 #define     ClipCursor WINELIB_NAME(ClipCursor)
5334 BOOL16      WINAPI CloseClipboard16(void);
5335 BOOL32      WINAPI CloseClipboard32(void);
5336 #define     CloseClipboard WINELIB_NAME(CloseClipboard)
5337 BOOL16      WINAPI CloseWindow16(HWND16);
5338 BOOL32      WINAPI CloseWindow32(HWND32);
5339 #define     CloseWindow WINELIB_NAME(CloseWindow)
5340 UINT16      WINAPI CompareString16(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
5341 UINT32      WINAPI CompareString32A(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
5342 UINT32      WINAPI CompareString32W(DWORD,DWORD,LPCWSTR,DWORD,LPCWSTR,DWORD);
5343 #define     CompareString WINELIB_NAME_AW(CompareString)
5344 HCURSOR16   WINAPI CopyCursor16(HINSTANCE16,HCURSOR16);
5345 #define     CopyCursor32(cur) ((HCURSOR32)CopyIcon32((HICON32)(cur)))
5346 #define     CopyCursor WINELIB_NAME(CopyCursor)
5347 HICON16     WINAPI CopyIcon16(HINSTANCE16,HICON16);
5348 HICON32     WINAPI CopyIcon32(HICON32);
5349 #define     CopyIcon WINELIB_NAME(CopyIcon)
5350 HICON16     WINAPI CopyImage16(HANDLE16,UINT16,INT16,INT16,UINT16);
5351 HICON32     WINAPI CopyImage32(HANDLE32,UINT32,INT32,INT32,UINT32);
5352 #define     CopyImage WINELIB_NAME(CopyImage)
5353 LONG        WINAPI CopyLZFile16(HFILE16,HFILE16);
5354 LONG        WINAPI CopyLZFile32(HFILE32,HFILE32);
5355 #define     CopyLZFile WINELIB_NAME(CopyLZFile)
5356 BOOL16      WINAPI CopyRect16(RECT16*,const RECT16*);
5357 BOOL32      WINAPI CopyRect32(RECT32*,const RECT32*);
5358 #define     CopyRect WINELIB_NAME(CopyRect)
5359 INT16       WINAPI CountClipboardFormats16(void);
5360 INT32       WINAPI CountClipboardFormats32(void);
5361 #define     CountClipboardFormats WINELIB_NAME(CountClipboardFormats)
5362 INT16       WINAPI CountVoiceNotes16(INT16);
5363 DWORD       WINAPI CountVoiceNotes32(DWORD);
5364 #define     CountVoiceNotes WINELIB_NAME(CountVoiceNotes)
5365 VOID        WINAPI CreateCaret16(HWND16,HBITMAP16,INT16,INT16);
5366 BOOL32      WINAPI CreateCaret32(HWND32,HBITMAP32,INT32,INT32);
5367 #define     CreateCaret WINELIB_NAME(CreateCaret)
5368 HCURSOR16   WINAPI CreateCursor16(HINSTANCE16,INT16,INT16,INT16,INT16,LPCVOID,LPCVOID);
5369 HCURSOR32   WINAPI CreateCursor32(HINSTANCE32,INT32,INT32,INT32,INT32,LPCVOID,LPCVOID);
5370 #define     CreateCursor WINELIB_NAME(CreateCursor)
5371 HWND16      WINAPI CreateDialog16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
5372 #define     CreateDialog32A(inst,ptr,hwnd,dlg) \
5373            CreateDialogParam32A(inst,ptr,hwnd,dlg,0)
5374 #define     CreateDialog32W(inst,ptr,hwnd,dlg) \
5375            CreateDialogParam32W(inst,ptr,hwnd,dlg,0)
5376 #define     CreateDialog WINELIB_NAME_AW(CreateDialog)
5377 HWND16      WINAPI CreateDialogIndirect16(HINSTANCE16,LPCVOID,HWND16,DLGPROC16);
5378 #define     CreateDialogIndirect32A(inst,ptr,hwnd,dlg) \
5379            CreateDialogIndirectParam32A(inst,ptr,hwnd,dlg,0)
5380 #define     CreateDialogIndirect32W(inst,ptr,hwnd,dlg) \
5381            CreateDialogIndirectParam32W(inst,ptr,hwnd,dlg,0)
5382 #define     CreateDialogIndirect WINELIB_NAME_AW(CreateDialogIndirect)
5383 HWND16      WINAPI CreateDialogIndirectParam16(HINSTANCE16,LPCVOID,HWND16,
5384                                                DLGPROC16,LPARAM);
5385 HWND32      WINAPI CreateDialogIndirectParam32A(HINSTANCE32,LPCVOID,HWND32,
5386                                                 DLGPROC32,LPARAM);
5387 HWND32      WINAPI CreateDialogIndirectParam32W(HINSTANCE32,LPCVOID,HWND32,
5388                                                 DLGPROC32,LPARAM);
5389 #define     CreateDialogIndirectParam WINELIB_NAME_AW(CreateDialogIndirectParam)
5390 HWND16      WINAPI CreateDialogParam16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16,LPARAM);
5391 HWND32      WINAPI CreateDialogParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
5392 HWND32      WINAPI CreateDialogParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
5393 #define     CreateDialogParam WINELIB_NAME_AW(CreateDialogParam)
5394 BOOL16      WINAPI CreateDirectory16(LPCSTR,LPVOID);
5395 BOOL32      WINAPI CreateDirectory32A(LPCSTR,LPSECURITY_ATTRIBUTES);
5396 BOOL32      WINAPI CreateDirectory32W(LPCWSTR,LPSECURITY_ATTRIBUTES);
5397 #define     CreateDirectory WINELIB_NAME_AW(CreateDirectory)
5398 BOOL32      WINAPI CreateDirectoryEx32A(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
5399 BOOL32      WINAPI CreateDirectoryEx32W(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
5400 #define     CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
5401 HICON16     WINAPI CreateIcon16(HINSTANCE16,INT16,INT16,BYTE,BYTE,LPCVOID,LPCVOID);
5402 HICON32     WINAPI CreateIcon32(HINSTANCE32,INT32,INT32,BYTE,BYTE,LPCVOID,LPCVOID);
5403 #define     CreateIcon WINELIB_NAME(CreateIcon)
5404 HICON16     WINAPI CreateIconFromResource16(LPBYTE,UINT16,BOOL16,DWORD);
5405 HICON32     WINAPI CreateIconFromResource32(LPBYTE,UINT32,BOOL32,DWORD);
5406 #define     CreateIconFromResource WINELIB_NAME(CreateIconFromResource)
5407 HICON16     WINAPI CreateIconFromResourceEx16(LPBYTE,UINT16,BOOL16,DWORD,INT16,INT16,UINT16);
5408 HICON32     WINAPI CreateIconFromResourceEx32(LPBYTE,UINT32,BOOL32,DWORD,INT32,INT32,UINT32);
5409 #define     CreateIconFromResourceEx WINELIB_NAME(CreateIconFromResourceEx)
5410 HMENU16     WINAPI CreateMenu16(void);
5411 HMENU32     WINAPI CreateMenu32(void);
5412 #define     CreateMenu WINELIB_NAME(CreateMenu)
5413 HMENU16     WINAPI CreatePopupMenu16(void);
5414 HMENU32     WINAPI CreatePopupMenu32(void);
5415 #define     CreatePopupMenu WINELIB_NAME(CreatePopupMenu)
5416 HWND16      WINAPI CreateWindow16(LPCSTR,LPCSTR,DWORD,INT16,INT16,INT16,INT16,
5417                                   HWND16,HMENU16,HINSTANCE16,LPVOID);
5418 #define     CreateWindow32A(className,titleName,style,x,y,width,height,\
5419                             parent,menu,instance,param) \
5420             CreateWindowEx32A(0,className,titleName,style,x,y,width,height,\
5421                               parent,menu,instance,param)
5422 #define     CreateWindow32W(className,titleName,style,x,y,width,height,\
5423                             parent,menu,instance,param) \
5424             CreateWindowEx32W(0,className,titleName,style,x,y,width,height,\
5425                               parent,menu,instance,param)
5426 #define     CreateWindow WINELIB_NAME_AW(CreateWindow)
5427 HWND16      WINAPI CreateWindowEx16(DWORD,LPCSTR,LPCSTR,DWORD,INT16,INT16,
5428                                 INT16,INT16,HWND16,HMENU16,HINSTANCE16,LPVOID);
5429 HWND32      WINAPI CreateWindowEx32A(DWORD,LPCSTR,LPCSTR,DWORD,INT32,INT32,
5430                                 INT32,INT32,HWND32,HMENU32,HINSTANCE32,LPVOID);
5431 HWND32      WINAPI CreateWindowEx32W(DWORD,LPCWSTR,LPCWSTR,DWORD,INT32,INT32,
5432                                 INT32,INT32,HWND32,HMENU32,HINSTANCE32,LPVOID);
5433 #define     CreateWindowEx WINELIB_NAME_AW(CreateWindowEx)
5434 HWND32      WINAPI CreateMDIWindow32A(LPCSTR,LPCSTR,DWORD,INT32,INT32,
5435                                 INT32,INT32,HWND32,HINSTANCE32,LPARAM);
5436 HWND32      WINAPI CreateMDIWindow32W(LPCWSTR,LPCWSTR,DWORD,INT32,INT32,
5437                                 INT32,INT32,HWND32,HINSTANCE32,LPARAM);
5438 #define     CreateMDIWindow WINELIB_NAME_AW(CreateMDIWindow)
5439 LRESULT     WINAPI DefDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
5440 LRESULT     WINAPI DefDlgProc32A(HWND32,UINT32,WPARAM32,LPARAM);
5441 LRESULT     WINAPI DefDlgProc32W(HWND32,UINT32,WPARAM32,LPARAM);
5442 #define     DefDlgProc WINELIB_NAME_AW(DefDlgProc)
5443 HDWP16      WINAPI DeferWindowPos16(HDWP16,HWND16,HWND16,INT16,INT16,INT16,INT16,UINT16);
5444 HDWP32      WINAPI DeferWindowPos32(HDWP32,HWND32,HWND32,INT32,INT32,INT32,INT32,UINT32);
5445 #define     DeferWindowPos WINELIB_NAME(DeferWindowPos)
5446 LRESULT     WINAPI DefFrameProc16(HWND16,HWND16,UINT16,WPARAM16,LPARAM);
5447 LRESULT     WINAPI DefFrameProc32A(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
5448 LRESULT     WINAPI DefFrameProc32W(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
5449 #define     DefFrameProc WINELIB_NAME_AW(DefFrameProc)
5450 LRESULT     WINAPI DefHookProc16(INT16,WPARAM16,LPARAM,HHOOK*);
5451 #define     DefHookProc32(code,wparam,lparam,phhook) \
5452             CallNextHookEx32(*(phhook),code,wparam,lparam)
5453 #define     DefHookProc WINELIB_NAME(DefHookProc)
5454 LRESULT     WINAPI DefMDIChildProc16(HWND16,UINT16,WPARAM16,LPARAM);
5455 LRESULT     WINAPI DefMDIChildProc32A(HWND32,UINT32,WPARAM32,LPARAM);
5456 LRESULT     WINAPI DefMDIChildProc32W(HWND32,UINT32,WPARAM32,LPARAM);
5457 #define     DefMDIChildProc WINELIB_NAME_AW(DefMDIChildProc)
5458 LRESULT     WINAPI DefWindowProc16(HWND16,UINT16,WPARAM16,LPARAM);
5459 LRESULT     WINAPI DefWindowProc32A(HWND32,UINT32,WPARAM32,LPARAM);
5460 LRESULT     WINAPI DefWindowProc32W(HWND32,UINT32,WPARAM32,LPARAM);
5461 #define     DefWindowProc WINELIB_NAME_AW(DefWindowProc)
5462 BOOL16      WINAPI DefineHandleTable16(WORD);
5463 #define     DefineHandleTable32(w) ((w),TRUE)
5464 #define     DefineHandleTable WINELIB_NAME(DefineHandleTable)
5465 ATOM        WINAPI DeleteAtom16(ATOM);
5466 ATOM        WINAPI DeleteAtom32(ATOM);
5467 #define     DeleteAtom WINELIB_NAME(DeleteAtom)
5468 BOOL16      WINAPI DeleteFile16(LPCSTR);
5469 BOOL32      WINAPI DeleteFile32A(LPCSTR);
5470 BOOL32      WINAPI DeleteFile32W(LPCWSTR);
5471 #define     DeleteFile WINELIB_NAME_AW(DeleteFile)
5472 BOOL16      WINAPI DeleteMenu16(HMENU16,UINT16,UINT16);
5473 BOOL32      WINAPI DeleteMenu32(HMENU32,UINT32,UINT32);
5474 #define     DeleteMenu WINELIB_NAME(DeleteMenu)
5475 VOID        WINAPI DestroyCaret16(void);
5476 BOOL32      WINAPI DestroyCaret32(void);
5477 #define     DestroyCaret WINELIB_NAME(DestroyCaret)
5478 BOOL16      WINAPI DestroyCursor16(HCURSOR16);
5479 BOOL32      WINAPI DestroyCursor32(HCURSOR32);
5480 #define     DestroyCursor WINELIB_NAME(DestroyCursor)
5481 BOOL16      WINAPI DestroyIcon16(HICON16);
5482 BOOL32      WINAPI DestroyIcon32(HICON32);
5483 #define     DestroyIcon WINELIB_NAME(DestroyIcon)
5484 BOOL16      WINAPI DestroyMenu16(HMENU16);
5485 BOOL32      WINAPI DestroyMenu32(HMENU32);
5486 #define     DestroyMenu WINELIB_NAME(DestroyMenu)
5487 BOOL16      WINAPI DestroyWindow16(HWND16);
5488 BOOL32      WINAPI DestroyWindow32(HWND32);
5489 #define     DestroyWindow WINELIB_NAME(DestroyWindow)
5490 INT16       WINAPI DialogBox16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
5491 #define     DialogBox32A(inst,template,owner,func) \
5492             DialogBoxParam32A(inst,template,owner,func,0)
5493 #define     DialogBox32W(inst,template,owner,func) \
5494             DialogBoxParam32W(inst,template,owner,func,0)
5495 #define     DialogBox WINELIB_NAME_AW(DialogBox)
5496 INT16       WINAPI DialogBoxIndirect16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16);
5497 #define     DialogBoxIndirect32A(inst,template,owner,func) \
5498             DialogBoxIndirectParam32A(inst,template,owner,func,0)
5499 #define     DialogBoxIndirect32W(inst,template,owner,func) \
5500             DialogBoxIndirectParam32W(inst,template,owner,func,0)
5501 #define     DialogBoxIndirect WINELIB_NAME_AW(DialogBoxIndirect)
5502 INT16       WINAPI DialogBoxIndirectParam16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16,LPARAM);
5503 INT32       WINAPI DialogBoxIndirectParam32A(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
5504 INT32       WINAPI DialogBoxIndirectParam32W(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
5505 #define     DialogBoxIndirectParam WINELIB_NAME_AW(DialogBoxIndirectParam)
5506 INT16       WINAPI DialogBoxParam16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16,LPARAM);
5507 INT32       WINAPI DialogBoxParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
5508 INT32       WINAPI DialogBoxParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
5509 #define     DialogBoxParam WINELIB_NAME_AW(DialogBoxParam)
5510 LONG        WINAPI DispatchMessage16(const MSG16*);
5511 LONG        WINAPI DispatchMessage32A(const MSG32*);
5512 LONG        WINAPI DispatchMessage32W(const MSG32*);
5513 #define     DispatchMessage WINELIB_NAME_AW(DispatchMessage)
5514 INT16       WINAPI DlgDirList16(HWND16,LPSTR,INT16,INT16,UINT16);
5515 INT32       WINAPI DlgDirList32A(HWND32,LPSTR,INT32,INT32,UINT32);
5516 INT32       WINAPI DlgDirList32W(HWND32,LPWSTR,INT32,INT32,UINT32);
5517 #define     DlgDirList WINELIB_NAME_AW(DlgDirList)
5518 INT16       WINAPI DlgDirListComboBox16(HWND16,LPSTR,INT16,INT16,UINT16);
5519 INT32       WINAPI DlgDirListComboBox32A(HWND32,LPSTR,INT32,INT32,UINT32);
5520 INT32       WINAPI DlgDirListComboBox32W(HWND32,LPWSTR,INT32,INT32,UINT32);
5521 #define     DlgDirListComboBox WINELIB_NAME_AW(DlgDirListComboBox)
5522 BOOL16      WINAPI DlgDirSelectComboBoxEx16(HWND16,LPSTR,INT16,INT16);
5523 BOOL32      WINAPI DlgDirSelectComboBoxEx32A(HWND32,LPSTR,INT32,INT32);
5524 BOOL32      WINAPI DlgDirSelectComboBoxEx32W(HWND32,LPWSTR,INT32,INT32);
5525 #define     DlgDirSelectComboBoxEx WINELIB_NAME_AW(DlgDirSelectComboBoxEx)
5526 BOOL16      WINAPI DlgDirSelectEx16(HWND16,LPSTR,INT16,INT16);
5527 BOOL32      WINAPI DlgDirSelectEx32A(HWND32,LPSTR,INT32,INT32);
5528 BOOL32      WINAPI DlgDirSelectEx32W(HWND32,LPWSTR,INT32,INT32);
5529 #define     DlgDirSelectEx WINELIB_NAME_AW(DlgDirSelectEx)
5530 BOOL16      WINAPI DragDetect16(HWND16,POINT16);
5531 BOOL32      WINAPI DragDetect32(HWND32,POINT32);
5532 #define     DragDetect WINELIB_NAME(DragDetect)
5533 DWORD       WINAPI DragObject16(HWND16,HWND16,UINT16,HANDLE16,WORD,HCURSOR16);
5534 DWORD       WINAPI DragObject32(HWND32,HWND32,UINT32,DWORD,HCURSOR32);
5535 #define     DragObject WINELIB_NAME(DragObject)
5536 BOOL32      WINAPI DrawAnimatedRects32(HWND32,int,const RECT32*,const RECT32*);
5537 #define     DrawAnimatedRects WINELIB_NAME(DrawAnimatedRects)
5538 BOOL16      WINAPI DrawCaption16(HWND16,HDC16,const RECT16*,UINT16);
5539 BOOL32      WINAPI DrawCaption32(HWND32,HDC32,const RECT32*,UINT32);
5540 #define     DrawCaption WINELIB_NAME(DrawCaption)
5541 BOOL16      WINAPI DrawCaptionTemp16(HWND16,HDC16, const RECT16*,HFONT16,HICON16,LPCSTR,UINT16);
5542 BOOL32      WINAPI DrawCaptionTemp32A(HWND32,HDC32,const RECT32*,HFONT32,HICON32,LPCSTR,UINT32);
5543 BOOL32      WINAPI DrawCaptionTemp32W(HWND32,HDC32,const RECT32*,HFONT32,HICON32,LPCWSTR,UINT32);
5544 #define     DrawCaptionTemp WINELIB_NAME_AW(DrawCaptionTemp)
5545 BOOL16      WINAPI DrawEdge16(HDC16,LPRECT16,UINT16,UINT16);
5546 BOOL32      WINAPI DrawEdge32(HDC32,LPRECT32,UINT32,UINT32);
5547 #define     DrawEdge WINELIB_NAME(DrawEdge)
5548 void        WINAPI DrawFocusRect16(HDC16,const RECT16*);
5549 void        WINAPI DrawFocusRect32(HDC32,const RECT32*);
5550 #define     DrawFocusRect WINELIB_NAME(DrawFocusRect)
5551 BOOL16      WINAPI DrawFrameControl16(HDC16,LPRECT16,UINT16,UINT16);
5552 BOOL32      WINAPI DrawFrameControl32(HDC32,LPRECT32,UINT32,UINT32);
5553 #define     DrawFrameControl WINELIB_NAME(DrawFrameControl)
5554 BOOL16      WINAPI DrawIcon16(HDC16,INT16,INT16,HICON16);
5555 BOOL32      WINAPI DrawIcon32(HDC32,INT32,INT32,HICON32);
5556 #define     DrawIcon WINELIB_NAME(DrawIcon)
5557 BOOL16      WINAPI DrawIconEx16(HDC16,INT16,INT16,HICON16,INT16,INT16,
5558                                 UINT16,HBRUSH16,UINT16);
5559 BOOL32      WINAPI DrawIconEx32(HDC32,INT32,INT32,HICON32,INT32,INT32,
5560                                 UINT32,HBRUSH32,UINT32);
5561 #define     DrawIconEx WINELIB_NAME(DrawIconEx)
5562 VOID        WINAPI DrawMenuBar16(HWND16);
5563 BOOL32      WINAPI DrawMenuBar32(HWND32);
5564 #define     DrawMenuBar WINELIB_NAME(DrawMenuBar)
5565 BOOL16      WINAPI DrawState16A(HDC16,HBRUSH16,DRAWSTATEPROC16,LPARAM,WPARAM16,INT16,INT16,INT16,INT16,UINT16);
5566 BOOL32      WINAPI DrawState32A(HDC32,HBRUSH32,DRAWSTATEPROC32,LPARAM,WPARAM32,INT32,INT32,INT32,INT32,UINT32);
5567 BOOL32      WINAPI DrawState32W(HDC32,HBRUSH32,DRAWSTATEPROC32,LPARAM,WPARAM32,INT32,INT32,INT32,INT32,UINT32);
5568 #define     DrawState WINELIB_NAME_AW(DrawState)
5569 INT16       WINAPI DrawText16(HDC16,LPCSTR,INT16,LPRECT16,UINT16);
5570 INT32       WINAPI DrawText32A(HDC32,LPCSTR,INT32,LPRECT32,UINT32);
5571 INT32       WINAPI DrawText32W(HDC32,LPCWSTR,INT32,LPRECT32,UINT32);
5572 #define     DrawText WINELIB_NAME_AW(DrawText)
5573 BOOL16      WINAPI EmptyClipboard16(void);
5574 BOOL32      WINAPI EmptyClipboard32(void);
5575 #define     EmptyClipboard WINELIB_NAME(EmptyClipboard)
5576 UINT16      WINAPI EnableMenuItem16(HMENU16,UINT16,UINT16);
5577 UINT32      WINAPI EnableMenuItem32(HMENU32,UINT32,UINT32);
5578 #define     EnableMenuItem WINELIB_NAME(EnableMenuItem)
5579 BOOL16      WINAPI EnableScrollBar16(HWND16,INT16,UINT16);
5580 BOOL32      WINAPI EnableScrollBar32(HWND32,INT32,UINT32);
5581 #define     EnableScrollBar WINELIB_NAME(EnableScrollBar)
5582 BOOL16      WINAPI EnableWindow16(HWND16,BOOL16);
5583 BOOL32      WINAPI EnableWindow32(HWND32,BOOL32);
5584 #define     EnableWindow WINELIB_NAME(EnableWindow)
5585 BOOL16      WINAPI EndDeferWindowPos16(HDWP16);
5586 BOOL32      WINAPI EndDeferWindowPos32(HDWP32);
5587 #define     EndDeferWindowPos WINELIB_NAME(EndDeferWindowPos)
5588 BOOL16      WINAPI EndDialog16(HWND16,INT16);
5589 BOOL32      WINAPI EndDialog32(HWND32,INT32);
5590 #define     EndDialog WINELIB_NAME(EndDialog)
5591 BOOL16      WINAPI EnumChildWindows16(HWND16,WNDENUMPROC16,LPARAM);
5592 BOOL32      WINAPI EnumChildWindows32(HWND32,WNDENUMPROC32,LPARAM);
5593 #define     EnumChildWindows WINELIB_NAME(EnumChildWindows)
5594 UINT16      WINAPI EnumClipboardFormats16(UINT16);
5595 UINT32      WINAPI EnumClipboardFormats32(UINT32);
5596 #define     EnumClipboardFormats WINELIB_NAME(EnumClipboardFormats)
5597 INT16       WINAPI EnumProps16(HWND16,PROPENUMPROC16);
5598 INT32       WINAPI EnumProps32A(HWND32,PROPENUMPROC32A);
5599 INT32       WINAPI EnumProps32W(HWND32,PROPENUMPROC32W);
5600 #define     EnumProps WINELIB_NAME_AW(EnumProps)
5601 BOOL16      WINAPI EnumTaskWindows16(HTASK16,WNDENUMPROC16,LPARAM);
5602 #define     EnumTaskWindows32(handle,proc,lparam) \
5603             EnumThreadWindows(handle,proc,lparam)
5604 #define     EnumTaskWindows WINELIB_NAME(EnumTaskWindows)
5605 BOOL16      WINAPI EnumWindows16(WNDENUMPROC16,LPARAM);
5606 BOOL32      WINAPI EnumWindows32(WNDENUMPROC32,LPARAM);
5607 #define     EnumWindows WINELIB_NAME(EnumWindows)
5608 BOOL16      WINAPI EqualRect16(const RECT16*,const RECT16*);
5609 BOOL32      WINAPI EqualRect32(const RECT32*,const RECT32*);
5610 #define     EqualRect WINELIB_NAME(EqualRect)
5611 LONG        WINAPI EscapeCommFunction16(UINT16,UINT16);
5612 BOOL32      WINAPI EscapeCommFunction32(INT32,UINT32);
5613 #define     EscapeCommFunction WINELIB_NAME(EscapeCommFunction)
5614 INT16       WINAPI ExcludeUpdateRgn16(HDC16,HWND16);
5615 INT32       WINAPI ExcludeUpdateRgn32(HDC32,HWND32);
5616 #define     ExcludeUpdateRgn WINELIB_NAME(ExcludeUpdateRgn)
5617 BOOL16      WINAPI ExitWindows16(DWORD,UINT16);
5618 #define     ExitWindows32(a,b) ExitWindowsEx(EWX_LOGOFF,0xffffffff)
5619 #define     ExitWindows WINELIB_NAME(ExitWindows)
5620 HICON16     WINAPI ExtractIcon16(HINSTANCE16,LPCSTR,UINT16);
5621 HICON32     WINAPI ExtractIcon32A(HINSTANCE32,LPCSTR,UINT32);
5622 HICON32     WINAPI ExtractIcon32W(HINSTANCE32,LPCWSTR,UINT32);
5623 #define     ExtractIcon WINELIB_NAME_AW(ExtractIcon)
5624 HICON16     WINAPI ExtractAssociatedIcon16(HINSTANCE16,LPSTR,LPWORD);
5625 HICON32     WINAPI ExtractAssociatedIcon32A(HINSTANCE32,LPSTR,LPWORD);
5626 HICON32     WINAPI ExtractAssociatedIcon32W(HINSTANCE32,LPWSTR,LPWORD);
5627 #define     ExtractAssociatedIcon WINELIB_NAME_AW(ExtractAssociatedIcon)
5628 void        WINAPI FatalAppExit16(UINT16,LPCSTR);
5629 void        WINAPI FatalAppExit32A(UINT32,LPCSTR);
5630 void        WINAPI FatalAppExit32W(UINT32,LPCWSTR);
5631 #define     FatalAppExit WINELIB_NAME_AW(FatalAppExit)
5632 INT16       WINAPI FillRect16(HDC16,const RECT16*,HBRUSH16);
5633 INT32       WINAPI FillRect32(HDC32,const RECT32*,HBRUSH32);
5634 #define     FillRect WINELIB_NAME(FillRect)
5635 ATOM        WINAPI FindAtom16(SEGPTR);
5636 ATOM        WINAPI FindAtom32A(LPCSTR);
5637 ATOM        WINAPI FindAtom32W(LPCWSTR);
5638 #define     FindAtom WINELIB_NAME_AW(FindAtom)
5639 BOOL16      WINAPI FindClose16(HANDLE16);
5640 BOOL32      WINAPI FindClose32(HANDLE32);
5641 #define     FindClose WINELIB_NAME(FindClose)
5642 HINSTANCE16 WINAPI FindExecutable16(LPCSTR,LPCSTR,LPSTR);
5643 HINSTANCE32 WINAPI FindExecutable32A(LPCSTR,LPCSTR,LPSTR);
5644 HINSTANCE32 WINAPI FindExecutable32W(LPCWSTR,LPCWSTR,LPWSTR);
5645 #define     FindExecutable WINELIB_NAME_AW(FindExecutable)
5646 HANDLE16    WINAPI FindFirstFile16(LPCSTR,LPWIN32_FIND_DATA32A);
5647 HANDLE32    WINAPI FindFirstFile32A(LPCSTR,LPWIN32_FIND_DATA32A);
5648 HANDLE32    WINAPI FindFirstFile32W(LPCWSTR,LPWIN32_FIND_DATA32W);
5649 #define     FindFirstFile WINELIB_NAME_AW(FindFirstFile)
5650 BOOL16      WINAPI FindNextFile16(HANDLE16,LPWIN32_FIND_DATA32A);
5651 BOOL32      WINAPI FindNextFile32A(HANDLE32,LPWIN32_FIND_DATA32A);
5652 BOOL32      WINAPI FindNextFile32W(HANDLE32,LPWIN32_FIND_DATA32W);
5653 #define     FindNextFile WINELIB_NAME_AW(FindNextFile)
5654 HRSRC16     WINAPI FindResource16(HINSTANCE16,SEGPTR,SEGPTR);
5655 HRSRC32     WINAPI FindResource32A(HMODULE32,LPCSTR,LPCSTR);
5656 HRSRC32     WINAPI FindResource32W(HMODULE32,LPCWSTR,LPCWSTR);
5657 #define     FindResource WINELIB_NAME_AW(FindResource)
5658 HWND16      WINAPI FindWindow16(SEGPTR,LPCSTR);
5659 HWND32      WINAPI FindWindow32A(LPCSTR,LPCSTR);
5660 HWND32      WINAPI FindWindow32W(LPCWSTR,LPCWSTR);
5661 #define     FindWindow WINELIB_NAME_AW(FindWindow)
5662 HWND16      WINAPI FindWindowEx16(HWND16,HWND16,SEGPTR,LPCSTR);
5663 HWND32      WINAPI FindWindowEx32A(HWND32,HWND32,LPCSTR,LPCSTR);
5664 HWND32      WINAPI FindWindowEx32W(HWND32,HWND32,LPCWSTR,LPCWSTR);
5665 #define     FindWindowEx WINELIB_NAME_AW(FindWindowEx)
5666 BOOL16      WINAPI FlashWindow16(HWND16,BOOL16);
5667 BOOL32      WINAPI FlashWindow32(HWND32,BOOL32);
5668 #define     FlashWindow WINELIB_NAME(FlashWindow)
5669 INT16       WINAPI FrameRect16(HDC16,const RECT16*,HBRUSH16);
5670 INT32       WINAPI FrameRect32(HDC32,const RECT32*,HBRUSH32);
5671 #define     FrameRect WINELIB_NAME(FrameRect)
5672 VOID        WINAPI FreeLibrary16(HINSTANCE16);
5673 BOOL32      WINAPI FreeLibrary32(HMODULE32);
5674 #define     FreeLibrary WINELIB_NAME(FreeLibrary)
5675 BOOL16      WINAPI FreeModule16(HMODULE16);
5676 #define     FreeModule32(handle) FreeLibrary32(handle)
5677 #define     FreeModule WINELIB_NAME(FreeModule)
5678 void        WINAPI FreeProcInstance16(FARPROC16);
5679 #define     FreeProcInstance32(proc) /*nothing*/
5680 #define     FreeProcInstance WINELIB_NAME(FreeProcInstance)
5681 BOOL16      WINAPI FreeResource16(HGLOBAL16);
5682 BOOL32      WINAPI FreeResource32(HGLOBAL32);
5683 #define     FreeResource WINELIB_NAME(FreeResource)
5684 HWND16      WINAPI GetActiveWindow16(void);
5685 HWND32      WINAPI GetActiveWindow32(void);
5686 #define     GetActiveWindow WINELIB_NAME(GetActiveWindow)
5687 DWORD       WINAPI GetAppCompatFlags16(HTASK16);
5688 DWORD       WINAPI GetAppCompatFlags32(HTASK32);
5689 #define     GetAppCompatFlags WINELIB_NAME(GetAppCompatFlags)
5690 WORD        WINAPI GetAsyncKeyState16(INT16);
5691 WORD        WINAPI GetAsyncKeyState32(INT32);
5692 #define     GetAsyncKeyState WINELIB_NAME(GetAsyncKeyState)
5693 UINT16      WINAPI GetAtomName16(ATOM,LPSTR,INT16);
5694 UINT32      WINAPI GetAtomName32A(ATOM,LPSTR,INT32);
5695 UINT32      WINAPI GetAtomName32W(ATOM,LPWSTR,INT32);
5696 #define     GetAtomName WINELIB_NAME_AW(GetAtomName)
5697 HWND16      WINAPI GetCapture16(void);
5698 HWND32      WINAPI GetCapture32(void);
5699 #define     GetCapture WINELIB_NAME(GetCapture)
5700 UINT16      WINAPI GetCaretBlinkTime16(void);
5701 UINT32      WINAPI GetCaretBlinkTime32(void);
5702 #define     GetCaretBlinkTime WINELIB_NAME(GetCaretBlinkTime)
5703 VOID        WINAPI GetCaretPos16(LPPOINT16);
5704 BOOL32      WINAPI GetCaretPos32(LPPOINT32);
5705 #define     GetCaretPos WINELIB_NAME(GetCaretPos)
5706 BOOL16      WINAPI GetClassInfo16(HINSTANCE16,SEGPTR,WNDCLASS16 *);
5707 BOOL32      WINAPI GetClassInfo32A(HINSTANCE32,LPCSTR,WNDCLASS32A *);
5708 BOOL32      WINAPI GetClassInfo32W(HINSTANCE32,LPCWSTR,WNDCLASS32W *);
5709 #define     GetClassInfo WINELIB_NAME_AW(GetClassInfo)
5710 BOOL16      WINAPI GetClassInfoEx16(HINSTANCE16,SEGPTR,WNDCLASSEX16 *);
5711 BOOL32      WINAPI GetClassInfoEx32A(HINSTANCE32,LPCSTR,WNDCLASSEX32A *);
5712 BOOL32      WINAPI GetClassInfoEx32W(HINSTANCE32,LPCWSTR,WNDCLASSEX32W *);
5713 #define     GetClassInfoEx WINELIB_NAME_AW(GetClassInfoEx)
5714 LONG        WINAPI GetClassLong16(HWND16,INT16);
5715 LONG        WINAPI GetClassLong32A(HWND32,INT32);
5716 LONG        WINAPI GetClassLong32W(HWND32,INT32);
5717 #define     GetClassLong WINELIB_NAME_AW(GetClassLong)
5718 INT16       WINAPI GetClassName16(HWND16,LPSTR,INT16);
5719 INT32       WINAPI GetClassName32A(HWND32,LPSTR,INT32);
5720 INT32       WINAPI GetClassName32W(HWND32,LPWSTR,INT32);
5721 #define     GetClassName WINELIB_NAME_AW(GetClassName)
5722 WORD        WINAPI GetClassWord16(HWND16,INT16);
5723 WORD        WINAPI GetClassWord32(HWND32,INT32);
5724 #define     GetClassWord WINELIB_NAME(GetClassWord)
5725 void        WINAPI GetClientRect16(HWND16,LPRECT16);
5726 void        WINAPI GetClientRect32(HWND32,LPRECT32);
5727 #define     GetClientRect WINELIB_NAME(GetClientRect)
5728 HANDLE16    WINAPI GetClipboardData16(UINT16);
5729 HANDLE32    WINAPI GetClipboardData32(UINT32);
5730 #define     GetClipboardData WINELIB_NAME(GetClipboardData)
5731 INT16       WINAPI GetClipboardFormatName16(UINT16,LPSTR,INT16);
5732 INT32       WINAPI GetClipboardFormatName32A(UINT32,LPSTR,INT32);
5733 INT32       WINAPI GetClipboardFormatName32W(UINT32,LPWSTR,INT32);
5734 #define     GetClipboardFormatName WINELIB_NAME_AW(GetClipboardFormatName)
5735 HWND16      WINAPI GetClipboardOwner16(void);
5736 HWND32      WINAPI GetClipboardOwner32(void);
5737 #define     GetClipboardOwner WINELIB_NAME(GetClipboardOwner)
5738 HWND16      WINAPI GetClipboardViewer16(void);
5739 HWND32      WINAPI GetClipboardViewer32(void);
5740 #define     GetClipboardViewer WINELIB_NAME(GetClipboardViewer)
5741 void        WINAPI GetClipCursor16(LPRECT16);
5742 void        WINAPI GetClipCursor32(LPRECT32);
5743 #define     GetClipCursor WINELIB_NAME(GetClipCursor)
5744 INT16       WINAPI GetCommState16(INT16,LPDCB16);
5745 BOOL32      WINAPI GetCommState32(INT32,LPDCB32);
5746 #define     GetCommState WINELIB_NAME(GetCommState)
5747 UINT16      WINAPI GetCurrentDirectory16(UINT16,LPSTR);
5748 UINT32      WINAPI GetCurrentDirectory32A(UINT32,LPSTR);
5749 UINT32      WINAPI GetCurrentDirectory32W(UINT32,LPWSTR);
5750 #define     GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
5751 DWORD       WINAPI GetCurrentTime16(void);
5752 #define     GetCurrentTime32() GetTickCount()
5753 #define     GetCurrentTime WINELIB_NAME(GetCurrentTime)
5754 HCURSOR16   WINAPI GetCursor16(void);
5755 HCURSOR32   WINAPI GetCursor32(void);
5756 #define     GetCursor WINELIB_NAME(GetCursor)
5757 void        WINAPI GetCursorPos16(LPPOINT16);
5758 void        WINAPI GetCursorPos32(LPPOINT32);
5759 #define     GetCursorPos WINELIB_NAME(GetCursorPos)
5760 HDC16       WINAPI GetDC16(HWND16);
5761 HDC32       WINAPI GetDC32(HWND32);
5762 #define     GetDC WINELIB_NAME(GetDC)
5763 HDC16       WINAPI GetDCEx16(HWND16,HRGN16,DWORD);
5764 HDC32       WINAPI GetDCEx32(HWND32,HRGN32,DWORD);
5765 #define     GetDCEx WINELIB_NAME(GetDCEx)
5766 HWND16      WINAPI GetDesktopWindow16(void);
5767 HWND32      WINAPI GetDesktopWindow32(void);
5768 #define     GetDesktopWindow WINELIB_NAME(GetDesktopWindow)
5769 BOOL16      WINAPI GetDiskFreeSpace16(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
5770 BOOL32      WINAPI GetDiskFreeSpace32A(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
5771 BOOL32      WINAPI GetDiskFreeSpace32W(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
5772 #define     GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
5773 BOOL32      WINAPI GetDiskFreeSpaceEx32A(LPCSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
5774 BOOL32      WINAPI GetDiskFreeSpaceEx32W(LPCWSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
5775 #define     GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
5776 INT16       WINAPI GetDlgCtrlID16(HWND16);
5777 INT32       WINAPI GetDlgCtrlID32(HWND32);
5778 #define     GetDlgCtrlID WINELIB_NAME(GetDlgCtrlID)
5779 HWND16      WINAPI GetDlgItem16(HWND16,INT16);
5780 HWND32      WINAPI GetDlgItem32(HWND32,INT32);
5781 #define     GetDlgItem WINELIB_NAME(GetDlgItem)
5782 UINT16      WINAPI GetDlgItemInt16(HWND16,INT16,BOOL16*,BOOL16);
5783 UINT32      WINAPI GetDlgItemInt32(HWND32,INT32,BOOL32*,BOOL32);
5784 #define     GetDlgItemInt WINELIB_NAME(GetDlgItemInt)
5785 INT16       WINAPI GetDlgItemText16(HWND16,INT16,SEGPTR,UINT16);
5786 INT32       WINAPI GetDlgItemText32A(HWND32,INT32,LPSTR,UINT32);
5787 INT32       WINAPI GetDlgItemText32W(HWND32,INT32,LPWSTR,UINT32);
5788 #define     GetDlgItemText WINELIB_NAME_AW(GetDlgItemText)
5789 UINT16      WINAPI GetDoubleClickTime16(void);
5790 UINT32      WINAPI GetDoubleClickTime32(void);
5791 #define     GetDoubleClickTime WINELIB_NAME(GetDoubleClickTime)
5792 UINT16      WINAPI GetDriveType16(UINT16); /* yes, the arguments differ */
5793 UINT32      WINAPI GetDriveType32A(LPCSTR);
5794 UINT32      WINAPI GetDriveType32W(LPCWSTR);
5795 #define     GetDriveType WINELIB_NAME_AW(GetDriveType)
5796 INT16       WINAPI GetExpandedName16(LPCSTR,LPSTR);
5797 INT32       WINAPI GetExpandedName32A(LPCSTR,LPSTR);
5798 INT32       WINAPI GetExpandedName32W(LPCWSTR,LPWSTR);
5799 #define     GetExpandedName WINELIB_NAME_AW(GetExpandedName)
5800 DWORD       WINAPI GetFileAttributes16(LPCSTR);
5801 DWORD       WINAPI GetFileAttributes32A(LPCSTR);
5802 DWORD       WINAPI GetFileAttributes32W(LPCWSTR);
5803 #define     GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
5804 DWORD       WINAPI GetFileVersionInfoSize16(LPCSTR,LPDWORD);
5805 DWORD       WINAPI GetFileVersionInfoSize32A(LPCSTR,LPDWORD);
5806 DWORD       WINAPI GetFileVersionInfoSize32W(LPCWSTR,LPDWORD);
5807 #define     GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
5808 DWORD       WINAPI GetFileVersionInfo16(LPCSTR,DWORD,DWORD,LPVOID);
5809 DWORD       WINAPI GetFileVersionInfo32A(LPCSTR,DWORD,DWORD,LPVOID);
5810 DWORD       WINAPI GetFileVersionInfo32W(LPCWSTR,DWORD,DWORD,LPVOID);
5811 #define     GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)
5812 HWND16      WINAPI GetFocus16(void);
5813 HWND32      WINAPI GetFocus32(void);
5814 #define     GetFocus WINELIB_NAME(GetFocus)
5815 HWND16      WINAPI GetForegroundWindow16(void);
5816 HWND32      WINAPI GetForegroundWindow32(void);
5817 #define     GetForegroundWindow WINELIB_NAME(GetForegroundWindow)
5818 DWORD       WINAPI GetFreeSpace16(UINT16);
5819 #define     GetFreeSpace32(w) (0x100000L)
5820 #define     GetFreeSpace WINELIB_NAME(GetFreeSpace)
5821 BOOL16      WINAPI GetInputState16(void);
5822 BOOL32      WINAPI GetInputState32(void);
5823 #define     GetInputState WINELIB_NAME(GetInputState)
5824 UINT16      WINAPI GetInternalWindowPos16(HWND16,LPRECT16,LPPOINT16);
5825 UINT32      WINAPI GetInternalWindowPos32(HWND32,LPRECT32,LPPOINT32);
5826 #define     GetInternalWindowPos WINELIB_NAME(GetInternalWindowPos)
5827 INT16       WINAPI GetKBCodePage16(void);
5828 UINT32      WINAPI GetKBCodePage32(void);
5829 #define     GetKBCodePage WINELIB_NAME(GetKBCodePage)
5830 INT16       WINAPI GetKeyboardType16(INT16);
5831 INT32       WINAPI GetKeyboardType32(INT32);
5832 #define     GetKeyboardType WINELIB_NAME(GetKeyboardType)
5833 INT16       WINAPI GetKeyNameText16(LONG,LPSTR,INT16);
5834 INT32       WINAPI GetKeyNameText32A(LONG,LPSTR,INT32);
5835 INT32       WINAPI GetKeyNameText32W(LONG,LPWSTR,INT32);
5836 #define     GetKeyNameText WINELIB_NAME_AW(GetKeyNameText)
5837 INT16       WINAPI GetKeyboardLayoutName16(LPSTR);
5838 INT32       WINAPI GetKeyboardLayoutName32A(LPSTR);
5839 INT32       WINAPI GetKeyboardLayoutName32W(LPWSTR);
5840 #define     GetKeyboardLayoutName WINELIB_NAME_AW(GetKeyboardLayoutName)
5841 INT16       WINAPI GetKeyState16(INT16);
5842 INT16       WINAPI GetKeyState32(INT32);
5843 #define     GetKeyState WINELIB_NAME(GetKeyState)
5844 HWND16      WINAPI GetLastActivePopup16(HWND16);
5845 HWND32      WINAPI GetLastActivePopup32(HWND32);
5846 #define     GetLastActivePopup WINELIB_NAME(GetLastActivePopup)
5847 UINT32      WINAPI GetLogicalDriveStrings32A(UINT32,LPSTR);
5848 UINT32      WINAPI GetLogicalDriveStrings32W(UINT32,LPWSTR);
5849 #define     GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
5850 INT16       WINAPI GetLocaleInfo16(LCID,LCTYPE,LPSTR,INT16);
5851 INT32       WINAPI GetLocaleInfo32A(LCID,LCTYPE,LPSTR,INT32);
5852 INT32       WINAPI GetLocaleInfo32W(LCID,LCTYPE,LPWSTR,INT32);
5853 #define     GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
5854 HMENU16     WINAPI GetMenu16(HWND16);
5855 HMENU32     WINAPI GetMenu32(HWND32);
5856 #define     GetMenu WINELIB_NAME(GetMenu)
5857 INT16       WINAPI GetMenuItemCount16(HMENU16);
5858 INT32       WINAPI GetMenuItemCount32(HMENU32);
5859 #define     GetMenuItemCount WINELIB_NAME(GetMenuItemCount)
5860 UINT16      WINAPI GetMenuItemID16(HMENU16,INT16);
5861 UINT32      WINAPI GetMenuItemID32(HMENU32,INT32);
5862 #define     GetMenuItemID WINELIB_NAME(GetMenuItemID)
5863 BOOL16      WINAPI GetMenuItemRect16(HWND16,HMENU16,UINT16,LPRECT16);
5864 BOOL32      WINAPI GetMenuItemRect32(HWND32,HMENU32,UINT32,LPRECT32);
5865 #define     GetMenuItemRect WINELIB_NAME(GetMenuItemRect)
5866 UINT16      WINAPI GetMenuState16(HMENU16,UINT16,UINT16);
5867 UINT32      WINAPI GetMenuState32(HMENU32,UINT32,UINT32);
5868 #define     GetMenuState WINELIB_NAME(GetMenuState)
5869 INT16       WINAPI GetMenuString16(HMENU16,UINT16,LPSTR,INT16,UINT16);
5870 INT32       WINAPI GetMenuString32A(HMENU32,UINT32,LPSTR,INT32,UINT32);
5871 INT32       WINAPI GetMenuString32W(HMENU32,UINT32,LPWSTR,INT32,UINT32);
5872 #define     GetMenuString WINELIB_NAME_AW(GetMenuString)
5873 BOOL16      WINAPI GetMessage16(SEGPTR,HWND16,UINT16,UINT16);
5874 BOOL32      WINAPI GetMessage32A(LPMSG32,HWND32,UINT32,UINT32);
5875 BOOL32      WINAPI GetMessage32W(LPMSG32,HWND32,UINT32,UINT32);
5876 #define     GetMessage WINELIB_NAME_AW(GetMessage)
5877 INT16       WINAPI GetModuleFileName16(HINSTANCE16,LPSTR,INT16);
5878 DWORD       WINAPI GetModuleFileName32A(HMODULE32,LPSTR,DWORD);
5879 DWORD       WINAPI GetModuleFileName32W(HMODULE32,LPWSTR,DWORD);
5880 #define     GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
5881 HMODULE16   WINAPI GetModuleHandle16(LPCSTR);
5882 HMODULE32   WINAPI GetModuleHandle32A(LPCSTR);
5883 HMODULE32   WINAPI GetModuleHandle32W(LPCWSTR);
5884 #define     GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
5885 HWND16      WINAPI GetNextDlgGroupItem16(HWND16,HWND16,BOOL16);
5886 HWND32      WINAPI GetNextDlgGroupItem32(HWND32,HWND32,BOOL32);
5887 #define     GetNextDlgGroupItem WINELIB_NAME(GetNextDlgGroupItem)
5888 HWND16      WINAPI GetNextDlgTabItem16(HWND16,HWND16,BOOL16);
5889 HWND32      WINAPI GetNextDlgTabItem32(HWND32,HWND32,BOOL32);
5890 #define     GetNextDlgTabItem WINELIB_NAME(GetNextDlgTabItem)
5891 HWND16      WINAPI GetNextWindow16(HWND16,WORD);
5892 #define     GetNextWindow32 GetWindow32
5893 #define     GetNextWindow WINELIB_NAME(GetNextWindow)
5894 HWND16      WINAPI GetOpenClipboardWindow16(void);
5895 HWND32      WINAPI GetOpenClipboardWindow32(void);
5896 #define     GetOpenClipboardWindow WINELIB_NAME(GetOpenClipboardWindow)
5897 HWND16      WINAPI GetParent16(HWND16);
5898 HWND32      WINAPI GetParent32(HWND32);
5899 #define     GetParent WINELIB_NAME(GetParent)
5900 INT16       WINAPI GetPriorityClipboardFormat16(UINT16*,INT16);
5901 INT32       WINAPI GetPriorityClipboardFormat32(UINT32*,INT32);
5902 #define     GetPriorityClipboardFormat WINELIB_NAME(GetPriorityClipboardFormat)
5903 UINT16      WINAPI GetPrivateProfileInt16(LPCSTR,LPCSTR,INT16,LPCSTR);
5904 UINT32      WINAPI GetPrivateProfileInt32A(LPCSTR,LPCSTR,INT32,LPCSTR);
5905 UINT32      WINAPI GetPrivateProfileInt32W(LPCWSTR,LPCWSTR,INT32,LPCWSTR);
5906 #define     GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
5907 INT16       WINAPI GetPrivateProfileSection16(LPCSTR,LPSTR,UINT16,LPCSTR);
5908 INT32       WINAPI GetPrivateProfileSection32A(LPCSTR,LPSTR,DWORD,LPCSTR);
5909 INT32       WINAPI GetPrivateProfileSection32W(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
5910 #define     GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
5911 WORD        WINAPI GetPrivateProfileSectionNames16(LPSTR,UINT16,LPCSTR);
5912 DWORD       WINAPI GetPrivateProfileSectionNames32A(LPSTR,DWORD,LPCSTR);
5913 DWORD       WINAPI GetPrivateProfileSectionNames32W(LPWSTR,DWORD,LPCWSTR);
5914 #define     GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
5915 INT16       WINAPI GetPrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16,LPCSTR);
5916 INT32       WINAPI GetPrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32,LPCSTR);
5917 INT32       WINAPI GetPrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32,LPCWSTR);
5918 #define     GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
5919 BOOL16      WINAPI GetPrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
5920 BOOL32      WINAPI GetPrivateProfileStruct32A(LPCSTR,LPCSTR,LPVOID,UINT32,LPCSTR);
5921 BOOL32      WINAPI GetPrivateProfileStruct32W(LPCWSTR,LPCWSTR,LPVOID,UINT32,LPCWSTR);
5922 #define     GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
5923 FARPROC16   WINAPI GetProcAddress16(HMODULE16,SEGPTR);
5924 FARPROC32   WINAPI GetProcAddress32(HMODULE32,LPCSTR);
5925 #define     GetProcAddress WINELIB_NAME(GetProcAddress)
5926 UINT16      WINAPI GetProfileInt16(LPCSTR,LPCSTR,INT16);
5927 UINT32      WINAPI GetProfileInt32A(LPCSTR,LPCSTR,INT32);
5928 UINT32      WINAPI GetProfileInt32W(LPCWSTR,LPCWSTR,INT32);
5929 #define     GetProfileInt WINELIB_NAME_AW(GetProfileInt)
5930 INT16       WINAPI GetProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16);
5931 INT32       WINAPI GetProfileSection32A(LPCSTR,LPSTR,DWORD);
5932 INT32       WINAPI GetProfileSection32W(LPCWSTR,LPWSTR,DWORD);
5933 #define     GetProfileSection WINELIB_NAME_AW(GetProfileSection)
5934 INT32       WINAPI GetProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32);
5935 INT32       WINAPI GetProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32);
5936 #define     GetProfileString WINELIB_NAME_AW(GetProfileString)
5937 HANDLE16    WINAPI GetProp16(HWND16,LPCSTR);
5938 HANDLE32    WINAPI GetProp32A(HWND32,LPCSTR);
5939 HANDLE32    WINAPI GetProp32W(HWND32,LPCWSTR);
5940 #define     GetProp WINELIB_NAME_AW(GetProp)
5941 DWORD       WINAPI GetQueueStatus16(UINT16);
5942 DWORD       WINAPI GetQueueStatus32(UINT32);
5943 #define     GetQueueStatus WINELIB_NAME(GetQueueStatus)
5944 BOOL16      WINAPI GetScrollInfo16(HWND16,INT16,LPSCROLLINFO);
5945 BOOL32      WINAPI GetScrollInfo32(HWND32,INT32,LPSCROLLINFO);
5946 #define     GetScrollInfo WINELIB_NAME(GetScrollInfo)
5947 INT16       WINAPI GetScrollPos16(HWND16,INT16);
5948 INT32       WINAPI GetScrollPos32(HWND32,INT32);
5949 #define     GetScrollPos WINELIB_NAME(GetScrollPos)
5950 BOOL16      WINAPI GetScrollRange16(HWND16,INT16,LPINT16,LPINT16);
5951 BOOL32      WINAPI GetScrollRange32(HWND32,INT32,LPINT32,LPINT32);
5952 #define     GetScrollRange WINELIB_NAME(GetScrollRange)
5953 HWND16      WINAPI GetShellWindow16(void);
5954 HWND32      WINAPI GetShellWindow32(void);
5955 #define     GetShellWindow WINELIB_NAME(GetShellWindow)
5956 BOOL16      WINAPI GetStringType16(LCID,DWORD,LPCSTR,INT16,LPWORD);
5957 BOOL32      WINAPI GetStringType32A(LCID,DWORD,LPCSTR,INT32,LPWORD);
5958 BOOL32      WINAPI GetStringType32W(DWORD,LPCWSTR,INT32,LPWORD);
5959 #define     GetStringType WINELIB_NAME_AW(GetStringType)
5960 HMENU16     WINAPI GetSubMenu16(HMENU16,INT16);
5961 HMENU32     WINAPI GetSubMenu32(HMENU32,INT32);
5962 #define     GetSubMenu WINELIB_NAME(GetSubMenu)
5963 HBRUSH16    WINAPI GetSysColorBrush16(INT16);
5964 HBRUSH32    WINAPI GetSysColorBrush32(INT32);
5965 #define     GetSysColorBrush WINELIB_NAME(GetSysColorBrush)
5966 HWND16      WINAPI GetSysModalWindow16(void);
5967 #define     GetSysModalWindow32() ((HWND32)0)
5968 #define     GetSysModalWindow WINELIB_NAME(GetSysModalWindow)
5969 UINT16      WINAPI GetSystemDirectory16(LPSTR,UINT16);
5970 UINT32      WINAPI GetSystemDirectory32A(LPSTR,UINT32);
5971 UINT32      WINAPI GetSystemDirectory32W(LPWSTR,UINT32);
5972 #define     GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
5973 HMENU16     WINAPI GetSystemMenu16(HWND16,BOOL16);
5974 HMENU32     WINAPI GetSystemMenu32(HWND32,BOOL32);
5975 #define     GetSystemMenu WINELIB_NAME(GetSystemMenu)
5976 INT16       WINAPI GetSystemMetrics16(INT16);
5977 INT32       WINAPI GetSystemMetrics32(INT32);
5978 #define     GetSystemMetrics WINELIB_NAME(GetSystemMetrics)
5979 DWORD       WINAPI GetTabbedTextExtent16(HDC16,LPCSTR,INT16,INT16,const INT16*);
5980 DWORD       WINAPI GetTabbedTextExtent32A(HDC32,LPCSTR,INT32,INT32,const INT32*);
5981 DWORD       WINAPI GetTabbedTextExtent32W(HDC32,LPCWSTR,INT32,INT32,const INT32*);
5982 #define     GetTabbedTextExtent WINELIB_NAME_AW(GetTabbedTextExtent)
5983 UINT16      WINAPI GetTempFileName16(BYTE,LPCSTR,UINT16,LPSTR);
5984 UINT32      WINAPI GetTempFileName32A(LPCSTR,LPCSTR,UINT32,LPSTR);
5985 UINT32      WINAPI GetTempFileName32W(LPCWSTR,LPCWSTR,UINT32,LPWSTR);
5986 #define     GetTempFileName WINELIB_NAME_AW(GetTempFileName)
5987 UINT32      WINAPI GetTempPath32A(UINT32,LPSTR);
5988 UINT32      WINAPI GetTempPath32W(UINT32,LPWSTR);
5989 #define     GetTempPath WINELIB_NAME_AW(GetTempPath)
5990 LPINT16     WINAPI GetThresholdEvent16(void);
5991 LPDWORD     WINAPI GetThresholdEvent32(void);
5992 #define     GetThresholdEvent WINELIB_NAME(GetThresholdEvent)
5993 INT16       WINAPI GetThresholdStatus16(void);
5994 DWORD       WINAPI GetThresholdStatus32(void);
5995 #define     GetThresholdStatus WINELIB_NAME(GetThresholdStatus)
5996 HWND16      WINAPI GetTopWindow16(HWND16);
5997 HWND32      WINAPI GetTopWindow32(HWND32);
5998 #define     GetTopWindow WINELIB_NAME(GetTopWindow)
5999 BOOL16      WINAPI GetUpdateRect16(HWND16,LPRECT16,BOOL16);
6000 BOOL32      WINAPI GetUpdateRect32(HWND32,LPRECT32,BOOL32);
6001 #define     GetUpdateRect WINELIB_NAME(GetUpdateRect)
6002 INT16       WINAPI GetUpdateRgn16(HWND16,HRGN16,BOOL16);
6003 INT32       WINAPI GetUpdateRgn32(HWND32,HRGN32,BOOL32);
6004 #define     GetUpdateRgn WINELIB_NAME(GetUpdateRgn)
6005 LONG        WINAPI GetVersion16(void);
6006 LONG        WINAPI GetVersion32(void);
6007 #define     GetVersion WINELIB_NAME(GetVersion)
6008 BOOL32      WINAPI GetExitCodeProcess(HANDLE32,LPDWORD);
6009 BOOL32      WINAPI GetVolumeInformation32A(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
6010 BOOL32      WINAPI GetVolumeInformation32W(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
6011 #define     GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
6012 HWND16      WINAPI GetWindow16(HWND16,WORD);
6013 HWND32      WINAPI GetWindow32(HWND32,WORD);
6014 #define     GetWindow WINELIB_NAME(GetWindow)
6015 HDC16       WINAPI GetWindowDC16(HWND16);
6016 HDC32       WINAPI GetWindowDC32(HWND32);
6017 #define     GetWindowDC WINELIB_NAME(GetWindowDC)
6018 LONG        WINAPI GetWindowLong16(HWND16,INT16);
6019 LONG        WINAPI GetWindowLong32A(HWND32,INT32);
6020 LONG        WINAPI GetWindowLong32W(HWND32,INT32);
6021 #define     GetWindowLong WINELIB_NAME_AW(GetWindowLong)
6022 BOOL16      WINAPI GetWindowPlacement16(HWND16,LPWINDOWPLACEMENT16);
6023 BOOL32      WINAPI GetWindowPlacement32(HWND32,LPWINDOWPLACEMENT32);
6024 #define     GetWindowPlacement WINELIB_NAME(GetWindowPlacement)
6025 void        WINAPI GetWindowRect16(HWND16,LPRECT16);
6026 BOOL32      WINAPI GetWindowRect32(HWND32,LPRECT32);
6027 #define     GetWindowRect WINELIB_NAME(GetWindowRect)
6028 INT16       WINAPI GetWindowRgn16(HWND16,HRGN16);
6029 INT32       WINAPI GetWindowRgn32(HWND32,HRGN32);
6030 #define     GetWindowRgn WINELIB_NAME(GetWindowRgn)
6031 UINT16      WINAPI GetWindowsDirectory16(LPSTR,UINT16);
6032 UINT32      WINAPI GetWindowsDirectory32A(LPSTR,UINT32);
6033 UINT32      WINAPI GetWindowsDirectory32W(LPWSTR,UINT32);
6034 #define     GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
6035 HTASK16     WINAPI GetWindowTask16(HWND16);
6036 #define     GetWindowTask32(hwnd) ((HTASK32)GetWindowThreadProcessId(hwnd,NULL))
6037 #define     GetWindowTask WINELIB_NAME(GetWindowTask)
6038 INT16       WINAPI GetWindowText16(HWND16,SEGPTR,INT16);
6039 INT32       WINAPI GetWindowText32A(HWND32,LPSTR,INT32);
6040 INT32       WINAPI GetWindowText32W(HWND32,LPWSTR,INT32);
6041 #define     GetWindowText WINELIB_NAME_AW(GetWindowText)
6042 INT16       WINAPI GetWindowTextLength16(HWND16);
6043 INT32       WINAPI GetWindowTextLength32A(HWND32);
6044 INT32       WINAPI GetWindowTextLength32W(HWND32);
6045 #define     GetWindowTextLength WINELIB_NAME_AW(GetWindowTextLength)
6046 WORD        WINAPI GetWindowWord16(HWND16,INT16);
6047 WORD        WINAPI GetWindowWord32(HWND32,INT32);
6048 #define     GetWindowWord WINELIB_NAME(GetWindowWord)
6049 ATOM        WINAPI GlobalAddAtom16(SEGPTR);
6050 ATOM        WINAPI GlobalAddAtom32A(LPCSTR);
6051 ATOM        WINAPI GlobalAddAtom32W(LPCWSTR);
6052 #define     GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
6053 HGLOBAL16   WINAPI GlobalAlloc16(UINT16,DWORD);
6054 HGLOBAL32   WINAPI GlobalAlloc32(UINT32,DWORD);
6055 #define     GlobalAlloc WINELIB_NAME(GlobalAlloc)
6056 DWORD       WINAPI GlobalCompact16(DWORD);
6057 DWORD       WINAPI GlobalCompact32(DWORD);
6058 #define     GlobalCompact WINELIB_NAME(GlobalCompact)
6059 UINT16      WINAPI GlobalFlags16(HGLOBAL16);
6060 UINT32      WINAPI GlobalFlags32(HGLOBAL32);
6061 #define     GlobalFlags WINELIB_NAME(GlobalFlags)
6062 ATOM        WINAPI GlobalFindAtom16(SEGPTR);
6063 ATOM        WINAPI GlobalFindAtom32A(LPCSTR);
6064 ATOM        WINAPI GlobalFindAtom32W(LPCWSTR);
6065 #define     GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
6066 HGLOBAL16   WINAPI GlobalFree16(HGLOBAL16);
6067 HGLOBAL32   WINAPI GlobalFree32(HGLOBAL32);
6068 #define     GlobalFree WINELIB_NAME(GlobalFree)
6069 UINT16      WINAPI GlobalGetAtomName16(ATOM,LPSTR,INT16);
6070 UINT32      WINAPI GlobalGetAtomName32A(ATOM,LPSTR,INT32);
6071 UINT32      WINAPI GlobalGetAtomName32W(ATOM,LPWSTR,INT32);
6072 #define     GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
6073 DWORD       WINAPI GlobalHandle16(WORD);
6074 HGLOBAL32   WINAPI GlobalHandle32(LPCVOID);
6075 #define     GlobalHandle WINELIB_NAME(GlobalHandle)
6076 WORD        WINAPI GlobalFix16(HGLOBAL16);
6077 VOID        WINAPI GlobalFix32(HGLOBAL32);
6078 #define     GlobalFix WINELIB_NAME(GlobalFix)
6079 LPVOID      WINAPI GlobalLock16(HGLOBAL16);
6080 LPVOID      WINAPI GlobalLock32(HGLOBAL32);
6081 #define     GlobalLock WINELIB_NAME(GlobalLock)
6082 HGLOBAL16   WINAPI GlobalReAlloc16(HGLOBAL16,DWORD,UINT16);
6083 HGLOBAL32   WINAPI GlobalReAlloc32(HGLOBAL32,DWORD,UINT32);
6084 #define     GlobalReAlloc WINELIB_NAME(GlobalReAlloc)
6085 DWORD       WINAPI GlobalSize16(HGLOBAL16);
6086 DWORD       WINAPI GlobalSize32(HGLOBAL32);
6087 #define     GlobalSize WINELIB_NAME(GlobalSize)
6088 VOID        WINAPI GlobalUnfix16(HGLOBAL16);
6089 VOID        WINAPI GlobalUnfix32(HGLOBAL32);
6090 #define     GlobalUnfix WINELIB_NAME(GlobalUnfix)
6091 BOOL16      WINAPI GlobalUnlock16(HGLOBAL16);
6092 BOOL32      WINAPI GlobalUnlock32(HGLOBAL32);
6093 #define     GlobalUnlock WINELIB_NAME(GlobalUnlock)
6094 BOOL16      WINAPI GlobalUnWire16(HGLOBAL16);
6095 BOOL32      WINAPI GlobalUnWire32(HGLOBAL32);
6096 #define     GlobalUnWire WINELIB_NAME(GlobalUnWire)
6097 SEGPTR      WINAPI GlobalWire16(HGLOBAL16);
6098 LPVOID      WINAPI GlobalWire32(HGLOBAL32);
6099 #define     GlobalWire WINELIB_NAME(GlobalWire)
6100 BOOL16      WINAPI GrayString16(HDC16,HBRUSH16,GRAYSTRINGPROC16,LPARAM,
6101                                 INT16,INT16,INT16,INT16,INT16);
6102 BOOL32      WINAPI GrayString32A(HDC32,HBRUSH32,GRAYSTRINGPROC32,LPARAM,
6103                                  INT32,INT32,INT32,INT32,INT32);
6104 BOOL32      WINAPI GrayString32W(HDC32,HBRUSH32,GRAYSTRINGPROC32,LPARAM,
6105                                  INT32,INT32,INT32,INT32,INT32);
6106 #define     GrayString WINELIB_NAME_AW(GrayString)
6107 VOID        WINAPI HideCaret16(HWND16);
6108 BOOL32      WINAPI HideCaret32(HWND32);
6109 #define     HideCaret WINELIB_NAME(HideCaret)
6110 BOOL16      WINAPI HiliteMenuItem16(HWND16,HMENU16,UINT16,UINT16);
6111 BOOL32      WINAPI HiliteMenuItem32(HWND32,HMENU32,UINT32,UINT32);
6112 #define     HiliteMenuItem WINELIB_NAME(HiliteMenuItem)
6113 void        WINAPI InflateRect16(LPRECT16,INT16,INT16);
6114 void        WINAPI InflateRect32(LPRECT32,INT32,INT32);
6115 #define     InflateRect WINELIB_NAME(InflateRect)
6116 WORD        WINAPI InitAtomTable16(WORD);
6117 BOOL32      WINAPI InitAtomTable32(DWORD);
6118 #define     InitAtomTable WINELIB_NAME(InitAtomTable)
6119 BOOL16      WINAPI InSendMessage16(void);
6120 BOOL32      WINAPI InSendMessage32(void);
6121 #define     InSendMessage WINELIB_NAME(InSendMessage)
6122 BOOL16      WINAPI InsertMenu16(HMENU16,UINT16,UINT16,UINT16,SEGPTR);
6123 BOOL32      WINAPI InsertMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
6124 BOOL32      WINAPI InsertMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
6125 #define     InsertMenu WINELIB_NAME_AW(InsertMenu)
6126 BOOL16      WINAPI InsertMenuItem16(HMENU16,UINT16,BOOL16,const MENUITEMINFO16*);
6127 BOOL32      WINAPI InsertMenuItem32A(HMENU32,UINT32,BOOL32,const MENUITEMINFO32A*);
6128 BOOL32      WINAPI InsertMenuItem32W(HMENU32,UINT32,BOOL32,const MENUITEMINFO32W*);
6129 #define     InsertMenuItem WINELIB_NAME_AW(InsertMenuItem)
6130 BOOL16      WINAPI IntersectRect16(LPRECT16,const RECT16*,const RECT16*);
6131 BOOL32      WINAPI IntersectRect32(LPRECT32,const RECT32*,const RECT32*);
6132 #define     IntersectRect WINELIB_NAME(IntersectRect)
6133 void        WINAPI InvalidateRect16(HWND16,const RECT16*,BOOL16);
6134 void        WINAPI InvalidateRect32(HWND32,const RECT32*,BOOL32);
6135 #define     InvalidateRect WINELIB_NAME(InvalidateRect)
6136 void        WINAPI InvalidateRgn16(HWND16,HRGN16,BOOL16);
6137 void        WINAPI InvalidateRgn32(HWND32,HRGN32,BOOL32);
6138 #define     InvalidateRgn WINELIB_NAME(InvalidateRgn)
6139 void        WINAPI InvertRect16(HDC16,const RECT16*);
6140 void        WINAPI InvertRect32(HDC32,const RECT32*);
6141 #define     InvertRect WINELIB_NAME(InvertRect)
6142 BOOL16      WINAPI IsBadCodePtr16(SEGPTR);
6143 BOOL32      WINAPI IsBadCodePtr32(FARPROC32);
6144 #define     IsBadCodePtr WINELIB_NAME(IsBadCodePtr)
6145 BOOL16      WINAPI IsBadHugeReadPtr16(SEGPTR,DWORD);
6146 BOOL32      WINAPI IsBadHugeReadPtr32(LPCVOID,UINT32);
6147 #define     IsBadHugeReadPtr WINELIB_NAME(IsBadHugeReadPtr)
6148 BOOL16      WINAPI IsBadHugeWritePtr16(SEGPTR,DWORD);
6149 BOOL32      WINAPI IsBadHugeWritePtr32(LPVOID,UINT32);
6150 #define     IsBadHugeWritePtr WINELIB_NAME(IsBadHugeWritePtr)
6151 BOOL16      WINAPI IsBadReadPtr16(SEGPTR,UINT16);
6152 BOOL32      WINAPI IsBadReadPtr32(LPCVOID,UINT32);
6153 #define     IsBadReadPtr WINELIB_NAME(IsBadReadPtr)
6154 BOOL16      WINAPI IsBadStringPtr16(SEGPTR,UINT16);
6155 BOOL32      WINAPI IsBadStringPtr32A(LPCSTR,UINT32);
6156 BOOL32      WINAPI IsBadStringPtr32W(LPCWSTR,UINT32);
6157 #define     IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
6158 BOOL16      WINAPI IsBadWritePtr16(SEGPTR,UINT16);
6159 BOOL32      WINAPI IsBadWritePtr32(LPVOID,UINT32);
6160 #define     IsBadWritePtr WINELIB_NAME(IsBadWritePtr)
6161 BOOL16      WINAPI IsCharAlpha16(CHAR);
6162 BOOL32      WINAPI IsCharAlpha32A(CHAR);
6163 BOOL32      WINAPI IsCharAlpha32W(WCHAR);
6164 #define     IsCharAlpha WINELIB_NAME_AW(IsCharAlpha)
6165 BOOL16      WINAPI IsCharAlphaNumeric16(CHAR);
6166 BOOL32      WINAPI IsCharAlphaNumeric32A(CHAR);
6167 BOOL32      WINAPI IsCharAlphaNumeric32W(WCHAR);
6168 #define     IsCharAlphaNumeric WINELIB_NAME_AW(IsCharAlphaNumeric)
6169 BOOL16      WINAPI IsCharLower16(CHAR);
6170 BOOL32      WINAPI IsCharLower32A(CHAR);
6171 BOOL32      WINAPI IsCharLower32W(WCHAR);
6172 #define     IsCharLower WINELIB_NAME_AW(IsCharLower)
6173 BOOL16      WINAPI IsCharUpper16(CHAR);
6174 BOOL32      WINAPI IsCharUpper32A(CHAR);
6175 BOOL32      WINAPI IsCharUpper32W(WCHAR);
6176 #define     IsCharUpper WINELIB_NAME_AW(IsCharUpper)
6177 BOOL16      WINAPI IsChild16(HWND16,HWND16);
6178 BOOL32      WINAPI IsChild32(HWND32,HWND32);
6179 #define     IsChild WINELIB_NAME(IsChild)
6180 BOOL16      WINAPI IsClipboardFormatAvailable16(UINT16);
6181 BOOL32      WINAPI IsClipboardFormatAvailable32(UINT32);
6182 #define     IsClipboardFormatAvailable WINELIB_NAME(IsClipboardFormatAvailable)
6183 BOOL16      WINAPI IsDBCSLeadByte16(BYTE);
6184 BOOL32      WINAPI IsDBCSLeadByte32(BYTE);
6185 #define     IsDBCSLeadByte WINELIB_NAME(IsDBCSLeadByte)
6186 BOOL16      WINAPI IsDialogMessage16(HWND16,LPMSG16);
6187 BOOL32      WINAPI IsDialogMessage32A(HWND32,LPMSG32);
6188 BOOL32      WINAPI IsDialogMessage32W(HWND32,LPMSG32);
6189 #define     IsDialogMessage WINELIB_NAME_AW(IsDialogMessage)
6190 UINT16      WINAPI IsDlgButtonChecked16(HWND16,UINT16);
6191 UINT32      WINAPI IsDlgButtonChecked32(HWND32,UINT32);
6192 #define     IsDlgButtonChecked WINELIB_NAME(IsDlgButtonChecked)
6193 BOOL16      WINAPI IsIconic16(HWND16);
6194 BOOL32      WINAPI IsIconic32(HWND32);
6195 #define     IsIconic WINELIB_NAME(IsIconic)
6196 BOOL16      WINAPI IsMenu16(HMENU16);
6197 BOOL32      WINAPI IsMenu32(HMENU32);
6198 #define     IsMenu WINELIB_NAME(IsMenu)
6199 BOOL16      WINAPI IsRectEmpty16(const RECT16*);
6200 BOOL32      WINAPI IsRectEmpty32(const RECT32*);
6201 #define     IsRectEmpty WINELIB_NAME(IsRectEmpty)
6202 BOOL16      WINAPI IsWindow16(HWND16);
6203 BOOL32      WINAPI IsWindow32(HWND32);
6204 #define     IsWindow WINELIB_NAME(IsWindow)
6205 BOOL16      WINAPI IsWindowEnabled16(HWND16);
6206 BOOL32      WINAPI IsWindowEnabled32(HWND32);
6207 #define     IsWindowEnabled WINELIB_NAME(IsWindowEnabled)
6208 BOOL16      WINAPI IsWindowVisible16(HWND16);
6209 BOOL32      WINAPI IsWindowVisible32(HWND32);
6210 #define     IsWindowVisible WINELIB_NAME(IsWindowVisible)
6211 BOOL16      WINAPI IsZoomed16(HWND16);
6212 BOOL32      WINAPI IsZoomed32(HWND32);
6213 #define     IsZoomed WINELIB_NAME(IsZoomed)
6214 BOOL16      WINAPI KillSystemTimer16(HWND16,UINT16);
6215 BOOL32      WINAPI KillSystemTimer32(HWND32,UINT32);
6216 #define     KillSystemTimer WINELIB_NAME(KillSystemTimer)
6217 BOOL16      WINAPI KillTimer16(HWND16,UINT16);
6218 BOOL32      WINAPI KillTimer32(HWND32,UINT32);
6219 #define     KillTimer WINELIB_NAME(KillTimer)
6220 HFILE16     WINAPI LZOpenFile16(LPCSTR,LPOFSTRUCT,UINT16);
6221 HFILE32     WINAPI LZOpenFile32A(LPCSTR,LPOFSTRUCT,UINT32);
6222 HFILE32     WINAPI LZOpenFile32W(LPCWSTR,LPOFSTRUCT,UINT32);
6223 #define     LZOpenFile WINELIB_NAME_AW(LZOpenFile)
6224 INT16       WINAPI LZRead16(HFILE16,LPVOID,UINT16); 
6225 INT32       WINAPI LZRead32(HFILE32,LPVOID,UINT32); 
6226 #define     LZRead WINELIB_NAME(LZRead)
6227 INT16       WINAPI LZStart16(void);
6228 INT32       WINAPI LZStart32(void);
6229 #define     LZStart WINELIB_NAME(LZStart)
6230 HACCEL16    WINAPI LoadAccelerators16(HINSTANCE16,SEGPTR);
6231 HACCEL32    WINAPI LoadAccelerators32A(HINSTANCE32,LPCSTR);
6232 HACCEL32    WINAPI LoadAccelerators32W(HINSTANCE32,LPCWSTR);
6233 #define     LoadAccelerators WINELIB_NAME_AW(LoadAccelerators)
6234 HBITMAP16   WINAPI LoadBitmap16(HANDLE16,SEGPTR);
6235 HBITMAP32   WINAPI LoadBitmap32A(HANDLE32,LPCSTR);
6236 HBITMAP32   WINAPI LoadBitmap32W(HANDLE32,LPCWSTR);
6237 #define     LoadBitmap WINELIB_NAME_AW(LoadBitmap)
6238 HCURSOR16   WINAPI LoadCursor16(HINSTANCE16,SEGPTR);
6239 HCURSOR32   WINAPI LoadCursor32A(HINSTANCE32,LPCSTR);
6240 HCURSOR32   WINAPI LoadCursor32W(HINSTANCE32,LPCWSTR);
6241 #define     LoadCursor WINELIB_NAME_AW(LoadCursor)
6242 HCURSOR32   WINAPI LoadCursorFromFile32A(LPCSTR);
6243 HCURSOR32   WINAPI LoadCursorFromFile32W(LPCWSTR);
6244 #define     LoadCursorFromFile WINELIB_NAME_AW(LoadCursorFromFile)
6245 HICON16     WINAPI LoadIcon16(HINSTANCE16,SEGPTR);
6246 HICON32     WINAPI LoadIcon32A(HINSTANCE32,LPCSTR);
6247 HICON32     WINAPI LoadIcon32W(HINSTANCE32,LPCWSTR);
6248 #define     LoadIcon WINELIB_NAME_AW(LoadIcon)
6249 HANDLE16    WINAPI LoadImage16(HINSTANCE16,LPCSTR,UINT16,INT16,INT16,UINT16);
6250 HANDLE32    WINAPI LoadImage32A(HINSTANCE32,LPCSTR,UINT32,INT32,INT32,UINT32);
6251 HANDLE32    WINAPI LoadImage32W(HINSTANCE32,LPCWSTR,UINT32,INT32,INT32,UINT32);
6252 #define     LoadImage WINELIB_NAME_AW(LoadImage)
6253 HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
6254 HMODULE32   WINAPI LoadLibrary32A(LPCSTR);
6255 HMODULE32   WINAPI LoadLibrary32W(LPCWSTR);
6256 #define     LoadLibrary WINELIB_NAME_AW(LoadLibrary)
6257 HMODULE32   WINAPI LoadLibraryEx32A(LPCSTR,HFILE32,DWORD);
6258 HMODULE32   WINAPI LoadLibraryEx32W(LPCWSTR,HFILE32,DWORD);
6259 #define     LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
6260 HMENU16     WINAPI LoadMenu16(HINSTANCE16,SEGPTR);
6261 HMENU32     WINAPI LoadMenu32A(HINSTANCE32,LPCSTR);
6262 HMENU32     WINAPI LoadMenu32W(HINSTANCE32,LPCWSTR);
6263 #define     LoadMenu WINELIB_NAME_AW(LoadMenu)
6264 HMENU16     WINAPI LoadMenuIndirect16(LPCVOID);
6265 HMENU32     WINAPI LoadMenuIndirect32A(LPCVOID);
6266 HMENU32     WINAPI LoadMenuIndirect32W(LPCVOID);
6267 #define     LoadMenuIndirect WINELIB_NAME_AW(LoadMenuIndirect)
6268 HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
6269 HINSTANCE32 WINAPI LoadModule32(LPCSTR,LPVOID);
6270 #define     LoadModule WINELIB_NAME(LoadModule)
6271 HGLOBAL16   WINAPI LoadResource16(HINSTANCE16,HRSRC16);
6272 HGLOBAL32   WINAPI LoadResource32(HMODULE32,HRSRC32);
6273 #define     LoadResource WINELIB_NAME(LoadResource)
6274 INT16       WINAPI LoadString16(HINSTANCE16,UINT16,LPSTR,INT16);
6275 INT32       WINAPI LoadString32A(HINSTANCE32,UINT32,LPSTR,INT32);
6276 INT32       WINAPI LoadString32W(HINSTANCE32,UINT32,LPWSTR,INT32);
6277 #define     LoadString WINELIB_NAME_AW(LoadString)
6278 HLOCAL16    WINAPI LocalAlloc16(UINT16,WORD);
6279 HLOCAL32    WINAPI LocalAlloc32(UINT32,DWORD);
6280 #define     LocalAlloc WINELIB_NAME(LocalAlloc)
6281 UINT16      WINAPI LocalCompact16(UINT16);
6282 UINT32      WINAPI LocalCompact32(UINT32);
6283 #define     LocalCompact WINELIB_NAME(LocalCompact)
6284 UINT16      WINAPI LocalFlags16(HLOCAL16);
6285 UINT32      WINAPI LocalFlags32(HLOCAL32);
6286 #define     LocalFlags WINELIB_NAME(LocalFlags)
6287 HLOCAL16    WINAPI LocalFree16(HLOCAL16);
6288 HLOCAL32    WINAPI LocalFree32(HLOCAL32);
6289 #define     LocalFree WINELIB_NAME(LocalFree)
6290 HLOCAL16    WINAPI LocalHandle16(WORD);
6291 HLOCAL32    WINAPI LocalHandle32(LPCVOID);
6292 #define     LocalHandle WINELIB_NAME(LocalHandle)
6293 SEGPTR      WINAPI LocalLock16(HLOCAL16);
6294 LPVOID      WINAPI LocalLock32(HLOCAL32);
6295 #define     LocalLock WINELIB_NAME(LocalLock)
6296 HLOCAL16    WINAPI LocalReAlloc16(HLOCAL16,WORD,UINT16);
6297 HLOCAL32    WINAPI LocalReAlloc32(HLOCAL32,DWORD,UINT32);
6298 #define     LocalReAlloc WINELIB_NAME(LocalReAlloc)
6299 UINT16      WINAPI LocalShrink16(HGLOBAL16,UINT16);
6300 UINT32      WINAPI LocalShrink32(HGLOBAL32,UINT32);
6301 #define     LocalShrink WINELIB_NAME(LocalShrink)
6302 UINT16      WINAPI LocalSize16(HLOCAL16);
6303 UINT32      WINAPI LocalSize32(HLOCAL32);
6304 #define     LocalSize WINELIB_NAME(LocalSize)
6305 BOOL16      WINAPI LocalUnlock16(HLOCAL16);
6306 BOOL32      WINAPI LocalUnlock32(HLOCAL32);
6307 #define     LocalUnlock WINELIB_NAME(LocalUnlock)
6308 LPVOID      WINAPI LockResource16(HGLOBAL16);
6309 LPVOID      WINAPI LockResource32(HGLOBAL32);
6310 #define     LockResource WINELIB_NAME(LockResource)
6311 HGLOBAL16   WINAPI LockSegment16(HGLOBAL16);
6312 #define     LockSegment32(handle) GlobalFix32((HANDLE32)(handle))
6313 #define     LockSegment WINELIB_NAME(LockSegment)
6314 BOOL16      WINAPI LockWindowUpdate16(HWND16);
6315 BOOL32      WINAPI LockWindowUpdate32(HWND32);
6316 #define     LockWindowUpdate WINELIB_NAME(LockWindowUpdate)
6317 INT16       WINAPI LookupIconIdFromDirectory16(LPBYTE,BOOL16);
6318 INT32       WINAPI LookupIconIdFromDirectory32(LPBYTE,BOOL32);
6319 #define     LookupIconIdFromDirectory WINELIB_NAME(LookupIconIdFromDirectory)
6320 INT16       WINAPI LookupIconIdFromDirectoryEx16(LPBYTE,BOOL16,INT16,INT16,UINT16);
6321 INT32       WINAPI LookupIconIdFromDirectoryEx32(LPBYTE,BOOL32,INT32,INT32,UINT32);
6322 #define     LookupIconIdFromDirectoryEx WINELIB_NAME(LookupIconIdFromDirectoryEx)
6323 void        WINAPI LZClose16(HFILE16);
6324 void        WINAPI LZClose32(HFILE32);
6325 #define     LZClose WINELIB_NAME(LZClose)
6326 LONG        WINAPI LZCopy16(HFILE16,HFILE16);
6327 LONG        WINAPI LZCopy32(HFILE32,HFILE32);
6328 #define     LZCopy WINELIB_NAME(LZCopy)
6329 HFILE16     WINAPI LZInit16(HFILE16);
6330 HFILE32     WINAPI LZInit32(HFILE32);
6331 #define     LZInit WINELIB_NAME(LZInit)
6332 LONG        WINAPI LZSeek16(HFILE16,LONG,INT16);
6333 LONG        WINAPI LZSeek32(HFILE32,LONG,INT32);
6334 #define     LZSeek WINELIB_NAME(LZSeek)
6335 UINT16      WINAPI MapVirtualKey16(UINT16,UINT16);
6336 UINT32      WINAPI MapVirtualKey32A(UINT32,UINT32);
6337 UINT32      WINAPI MapVirtualKey32W(UINT32,UINT32);
6338 #define     MapVirtualKey WINELIB_NAME_AW(MapVirtualKey)
6339 FARPROC16   WINAPI MakeProcInstance16(FARPROC16,HANDLE16);
6340 #define     MakeProcInstance32(proc,inst) (proc)
6341 #define     MakeProcInstance WINELIB_NAME(MakeProcInstance)
6342 void        WINAPI MapDialogRect16(HWND16,LPRECT16);
6343 void        WINAPI MapDialogRect32(HWND32,LPRECT32);
6344 #define     MapDialogRect WINELIB_NAME(MapDialogRect)
6345 void        WINAPI MapWindowPoints16(HWND16,HWND16,LPPOINT16,UINT16);
6346 void        WINAPI MapWindowPoints32(HWND32,HWND32,LPPOINT32,UINT32);
6347 #define     MapWindowPoints WINELIB_NAME(MapWindowPoints)
6348 VOID        WINAPI MessageBeep16(UINT16);
6349 BOOL32      WINAPI MessageBeep32(UINT32);
6350 #define     MessageBeep WINELIB_NAME(MessageBeep)
6351 INT16       WINAPI MessageBox16(HWND16,LPCSTR,LPCSTR,UINT16);
6352 INT32       WINAPI MessageBox32A(HWND32,LPCSTR,LPCSTR,UINT32);
6353 INT32       WINAPI MessageBox32W(HWND32,LPCWSTR,LPCWSTR,UINT32);
6354 #define     MessageBox WINELIB_NAME_AW(MessageBox)
6355 INT16       WINAPI MessageBoxIndirect16(LPMSGBOXPARAMS16);
6356 INT32       WINAPI MessageBoxIndirect32A(LPMSGBOXPARAMS32A);
6357 INT32       WINAPI MessageBoxIndirect32W(LPMSGBOXPARAMS32W);
6358 #define     MessageBoxIndirect WINELIB_NAME_AW(MessageBoxIndirect)
6359 BOOL16      WINAPI ModifyMenu16(HMENU16,UINT16,UINT16,UINT16,SEGPTR);
6360 BOOL32      WINAPI ModifyMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
6361 BOOL32      WINAPI ModifyMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
6362 #define     ModifyMenu WINELIB_NAME_AW(ModifyMenu)
6363 BOOL16      WINAPI MoveWindow16(HWND16,INT16,INT16,INT16,INT16,BOOL16);
6364 BOOL32      WINAPI MoveWindow32(HWND32,INT32,INT32,INT32,INT32,BOOL32);
6365 #define     MoveWindow WINELIB_NAME(MoveWindow)
6366 INT16       WINAPI OemToAnsi16(LPCSTR,LPSTR);
6367 #define     OemToAnsi32A OemToChar32A
6368 #define     OemToAnsi32W OemToChar32W
6369 #define     OemToAnsi WINELIB_NAME_AW(OemToAnsi)
6370 VOID        WINAPI OemToAnsiBuff16(LPCSTR,LPSTR,UINT16);
6371 #define     OemToAnsiBuff32A OemToCharBuff32A
6372 #define     OemToAnsiBuff32W OemToCharBuff32W
6373 #define     OemToAnsiBuff WINELIB_NAME_AW(OemToAnsiBuff)
6374 BOOL32      WINAPI OemToChar32A(LPCSTR,LPSTR);
6375 BOOL32      WINAPI OemToChar32W(LPCSTR,LPWSTR);
6376 #define     OemToChar WINELIB_NAME_AW(OemToChar)
6377 BOOL32      WINAPI OemToCharBuff32A(LPCSTR,LPSTR,DWORD);
6378 BOOL32      WINAPI OemToCharBuff32W(LPCSTR,LPWSTR,DWORD);
6379 #define     OemToCharBuff WINELIB_NAME_AW(OemToCharBuff)
6380 INT16       WINAPI WideCharToLocal16(LPSTR,LPWSTR,INT16);
6381 INT32       WINAPI WideCharToLocal32(LPSTR,LPWSTR,INT32);
6382 #define                 WideCharToLocal WINELIB_NAME(WideCharToLocal)
6383 INT16       WINAPI LocalToWideChar16(LPWSTR,LPSTR,INT16);
6384 INT32       WINAPI LocalToWideChar32(LPWSTR,LPSTR,INT32);
6385 #define                 LocalToWideChar WINELIB_NAME(LocalToWideChar)
6386 void        WINAPI OffsetRect16(LPRECT16,INT16,INT16);
6387 void        WINAPI OffsetRect32(LPRECT32,INT32,INT32);
6388 #define     OffsetRect WINELIB_NAME(OffsetRect)
6389 BOOL16      WINAPI OpenClipboard16(HWND16);
6390 BOOL32      WINAPI OpenClipboard32(HWND32);
6391 #define     OpenClipboard WINELIB_NAME(OpenClipboard)
6392 HFILE16     WINAPI OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
6393 HFILE32     WINAPI OpenFile32(LPCSTR,OFSTRUCT*,UINT32);
6394 #define     OpenFile WINELIB_NAME(OpenFile)
6395 BOOL16      WINAPI OpenIcon16(HWND16);
6396 BOOL32      WINAPI OpenIcon32(HWND32);
6397 #define     OpenIcon WINELIB_NAME(OpenIcon)
6398 INT16       WINAPI OpenSound16(void);
6399 VOID        WINAPI OpenSound32(void);
6400 #define     OpenSound WINELIB_NAME(OpenSound)
6401 VOID        WINAPI OutputDebugString16(LPCSTR);
6402 VOID        WINAPI OutputDebugString32A(LPCSTR);
6403 VOID        WINAPI OutputDebugString32W(LPCWSTR);
6404 #define     OutputDebugString WINELIB_NAME_AW(OutputDebugString)
6405 BOOL16      WINAPI PeekMessage16(LPMSG16,HWND16,UINT16,UINT16,UINT16);
6406 BOOL32      WINAPI PeekMessage32A(LPMSG32,HWND32,UINT32,UINT32,UINT32);
6407 BOOL32      WINAPI PeekMessage32W(LPMSG32,HWND32,UINT32,UINT32,UINT32);
6408 #define     PeekMessage WINELIB_NAME_AW(PeekMessage)
6409 BOOL16      WINAPI PostAppMessage16(HTASK16,UINT16,WPARAM16,LPARAM);
6410 #define     PostAppMessage32A(thread,msg,wparam,lparam) \
6411             PostThreadMessage32A((DWORD)(thread),msg,wparam,lparam)
6412 #define     PostAppMessage32W(thread,msg,wparam,lparam) \
6413             PostThreadMessage32W((DWORD)(thread),msg,wparam,lparam)
6414 #define     PostAppMessage WINELIB_NAME_AW(PostAppMessage)
6415 BOOL16      WINAPI PostMessage16(HWND16,UINT16,WPARAM16,LPARAM);
6416 BOOL32      WINAPI PostMessage32A(HWND32,UINT32,WPARAM32,LPARAM);
6417 BOOL32      WINAPI PostMessage32W(HWND32,UINT32,WPARAM32,LPARAM);
6418 #define     PostMessage WINELIB_NAME_AW(PostMessage)
6419 void        WINAPI PostQuitMessage16(INT16);
6420 void        WINAPI PostQuitMessage32(INT32);
6421 #define     PostQuitMessage WINELIB_NAME(PostQuitMessage)
6422 BOOL16      WINAPI PtInRect16(const RECT16*,POINT16);
6423 BOOL32      WINAPI PtInRect32(const RECT32*,POINT32);
6424 #define     PtInRect WINELIB_NAME(PtInRect)
6425 BOOL16      WINAPI RedrawWindow16(HWND16,const RECT16*,HRGN16,UINT16);
6426 BOOL32      WINAPI RedrawWindow32(HWND32,const RECT32*,HRGN32,UINT32);
6427 #define     RedrawWindow WINELIB_NAME(RedrawWindow)
6428 DWORD       WINAPI RegCreateKey16(HKEY,LPCSTR,LPHKEY);
6429 DWORD       WINAPI RegCreateKey32A(HKEY,LPCSTR,LPHKEY);
6430 DWORD       WINAPI RegCreateKey32W(HKEY,LPCWSTR,LPHKEY);
6431 #define     RegCreateKey WINELIB_NAME_AW(RegCreateKey)
6432 DWORD       WINAPI RegDeleteKey16(HKEY,LPCSTR);
6433 DWORD       WINAPI RegDeleteKey32A(HKEY,LPCSTR);
6434 DWORD       WINAPI RegDeleteKey32W(HKEY,LPWSTR);
6435 #define     RegDeleteKey WINELIB_NAME_AW(RegDeleteKey)
6436 DWORD       WINAPI RegDeleteValue16(HKEY,LPSTR);
6437 DWORD       WINAPI RegDeleteValue32A(HKEY,LPSTR);
6438 DWORD       WINAPI RegDeleteValue32W(HKEY,LPWSTR);
6439 #define     RegDeleteValue WINELIB_NAME_AW(RegDeleteValue)
6440 DWORD       WINAPI RegEnumKey16(HKEY,DWORD,LPSTR,DWORD);
6441 DWORD       WINAPI RegEnumKey32A(HKEY,DWORD,LPSTR,DWORD);
6442 DWORD       WINAPI RegEnumKey32W(HKEY,DWORD,LPWSTR,DWORD);
6443 #define     RegEnumKey WINELIB_NAME_AW(RegEnumKey)
6444 DWORD       WINAPI RegEnumValue16(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
6445 DWORD       WINAPI RegEnumValue32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
6446 DWORD       WINAPI RegEnumValue32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
6447 #define     RegEnumValue WINELIB_NAME_AW(RegEnumValue)
6448 ATOM        WINAPI RegisterClass16(const WNDCLASS16*);
6449 ATOM        WINAPI RegisterClass32A(const WNDCLASS32A *);
6450 ATOM        WINAPI RegisterClass32W(const WNDCLASS32W *);
6451 #define     RegisterClass WINELIB_NAME_AW(RegisterClass)
6452 ATOM        WINAPI RegisterClassEx16(const WNDCLASSEX16*);
6453 ATOM        WINAPI RegisterClassEx32A(const WNDCLASSEX32A *);
6454 ATOM        WINAPI RegisterClassEx32W(const WNDCLASSEX32W *);
6455 #define     RegisterClassEx WINELIB_NAME_AW(RegisterClassEx)
6456 UINT16      WINAPI RegisterClipboardFormat16(LPCSTR);
6457 UINT32      WINAPI RegisterClipboardFormat32A(LPCSTR);
6458 UINT32      WINAPI RegisterClipboardFormat32W(LPCWSTR);
6459 #define     RegisterClipboardFormat WINELIB_NAME_AW(RegisterClipboardFormat)
6460 HRESULT     WINAPI RegisterDragDrop16(HWND16,LPVOID);
6461 HRESULT     WINAPI RegisterDragDrop32(HWND32,LPVOID);
6462 #define     RegisterDragDrop WINELIB_NAME(RegisterDragDrop)
6463 WORD        WINAPI RegisterWindowMessage16(SEGPTR);
6464 WORD        WINAPI RegisterWindowMessage32A(LPCSTR);
6465 WORD        WINAPI RegisterWindowMessage32W(LPCWSTR);
6466 #define     RegisterWindowMessage WINELIB_NAME_AW(RegisterWindowMessage)
6467 DWORD       WINAPI RegOpenKey16(HKEY,LPCSTR,LPHKEY);
6468 DWORD       WINAPI RegOpenKey32A(HKEY,LPCSTR,LPHKEY);
6469 DWORD       WINAPI RegOpenKey32W(HKEY,LPCWSTR,LPHKEY);
6470 #define     RegOpenKey WINELIB_NAME_AW(RegOpenKey)
6471 DWORD       WINAPI RegQueryValue16(HKEY,LPSTR,LPSTR,LPDWORD);
6472 DWORD       WINAPI RegQueryValue32A(HKEY,LPSTR,LPSTR,LPDWORD);
6473 DWORD       WINAPI RegQueryValue32W(HKEY,LPWSTR,LPWSTR,LPDWORD);
6474 #define     RegQueryValue WINELIB_NAME_AW(RegQueryValue)
6475 DWORD       WINAPI RegQueryValueEx16(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
6476 DWORD       WINAPI RegQueryValueEx32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
6477 DWORD       WINAPI RegQueryValueEx32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
6478 #define     RegQueryValueEx WINELIB_NAME_AW(RegQueryValueEx)
6479 DWORD       WINAPI RegSetValue16(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
6480 DWORD       WINAPI RegSetValue32A(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
6481 DWORD       WINAPI RegSetValue32W(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
6482 #define     RegSetValue WINELIB_NAME_AW(RegSetValue)
6483 DWORD       WINAPI RegSetValueEx16(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
6484 DWORD       WINAPI RegSetValueEx32A(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
6485 DWORD       WINAPI RegSetValueEx32W(HKEY,LPWSTR,DWORD,DWORD,LPBYTE,DWORD);
6486 #define     RegSetValueEx WINELIB_NAME_AW(RegSetValueEx)
6487 INT16       WINAPI ReleaseDC16(HWND16,HDC16);
6488 INT32       WINAPI ReleaseDC32(HWND32,HDC32);
6489 #define     ReleaseDC WINELIB_NAME(ReleaseDC)
6490 BOOL16      WINAPI RemoveDirectory16(LPCSTR);
6491 BOOL32      WINAPI RemoveDirectory32A(LPCSTR);
6492 BOOL32      WINAPI RemoveDirectory32W(LPCWSTR);
6493 #define     RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
6494 BOOL16      WINAPI RemoveMenu16(HMENU16,UINT16,UINT16);
6495 BOOL32      WINAPI RemoveMenu32(HMENU32,UINT32,UINT32);
6496 #define     RemoveMenu WINELIB_NAME(RemoveMenu)
6497 HANDLE16    WINAPI RemoveProp16(HWND16,LPCSTR);
6498 HANDLE32    WINAPI RemoveProp32A(HWND32,LPCSTR);
6499 HANDLE32    WINAPI RemoveProp32W(HWND32,LPCWSTR);
6500 #define     RemoveProp WINELIB_NAME_AW(RemoveProp)
6501 VOID        WINAPI ReplyMessage16(LRESULT);
6502 BOOL32      WINAPI ReplyMessage32(LRESULT);
6503 #define     ReplyMessage WINELIB_NAME(ReplyMessage)
6504 HRESULT     WINAPI RevokeDragDrop16(HWND16);
6505 HRESULT     WINAPI RevokeDragDrop32(HWND32);
6506 #define     RevokeDragDrop WINELIB_NAME(RevokeDragDrop)
6507 void        WINAPI ScreenToClient16(HWND16,LPPOINT16);
6508 void        WINAPI ScreenToClient32(HWND32,LPPOINT32);
6509 #define     ScreenToClient WINELIB_NAME(ScreenToClient)
6510 VOID        WINAPI ScrollChildren16(HWND16,UINT16,WPARAM16,LPARAM);
6511 VOID        WINAPI ScrollChildren32(HWND32,UINT32,WPARAM32,LPARAM);
6512 #define     ScrollChildren WINELIB_NAME(ScrollChildren)
6513 BOOL16      WINAPI ScrollDC16(HDC16,INT16,INT16,const RECT16*,const RECT16*,
6514                       HRGN16,LPRECT16);
6515 BOOL32      WINAPI ScrollDC32(HDC32,INT32,INT32,const RECT32*,const RECT32*,
6516                       HRGN32,LPRECT32);
6517 #define     ScrollDC WINELIB_NAME(ScrollDC)
6518 void        WINAPI ScrollWindow16(HWND16,INT16,INT16,const RECT16*,const RECT16*);
6519 BOOL32      WINAPI ScrollWindow32(HWND32,INT32,INT32,const RECT32*,const RECT32*);
6520 #define     ScrollWindow WINELIB_NAME(ScrollWindow)
6521 INT16       WINAPI ScrollWindowEx16(HWND16,INT16,INT16,const RECT16*,
6522                                     const RECT16*,HRGN16,LPRECT16,UINT16);
6523 INT32       WINAPI ScrollWindowEx32(HWND32,INT32,INT32,const RECT32*,
6524                                     const RECT32*,HRGN32,LPRECT32,UINT32);
6525 #define     ScrollWindowEx WINELIB_NAME(ScrollWindowEx)
6526 LRESULT     WINAPI SendDlgItemMessage16(HWND16,INT16,UINT16,WPARAM16,LPARAM);
6527 LRESULT     WINAPI SendDlgItemMessage32A(HWND32,INT32,UINT32,WPARAM32,LPARAM);
6528 LRESULT     WINAPI SendDlgItemMessage32W(HWND32,INT32,UINT32,WPARAM32,LPARAM);
6529 #define     SendDlgItemMessage WINELIB_NAME_AW(SendDlgItemMessage)
6530 LRESULT     WINAPI SendMessage16(HWND16,UINT16,WPARAM16,LPARAM);
6531 LRESULT     WINAPI SendMessage32A(HWND32,UINT32,WPARAM32,LPARAM);
6532 LRESULT     WINAPI SendMessage32W(HWND32,UINT32,WPARAM32,LPARAM);
6533 #define     SendMessage WINELIB_NAME_AW(SendMessage)
6534 LRESULT     WINAPI SendMessageTimeout16(HWND16,UINT16,WPARAM16,LPARAM,UINT16,
6535                                         UINT16,LPWORD);
6536 LRESULT     WINAPI SendMessageTimeout32A(HWND32,UINT32,WPARAM32,LPARAM,UINT32,
6537                                          UINT32,LPDWORD);
6538 LRESULT     WINAPI SendMessageTimeout32W(HWND32,UINT32,WPARAM32,LPARAM,UINT32,
6539                                          UINT32,LPDWORD);
6540 #define     SendMessageTimeout WINELIB_NAME_AW(SendMessageTimeout)
6541 HWND16      WINAPI SetActiveWindow16(HWND16);
6542 HWND32      WINAPI SetActiveWindow32(HWND32);
6543 #define     SetActiveWindow WINELIB_NAME(SetActiveWindow)
6544 HWND16      WINAPI SetCapture16(HWND16);
6545 HWND32      WINAPI SetCapture32(HWND32);
6546 #define     SetCapture WINELIB_NAME(SetCapture)
6547 VOID        WINAPI SetCaretBlinkTime16(UINT16);
6548 BOOL32      WINAPI SetCaretBlinkTime32(UINT32);
6549 #define     SetCaretBlinkTime WINELIB_NAME(SetCaretBlinkTime)
6550 VOID        WINAPI SetCaretPos16(INT16,INT16);
6551 BOOL32      WINAPI SetCaretPos32(INT32,INT32);
6552 #define     SetCaretPos WINELIB_NAME(SetCaretPos)
6553 LONG        WINAPI SetClassLong16(HWND16,INT16,LONG);
6554 LONG        WINAPI SetClassLong32A(HWND32,INT32,LONG);
6555 LONG        WINAPI SetClassLong32W(HWND32,INT32,LONG);
6556 #define     SetClassLong WINELIB_NAME_AW(SetClassLong)
6557 WORD        WINAPI SetClassWord16(HWND16,INT16,WORD);
6558 WORD        WINAPI SetClassWord32(HWND32,INT32,WORD);
6559 #define     SetClassWord WINELIB_NAME(SetClassWord)
6560 HANDLE16    WINAPI SetClipboardData16(UINT16,HANDLE16);
6561 HANDLE32    WINAPI SetClipboardData32(UINT32,HANDLE32);
6562 #define     SetClipboardData WINELIB_NAME(SetClipboardData)
6563 HWND16      WINAPI SetClipboardViewer16(HWND16);
6564 HWND32      WINAPI SetClipboardViewer32(HWND32);
6565 #define     SetClipboardViewer WINELIB_NAME(SetClipboardViewer)
6566 INT16       WINAPI SetCommBreak16(INT16);
6567 BOOL32      WINAPI SetCommBreak32(INT32);
6568 #define     SetCommBreak WINELIB_NAME(SetCommBreak)
6569 INT16       WINAPI SetCommState16(LPDCB16);
6570 BOOL32      WINAPI SetCommState32(INT32,LPDCB32);
6571 #define     SetCommState WINELIB_NAME(SetCommState)
6572 BOOL16      WINAPI SetCurrentDirectory16(LPCSTR);
6573 BOOL32      WINAPI SetCurrentDirectory32A(LPCSTR);
6574 BOOL32      WINAPI SetCurrentDirectory32W(LPCWSTR);
6575 #define     SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
6576 HCURSOR16   WINAPI SetCursor16(HCURSOR16);
6577 HCURSOR32   WINAPI SetCursor32(HCURSOR32);
6578 #define     SetCursor WINELIB_NAME(SetCursor)
6579 void        WINAPI SetCursorPos16(INT16,INT16);
6580 BOOL32      WINAPI SetCursorPos32(INT32,INT32);
6581 #define     SetCursorPos WINELIB_NAME(SetCursorPos)
6582 BOOL16      WINAPI SetDeskWallPaper16(LPCSTR);
6583 BOOL32      WINAPI SetDeskWallPaper32(LPCSTR);
6584 #define     SetDeskWallPaper WINELIB_NAME(SetDeskWallPaper)
6585 void        WINAPI SetDlgItemInt16(HWND16,INT16,UINT16,BOOL16);
6586 void        WINAPI SetDlgItemInt32(HWND32,INT32,UINT32,BOOL32);
6587 #define     SetDlgItemInt WINELIB_NAME(SetDlgItemInt)
6588 void        WINAPI SetDlgItemText16(HWND16,INT16,SEGPTR);
6589 BOOL32      WINAPI SetDlgItemText32A(HWND32,INT32,LPCSTR);
6590 BOOL32      WINAPI SetDlgItemText32W(HWND32,INT32,LPCWSTR);
6591 #define     SetDlgItemText WINELIB_NAME_AW(SetDlgItemText)
6592 VOID        WINAPI SetDoubleClickTime16(UINT16);
6593 BOOL32      WINAPI SetDoubleClickTime32(UINT32);
6594 #define     SetDoubleClickTime WINELIB_NAME(SetDoubleClickTime)
6595 UINT16      WINAPI SetErrorMode16(UINT16);
6596 UINT32      WINAPI SetErrorMode32(UINT32);
6597 #define     SetErrorMode WINELIB_NAME(SetErrorMode)
6598 BOOL16      WINAPI SetFileAttributes16(LPCSTR,DWORD);
6599 BOOL32      WINAPI SetFileAttributes32A(LPCSTR,DWORD);
6600 BOOL32      WINAPI SetFileAttributes32W(LPCWSTR,DWORD);
6601 #define     SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
6602 HWND16      WINAPI SetFocus16(HWND16);
6603 HWND32      WINAPI SetFocus32(HWND32);
6604 #define     SetFocus WINELIB_NAME(SetFocus)
6605 BOOL16      WINAPI SetForegroundWindow16(HWND16);
6606 BOOL32      WINAPI SetForegroundWindow32(HWND32);
6607 #define     SetForegroundWindow WINELIB_NAME(SetForegroundWindow)
6608 UINT16      WINAPI SetHandleCount16(UINT16);
6609 UINT32      WINAPI SetHandleCount32(UINT32);
6610 #define     SetHandleCount WINELIB_NAME(SetHandleCount)
6611 void        WINAPI SetInternalWindowPos16(HWND16,UINT16,LPRECT16,LPPOINT16);
6612 void        WINAPI SetInternalWindowPos32(HWND32,UINT32,LPRECT32,LPPOINT32);
6613 #define     SetInternalWindowPos WINELIB_NAME(SetInternalWindowPos)
6614 BOOL16      WINAPI SetMenu16(HWND16,HMENU16);
6615 BOOL32      WINAPI SetMenu32(HWND32,HMENU32);
6616 #define     SetMenu WINELIB_NAME(SetMenu)
6617 BOOL16      WINAPI SetMenuContextHelpId16(HMENU16,DWORD);
6618 BOOL32      WINAPI SetMenuContextHelpId32(HMENU32,DWORD);
6619 #define     SetMenuContextHelpId WINELIB_NAME(SetMenuContextHelpId)
6620 BOOL16      WINAPI SetMenuItemBitmaps16(HMENU16,UINT16,UINT16,HBITMAP16,HBITMAP16);
6621 BOOL32      WINAPI SetMenuItemBitmaps32(HMENU32,UINT32,UINT32,HBITMAP32,HBITMAP32);
6622 #define     SetMenuItemBitmaps WINELIB_NAME(SetMenuItemBitmaps)
6623 BOOL16      WINAPI SetMessageQueue16(INT16);
6624 BOOL32      WINAPI SetMessageQueue32(INT32);
6625 #define     SetMessageQueue WINELIB_NAME(SetMessageQueue)
6626 HWND16      WINAPI SetParent16(HWND16,HWND16);
6627 HWND32      WINAPI SetParent32(HWND32,HWND32);
6628 #define     SetParent WINELIB_NAME(SetParent)
6629 BOOL16      WINAPI SetProp16(HWND16,LPCSTR,HANDLE16);
6630 BOOL32      WINAPI SetProp32A(HWND32,LPCSTR,HANDLE32);
6631 BOOL32      WINAPI SetProp32W(HWND32,LPCWSTR,HANDLE32);
6632 #define     SetProp WINELIB_NAME_AW(SetProp)
6633 void        WINAPI SetRect16(LPRECT16,INT16,INT16,INT16,INT16);
6634 void        WINAPI SetRect32(LPRECT32,INT32,INT32,INT32,INT32);
6635 #define     SetRect WINELIB_NAME(SetRect)
6636 void        WINAPI SetRectEmpty16(LPRECT16);
6637 void        WINAPI SetRectEmpty32(LPRECT32);
6638 #define     SetRectEmpty WINELIB_NAME(SetRectEmpty)
6639 INT16       WINAPI SetScrollInfo16(HWND16,INT16,const SCROLLINFO*,BOOL16);
6640 INT32       WINAPI SetScrollInfo32(HWND32,INT32,const SCROLLINFO*,BOOL32);
6641 #define     SetScrollInfo WINELIB_NAME(SetScrollInfo)
6642 INT16       WINAPI SetScrollPos16(HWND16,INT16,INT16,BOOL16);
6643 INT32       WINAPI SetScrollPos32(HWND32,INT32,INT32,BOOL32);
6644 #define     SetScrollPos WINELIB_NAME(SetScrollPos)
6645 void        WINAPI SetScrollRange16(HWND16,INT16,INT16,INT16,BOOL16);
6646 BOOL32      WINAPI SetScrollRange32(HWND32,INT32,INT32,INT32,BOOL32);
6647 #define     SetScrollRange WINELIB_NAME(SetScrollRange)
6648 INT16       WINAPI SetSoundNoise16(INT16,INT16);
6649 DWORD       WINAPI SetSoundNoise32(DWORD,DWORD);
6650 #define     SetSoundNoise WINELIB_NAME(SetSoundNoise)
6651 LONG        WINAPI SetSwapAreaSize16(WORD);
6652 #define     SetSwapAreaSize32(w) (w)
6653 #define     SetSwapAreaSize WINELIB_NAME(SetSwapAreaSize)
6654 HWND16      WINAPI SetSysModalWindow16(HWND16);
6655 #define     SetSysModalWindow32(hwnd) ((HWND32)0)
6656 #define     SetSysModalWindow WINELIB_NAME(SetSysModalWindow)
6657 BOOL16      WINAPI SetSystemMenu16(HWND16,HMENU16);
6658 BOOL32      WINAPI SetSystemMenu32(HWND32,HMENU32);
6659 #define     SetSystemMenu WINELIB_NAME(SetSystemMenu)
6660 UINT16      WINAPI SetSystemTimer16(HWND16,UINT16,UINT16,TIMERPROC16);
6661 UINT32      WINAPI SetSystemTimer32(HWND32,UINT32,UINT32,TIMERPROC32);
6662 #define     SetSystemTimer WINELIB_NAME(SetSystemTimer)
6663 UINT16      WINAPI SetTimer16(HWND16,UINT16,UINT16,TIMERPROC16);
6664 UINT32      WINAPI SetTimer32(HWND32,UINT32,UINT32,TIMERPROC32);
6665 #define     SetTimer WINELIB_NAME(SetTimer)
6666 INT16       WINAPI SetVoiceAccent16(INT16,INT16,INT16,INT16,INT16);
6667 DWORD       WINAPI SetVoiceAccent32(DWORD,DWORD,DWORD,DWORD,DWORD);
6668 #define     SetVoiceAccent WINELIB_NAME(SetVoiceAccent)
6669 INT16       WINAPI SetVoiceEnvelope16(INT16,INT16,INT16);
6670 DWORD       WINAPI SetVoiceEnvelope32(DWORD,DWORD,DWORD);
6671 #define     SetVoiceEnvelope WINELIB_NAME(SetVoiceEnvelope)
6672 INT16       WINAPI SetVoiceNote16(INT16,INT16,INT16,INT16);
6673 DWORD       WINAPI SetVoiceNote32(DWORD,DWORD,DWORD,DWORD);
6674 #define     SetVoiceNote WINELIB_NAME(SetVoiceNote)
6675 INT16       WINAPI SetVoiceQueueSize16(INT16,INT16);
6676 DWORD       WINAPI SetVoiceQueueSize32(DWORD,DWORD);
6677 #define     SetVoiceQueueSize WINELIB_NAME(SetVoiceQueueSize)
6678 INT16       WINAPI SetVoiceSound16(INT16,DWORD,INT16);
6679 DWORD       WINAPI SetVoiceSound32(DWORD,DWORD,DWORD);
6680 #define     SetVoiceSound WINELIB_NAME(SetVoiceSound)
6681 INT16       WINAPI SetVoiceThreshold16(INT16,INT16);
6682 DWORD       WINAPI SetVoiceThreshold32(DWORD,DWORD);
6683 #define     SetVoiceThreshold WINELIB_NAME(SetVoiceThreshold)
6684 LONG        WINAPI SetWindowLong16(HWND16,INT16,LONG);
6685 LONG        WINAPI SetWindowLong32A(HWND32,INT32,LONG);
6686 LONG        WINAPI SetWindowLong32W(HWND32,INT32,LONG);
6687 #define     SetWindowLong WINELIB_NAME_AW(SetWindowLong)
6688 BOOL16      WINAPI SetWindowPlacement16(HWND16,const WINDOWPLACEMENT16*);
6689 BOOL32      WINAPI SetWindowPlacement32(HWND32,const WINDOWPLACEMENT32*);
6690 #define     SetWindowPlacement WINELIB_NAME(SetWindowPlacement)
6691 FARPROC16   WINAPI SetWindowsHook16(INT16,HOOKPROC16);
6692 HHOOK       WINAPI SetWindowsHook32A(INT32,HOOKPROC32);
6693 HHOOK       WINAPI SetWindowsHook32W(INT32,HOOKPROC32);
6694 #define     SetWindowsHook WINELIB_NAME_AW(SetWindowsHook)
6695 HHOOK       WINAPI SetWindowsHookEx16(INT16,HOOKPROC16,HINSTANCE16,HTASK16);
6696 HHOOK       WINAPI SetWindowsHookEx32A(INT32,HOOKPROC32,HINSTANCE32,DWORD);
6697 HHOOK       WINAPI SetWindowsHookEx32W(INT32,HOOKPROC32,HINSTANCE32,DWORD);
6698 #define     SetWindowsHookEx WINELIB_NAME_AW(SetWindowsHookEx)
6699 BOOL16      WINAPI SetWindowPos16(HWND16,HWND16,INT16,INT16,INT16,INT16,WORD);
6700 BOOL32      WINAPI SetWindowPos32(HWND32,HWND32,INT32,INT32,INT32,INT32,WORD);
6701 #define     SetWindowPos WINELIB_NAME(SetWindowPos)
6702 INT16       WINAPI SetWindowRgn16(HWND16,HRGN16,BOOL16);
6703 INT32       WINAPI SetWindowRgn32(HWND32,HRGN32,BOOL32);
6704 #define     SetWindowRgn WINELIB_NAME(SetWindowRgn)
6705 BOOL16      WINAPI SetWindowText16(HWND16,SEGPTR);
6706 BOOL32      WINAPI SetWindowText32A(HWND32,LPCSTR);
6707 BOOL32      WINAPI SetWindowText32W(HWND32,LPCWSTR);
6708 #define     SetWindowText WINELIB_NAME_AW(SetWindowText)
6709 WORD        WINAPI SetWindowWord16(HWND16,INT16,WORD);
6710 WORD        WINAPI SetWindowWord32(HWND32,INT32,WORD);
6711 #define     SetWindowWord WINELIB_NAME(SetWindowWord)
6712 BOOL16      WINAPI ShellAbout16(HWND16,LPCSTR,LPCSTR,HICON16);
6713 BOOL32      WINAPI ShellAbout32A(HWND32,LPCSTR,LPCSTR,HICON32);
6714 BOOL32      WINAPI ShellAbout32W(HWND32,LPCWSTR,LPCWSTR,HICON32);
6715 #define     ShellAbout WINELIB_NAME_AW(ShellAbout)
6716 HINSTANCE16 WINAPI ShellExecute16(HWND16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT16);
6717 HINSTANCE32 WINAPI ShellExecute32A(HWND32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT32);
6718 HINSTANCE32 WINAPI ShellExecute32W(HWND32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT32);
6719 #define     ShellExecute WINELIB_NAME_AW(ShellExecute)
6720 VOID        WINAPI ShowCaret16(HWND16);
6721 BOOL32      WINAPI ShowCaret32(HWND32);
6722 #define     ShowCaret WINELIB_NAME(ShowCaret)
6723 INT16       WINAPI ShowCursor16(BOOL16);
6724 INT32       WINAPI ShowCursor32(BOOL32);
6725 #define     ShowCursor WINELIB_NAME(ShowCursor)
6726 void        WINAPI ShowScrollBar16(HWND16,INT16,BOOL16);
6727 BOOL32      WINAPI ShowScrollBar32(HWND32,INT32,BOOL32);
6728 #define     ShowScrollBar WINELIB_NAME(ShowScrollBar)
6729 VOID        WINAPI ShowOwnedPopups16(HWND16,BOOL16);
6730 BOOL32      WINAPI ShowOwnedPopups32(HWND32,BOOL32);
6731 #define     ShowOwnedPopups WINELIB_NAME(ShowOwnedPopups)
6732 BOOL16      WINAPI ShowWindow16(HWND16,INT16);
6733 BOOL32      WINAPI ShowWindow32(HWND32,INT32);
6734 #define     ShowWindow WINELIB_NAME(ShowWindow)
6735 DWORD       WINAPI SizeofResource16(HMODULE16,HRSRC16);
6736 DWORD       WINAPI SizeofResource32(HMODULE32,HRSRC32);
6737 #define     SizeofResource WINELIB_NAME(SizeofResource)
6738 INT16       WINAPI StartSound16(void);
6739 VOID        WINAPI StartSound32(void);
6740 #define     StartSound WINELIB_NAME(StartSound)
6741 INT16       WINAPI StopSound16(void);
6742 VOID        WINAPI StopSound32(void);
6743 #define     StopSound WINELIB_NAME(StopSound)
6744 BOOL16      WINAPI SubtractRect16(LPRECT16,const RECT16*,const RECT16*);
6745 BOOL32      WINAPI SubtractRect32(LPRECT32,const RECT32*,const RECT32*);
6746 #define     SubtractRect WINELIB_NAME(SubtractRect)
6747 BOOL16      WINAPI SwapMouseButton16(BOOL16);
6748 BOOL32      WINAPI SwapMouseButton32(BOOL32);
6749 #define     SwapMouseButton WINELIB_NAME(SwapMouseButton)
6750 VOID        WINAPI SwitchToThisWindow16(HWND16,BOOL16);
6751 VOID        WINAPI SwitchToThisWindow32(HWND32,BOOL32);
6752 #define     SwitchToThisWindow WINELIB_NAME(SwitchToThisWindow)
6753 INT16       WINAPI SyncAllVoices16(void);
6754 DWORD       WINAPI SyncAllVoices32(void);
6755 #define     SyncAllVoices WINELIB_NAME(SyncAllVoices)
6756 BOOL16      WINAPI SystemParametersInfo16(UINT16,UINT16,LPVOID,UINT16);
6757 BOOL32      WINAPI SystemParametersInfo32A(UINT32,UINT32,LPVOID,UINT32);
6758 BOOL32      WINAPI SystemParametersInfo32W(UINT32,UINT32,LPVOID,UINT32);
6759 #define     SystemParametersInfo WINELIB_NAME_AW(SystemParametersInfo)
6760 LONG        WINAPI TabbedTextOut16(HDC16,INT16,INT16,LPCSTR,INT16,INT16,const INT16*,INT16);
6761 LONG        WINAPI TabbedTextOut32A(HDC32,INT32,INT32,LPCSTR,INT32,INT32,const INT32*,INT32);
6762 LONG        WINAPI TabbedTextOut32W(HDC32,INT32,INT32,LPCWSTR,INT32,INT32,const INT32*,INT32);
6763 #define     TabbedTextOut WINELIB_NAME_AW(TabbedTextOut)
6764 INT16       WINAPI ToAscii16(UINT16,UINT16,LPBYTE,LPVOID,UINT16);
6765 INT32       WINAPI ToAscii32(UINT32,UINT32,LPBYTE,LPWORD,UINT32);
6766 #define     ToAscii WINELIB_NAME(ToAscii)
6767 BOOL16      WINAPI TrackPopupMenu16(HMENU16,UINT16,INT16,INT16,INT16,HWND16,const RECT16*);
6768 BOOL32      WINAPI TrackPopupMenu32(HMENU32,UINT32,INT32,INT32,INT32,HWND32,const RECT32*);
6769 #define     TrackPopupMenu WINELIB_NAME(TrackPopupMenu)
6770 INT16       WINAPI TranslateAccelerator16(HWND16,HACCEL16,LPMSG16);
6771 INT32       WINAPI TranslateAccelerator32(HWND32,HACCEL32,LPMSG32);
6772 #define     TranslateAccelerator WINELIB_NAME(TranslateAccelerator)
6773 BOOL16      WINAPI TranslateMDISysAccel16(HWND16,LPMSG16);
6774 BOOL32      WINAPI TranslateMDISysAccel32(HWND32,LPMSG32);
6775 #define     TranslateMDISysAccel WINELIB_NAME(TranslateMDISysAccel)
6776 BOOL16      WINAPI TranslateMessage16(const MSG16*);
6777 BOOL32      WINAPI TranslateMessage32(const MSG32*);
6778 #define     TranslateMessage WINELIB_NAME(TranslateMessage)
6779 INT16       WINAPI TransmitCommChar16(INT16,CHAR);
6780 BOOL32      WINAPI TransmitCommChar32(INT32,CHAR);
6781 #define     TransmitCommChar WINELIB_NAME(TransmitCommChar)
6782 BOOL16      WINAPI UnhookWindowsHook16(INT16,HOOKPROC16);
6783 BOOL32      WINAPI UnhookWindowsHook32(INT32,HOOKPROC32);
6784 #define     UnhookWindowsHook WINELIB_NAME(UnhookWindowsHook)
6785 BOOL16      WINAPI UnhookWindowsHookEx16(HHOOK);
6786 BOOL32      WINAPI UnhookWindowsHookEx32(HHOOK);
6787 #define     UnhookWindowsHookEx WINELIB_NAME(UnhookWindowsHookEx)
6788 BOOL16      WINAPI UnionRect16(LPRECT16,const RECT16*,const RECT16*);
6789 BOOL32      WINAPI UnionRect32(LPRECT32,const RECT32*,const RECT32*);
6790 #define     UnionRect WINELIB_NAME(UnionRect)
6791 void        WINAPI UnlockSegment16(HGLOBAL16);
6792 #define     UnlockSegment32(handle) GlobalUnfix((HANDLE32)(handle))
6793 #define     UnlockSegment WINELIB_NAME(UnlockSegment)
6794 BOOL16      WINAPI UnregisterClass16(SEGPTR,HINSTANCE16);
6795 BOOL32      WINAPI UnregisterClass32A(LPCSTR,HINSTANCE32);
6796 BOOL32      WINAPI UnregisterClass32W(LPCWSTR,HINSTANCE32);
6797 #define     UnregisterClass WINELIB_NAME_AW(UnregisterClass)
6798 VOID        WINAPI UpdateWindow16(HWND16);
6799 VOID        WINAPI UpdateWindow32(HWND32);
6800 #define     UpdateWindow WINELIB_NAME(UpdateWindow)
6801 VOID        WINAPI ValidateRect16(HWND16,const RECT16*);
6802 VOID        WINAPI ValidateRect32(HWND32,const RECT32*);
6803 #define     ValidateRect WINELIB_NAME(ValidateRect)
6804 VOID        WINAPI ValidateRgn16(HWND16,HRGN16);
6805 VOID        WINAPI ValidateRgn32(HWND32,HRGN32);
6806 #define     ValidateRgn WINELIB_NAME(ValidateRgn)
6807 DWORD       WINAPI VerFindFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*,LPSTR,UINT16*);
6808 DWORD       WINAPI VerFindFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*,LPSTR,UINT32*);
6809 DWORD       WINAPI VerFindFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*,LPWSTR,UINT32*);
6810 #define     VerFindFile WINELIB_NAME_AW(VerFindFile)
6811 DWORD       WINAPI VerInstallFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*);
6812 DWORD       WINAPI VerInstallFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*);
6813 DWORD       WINAPI VerInstallFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*);
6814 #define     VerInstallFile WINELIB_NAME_AW(VerInstallFile)
6815 DWORD       WINAPI VerLanguageName16(UINT16,LPSTR,UINT16);
6816 DWORD       WINAPI VerLanguageName32A(UINT32,LPSTR,UINT32);
6817 DWORD       WINAPI VerLanguageName32W(UINT32,LPWSTR,UINT32);
6818 #define     VerLanguageName WINELIB_NAME_AW(VerLanguageName)
6819 DWORD       WINAPI VerQueryValue16(SEGPTR,LPCSTR,SEGPTR*,UINT16*);
6820 DWORD       WINAPI VerQueryValue32A(LPVOID,LPCSTR,LPVOID*,UINT32*);
6821 DWORD       WINAPI VerQueryValue32W(LPVOID,LPCWSTR,LPVOID*,UINT32*);
6822 #define     VerQueryValue WINELIB_NAME_AW(VerQueryValue)
6823 WORD        WINAPI VkKeyScan16(CHAR);
6824 WORD        WINAPI VkKeyScan32A(CHAR);
6825 WORD        WINAPI VkKeyScan32W(WCHAR);
6826 #define     VkKeyScan WINELIB_NAME_AW(VkKeyScan)
6827 INT16       WINAPI WaitSoundState16(INT16);
6828 DWORD       WINAPI WaitSoundState32(DWORD);
6829 #define     WaitSoundState WINELIB_NAME(WaitSoundState)
6830 HWND16      WINAPI WindowFromDC16(HDC16);
6831 HWND32      WINAPI WindowFromDC32(HDC32);
6832 #define     WindowFromDC WINELIB_NAME(WindowFromDC)
6833 HWND16      WINAPI WindowFromPoint16(POINT16);
6834 HWND32      WINAPI WindowFromPoint32(POINT32);
6835 #define     WindowFromPoint WINELIB_NAME(WindowFromPoint)
6836 BOOL16      WINAPI WritePrivateProfileSection16(LPCSTR,LPCSTR,LPCSTR);
6837 BOOL32      WINAPI WritePrivateProfileSection32A(LPCSTR,LPCSTR,LPCSTR);
6838 BOOL32      WINAPI WritePrivateProfileSection32W(LPCWSTR,LPCWSTR,LPCWSTR);
6839 #define     WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
6840 BOOL16      WINAPI WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
6841 BOOL32      WINAPI WritePrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
6842 BOOL32      WINAPI WritePrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
6843 BOOL32       WINAPI WriteProfileSection32A(LPCSTR,LPCSTR);
6844 BOOL32       WINAPI WriteProfileSection32W(LPCWSTR,LPCWSTR);
6845 #define     WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
6846 BOOL16      WINAPI WritePrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
6847 BOOL32      WINAPI WritePrivateProfileStruct32A(LPCSTR,LPCSTR,LPVOID,UINT32,LPCSTR);
6848 BOOL32      WINAPI WritePrivateProfileStruct32W(LPCWSTR,LPCWSTR,LPVOID,UINT32,LPCWSTR);
6849 #define     WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
6850 BOOL16      WINAPI WriteProfileString16(LPCSTR,LPCSTR,LPCSTR);
6851 BOOL32      WINAPI WriteProfileString32A(LPCSTR,LPCSTR,LPCSTR);
6852 BOOL32      WINAPI WriteProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR);
6853 #define     WriteProfileString WINELIB_NAME_AW(WriteProfileString)
6854 VOID        WINAPI Yield16(void);
6855 #define     Yield32()
6856 #define     Yield WINELIB_NAME(Yield)
6857 SEGPTR      WINAPI lstrcat16(SEGPTR,LPCSTR);
6858 LPSTR       WINAPI lstrcat32A(LPSTR,LPCSTR);
6859 LPWSTR      WINAPI lstrcat32W(LPWSTR,LPCWSTR);
6860 #define     lstrcat WINELIB_NAME_AW(lstrcat)
6861 SEGPTR      WINAPI lstrcatn16(SEGPTR,LPCSTR,INT16);
6862 LPSTR       WINAPI lstrcatn32A(LPSTR,LPCSTR,INT32);
6863 LPWSTR      WINAPI lstrcatn32W(LPWSTR,LPCWSTR,INT32);
6864 #define     lstrcatn WINELIB_NAME_AW(lstrcatn)
6865 INT16       WINAPI lstrcmp16(LPCSTR,LPCSTR);
6866 INT32       WINAPI lstrcmp32A(LPCSTR,LPCSTR);
6867 INT32       WINAPI lstrcmp32W(LPCWSTR,LPCWSTR);
6868 #define     lstrcmp WINELIB_NAME_AW(lstrcmp)
6869 INT16       WINAPI lstrcmpi16(LPCSTR,LPCSTR);
6870 INT32       WINAPI lstrcmpi32A(LPCSTR,LPCSTR);
6871 INT32       WINAPI lstrcmpi32W(LPCWSTR,LPCWSTR);
6872 #define     lstrcmpi WINELIB_NAME_AW(lstrcmpi)
6873 SEGPTR      WINAPI lstrcpy16(SEGPTR,LPCSTR);
6874 LPSTR       WINAPI lstrcpy32A(LPSTR,LPCSTR);
6875 LPWSTR      WINAPI lstrcpy32W(LPWSTR,LPCWSTR);
6876 #define     lstrcpy WINELIB_NAME_AW(lstrcpy)
6877 SEGPTR      WINAPI lstrcpyn16(SEGPTR,LPCSTR,INT16);
6878 LPSTR       WINAPI lstrcpyn32A(LPSTR,LPCSTR,INT32);
6879 LPWSTR      WINAPI lstrcpyn32W(LPWSTR,LPCWSTR,INT32);
6880 #define     lstrcpyn WINELIB_NAME_AW(lstrcpyn)
6881 INT16       WINAPI lstrlen16(LPCSTR);
6882 INT32       WINAPI lstrlen32A(LPCSTR);
6883 INT32       WINAPI lstrlen32W(LPCWSTR);
6884 #define     lstrlen WINELIB_NAME_AW(lstrlen)
6885 HINSTANCE16 WINAPI WinExec16(LPCSTR,UINT16);
6886 HINSTANCE32 WINAPI WinExec32(LPCSTR,UINT32);
6887 #define     WinExec WINELIB_NAME(WinExec)
6888 BOOL16      WINAPI WinHelp16(HWND16,LPCSTR,UINT16,DWORD);
6889 BOOL32      WINAPI WinHelp32A(HWND32,LPCSTR,UINT32,DWORD);
6890 BOOL32      WINAPI WinHelp32W(HWND32,LPCWSTR,UINT32,DWORD);
6891 #define     WinHelp WINELIB_NAME_AW(WinHelp)
6892 UINT16      WINAPI WNetAddConnection16(LPCSTR,LPCSTR,LPCSTR);
6893 UINT32      WINAPI WNetAddConnection32A(LPCSTR,LPCSTR,LPCSTR);
6894 UINT32      WINAPI WNetAddConnection32W(LPCWSTR,LPCWSTR,LPCWSTR);
6895 #define     WNetAddConnection WINELIB_NAME_AW(WNetAddConnection)
6896 INT16       WINAPIV wsnprintf16(LPSTR,UINT16,LPCSTR,...);
6897 INT32       WINAPIV wsnprintf32A(LPSTR,UINT32,LPCSTR,...);
6898 INT32       WINAPIV wsnprintf32W(LPWSTR,UINT32,LPCWSTR,...);
6899 #define     wsnprintf WINELIB_NAME_AW(wsnprintf)
6900 INT16       WINAPIV wsprintf16(LPSTR,LPCSTR,...);
6901 INT32       WINAPIV wsprintf32A(LPSTR,LPCSTR,...);
6902 INT32       WINAPIV wsprintf32W(LPWSTR,LPCWSTR,...);
6903 #define     wsprintf WINELIB_NAME_AW(wsprintf)
6904 INT16       WINAPI wvsnprintf16(LPSTR,UINT16,LPCSTR,LPCVOID);
6905 INT32       WINAPI wvsnprintf32A(LPSTR,UINT32,LPCSTR,va_list);
6906 INT32       WINAPI wvsnprintf32W(LPWSTR,UINT32,LPCWSTR,va_list);
6907 #define     wvsnprintf WINELIB_NAME_AW(wvsnprintf)
6908 INT16       WINAPI wvsprintf16(LPSTR,LPCSTR,LPCVOID);
6909 INT32       WINAPI wvsprintf32A(LPSTR,LPCSTR,va_list);
6910 INT32       WINAPI wvsprintf32W(LPWSTR,LPCWSTR,va_list);
6911 #define     wvsprintf WINELIB_NAME_AW(wvsprintf)
6912 LONG        WINAPI _hread16(HFILE16,LPVOID,LONG);
6913 LONG        WINAPI _hread32(HFILE32,LPVOID,LONG);
6914 #define     _hread WINELIB_NAME(_hread)
6915 LONG        WINAPI _hwrite16(HFILE16,LPCSTR,LONG);
6916 LONG        WINAPI _hwrite32(HFILE32,LPCSTR,LONG);
6917 #define     _hwrite WINELIB_NAME(_hwrite)
6918 HFILE16     WINAPI _lcreat16(LPCSTR,INT16);
6919 HFILE32     WINAPI _lcreat32(LPCSTR,INT32);
6920 #define     _lcreat WINELIB_NAME(_lcreat)
6921 HFILE16     WINAPI _lclose16(HFILE16);
6922 HFILE32     WINAPI _lclose32(HFILE32);
6923 #define     _lclose WINELIB_NAME(_lclose)
6924 LONG        WINAPI _llseek16(HFILE16,LONG,INT16);
6925 LONG        WINAPI _llseek32(HFILE32,LONG,INT32);
6926 #define     _llseek WINELIB_NAME(_llseek)
6927 HFILE16     WINAPI _lopen16(LPCSTR,INT16);
6928 HFILE32     WINAPI _lopen32(LPCSTR,INT32);
6929 #define     _lopen WINELIB_NAME(_lopen)
6930 UINT16      WINAPI _lread16(HFILE16,LPVOID,UINT16);
6931 UINT32      WINAPI _lread32(HFILE32,LPVOID,UINT32);
6932 #define     _lread WINELIB_NAME(_lread)
6933 UINT16      WINAPI _lwrite16(HFILE16,LPCSTR,UINT16);
6934 UINT32      WINAPI _lwrite32(HFILE32,LPCSTR,UINT32);
6935 #define     _lwrite WINELIB_NAME(_lwrite)
6936
6937 /* Extra functions that don't exist in the Windows API */
6938
6939 HPEN16      WINAPI GetSysColorPen16(INT16);
6940 HPEN32      WINAPI GetSysColorPen32(INT32);
6941 INT32       WINAPI LoadMessage32A(HMODULE32,UINT32,WORD,LPSTR,INT32);
6942 INT32       WINAPI LoadMessage32W(HMODULE32,UINT32,WORD,LPWSTR,INT32);
6943 UINT32      WINAPI WIN16_GetTempDrive(BYTE);
6944 SEGPTR      WINAPI WIN16_GlobalLock16(HGLOBAL16);
6945 SEGPTR      WINAPI WIN16_LockResource16(HGLOBAL16);
6946 LONG        WINAPI WIN16_hread(HFILE16,SEGPTR,LONG);
6947 UINT16      WINAPI WIN16_lread(HFILE16,SEGPTR,UINT16);
6948 INT32       WINAPI lstrncmp32A(LPCSTR,LPCSTR,INT32);
6949 INT32       WINAPI lstrncmp32W(LPCWSTR,LPCWSTR,INT32);
6950 INT32       WINAPI lstrncmpi32A(LPCSTR,LPCSTR,INT32);
6951 INT32       WINAPI lstrncmpi32W(LPCWSTR,LPCWSTR,INT32);
6952 LPWSTR      WINAPI lstrcpyAtoW(LPWSTR,LPCSTR);
6953 LPSTR       WINAPI lstrcpyWtoA(LPSTR,LPCWSTR);
6954 LPWSTR      WINAPI lstrcpynAtoW(LPWSTR,LPCSTR,INT32);
6955 LPSTR       WINAPI lstrcpynWtoA(LPSTR,LPCWSTR,INT32);
6956
6957 #ifdef __cplusplus
6958 }
6959 #endif
6960
6961 #endif  /* __WINE_WINDOWS_H */