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