Release 950216
[wine] / include / windows.h
1 /* Initial draft attempt of windows.h, by Peter MacDonald, pmacdona@sanjuan.uvic.ca */
2
3 #ifndef WINDOWS_H
4 #define WINDOWS_H
5
6 #include <wintypes.h>
7
8 #ifndef WINELIB
9 #pragma pack(1)
10 #endif
11
12 typedef struct { 
13         INT x;
14         INT y; 
15 } POINT;
16 typedef POINT *PPOINT;
17 typedef POINT *NPPOINT;
18 typedef POINT *LPPOINT;
19
20 typedef struct 
21 {
22     INT cx;
23     INT cy;
24 } SIZE, *LPSIZE;
25
26 #define MAKEPOINT(l) (*((POINT *)&(l)))
27
28 #define MAKELPARAM(low, high) ((LONG)(((WORD)(low)) | \
29                               (((DWORD)((WORD)(high))) << 16)))
30
31 typedef struct { INT left, top, right, bottom; } RECT;
32 typedef RECT *LPRECT;
33 typedef RECT *NPRECT;
34 typedef RECT *PRECT;
35
36 typedef struct {
37         HDC hdc;
38         BOOL    fErase;
39         RECT    rcPaint;
40         BOOL    fRestore, fIncUpdate;
41         BYTE    rgbReserved[16];
42 } PAINTSTRUCT;
43
44 typedef PAINTSTRUCT *PPAINTSTRUCT;
45 typedef PAINTSTRUCT *NPPAINTSTRUCT;
46 typedef PAINTSTRUCT *LPPAINTSTRUCT;
47
48
49   /* Window classes */
50
51 typedef LONG (*WNDPROC)(HWND, UINT, WPARAM, LPARAM);
52
53 typedef struct {
54         WORD    style;
55         WNDPROC lpfnWndProc WINE_PACKED;
56         INT     cbClsExtra, cbWndExtra;
57         HANDLE  hInstance;
58         HICON   hIcon;
59         HCURSOR hCursor;
60         HBRUSH  hbrBackground;
61         LPSTR   lpszMenuName WINE_PACKED;
62         LPSTR   lpszClassName WINE_PACKED;
63 } WNDCLASS, *LPWNDCLASS;
64
65 #define CS_VREDRAW          0x0001
66 #define CS_HREDRAW          0x0002
67 #define CS_KEYCVTWINDOW     0x0004
68 #define CS_DBLCLKS          0x0008
69 #define CS_OWNDC            0x0020
70 #define CS_CLASSDC          0x0040
71 #define CS_PARENTDC         0x0080
72 #define CS_NOKEYCVT         0x0100
73 #define CS_NOCLOSE          0x0200
74 #define CS_SAVEBITS         0x0800
75 #define CS_BYTEALIGNCLIENT  0x1000
76 #define CS_BYTEALIGNWINDOW  0x2000
77 #define CS_GLOBALCLASS      0x4000
78
79   /* Offsets for GetClassLong() and GetClassWord() */
80 #define GCL_MENUNAME        (-8)
81 #define GCW_HBRBACKGROUND   (-10)
82 #define GCW_HCURSOR         (-12)
83 #define GCW_HICON           (-14)
84 #define GCW_HMODULE         (-16)
85 #define GCW_CBWNDEXTRA      (-18)
86 #define GCW_CBCLSEXTRA      (-20)
87 #define GCL_WNDPROC         (-24)
88 #define GCW_STYLE           (-26)
89 #define GCW_ATOM            (-32)
90
91   /* Windows */
92
93 typedef struct {
94     void *    lpCreateParams;
95     HINSTANCE hInstance;
96     HMENU     hMenu;
97     HWND      hwndParent;
98     INT       cy;
99     INT       cx;
100     INT       y;
101     INT       x;
102     LONG      style WINE_PACKED;
103     char *    lpszName WINE_PACKED;
104     char *    lpszClass WINE_PACKED;
105     DWORD     dwExStyle WINE_PACKED;
106 } CREATESTRUCT, *LPCREATESTRUCT;
107
108 typedef struct 
109 {
110     HMENU     hWindowMenu;
111     WORD      idFirstChild;
112 } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
113
114 typedef struct
115 {
116     LPSTR     szClass;
117     LPSTR     szTitle;
118     HANDLE    hOwner;
119     INT       x;
120     INT       y;
121     INT       cx;
122     INT       cy;
123     LONG      style WINE_PACKED;
124     LONG      lParam WINE_PACKED;
125 } MDICREATESTRUCT, *LPMDICREATESTRUCT;
126
127   /* Offsets for GetWindowLong() and GetWindowWord() */
128 #define GWL_EXSTYLE         (-20)
129 #define GWL_STYLE           (-16)
130 #define GWW_ID              (-12)
131 #define GWW_HWNDPARENT      (-8)
132 #define GWW_HINSTANCE       (-6)
133 #define GWL_WNDPROC         (-4)
134 #define DWL_MSGRESULT       0
135 #define DWL_DLGPROC         4
136 #define DWL_USER            8
137
138   /* GetWindow() constants */
139 #define GW_HWNDFIRST    0
140 #define GW_HWNDLAST     1
141 #define GW_HWNDNEXT     2
142 #define GW_HWNDPREV     3
143 #define GW_OWNER        4
144 #define GW_CHILD        5
145
146   /* WM_GETMINMAXINFO struct */
147 typedef struct
148 {
149     POINT   ptReserved;
150     POINT   ptMaxSize;
151     POINT   ptMaxPosition;
152     POINT   ptMinTrackSize;
153     POINT   ptMaxTrackSize;
154 } MINMAXINFO;
155
156   /* RedrawWindow() flags */
157 #define RDW_INVALIDATE       0x0001
158 #define RDW_INTERNALPAINT    0x0002
159 #define RDW_ERASE            0x0004
160 #define RDW_VALIDATE         0x0008
161 #define RDW_NOINTERNALPAINT  0x0010
162 #define RDW_NOERASE          0x0020
163 #define RDW_NOCHILDREN       0x0040
164 #define RDW_ALLCHILDREN      0x0080
165 #define RDW_UPDATENOW        0x0100
166 #define RDW_ERASENOW         0x0200
167 #define RDW_FRAME            0x0400
168 #define RDW_NOFRAME          0x0800
169
170   /* WM_WINDOWPOSCHANGING/CHANGED struct */
171 typedef struct
172 {
173     HWND    hwnd;
174     HWND    hwndInsertAfter;
175     int     x;
176     int     y;
177     int     cx;
178     int     cy;
179     UINT    flags;
180 } WINDOWPOS;
181
182   /* SetWindowPlacement() struct */
183 typedef struct
184 {
185     UINT   length;
186     UINT   flags;
187     UINT   showCmd;
188     POINT  ptMinPosition WINE_PACKED;
189     POINT  ptMaxPosition WINE_PACKED;
190     RECT   rcNormalPosition WINE_PACKED;
191 } WINDOWPLACEMENT, *LPWINDOWPLACEMENT;
192
193   /* WINDOWPLACEMENT flags */
194 #define WPF_SETMINPOSITION      0x0001
195 #define WPF_RESTORETOMAXIMIZED  0x0002
196
197   /* WM_MOUSEACTIVATE return values */
198 #define MA_ACTIVATE             1
199 #define MA_ACTIVATEANDEAT       2
200 #define MA_NOACTIVATE           3
201 #define MA_NOACTIVATEANDEAT     4
202
203   /* WM_ACTIVATE wParam values */
204 #define WA_INACTIVE             0
205 #define WA_ACTIVE               1
206 #define WA_CLICKACTIVE          2
207
208   /* WM_NCCALCSIZE parameter structure */
209 typedef struct
210 {
211     RECT           rgrc[3];
212     WINDOWPOS FAR* lppos;
213 } NCCALCSIZE_PARAMS;
214
215   /* WM_NCCALCSIZE return flags */
216 #define WVR_ALIGNTOP        0x0010
217 #define WVR_ALIGNLEFT       0x0020
218 #define WVR_ALIGNBOTTOM     0x0040
219 #define WVR_ALIGNRIGHT      0x0080
220 #define WVR_HREDRAW         0x0100
221 #define WVR_VREDRAW         0x0200
222 #define WVR_REDRAW          (WVR_HREDRAW | WVR_VREDRAW)
223 #define WVR_VALIDRECTS      0x0400
224
225   /* WM_NCHITTEST return codes */
226 #define HTERROR             (-2)
227 #define HTTRANSPARENT       (-1)
228 #define HTNOWHERE           0
229 #define HTCLIENT            1
230 #define HTCAPTION           2
231 #define HTSYSMENU           3
232 #define HTSIZE              4
233 #define HTMENU              5
234 #define HTHSCROLL           6
235 #define HTVSCROLL           7
236 #define HTMINBUTTON         8
237 #define HTMAXBUTTON         9
238 #define HTLEFT              10
239 #define HTRIGHT             11
240 #define HTTOP               12
241 #define HTTOPLEFT           13
242 #define HTTOPRIGHT          14
243 #define HTBOTTOM            15
244 #define HTBOTTOMLEFT        16
245 #define HTBOTTOMRIGHT       17
246 #define HTBORDER            18
247 #define HTGROWBOX           HTSIZE
248 #define HTREDUCE            HTMINBUTTON
249 #define HTZOOM              HTMAXBUTTON
250
251   /* WM_SYSCOMMAND parameters */
252 #define SC_SIZE         0xf000
253 #define SC_MOVE         0xf010
254 #define SC_MINIMIZE     0xf020
255 #define SC_MAXIMIZE     0xf030
256 #define SC_NEXTWINDOW   0xf040
257 #define SC_PREVWINDOW   0xf050
258 #define SC_CLOSE        0xf060
259 #define SC_VSCROLL      0xf070
260 #define SC_HSCROLL      0xf080
261 #define SC_MOUSEMENU    0xf090
262 #define SC_KEYMENU      0xf100
263 #define SC_ARRANGE      0xf110
264 #define SC_RESTORE      0xf120
265 #define SC_TASKLIST     0xf130
266 #define SC_SCREENSAVE   0xf140
267 #define SC_HOTKEY       0xf150
268
269 /***** Window hooks *****/
270
271   /* Hook values */
272 #define WH_JOURNALRECORD    0
273 #define WH_JOURNALPLAYBACK  1
274 #define WH_KEYBOARD         2
275 #define WH_GETMESSAGE       3
276 #define WH_CALLWNDPROC      4
277 #define WH_CBT              5
278 #define WH_SYSMSGFILTER     6
279 #define WH_MOUSE            7
280 #define WH_HARDWARE         8
281 #define WH_DEBUG            9
282 #define WH_SHELL           10
283 #define WH_MSGFILTER        (-1)
284
285   /* Hook action codes */
286 #define HC_ACTION           0
287 #define HC_GETNEXT          1
288 #define HC_SKIP             2
289 #define HC_NOREMOVE         3
290 #define HC_NOREM            HC_NOREMOVE
291 #define HC_SYSMODALON       4
292 #define HC_SYSMODALOFF      5
293
294   /* CallMsgFilter() values */
295 #define MSGF_DIALOGBOX      0
296 #define MSGF_MENU           2
297 #define MSGF_MOVE           3
298 #define MSGF_SIZE           4
299 #define MSGF_SCROLLBAR      5
300 #define MSGF_NEXTWINDOW     6
301 #define MSGF_MAINLOOP       8
302 #define MSGF_USER        4096
303
304   /* Journalling hook values */
305 #define HC_GETNEXT          1
306 #define HC_SKIP             2
307 #define HC_NOREMOVE         3
308 #define HC_NOREM            HC_NOREMOVE
309 #define HC_SYSMODALON       4
310 #define HC_SYSMODALOFF      5
311
312   /* Journalling hook structure */
313 typedef struct tagEVENTMSG
314 {
315     UINT    message;
316     UINT    paramL;
317     UINT    paramH;
318     DWORD   time WINE_PACKED;
319 } EVENTMSG, *LPEVENTMSG;
320
321   /* Mouse hook structure */
322 typedef struct tagMOUSEHOOKSTRUCT
323 {
324     POINT   pt;
325     HWND    hwnd;
326     WORD    wHitTestCode;
327     DWORD   dwExtraInfo;
328 } MOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT;
329
330   /* Hardware hook structure */
331 typedef struct tagHARDWAREHOOKSTRUCT
332 {
333     HWND    hWnd;
334     UINT    wMessage;
335     WPARAM  wParam;
336     LPARAM  lParam WINE_PACKED;
337 } HARDWAREHOOKSTRUCT;
338
339   /* CBT hook values */
340 #define HCBT_MOVESIZE       0
341 #define HCBT_MINMAX         1
342 #define HCBT_QS             2
343 #define HCBT_CREATEWND      3
344 #define HCBT_DESTROYWND     4
345 #define HCBT_ACTIVATE       5
346 #define HCBT_CLICKSKIPPED   6
347 #define HCBT_KEYSKIPPED     7
348 #define HCBT_SYSCOMMAND     8
349 #define HCBT_SETFOCUS       9
350
351   /* CBT hook structures */
352 typedef struct tagCBT_CREATEWND
353 {
354     CREATESTRUCT *lpcs;
355     HWND          hwndInsertAfter;
356 } CBT_CREATEWND, *LPCBT_CREATEWND;
357
358 typedef struct tagCBTACTIVATESTRUCT
359 {
360     BOOL    fMouse;
361     HWND    hWndActive;
362 } CBTACTIVATESTRUCT;
363
364   /* Shell hook values */
365 #define HSHELL_WINDOWCREATED       1
366 #define HSHELL_WINDOWDESTROYED     2
367 #define HSHELL_ACTIVATESHELLWINDOW 3
368
369   /* Debug hook structure */
370 typedef struct tagDEBUGHOOKINFO
371 {
372     HANDLE      hModuleHook;
373     LPARAM      reserved WINE_PACKED;
374     LPARAM      lParam WINE_PACKED;
375     WPARAM      wParam;
376     short       code;
377 } DEBUGHOOKINFO, *LPDEBUGHOOKINFO;
378
379
380 /***** Dialogs *****/
381
382   /* cbWndExtra bytes for dialog class */
383 #define DLGWINDOWEXTRA      30
384
385   /* Dialog styles */
386 #define DS_ABSALIGN         0x001
387 #define DS_SYSMODAL         0x002
388 #define DS_LOCALEDIT        0x020
389 #define DS_SETFONT          0x040
390 #define DS_MODALFRAME       0x080
391 #define DS_NOIDLEMSG        0x100
392
393   /* Dialog messages */
394 #define DM_GETDEFID         (WM_USER+0)
395 #define DM_SETDEFID         (WM_USER+1)
396
397 #define DC_HASDEFID         0x534b
398
399   /* WM_GETDLGCODE values */
400 #define DLGC_WANTARROWS      0x0001
401 #define DLGC_WANTTAB         0x0002
402 #define DLGC_WANTALLKEYS     0x0004
403 #define DLGC_WANTMESSAGE     0x0004
404 #define DLGC_HASSETSEL       0x0008
405 #define DLGC_DEFPUSHBUTTON   0x0010
406 #define DLGC_UNDEFPUSHBUTTON 0x0020
407 #define DLGC_RADIOBUTTON     0x0040
408 #define DLGC_WANTCHARS       0x0080
409 #define DLGC_STATIC          0x0100
410 #define DLGC_BUTTON          0x2000
411
412 /* Standard dialog button IDs */
413 #define IDOK                1
414 #define IDCANCEL            2
415 #define IDABORT             3
416 #define IDRETRY             4
417 #define IDIGNORE            5
418 #define IDYES               6
419 #define IDNO                7
420
421
422 typedef struct tagMSG
423 {
424   HWND    hwnd;
425   WORD    message;
426   WORD    wParam;
427   DWORD   lParam WINE_PACKED;
428   DWORD   time WINE_PACKED;
429   POINT   pt WINE_PACKED;
430 } MSG, *LPMSG;
431         
432 typedef WORD ATOM;
433
434 #define MAKEINTATOM(i)     ((LPCSTR)MAKELP(0, (i)))
435
436
437   /* Raster operations */
438
439 #define R2_BLACK         1
440 #define R2_NOTMERGEPEN   2
441 #define R2_MASKNOTPEN    3
442 #define R2_NOTCOPYPEN    4
443 #define R2_MASKPENNOT    5
444 #define R2_NOT           6
445 #define R2_XORPEN        7
446 #define R2_NOTMASKPEN    8
447 #define R2_MASKPEN       9
448 #define R2_NOTXORPEN    10
449 #define R2_NOP          11
450 #define R2_MERGENOTPEN  12
451 #define R2_COPYPEN      13
452 #define R2_MERGEPENNOT  14
453 #define R2_MERGEPEN     15
454 #define R2_WHITE        16
455
456 #define SRCCOPY         0xcc0020
457 #define SRCPAINT        0xee0086
458 #define SRCAND          0x8800c6
459 #define SRCINVERT       0x660046
460 #define SRCERASE        0x440328
461 #define NOTSRCCOPY      0x330008
462 #define NOTSRCERASE     0x1100a6
463 #define MERGECOPY       0xc000ca
464 #define MERGEPAINT      0xbb0226
465 #define PATCOPY         0xf00021
466 #define PATPAINT        0xfb0a09
467 #define PATINVERT       0x5a0049
468 #define DSTINVERT       0x550009
469 #define BLACKNESS       0x000042
470 #define WHITENESS       0xff0062
471
472   /* StretchBlt() modes */
473 #define BLACKONWHITE         1
474 #define WHITEONBLACK         2
475 #define COLORONCOLOR         3
476
477 #define STRETCH_ANDSCANS     BLACKONWHITE
478 #define STRETCH_ORSCANS      WHITEONBLACK
479 #define STRETCH_DELETESCANS  COLORONCOLOR
480
481
482   /* Colors */
483
484 typedef DWORD COLORREF;
485
486 #define RGB(r,g,b)          ((COLORREF)((r) | ((g) << 8) | ((b) << 16)))
487 #define PALETTERGB(r,g,b)   (0x02000000 | RGB(r,g,b))
488 #define PALETTEINDEX(i)     ((COLORREF)(0x01000000 | (WORD)(i)))
489
490 #define GetRValue(rgb)      ((rgb) & 0xff)
491 #define GetGValue(rgb)      (((rgb) >> 8) & 0xff)
492 #define GetBValue(rgb)      (((rgb) >> 16) & 0xff)
493
494 #define COLOR_SCROLLBAR             0
495 #define COLOR_BACKGROUND            1
496 #define COLOR_ACTIVECAPTION         2
497 #define COLOR_INACTIVECAPTION       3
498 #define COLOR_MENU                  4
499 #define COLOR_WINDOW                5
500 #define COLOR_WINDOWFRAME           6
501 #define COLOR_MENUTEXT              7
502 #define COLOR_WINDOWTEXT            8
503 #define COLOR_CAPTIONTEXT           9
504 #define COLOR_ACTIVEBORDER         10
505 #define COLOR_INACTIVEBORDER       11
506 #define COLOR_APPWORKSPACE         12
507 #define COLOR_HIGHLIGHT            13
508 #define COLOR_HIGHLIGHTTEXT        14
509 #define COLOR_BTNFACE              15
510 #define COLOR_BTNSHADOW            16
511 #define COLOR_GRAYTEXT             17
512 #define COLOR_BTNTEXT              18
513 #define COLOR_INACTIVECAPTIONTEXT  19
514 #define COLOR_BTNHIGHLIGHT         20
515
516   /* WM_CTLCOLOR values */
517 #define CTLCOLOR_MSGBOX             0
518 #define CTLCOLOR_EDIT               1
519 #define CTLCOLOR_LISTBOX            2
520 #define CTLCOLOR_BTN                3
521 #define CTLCOLOR_DLG                4
522 #define CTLCOLOR_SCROLLBAR          5
523 #define CTLCOLOR_STATIC             6
524
525   /* Bitmaps */
526
527 typedef struct tagBITMAP
528 {
529     INT  bmType;
530     INT  bmWidth;
531     INT  bmHeight;
532     INT  bmWidthBytes;
533     BYTE   bmPlanes;
534     BYTE   bmBitsPixel;
535     void * bmBits WINE_PACKED;
536 } BITMAP;
537
538 typedef BITMAP *PBITMAP;
539 typedef BITMAP *NPBITMAP;
540 typedef BITMAP *LPBITMAP;
541
542   /* Brushes */
543
544 typedef struct tagLOGBRUSH
545
546     WORD       lbStyle; 
547     COLORREF   lbColor WINE_PACKED;
548     INT      lbHatch; 
549 } LOGBRUSH, *PLOGBRUSH, *NPLOGBRUSH, *LPLOGBRUSH;
550
551   /* Brush styles */
552 #define BS_SOLID            0
553 #define BS_NULL             1
554 #define BS_HOLLOW           1
555 #define BS_HATCHED          2
556 #define BS_PATTERN          3
557 #define BS_INDEXED          4
558 #define BS_DIBPATTERN       5
559
560   /* Hatch styles */
561 #define HS_HORIZONTAL       0
562 #define HS_VERTICAL         1
563 #define HS_FDIAGONAL        2
564 #define HS_BDIAGONAL        3
565 #define HS_CROSS            4
566 #define HS_DIAGCROSS        5
567
568   /* Fonts */
569
570 #define LF_FACESIZE 32
571 typedef struct tagLOGFONT
572 {
573     INT lfHeight, lfWidth, lfEscapement, lfOrientation, lfWeight;
574     BYTE lfItalic, lfUnderline, lfStrikeOut, lfCharSet;
575     BYTE lfOutPrecision, lfClipPrecision, lfQuality, lfPitchAndFamily;
576     BYTE lfFaceName[LF_FACESIZE] WINE_PACKED;
577 } LOGFONT, *PLOGFONT, *NPLOGFONT, *LPLOGFONT;
578
579   /* lfWeight values */
580 #define FW_DONTCARE         0
581 #define FW_THIN             100
582 #define FW_EXTRALIGHT       200
583 #define FW_ULTRALIGHT       200
584 #define FW_LIGHT            300
585 #define FW_NORMAL           400
586 #define FW_REGULAR          400
587 #define FW_MEDIUM           500
588 #define FW_SEMIBOLD         600
589 #define FW_DEMIBOLD         600
590 #define FW_BOLD             700
591 #define FW_EXTRABOLD        800
592 #define FW_ULTRABOLD        800
593 #define FW_HEAVY            900
594 #define FW_BLACK            900
595
596   /* lfCharSet values */
597 #define ANSI_CHARSET          0
598 #define DEFAULT_CHARSET       1
599 #define SYMBOL_CHARSET        2
600 #define SHIFTJIS_CHARSET      128
601 #define OEM_CHARSET           255
602
603   /* lfOutPrecision values */
604 #define OUT_DEFAULT_PRECIS      0
605 #define OUT_STRING_PRECIS       1
606 #define OUT_CHARACTER_PRECIS    2
607 #define OUT_STROKE_PRECIS       3
608 #define OUT_TT_PRECIS           4
609 #define OUT_DEVICE_PRECIS       5
610 #define OUT_RASTER_PRECIS       6
611 #define OUT_TT_ONLY_PRECIS      7
612
613   /* lfClipPrecision values */
614 #define CLIP_DEFAULT_PRECIS     0x00
615 #define CLIP_CHARACTER_PRECIS   0x01
616 #define CLIP_STROKE_PRECIS      0x02
617 #define CLIP_MASK               0x0F
618 #define CLIP_LH_ANGLES          0x10
619 #define CLIP_TT_ALWAYS          0x20
620 #define CLIP_EMBEDDED           0x80
621
622   /* lfQuality values */
623 #define DEFAULT_QUALITY     0
624 #define DRAFT_QUALITY       1
625 #define PROOF_QUALITY       2
626
627   /* lfPitchAndFamily pitch values */
628 #define DEFAULT_PITCH       0x00
629 #define FIXED_PITCH         0x01
630 #define VARIABLE_PITCH      0x02
631 #define FF_DONTCARE         0x00
632 #define FF_ROMAN            0x10
633 #define FF_SWISS            0x20
634 #define FF_MODERN           0x30
635 #define FF_SCRIPT           0x40
636 #define FF_DECORATIVE       0x50
637
638 typedef struct tagTEXTMETRIC
639 {
640     INT     tmHeight;
641     INT     tmAscent;
642     INT     tmDescent;
643     INT     tmInternalLeading;
644     INT     tmExternalLeading;
645     INT     tmAveCharWidth;
646     INT     tmMaxCharWidth;
647     INT     tmWeight;
648     BYTE    tmItalic;
649     BYTE    tmUnderlined;
650     BYTE    tmStruckOut;
651     BYTE    tmFirstChar;
652     BYTE    tmLastChar;
653     BYTE    tmDefaultChar;
654     BYTE    tmBreakChar;
655     BYTE    tmPitchAndFamily;
656     BYTE    tmCharSet;
657     INT     tmOverhang WINE_PACKED;
658     INT     tmDigitizedAspectX WINE_PACKED;
659     INT     tmDigitizedAspectY WINE_PACKED;
660 } TEXTMETRIC, *PTEXTMETRIC, *NPTEXTMETRIC, *LPTEXTMETRIC;
661
662   /* tmPitchAndFamily values */
663 #define TMPF_FIXED_PITCH    1
664 #define TMPF_VECTOR         2
665 #define TMPF_TRUETYPE       4
666 #define TMPF_DEVICE         8
667
668   /* Text alignment */
669 #define TA_NOUPDATECP       0x00
670 #define TA_UPDATECP         0x01
671 #define TA_LEFT             0x00
672 #define TA_RIGHT            0x02
673 #define TA_CENTER           0x06
674 #define TA_TOP              0x00
675 #define TA_BOTTOM           0x08
676 #define TA_BASELINE         0x18
677
678   /* ExtTextOut() parameters */
679 #define ETO_GRAYED          0x01
680 #define ETO_OPAQUE          0x02
681 #define ETO_CLIPPED         0x04
682
683 typedef struct tagPALETTEENTRY
684 {
685         BYTE peRed, peGreen, peBlue, peFlags;
686 } PALETTEENTRY, *LPPALETTEENTRY;
687
688 typedef struct tagLOGPALETTE
689
690     WORD           palVersion;
691     WORD           palNumEntries;
692     PALETTEENTRY   palPalEntry[1] WINE_PACKED;
693 } LOGPALETTE, *PLOGPALETTE, *NPLOGPALETTE, *LPLOGPALETTE;
694
695
696   /* Pens */
697
698 typedef struct tagLOGPEN
699 {
700     WORD     lopnStyle; 
701     POINT    lopnWidth WINE_PACKED;
702     COLORREF lopnColor WINE_PACKED;
703 } LOGPEN, *PLOGPEN, *NPLOGPEN, *LPLOGPEN;
704
705 #define PS_SOLID          0
706 #define PS_DASH           1
707 #define PS_DOT            2
708 #define PS_DASHDOT        3
709 #define PS_DASHDOTDOT     4
710 #define PS_NULL           5
711 #define PS_INSIDEFRAME    6
712
713   /* Regions */
714
715 #define ERROR             0
716 #define NULLREGION        1
717 #define SIMPLEREGION      2
718 #define COMPLEXREGION     3
719
720 #define RGN_AND           1
721 #define RGN_OR            2
722 #define RGN_XOR           3
723 #define RGN_DIFF          4
724 #define RGN_COPY          5
725
726   /* Device contexts */
727
728 /* GetDCEx flags */
729 #define DCX_WINDOW           0x00000001
730 #define DCX_CACHE            0x00000002
731 #define DCX_CLIPCHILDREN     0x00000008
732 #define DCX_CLIPSIBLINGS     0x00000010
733 #define DCX_PARENTCLIP       0x00000020
734 #define DCX_EXCLUDERGN       0x00000040
735 #define DCX_INTERSECTRGN     0x00000080
736 #define DCX_LOCKWINDOWUPDATE 0x00000400
737 #define DCX_USESTYLE         0x00010000
738
739   /* Polygon modes */
740 #define ALTERNATE         1
741 #define WINDING           2
742
743   /* Background modes */
744 #define TRANSPARENT       1
745 #define OPAQUE            2
746
747   /* Map modes */
748 #define MM_TEXT           1
749 #define MM_LOMETRIC       2
750 #define MM_HIMETRIC       3
751 #define MM_LOENGLISH      4
752 #define MM_HIENGLISH      5
753 #define MM_TWIPS          6
754 #define MM_ISOTROPIC      7
755 #define MM_ANISOTROPIC    8
756
757   /* Coordinate modes */
758 #define ABSOLUTE          1
759 #define RELATIVE          2
760
761   /* Flood fill modes */
762 #define FLOODFILLBORDER   0
763 #define FLOODFILLSURFACE  1
764
765   /* Device parameters for GetDeviceCaps() */
766 #define DRIVERVERSION     0
767 #define TECHNOLOGY        2
768 #define HORZSIZE          4
769 #define VERTSIZE          6
770 #define HORZRES           8
771 #define VERTRES           10
772 #define BITSPIXEL         12
773 #define PLANES            14
774 #define NUMBRUSHES        16
775 #define NUMPENS           18
776 #define NUMMARKERS        20
777 #define NUMFONTS          22
778 #define NUMCOLORS         24
779 #define PDEVICESIZE       26
780 #define CURVECAPS         28
781 #define LINECAPS          30
782 #define POLYGONALCAPS     32
783 #define TEXTCAPS          34
784 #define CLIPCAPS          36
785 #define RASTERCAPS        38
786 #define ASPECTX           40
787 #define ASPECTY           42
788 #define ASPECTXY          44
789 #define LOGPIXELSX        88
790 #define LOGPIXELSY        90
791 #define SIZEPALETTE       104
792 #define NUMRESERVED       106
793 #define COLORRES          108
794
795 /* TECHNOLOGY */
796 #define DT_PLOTTER        0
797 #define DT_RASDISPLAY     1
798 #define DT_RASPRINTER     2
799 #define DT_RASCAMERA      3
800 #define DT_CHARSTREAM     4
801 #define DT_METAFILE       5
802 #define DT_DISPFILE       6
803
804 /* CURVECAPS */
805 #define CC_NONE           0x0000
806 #define CC_CIRCLES        0x0001
807 #define CC_PIE            0x0002
808 #define CC_CHORD          0x0004
809 #define CC_ELLIPSES       0x0008
810 #define CC_WIDE           0x0010
811 #define CC_STYLED         0x0020
812 #define CC_WIDESTYLED     0x0040
813 #define CC_INTERIORS      0x0080
814 #define CC_ROUNDRECT      0x0100
815
816 /* LINECAPS */
817 #define LC_NONE           0x0000
818 #define LC_POLYLINE       0x0002
819 #define LC_MARKER         0x0004
820 #define LC_POLYMARKER     0x0008
821 #define LC_WIDE           0x0010
822 #define LC_STYLED         0x0020
823 #define LC_WIDESTYLED     0x0040
824 #define LC_INTERIORS      0x0080
825
826 /* POLYGONALCAPS */
827 #define PC_NONE           0x0000
828 #define PC_POLYGON        0x0001
829 #define PC_RECTANGLE      0x0002
830 #define PC_WINDPOLYGON    0x0004
831 #define PC_SCANLINE       0x0008
832 #define PC_WIDE           0x0010
833 #define PC_STYLED         0x0020
834 #define PC_WIDESTYLED     0x0040
835 #define PC_INTERIORS      0x0080
836
837 /* TEXTCAPS */
838 #define TC_OP_CHARACTER   0x0001
839 #define TC_OP_STROKE      0x0002
840 #define TC_CP_STROKE      0x0004
841 #define TC_CR_90          0x0008
842 #define TC_CR_ANY         0x0010
843 #define TC_SF_X_YINDEP    0x0020
844 #define TC_SA_DOUBLE      0x0040
845 #define TC_SA_INTEGER     0x0080
846 #define TC_SA_CONTIN      0x0100
847 #define TC_EA_DOUBLE      0x0200
848 #define TC_IA_ABLE        0x0400
849 #define TC_UA_ABLE        0x0800
850 #define TC_SO_ABLE        0x1000
851 #define TC_RA_ABLE        0x2000
852 #define TC_VA_ABLE        0x4000
853 #define TC_RESERVED       0x8000
854
855 /* CLIPCAPS */
856 #define CP_NONE           0x0000
857 #define CP_RECTANGLE      0x0001
858 #define CP_REGION         0x0002
859
860 /* RASTERCAPS */
861 #define RC_NONE           0x0000
862 #define RC_BITBLT         0x0001
863 #define RC_BANDING        0x0002
864 #define RC_SCALING        0x0004
865 #define RC_BITMAP64       0x0008
866 #define RC_GDI20_OUTPUT   0x0010
867 #define RC_GDI20_STATE    0x0020
868 #define RC_SAVEBITMAP     0x0040
869 #define RC_DI_BITMAP      0x0080
870 #define RC_PALETTE        0x0100
871 #define RC_DIBTODEV       0x0200
872 #define RC_BIGFONT        0x0400
873 #define RC_STRETCHBLT     0x0800
874 #define RC_FLOODFILL      0x1000
875 #define RC_STRETCHDIB     0x2000
876 #define RC_OP_DX_OUTPUT   0x4000
877 #define RC_DEVBITS        0x8000
878
879   /* GetSystemMetrics() codes */
880 #define SM_CXSCREEN            0
881 #define SM_CYSCREEN            1
882 #define SM_CXVSCROLL           2
883 #define SM_CYHSCROLL           3
884 #define SM_CYCAPTION           4
885 #define SM_CXBORDER            5
886 #define SM_CYBORDER            6
887 #define SM_CXDLGFRAME          7
888 #define SM_CYDLGFRAME          8
889 #define SM_CYVTHUMB            9
890 #define SM_CXHTHUMB           10
891 #define SM_CXICON             11
892 #define SM_CYICON             12
893 #define SM_CXCURSOR           13
894 #define SM_CYCURSOR           14
895 #define SM_CYMENU             15
896 #define SM_CXFULLSCREEN       16
897 #define SM_CYFULLSCREEN       17
898 #define SM_CYKANJIWINDOW      18
899 #define SM_MOUSEPRESENT       19
900 #define SM_CYVSCROLL          20
901 #define SM_CXHSCROLL          21
902 #define SM_DEBUG              22
903 #define SM_SWAPBUTTON         23
904 #define SM_RESERVED1          24
905 #define SM_RESERVED2          25
906 #define SM_RESERVED3          26
907 #define SM_RESERVED4          27
908 #define SM_CXMIN              28
909 #define SM_CYMIN              29
910 #define SM_CXSIZE             30
911 #define SM_CYSIZE             31
912 #define SM_CXFRAME            32
913 #define SM_CYFRAME            33
914 #define SM_CXMINTRACK         34
915 #define SM_CYMINTRACK         35
916 #define SM_CXDOUBLECLK        36
917 #define SM_CYDOUBLECLK        37
918 #define SM_CXICONSPACING      38
919 #define SM_CYICONSPACING      39
920 #define SM_MENUDROPALIGNMENT  40
921 #define SM_PENWINDOWS         41
922 #define SM_DBCSENABLED        42
923
924 #define SM_CMETRICS           43
925
926   /* Device-independent bitmaps */
927
928 typedef struct { BYTE rgbBlue, rgbGreen, rgbRed, rgbReserved; } RGBQUAD;
929 typedef struct { BYTE rgbtBlue, rgbtGreen, rgbtRed; } RGBTRIPLE;
930
931 typedef struct
932 {
933     UINT    bfType;
934     DWORD   bfSize WINE_PACKED;
935     UINT    bfReserved1 WINE_PACKED;
936     UINT    bfReserved2 WINE_PACKED;
937     DWORD   bfOffBits WINE_PACKED;
938 } BITMAPFILEHEADER;
939
940 typedef struct tagBITMAPINFOHEADER
941 {
942     DWORD       biSize;
943     DWORD       biWidth;
944     DWORD       biHeight;
945     WORD        biPlanes;
946     WORD        biBitCount;
947     DWORD       biCompression;
948     DWORD       biSizeImage;
949     DWORD       biXPelsPerMeter;
950     DWORD       biYPelsPerMeter;
951     DWORD       biClrUsed;
952     DWORD       biClrImportant;
953 } BITMAPINFOHEADER;
954
955 typedef BITMAPINFOHEADER * LPBITMAPINFOHEADER;
956 typedef BITMAPINFOHEADER * NPBITMAPINFOHEADER;
957 typedef BITMAPINFOHEADER * PBITMAPINFOHEADER;
958
959   /* biCompression */
960 #define BI_RGB           0
961 #define BI_RLE8          1
962 #define BI_RLE4          2
963
964 typedef struct {
965         BITMAPINFOHEADER bmiHeader;
966         RGBQUAD bmiColors[1];
967 } BITMAPINFO;
968 typedef BITMAPINFO *LPBITMAPINFO;
969 typedef BITMAPINFO *NPBITMAPINFO;
970 typedef BITMAPINFO *PBITMAPINFO;
971
972 typedef struct tagBITMAPCOREHEADER
973 {
974     unsigned long bcSize;
975     UINT bcWidth;
976     UINT bcHeight;
977     UINT bcPlanes;
978     UINT bcBitCount;
979 } BITMAPCOREHEADER;
980
981 #define DIB_RGB_COLORS   0
982 #define DIB_PAL_COLORS   1
983 #define CBM_INIT         4
984
985 typedef struct {
986         BYTE i;  /* much more .... */
987 } KANJISTRUCT;
988 typedef KANJISTRUCT *LPKANJISTRUCT;
989 typedef KANJISTRUCT *NPKANJISTRUCT;
990 typedef KANJISTRUCT *PKANJISTRUCT;
991
992 typedef struct {
993         BYTE cBytes, fFixedDisk;
994         WORD nErrCode;
995         BYTE reserved[4], szPathName[128];
996 } OFSTRUCT;
997 typedef OFSTRUCT *POFSTRUCT;
998 typedef OFSTRUCT *NPOFSTRUCT;
999 typedef OFSTRUCT *LPOFSTRUCT;
1000
1001 #define OF_READ 0x0000
1002 #define OF_WRITE 0x0001
1003 #define OF_READWRITE 0x0002
1004 #define OF_CANCEL 0x0800
1005 #define OF_CREATE 0x1000
1006 #define OF_DELETE 0x0200
1007 #define OF_EXIST 0x4000
1008 #define OF_PARSE 0x0100
1009 #define OF_PROMPT 0x2000
1010 #define OF_REOPEN 0x8000
1011 #define OF_SHARE_COMPAT 0x0000
1012 #define OF_SHARE_DENY_NONE 0x0040
1013 #define OF_SHARE_DENY_READ 0x0030
1014 #define OF_SHARE_DENY_WRITE 0x0020
1015 #define OF_SHARE_EXCLUSIVE 0x0010
1016 #define OF_VERIFY 0x0400
1017
1018 #define DRIVE_CANNOTDETERMINE   0
1019 #define DRIVE_DOESNOTEXIST      1
1020 #define DRIVE_REMOVABLE 2
1021 #define DRIVE_FIXED     3
1022 #define DRIVE_REMOTE    4
1023
1024 #define HFILE_ERROR     -1
1025
1026 #define DDL_READWRITE   0x0000
1027 #define DDL_READONLY    0x0001
1028 #define DDL_HIDDEN      0x0002
1029 #define DDL_SYSTEM      0x0004
1030 #define DDL_DIRECTORY   0x0010
1031 #define DDL_ARCHIVE     0x0020
1032
1033 #define DDL_POSTMSGS    0x2000
1034 #define DDL_DRIVES      0x4000
1035 #define DDL_EXCLUSIVE   0x8000
1036
1037 /* comm */
1038
1039 #define CBR_110 0xFF10
1040 #define CBR_300 0xFF11
1041 #define CBR_600 0xFF12
1042 #define CBR_1200        0xFF13
1043 #define CBR_2400        0xFF14
1044 #define CBR_4800        0xFF15
1045 #define CBR_9600        0xFF16
1046 #define CBR_14400       0xFF17
1047 #define CBR_19200       0xFF18
1048 #define CBR_38400       0xFF1B
1049 #define CBR_56000       0xFF1F
1050 #define CBR_128000      0xFF23
1051 #define CBR_256000      0xFF27
1052
1053 #define NOPARITY        0
1054 #define ODDPARITY       1
1055 #define EVENPARITY      2
1056 #define MARKPARITY      3
1057 #define SPACEPARITY     4
1058 #define ONESTOPBIT      0
1059 #define ONE5STOPBITS    1
1060 #define TWOSTOPBITS     2
1061 #define IGNORE          0
1062 #define INFINITE        0xFFFF
1063
1064 #define CE_RXOVER       0x0001
1065 #define CE_OVERRUN      0x0002
1066 #define CE_RXPARITY     0x0004
1067 #define CE_FRAME        0x0008
1068 #define CE_BREAK        0x0010
1069 #define CE_CTSTO        0x0020
1070 #define CE_DSRTO        0x0040
1071 #define CE_RLSDTO       0x0080
1072 #define CE_TXFULL       0x0100
1073 #define CE_PTO          0x0200
1074 #define CE_IOE          0x0400
1075 #define CE_DNS          0x0800
1076 #define CE_OOP          0x1000
1077 #define CE_MODE 0x8000
1078
1079 #define IE_BADID        -1
1080 #define IE_OPEN -2
1081 #define IE_NOPEN        -3
1082 #define IE_MEMORY       -4
1083 #define IE_DEFAULT      -5
1084 #define IE_HARDWARE     -10
1085 #define IE_BYTESIZE     -11
1086 #define IE_BAUDRATE     -12
1087
1088 #define EV_RXCHAR       0x0001
1089 #define EV_RXFLAG       0x0002
1090 #define EV_TXEMPTY      0x0004
1091 #define EV_CTS          0x0008
1092 #define EV_DSR          0x0010
1093 #define EV_RLSD 0x0020
1094 #define EV_BREAK        0x0040
1095 #define EV_ERR          0x0080
1096 #define EV_RING 0x0100
1097 #define EV_PERR 0x0200
1098 #define EV_CTSS 0x0400
1099 #define EV_DSRS 0x0800
1100 #define EV_RLSDS        0x1000
1101 #define EV_RINGTE       0x2000
1102 #define EV_RingTe       EV_RINGTE
1103
1104 #define SETXOFF 1
1105 #define SETXON          2
1106 #define SETRTS          3
1107 #define CLRRTS          4
1108 #define SETDTR          5
1109 #define CLRDTR          6
1110 #define RESETDEV        7
1111 #define GETMAXLPT       8
1112 #define GETMAXCOM       9
1113 #define GETBASEIRQ      10
1114
1115 #define CN_RECEIVE      0x0001
1116 #define CN_TRANSMIT     0x0002
1117 #define CN_EVENT        0x0004
1118
1119 typedef struct tagDCB
1120 {
1121     BYTE Id;
1122     UINT BaudRate WINE_PACKED;
1123     BYTE ByteSize;
1124     BYTE Parity;
1125     BYTE StopBits;
1126     UINT RlsTimeout;
1127     UINT CtsTimeout;
1128     UINT DsrTimeout;
1129
1130     UINT fBinary        :1;
1131     UINT fRtsDisable    :1;
1132     UINT fParity        :1;
1133     UINT fOutxCtsFlow   :1;
1134     UINT fOutxDsrFlow   :1;
1135     UINT fDummy         :2;
1136     UINT fDtrDisable    :1;
1137
1138     UINT fOutX          :1;
1139     UINT fInX           :1;
1140     UINT fPeChar        :1;
1141     UINT fNull          :1;
1142     UINT fChEvt         :1;
1143     UINT fDtrflow       :1;
1144     UINT fRtsflow       :1;
1145     UINT fDummy2        :1;
1146
1147     char XonChar;
1148     char XoffChar;
1149     UINT XonLim;
1150     UINT XoffLim;
1151     char PeChar;
1152     char EofChar;
1153     char EvtChar;
1154     UINT TxDelay WINE_PACKED;
1155 } DCB;
1156 typedef DCB FAR* LPDCB;
1157
1158 typedef struct tagCOMSTAT
1159 {
1160     BYTE status;
1161     UINT cbInQue WINE_PACKED;
1162     UINT cbOutQue WINE_PACKED;
1163 } COMSTAT;
1164
1165 #define CSTF_CTSHOLD    0x01
1166 #define CSTF_DSRHOLD    0x02
1167 #define CSTF_RLSDHOLD   0x04
1168 #define CSTF_XOFFHOLD   0x08
1169 #define CSTF_XOFFSENT   0x10
1170 #define CSTF_EOF        0x20
1171 #define CSTF_TXIM       0x40
1172
1173 /* SystemParametersInfo */
1174
1175 #define SPI_GETBEEP                     1
1176 #define SPI_SETBEEP                     2
1177 #define SPI_GETMOUSE                    3
1178 #define SPI_SETMOUSE                    4
1179 #define SPI_GETBORDER                   5
1180 #define SPI_SETBORDER                   6
1181 #define SPI_GETKEYBOARDSPEED            10
1182 #define SPI_SETKEYBOARDSPEED            11
1183 #define SPI_LANGDRIVER                  12
1184 #define SPI_ICONHORIZONTALSPACING       13
1185 #define SPI_GETSCREENSAVETIMEOUT        14
1186 #define SPI_SETSCREENSAVETIMEOUT        15
1187 #define SPI_GETSCREENSAVEACTIVE         16
1188 #define SPI_SETSCREENSAVEACTIVE         17
1189 #define SPI_GETGRIDGRANULARITY          18
1190 #define SPI_SETGRIDGRANULARITY          19
1191 #define SPI_SETDESKWALLPAPER            20
1192 #define SPI_SETDESKPATTERN              21
1193 #define SPI_GETKEYBOARDDELAY            22
1194 #define SPI_SETKEYBOARDDELAY            23
1195 #define SPI_ICONVERTICALSPACING         24
1196 #define SPI_GETICONTITLEWRAP            25
1197 #define SPI_SETICONTITLEWRAP            26
1198 #define SPI_GETMENUDROPALIGNMENT        27
1199 #define SPI_SETMENUDROPALIGNMENT        28
1200 #define SPI_SETDOUBLECLKWIDTH           29
1201 #define SPI_SETDOUBLECLKHEIGHT          30
1202 #define SPI_GETICONTITLELOGFONT         31
1203 #define SPI_SETDOUBLECLICKTIME          32
1204 #define SPI_SETMOUSEBUTTONSWAP          33
1205 #define SPI_SETICONTITLELOGFONT         34
1206 #define SPI_GETFASTTASKSWITCH           35
1207 #define SPI_SETFASTTASKSWITCH           36
1208
1209 /* SystemParametersInfo flags */
1210
1211 #define SPIF_UPDATEINIFILE              1
1212 #define SPIF_SENDWININICHANGE           2
1213
1214 /* GetWinFlags */
1215
1216 #define WF_PMODE        0x0001
1217 #define WF_CPU286       0x0002
1218 #define WF_CPU386       0x0004
1219 #define WF_CPU486       0x0008
1220 #define WF_STANDARD     0x0010
1221 #define WF_WIN286       0x0010
1222 #define WF_ENHANCED     0x0020
1223 #define WF_WIN386       0x0020
1224 #define WF_CPU086       0x0040
1225 #define WF_CPU186       0x0080
1226 #define WF_LARGEFRAME   0x0100
1227 #define WF_SMALLFRAME   0x0200
1228 #define WF_80x87        0x0400
1229 #define WF_PAGING       0x0800
1230 #define WF_WLO          0x8000
1231
1232 #define MAKEINTRESOURCE(i) (LPSTR)((DWORD)((WORD)(i)))
1233
1234 #define IDI_APPLICATION MAKEINTRESOURCE(32512)
1235 #define IDI_HAND MAKEINTRESOURCE(32513)
1236 #define IDI_QUESTION MAKEINTRESOURCE(32514)
1237 #define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
1238 #define IDI_ASTERISK MAKEINTRESOURCE(32516)
1239
1240 #define IDC_ARROW MAKEINTRESOURCE(32512)
1241 #define IDC_IBEAM MAKEINTRESOURCE(32513)
1242 #define IDC_WAIT MAKEINTRESOURCE(32514)
1243 #define IDC_CROSS MAKEINTRESOURCE(32515)
1244 #define IDC_UPARROW MAKEINTRESOURCE(32516)
1245 #define IDC_SIZE MAKEINTRESOURCE(32540)
1246 #define IDC_ICON MAKEINTRESOURCE(32541)
1247 #define IDC_SIZENWSE MAKEINTRESOURCE(32542)
1248 #define IDC_SIZENESW MAKEINTRESOURCE(32543)
1249 #define IDC_SIZEWE MAKEINTRESOURCE(32544)
1250 #define IDC_SIZENS MAKEINTRESOURCE(32545)
1251
1252 /* OEM Resource Ordinal Numbers */
1253 #define OBM_CLOSE           32754
1254 #define OBM_UPARROW         32753
1255 #define OBM_DNARROW         32752
1256 #define OBM_RGARROW         32751
1257 #define OBM_LFARROW         32750
1258 #define OBM_REDUCE          32749
1259 #define OBM_ZOOM            32748
1260 #define OBM_RESTORE         32747
1261 #define OBM_REDUCED         32746
1262 #define OBM_ZOOMD           32745
1263 #define OBM_RESTORED        32744
1264 #define OBM_UPARROWD        32743
1265 #define OBM_DNARROWD        32742
1266 #define OBM_RGARROWD        32741
1267 #define OBM_LFARROWD        32740
1268 #define OBM_MNARROW         32739
1269 #define OBM_COMBO           32738
1270 #define OBM_UPARROWI        32737
1271 #define OBM_DNARROWI        32736
1272 #define OBM_RGARROWI        32735
1273 #define OBM_LFARROWI        32734
1274
1275 #define OBM_OLD_CLOSE       32767
1276 #define OBM_SIZE            32766
1277 #define OBM_OLD_UPARROW     32765
1278 #define OBM_OLD_DNARROW     32764
1279 #define OBM_OLD_RGARROW     32763
1280 #define OBM_OLD_LFARROW     32762
1281 #define OBM_BTSIZE          32761
1282 #define OBM_CHECK           32760
1283 #define OBM_CHECKBOXES      32759
1284 #define OBM_BTNCORNERS      32758
1285 #define OBM_OLD_REDUCE      32757
1286 #define OBM_OLD_ZOOM        32756
1287 #define OBM_OLD_RESTORE     32755
1288
1289 #define OCR_NORMAL          32512
1290 #define OCR_IBEAM           32513
1291 #define OCR_WAIT            32514
1292 #define OCR_CROSS           32515
1293 #define OCR_UP              32516
1294 #define OCR_SIZE            32640
1295 #define OCR_ICON            32641
1296 #define OCR_SIZENWSE        32642
1297 #define OCR_SIZENESW        32643
1298 #define OCR_SIZEWE          32644
1299 #define OCR_SIZENS          32645
1300 #define OCR_SIZEALL         32646
1301 #define OCR_ICOCUR          32647
1302
1303 #define OIC_SAMPLE          32512
1304 #define OIC_HAND            32513
1305 #define OIC_QUES            32514
1306 #define OIC_BANG            32515
1307 #define OIC_NOTE            32516
1308
1309   /* Stock GDI objects for GetStockObject() */
1310
1311 #define WHITE_BRUSH         0
1312 #define LTGRAY_BRUSH        1
1313 #define GRAY_BRUSH          2
1314 #define DKGRAY_BRUSH        3
1315 #define BLACK_BRUSH         4
1316 #define NULL_BRUSH          5
1317 #define HOLLOW_BRUSH        5
1318 #define WHITE_PEN           6
1319 #define BLACK_PEN           7
1320 #define NULL_PEN            8
1321 #define OEM_FIXED_FONT      10
1322 #define ANSI_FIXED_FONT     11
1323 #define ANSI_VAR_FONT       12
1324 #define SYSTEM_FONT         13
1325 #define DEVICE_DEFAULT_FONT 14
1326 #define DEFAULT_PALETTE     15
1327 #define SYSTEM_FIXED_FONT   16
1328
1329
1330 enum { WM_NULL, WM_CREATE, WM_DESTROY, WM_MOVE, WM_UNUSED0, WM_SIZE, WM_ACTIVATE,
1331         WM_SETFOCUS, WM_KILLFOCUS, WM_UNUSED1, WM_ENABLE, WM_SETREDRAW, 
1332         WM_SETTEXT, WM_GETTEXT, WM_GETTEXTLENGTH, WM_PAINT, WM_CLOSE, 
1333         WM_QUERYENDSESSION, WM_QUIT, WM_QUERYOPEN, WM_ERASEBKGND, 
1334         WM_SYSCOLORCHANGE, WM_ENDSESSION, WM_UNUSED2,
1335         WM_SHOWWINDOW, WM_CTLCOLOR, WM_WININICHANGE, WM_DEVMODECHANGE,
1336         WM_ACTIVATEAPP, WM_FONTCHANGE, WM_TIMECHANGE, WM_CANCELMODE, WM_SETCURSOR,
1337         WM_MOUSEACTIVATE, WM_CHILDACTIVATE, WM_QUEUESYNC, WM_GETMINMAXINFO,
1338         WM_UNUSED3, WM_PAINTICON, WM_ICONERASEBKGND, WM_NEXTDLGCTL, 
1339         WM_UNUSED4, WM_SPOOLERSTATUS, WM_DRAWITEM, WM_MEASUREITEM, 
1340         WM_DELETEITEM, WM_VKEYTOITEM,
1341         WM_CHARTOITEM, WM_SETFONT, WM_GETFONT };
1342
1343 #define WM_WINDOWPOSCHANGING 0x0046
1344 #define WM_WINDOWPOSCHANGED 0x0047
1345
1346 #define WM_NCCREATE         0x0081
1347 #define WM_NCDESTROY        0x0082
1348 #define WM_NCCALCSIZE       0x0083
1349 #define WM_NCHITTEST        0x0084
1350 #define WM_NCPAINT          0x0085
1351 #define WM_NCACTIVATE       0x0086
1352
1353 #define WM_GETDLGCODE       0x0087
1354
1355   /* Non-client mouse messages */
1356 #define WM_NCMOUSEMOVE      0x00a0
1357 #define WM_NCLBUTTONDOWN    0x00a1
1358 #define WM_NCLBUTTONUP      0x00a2
1359 #define WM_NCLBUTTONDBLCLK  0x00a3
1360 #define WM_NCRBUTTONDOWN    0x00a4
1361 #define WM_NCRBUTTONUP      0x00a5
1362 #define WM_NCRBUTTONDBLCLK  0x00a6
1363 #define WM_NCMBUTTONDOWN    0x00a7
1364 #define WM_NCMBUTTONUP      0x00a8
1365 #define WM_NCMBUTTONDBLCLK  0x00a9
1366
1367   /* Keyboard messages */
1368 #define WM_KEYDOWN          0x0100
1369 #define WM_KEYUP            0x0101
1370 #define WM_CHAR             0x0102
1371 #define WM_DEADCHAR         0x0103
1372 #define WM_SYSKEYDOWN       0x0104
1373 #define WM_SYSKEYUP         0x0105
1374 #define WM_SYSCHAR          0x0106
1375 #define WM_SYSDEADCHAR      0x0107
1376 #define WM_KEYFIRST         WM_KEYDOWN
1377 #define WM_KEYLAST          0x0108
1378
1379 #define WM_INITDIALOG       0x0110 
1380 #define WM_COMMAND          0x0111
1381 #define WM_SYSCOMMAND       0x0112
1382 #define WM_TIMER            0x0113
1383 #define WM_SYSTIMER         0x0118
1384
1385   /* scroll messages */
1386 #define WM_HSCROLL          0x0114
1387 #define WM_VSCROLL          0x0115
1388
1389 #define WM_ENTERIDLE        0x0121
1390
1391   /* Mouse messages */
1392 #define WM_MOUSEMOVE        0x0200
1393 #define WM_LBUTTONDOWN      0x0201
1394 #define WM_LBUTTONUP        0x0202
1395 #define WM_LBUTTONDBLCLK    0x0203
1396 #define WM_RBUTTONDOWN      0x0204
1397 #define WM_RBUTTONUP        0x0205
1398 #define WM_RBUTTONDBLCLK    0x0206
1399 #define WM_MBUTTONDOWN      0x0207
1400 #define WM_MBUTTONUP        0x0208
1401 #define WM_MBUTTONDBLCLK    0x0209
1402 #define WM_MOUSEFIRST       WM_MOUSEMOVE
1403 #define WM_MOUSELAST        WM_MBUTTONDBLCLK
1404
1405 #define WM_PARENTNOTIFY     0x0210
1406 #define WM_ENTERMENULOOP    0x0211
1407 #define WM_EXITMENULOOP     0x0212
1408
1409 #define WM_MDICREATE        0x0220
1410 #define WM_MDIDESTROY       0x0221
1411 #define WM_MDIACTIVATE      0x0222
1412 #define WM_MDIRESTORE       0x0223
1413 #define WM_MDINEXT          0x0224
1414 #define WM_MDIMAXIMIZE      0x0225
1415 #define WM_MDITILE          0x0226
1416 #define WM_MDICASCADE       0x0227
1417 #define WM_MDIICONARRANGE   0x0228
1418 #define WM_MDIGETACTIVE     0x0229
1419 #define WM_MDISETMENU       0x0230
1420
1421 #define WM_ENTERSIZEMOVE    0x0231
1422 #define WM_EXITSIZEMOVE     0x0232
1423
1424   /* misc messages */
1425 #define WM_NULL             0x0000
1426 #define WM_USER             0x0400
1427
1428
1429   /* Key status flags for mouse events */
1430 #define MK_LBUTTON          0x0001
1431 #define MK_RBUTTON          0x0002
1432 #define MK_SHIFT            0x0004
1433 #define MK_CONTROL          0x0008
1434 #define MK_MBUTTON          0x0010
1435
1436   /* Queue status flags */
1437 #define QS_KEY          0x0001
1438 #define QS_MOUSEMOVE    0x0002
1439 #define QS_MOUSEBUTTON  0x0004
1440 #define QS_MOUSE        (QS_MOUSEMOVE | QS_MOUSEBUTTON)
1441 #define QS_POSTMESSAGE  0x0008
1442 #define QS_TIMER        0x0010
1443 #define QS_PAINT        0x0020
1444 #define QS_SENDMESSAGE  0x0040
1445 #define QS_ALLINPUT     0x007f
1446
1447   /* PeekMessage() options */
1448 #define PM_NOREMOVE     0x0000
1449 #define PM_REMOVE       0x0001
1450 #define PM_NOYIELD      0x0002
1451
1452 #define WM_SHOWWINDOW       0x0018
1453
1454 /* WM_SHOWWINDOW wParam codes */
1455 #define SW_PARENTCLOSING    1
1456 #define SW_OTHERMAXIMIZED   2
1457 #define SW_PARENTOPENING    3
1458 #define SW_OTHERRESTORED    4
1459
1460   /* ShowWindow() codes */
1461 #define SW_HIDE             0
1462 #define SW_SHOWNORMAL       1
1463 #define SW_NORMAL           1
1464 #define SW_SHOWMINIMIZED    2
1465 #define SW_SHOWMAXIMIZED    3
1466 #define SW_MAXIMIZE         3
1467 #define SW_SHOWNOACTIVATE   4
1468 #define SW_SHOW             5
1469 #define SW_MINIMIZE         6
1470 #define SW_SHOWMINNOACTIVE  7
1471 #define SW_SHOWNA           8
1472 #define SW_RESTORE          9
1473
1474   /* WM_SIZE message wParam values */
1475 #define SIZE_RESTORED        0
1476 #define SIZE_MINIMIZED       1
1477 #define SIZE_MAXIMIZED       2
1478 #define SIZE_MAXSHOW         3
1479 #define SIZE_MAXHIDE         4
1480
1481 /* SetWindowPos() and WINDOWPOS flags */
1482 #define SWP_NOSIZE          0x0001
1483 #define SWP_NOMOVE          0x0002
1484 #define SWP_NOZORDER        0x0004
1485 #define SWP_NOREDRAW        0x0008
1486 #define SWP_NOACTIVATE      0x0010
1487 #define SWP_FRAMECHANGED    0x0020  /* The frame changed: send WM_NCCALCSIZE */
1488 #define SWP_SHOWWINDOW      0x0040
1489 #define SWP_HIDEWINDOW      0x0080
1490 #define SWP_NOCOPYBITS      0x0100
1491 #define SWP_NOOWNERZORDER   0x0200  /* Don't do owner Z ordering */
1492
1493 #define SWP_DRAWFRAME       SWP_FRAMECHANGED
1494 #define SWP_NOREPOSITION    SWP_NOOWNERZORDER
1495
1496 #define SWP_NOSENDCHANGING  0x0400
1497 #define SWP_DEFERERASE      0x2000
1498
1499 /* SetWindowPos() hwndInsertAfter field values */
1500 #define HWND_TOP            ((HWND)0)
1501 #define HWND_BOTTOM         ((HWND)1)
1502 #define HWND_TOPMOST        ((HWND)-1)
1503 #define HWND_NOTOPMOST      ((HWND)-2)
1504
1505 /* Flags for TrackPopupMenu */
1506 #define TPM_LEFTBUTTON  0x0000
1507 #define TPM_RIGHTBUTTON 0x0002
1508 #define TPM_LEFTALIGN   0x0000
1509 #define TPM_CENTERALIGN 0x0004
1510 #define TPM_RIGHTALIGN  0x0008
1511
1512 /* Menu messages */
1513 #define WM_INITMENU         0x0116
1514 #define WM_INITMENUPOPUP    0x0117
1515
1516 #define WM_MENUSELECT       0x011F
1517 #define WM_MENUCHAR         0x0120
1518
1519 #define MF_INSERT 0
1520 #define MF_CHANGE 0x0080
1521 #define MF_APPEND 0x0100
1522 #define MF_DELETE 0x0200
1523 #define MF_REMOVE 0x1000
1524 #define MF_BYCOMMAND 0
1525 #define MF_BYPOSITION 0x0400
1526 #define MF_SEPARATOR 0x0800
1527 #define MF_ENABLED 0
1528 #define MF_GRAYED 0x0001
1529 #define MF_DISABLED 0x0002
1530 #define MF_UNCHECKED 0
1531 #define MF_CHECKED 0x0008
1532 #define MF_USECHECKBITMAPS 0x0200
1533 #define MF_STRING 0
1534 #define MF_BITMAP 0x0004
1535 #define MF_OWNERDRAW 0x0100
1536 #define MF_POPUP 0x0010
1537 #define MF_MENUBARBREAK 0x0020
1538 #define MF_MENUBREAK 0x0040
1539 #define MF_UNHILITE 0
1540 #define MF_HILITE 0x0080
1541 #define MF_SYSMENU 0x2000
1542 #define MF_HELP 0x4000
1543 #define MF_MOUSESELECT 0x8000
1544 #define MF_END 0x0080
1545
1546 #ifndef NOWINOFFSETS
1547 #define GCW_HBRBACKGROUND (-10)
1548 #endif
1549
1550 #define MB_OK               0x0000
1551 #define MB_OKCANCEL         0x0001
1552 #define MB_ABORTRETRYIGNORE 0x0002
1553 #define MB_YESNOCANCEL      0x0003
1554 #define MB_YESNO            0x0004
1555 #define MB_RETRYCANCEL      0x0005
1556 #define MB_TYPEMASK         0x000F
1557
1558 #define MB_ICONHAND         0x0010
1559 #define MB_ICONQUESTION     0x0020
1560 #define MB_ICONEXCLAMATION  0x0030
1561 #define MB_ICONASTERISK     0x0040
1562 #define MB_ICONMASK         0x00F0
1563
1564 #define MB_ICONINFORMATION  MB_ICONASTERISK
1565 #define MB_ICONSTOP         MB_ICONHAND
1566
1567 #define MB_DEFBUTTON1       0x0000
1568 #define MB_DEFBUTTON2       0x0100
1569 #define MB_DEFBUTTON3       0x0200
1570 #define MB_DEFMASK          0x0F00
1571
1572 #define MB_APPLMODAL        0x0000
1573 #define MB_SYSTEMMODAL      0x1000
1574 #define MB_TASKMODAL        0x2000
1575
1576 #define MB_NOFOCUS          0x8000
1577
1578
1579 #define DT_TOP 0
1580 #define DT_LEFT 0
1581 #define DT_CENTER 1
1582 #define DT_RIGHT 2
1583 #define DT_VCENTER 4
1584 #define DT_BOTTOM 8
1585 #define DT_WORDBREAK 16
1586 #define DT_SINGLELINE 32
1587 #define DT_EXPANDTABS 64
1588 #define DT_TABSTOP 128
1589 #define DT_NOCLIP 256
1590 #define DT_EXTERNALLEADING 512
1591 #define DT_CALCRECT 1024
1592 #define DT_NOPREFIX 2048
1593 #define DT_INTERNAL 4096
1594
1595 /* Window Styles */
1596 #define WS_OVERLAPPED    0x00000000L
1597 #define WS_POPUP         0x80000000L
1598 #define WS_CHILD         0x40000000L
1599 #define WS_MINIMIZE      0x20000000L
1600 #define WS_VISIBLE       0x10000000L
1601 #define WS_DISABLED      0x08000000L
1602 #define WS_CLIPSIBLINGS  0x04000000L
1603 #define WS_CLIPCHILDREN  0x02000000L
1604 #define WS_MAXIMIZE      0x01000000L
1605 #define WS_CAPTION       0x00C00000L
1606 #define WS_BORDER        0x00800000L
1607 #define WS_DLGFRAME      0x00400000L
1608 #define WS_VSCROLL       0x00200000L
1609 #define WS_HSCROLL       0x00100000L
1610 #define WS_SYSMENU       0x00080000L
1611 #define WS_THICKFRAME    0x00040000L
1612 #define WS_GROUP         0x00020000L
1613 #define WS_TABSTOP       0x00010000L
1614 #define WS_MINIMIZEBOX   0x00020000L
1615 #define WS_MAXIMIZEBOX   0x00010000L
1616 #define WS_TILED         WS_OVERLAPPED
1617 #define WS_ICONIC        WS_MINIMIZE
1618 #define WS_SIZEBOX       WS_THICKFRAME
1619 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
1620 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
1621 #define WS_CHILDWINDOW (WS_CHILD)
1622 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
1623
1624 /* Window extended styles */
1625 #define WS_EX_DLGMODALFRAME    0x00000001L
1626 #define WS_EX_NOPARENTNOTIFY   0x00000004L
1627 #define WS_EX_TOPMOST          0x00000008L
1628 #define WS_EX_ACCEPTFILES      0x00000010L
1629 #define WS_EX_TRANSPARENT      0x00000020L
1630
1631 /* Window scrolling */
1632 #define SW_SCROLLCHILDREN      0x0001
1633 #define SW_INVALIDATE          0x0002
1634 #define SW_ERASE               0x0003
1635
1636 /* Button control styles */
1637 #define BS_PUSHBUTTON          0x00000000L
1638 #define BS_DEFPUSHBUTTON       0x00000001L
1639 #define BS_CHECKBOX            0x00000002L
1640 #define BS_AUTOCHECKBOX        0x00000003L
1641 #define BS_RADIOBUTTON         0x00000004L
1642 #define BS_3STATE              0x00000005L
1643 #define BS_AUTO3STATE          0x00000006L
1644 #define BS_GROUPBOX            0x00000007L
1645 #define BS_USERBUTTON          0x00000008L
1646 #define BS_AUTORADIOBUTTON     0x00000009L
1647 #define BS_OWNERDRAW           0x0000000BL
1648 #define BS_LEFTTEXT            0x00000020L
1649
1650 /* Button control messages */
1651 #define BM_GETCHECK            (WM_USER+0)
1652 #define BM_SETCHECK            (WM_USER+1)
1653 #define BM_GETSTATE            (WM_USER+2)
1654 #define BM_SETSTATE            (WM_USER+3)
1655 #define BM_SETSTYLE            (WM_USER+4)
1656
1657 /* Button notification codes */
1658 #define BN_CLICKED             0
1659 #define BN_PAINT               1
1660 #define BN_HILITE              2
1661 #define BN_UNHILITE            3
1662 #define BN_DISABLE             4
1663 #define BN_DOUBLECLICKED       5
1664
1665 /* Static Control Styles */
1666 #define SS_LEFT             0x00000000L
1667 #define SS_CENTER           0x00000001L
1668 #define SS_RIGHT            0x00000002L
1669 #define SS_ICON             0x00000003L
1670 #define SS_BLACKRECT        0x00000004L
1671 #define SS_GRAYRECT         0x00000005L
1672 #define SS_WHITERECT        0x00000006L
1673 #define SS_BLACKFRAME       0x00000007L
1674 #define SS_GRAYFRAME        0x00000008L
1675 #define SS_WHITEFRAME       0x00000009L
1676 #define SS_SIMPLE           0x0000000BL
1677 #define SS_LEFTNOWORDWRAP   0x0000000CL
1678 #define SS_NOPREFIX         0x00000080L
1679
1680 /* Static Control Mesages */
1681 #define STM_SETICON         (WM_USER+0)
1682 #define STM_GETICON         (WM_USER+1)
1683
1684 /* WM_H/VSCROLL commands */
1685 #define SB_LINEUP           0
1686 #define SB_LINELEFT         0
1687 #define SB_LINEDOWN         1
1688 #define SB_LINERIGHT        1
1689 #define SB_PAGEUP           2
1690 #define SB_PAGELEFT         2
1691 #define SB_PAGEDOWN         3
1692 #define SB_PAGERIGHT        3
1693 #define SB_THUMBPOSITION    4
1694 #define SB_THUMBTRACK       5
1695 #define SB_TOP              6
1696 #define SB_LEFT             6
1697 #define SB_BOTTOM           7
1698 #define SB_RIGHT            7
1699 #define SB_ENDSCROLL        8
1700
1701 /* Scroll bar selection constants */
1702 #define SB_HORZ             0
1703 #define SB_VERT             1
1704 #define SB_CTL              2
1705 #define SB_BOTH             3
1706
1707 /* Scrollbar styles */
1708 #define SBS_HORZ                    0x0000L
1709 #define SBS_VERT                    0x0001L
1710 #define SBS_TOPALIGN                0x0002L
1711 #define SBS_LEFTALIGN               0x0002L
1712 #define SBS_BOTTOMALIGN             0x0004L
1713 #define SBS_RIGHTALIGN              0x0004L
1714 #define SBS_SIZEBOXTOPLEFTALIGN     0x0002L
1715 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
1716 #define SBS_SIZEBOX                 0x0008L
1717
1718 /* EnableScrollBar() flags */
1719 #define ESB_ENABLE_BOTH     0x0000
1720 #define ESB_DISABLE_BOTH    0x0003
1721
1722 #define ESB_DISABLE_LEFT    0x0001
1723 #define ESB_DISABLE_RIGHT   0x0002
1724
1725 #define ESB_DISABLE_UP      0x0001
1726 #define ESB_DISABLE_DOWN    0x0002
1727
1728 #define ESB_DISABLE_LTUP    ESB_DISABLE_LEFT
1729 #define ESB_DISABLE_RTDN    ESB_DISABLE_RIGHT
1730
1731 /* Listbox styles */
1732 #define LBS_NOTIFY            0x0001L
1733 #define LBS_SORT              0x0002L
1734 #define LBS_NOREDRAW          0x0004L
1735 #define LBS_MULTIPLESEL       0x0008L
1736 #define LBS_OWNERDRAWFIXED    0x0010L
1737 #define LBS_OWNERDRAWVARIABLE 0x0020L
1738 #define LBS_HASSTRINGS        0x0040L
1739 #define LBS_USETABSTOPS       0x0080L
1740 #define LBS_NOINTEGRALHEIGHT  0x0100L
1741 #define LBS_MULTICOLUMN       0x0200L
1742 #define LBS_WANTKEYBOARDINPUT 0x0400L
1743 #define LBS_EXTENDEDSEL       0x0800L
1744 #define LBS_DISABLENOSCROLL   0x1000L
1745 #define LBS_STANDARD          (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
1746
1747 /* Listbox messages */
1748 #define LB_ADDSTRING           (WM_USER+1)
1749 #define LB_INSERTSTRING        (WM_USER+2)
1750 #define LB_DELETESTRING        (WM_USER+3)
1751 #define LB_RESETCONTENT        (WM_USER+5)
1752 #define LB_SETSEL              (WM_USER+6)
1753 #define LB_SETCURSEL           (WM_USER+7)
1754 #define LB_GETSEL              (WM_USER+8)
1755 #define LB_GETCURSEL           (WM_USER+9)
1756 #define LB_GETTEXT             (WM_USER+10)
1757 #define LB_GETTEXTLEN          (WM_USER+11)
1758 #define LB_GETCOUNT            (WM_USER+12)
1759 #define LB_SELECTSTRING        (WM_USER+13)
1760 #define LB_DIR                 (WM_USER+14)
1761 #define LB_GETTOPINDEX         (WM_USER+15)
1762 #define LB_FINDSTRING          (WM_USER+16)
1763 #define LB_GETSELCOUNT         (WM_USER+17)
1764 #define LB_GETSELITEMS         (WM_USER+18)
1765 #define LB_SETTABSTOPS         (WM_USER+19)
1766 #define LB_GETHORIZONTALEXTENT (WM_USER+20)
1767 #define LB_SETHORIZONTALEXTENT (WM_USER+21)
1768 #define LB_SETCOLUMNWIDTH      (WM_USER+22)
1769 #define LB_SETTOPINDEX         (WM_USER+24)
1770 #define LB_GETITEMRECT         (WM_USER+25)
1771 #define LB_GETITEMDATA         (WM_USER+26)
1772 #define LB_SETITEMDATA         (WM_USER+27)
1773 #define LB_SELITEMRANGE        (WM_USER+28)
1774 #define LB_SETCARETINDEX       (WM_USER+31)
1775 #define LB_GETCARETINDEX       (WM_USER+32)
1776 #define LB_SETITEMHEIGHT       (WM_USER+33)
1777 #define LB_GETITEMHEIGHT       (WM_USER+34)
1778 #define LB_FINDSTRINGEXACT     (WM_USER+35)
1779
1780 /* Listbox notification codes */
1781 #define LBN_ERRSPACE        (-2)
1782 #define LBN_SELCHANGE       1
1783 #define LBN_DBLCLK          2
1784 #define LBN_SELCANCEL       3
1785 #define LBN_SETFOCUS        4
1786 #define LBN_KILLFOCUS       5
1787
1788 /* Listbox notification messages */
1789 #define WM_VKEYTOITEM       0x002E
1790 #define WM_CHARTOITEM       0x002F
1791
1792 /* Listbox message return values */
1793 #define LB_OKAY             0
1794 #define LB_ERR              (-1)
1795 #define LB_ERRSPACE         (-2)
1796
1797 #define LB_CTLCODE          0L
1798
1799 /* Combo box styles */
1800 #define CBS_SIMPLE            0x0001L
1801 #define CBS_DROPDOWN          0x0002L
1802 #define CBS_DROPDOWNLIST      0x0003L
1803 #define CBS_OWNERDRAWFIXED    0x0010L
1804 #define CBS_OWNERDRAWVARIABLE 0x0020L
1805 #define CBS_AUTOHSCROLL       0x0040L
1806 #define CBS_OEMCONVERT        0x0080L
1807 #define CBS_SORT              0x0100L
1808 #define CBS_HASSTRINGS        0x0200L
1809 #define CBS_NOINTEGRALHEIGHT  0x0400L
1810 #define CBS_DISABLENOSCROLL   0x0800L
1811
1812 /* Combo box messages */
1813 #define CB_GETEDITSEL            (WM_USER+0)
1814 #define CB_LIMITTEXT             (WM_USER+1)
1815 #define CB_SETEDITSEL            (WM_USER+2)
1816 #define CB_ADDSTRING             (WM_USER+3)
1817 #define CB_DELETESTRING          (WM_USER+4)
1818 #define CB_DIR                   (WM_USER+5)
1819 #define CB_GETCOUNT              (WM_USER+6)
1820 #define CB_GETCURSEL             (WM_USER+7)
1821 #define CB_GETLBTEXT             (WM_USER+8)
1822 #define CB_GETLBTEXTLEN          (WM_USER+9)
1823 #define CB_INSERTSTRING          (WM_USER+10)
1824 #define CB_RESETCONTENT          (WM_USER+11)
1825 #define CB_FINDSTRING            (WM_USER+12)
1826 #define CB_SELECTSTRING          (WM_USER+13)
1827 #define CB_SETCURSEL             (WM_USER+14)
1828 #define CB_SHOWDROPDOWN          (WM_USER+15)
1829 #define CB_GETITEMDATA           (WM_USER+16)
1830 #define CB_SETITEMDATA           (WM_USER+17)
1831 #define CB_GETDROPPEDCONTROLRECT (WM_USER+18)
1832 #define CB_SETITEMHEIGHT         (WM_USER+19)
1833 #define CB_GETITEMHEIGHT         (WM_USER+20)
1834 #define CB_SETEXTENDEDUI         (WM_USER+21)
1835 #define CB_GETEXTENDEDUI         (WM_USER+22)
1836 #define CB_GETDROPPEDSTATE       (WM_USER+23)
1837 #define CB_FINDSTRINGEXACT       (WM_USER+24)
1838
1839 /* Combo box notification codes */
1840 #define CBN_ERRSPACE        (-1)
1841 #define CBN_SELCHANGE       1
1842 #define CBN_DBLCLK          2
1843 #define CBN_SETFOCUS        3
1844 #define CBN_KILLFOCUS       4
1845 #define CBN_EDITCHANGE      5
1846 #define CBN_EDITUPDATE      6
1847 #define CBN_DROPDOWN        7
1848 #define CBN_CLOSEUP         8
1849 #define CBN_SELENDOK        9
1850 #define CBN_SELENDCANCEL    10
1851
1852 /* Combo box message return values */
1853 #define CB_OKAY             0
1854 #define CB_ERR              (-1)
1855 #define CB_ERRSPACE         (-2)
1856
1857
1858 /* Owner draw control types */
1859 #define ODT_MENU        1
1860 #define ODT_LISTBOX     2
1861 #define ODT_COMBOBOX    3
1862 #define ODT_BUTTON      4
1863
1864 /* Owner draw actions */
1865 #define ODA_DRAWENTIRE  0x0001
1866 #define ODA_SELECT      0x0002
1867 #define ODA_FOCUS       0x0004
1868
1869 /* Owner draw state */
1870 #define ODS_SELECTED    0x0001
1871 #define ODS_GRAYED      0x0002
1872 #define ODS_DISABLED    0x0004
1873 #define ODS_CHECKED     0x0008
1874 #define ODS_FOCUS       0x0010
1875
1876 /* Edit control styles */
1877 #define ES_LEFT         0x00000000L
1878 #define ES_CENTER       0x00000001L
1879 #define ES_RIGHT        0x00000002L
1880 #define ES_MULTILINE    0x00000004L
1881 #define ES_UPPERCASE    0x00000008L
1882 #define ES_LOWERCASE    0x00000010L
1883 #define ES_PASSWORD     0x00000020L
1884 #define ES_AUTOVSCROLL  0x00000040L
1885 #define ES_AUTOHSCROLL  0x00000080L
1886 #define ES_NOHISESEL    0x00000100L
1887 #define ES_OEMCONVERT   0x00000400L
1888 #define ES_READONLY     0x00000800L
1889 #define ES_WANTRETURN   0x00001000L
1890
1891 /* Edit control messages */
1892 #define EM_GETSEL              (WM_USER+0)
1893 #define EM_SETSEL              (WM_USER+1)
1894 #define EM_GETRECT             (WM_USER+2)
1895 #define EM_SETRECT             (WM_USER+3)
1896 #define EM_SETRECTNP           (WM_USER+4)
1897 #define EM_LINESCROLL          (WM_USER+6)
1898 #define EM_GETMODIFY           (WM_USER+8)
1899 #define EM_SETMODIFY           (WM_USER+9)
1900 #define EM_GETLINECOUNT        (WM_USER+10)
1901 #define EM_LINEINDEX           (WM_USER+11)
1902 #define EM_SETHANDLE           (WM_USER+12)
1903 #define EM_GETHANDLE           (WM_USER+13)
1904 #define EM_LINELENGTH          (WM_USER+17)
1905 #define EM_REPLACESEL          (WM_USER+18)
1906 #define EM_GETLINE             (WM_USER+20)
1907 #define EM_LIMITTEXT           (WM_USER+21)
1908 #define EM_CANUNDO             (WM_USER+22)
1909 #define EM_UNDO                (WM_USER+23)
1910 #define EM_FMTLINES            (WM_USER+24)
1911 #define EM_LINEFROMCHAR        (WM_USER+25)
1912 #define EM_SETTABSTOPS         (WM_USER+27)
1913 #define EM_SETPASSWORDCHAR     (WM_USER+28)
1914 #define EM_EMPTYUNDOBUFFER     (WM_USER+29)
1915 #define EM_GETFIRSTVISIBLELINE (WM_USER+30)
1916 #define EM_SETREADONLY         (WM_USER+31)
1917 #define EM_SETWORDBREAKPROC    (WM_USER+32)
1918 #define EM_GETWORDBREAKPROC    (WM_USER+33)
1919 #define EM_GETPASSWORDCHAR     (WM_USER+34)
1920
1921 typedef int (CALLBACK *EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent,
1922                                           int cch, int code);
1923
1924 /* EDITWORDBREAKPROC code values */
1925 #define WB_LEFT         0
1926 #define WB_RIGHT        1
1927 #define WB_ISDELIMITER  2
1928
1929 /* Edit control notification codes */
1930 #define EN_SETFOCUS     0x0100
1931 #define EN_KILLFOCUS    0x0200
1932 #define EN_CHANGE       0x0300
1933 #define EN_UPDATE       0x0400
1934 #define EN_ERRSPACE     0x0500
1935 #define EN_MAXTEXT      0x0501
1936 #define EN_HSCROLL      0x0601
1937 #define EN_VSCROLL      0x0602
1938
1939
1940 #define WM_DRAWITEM         0x002B
1941
1942 typedef struct tagDRAWITEMSTRUCT
1943 {
1944     UINT        CtlType;
1945     UINT        CtlID;
1946     UINT        itemID;
1947     UINT        itemAction;
1948     UINT        itemState;
1949     HWND        hwndItem;
1950     HDC         hDC;
1951     RECT        rcItem WINE_PACKED;
1952     DWORD       itemData WINE_PACKED;
1953 } DRAWITEMSTRUCT;
1954 typedef DRAWITEMSTRUCT NEAR* PDRAWITEMSTRUCT;
1955 typedef DRAWITEMSTRUCT FAR* LPDRAWITEMSTRUCT;
1956
1957 #define WM_MEASUREITEM      0x002C
1958
1959 typedef struct tagMEASUREITEMSTRUCT
1960 {
1961     UINT        CtlType;
1962     UINT        CtlID;
1963     UINT        itemID;
1964     UINT        itemWidth;
1965     UINT        itemHeight;
1966     DWORD       itemData WINE_PACKED;
1967 } MEASUREITEMSTRUCT;
1968 typedef MEASUREITEMSTRUCT NEAR* PMEASUREITEMSTRUCT;
1969 typedef MEASUREITEMSTRUCT FAR* LPMEASUREITEMSTRUCT;
1970
1971 #define WM_DELETEITEM       0x002D
1972
1973 typedef struct tagDELETEITEMSTRUCT
1974 {
1975     UINT       CtlType;
1976     UINT       CtlID;
1977     UINT       itemID;
1978     HWND       hwndItem;
1979     DWORD      itemData;
1980 } DELETEITEMSTRUCT;
1981 typedef DELETEITEMSTRUCT NEAR* PDELETEITEMSTRUCT;
1982 typedef DELETEITEMSTRUCT FAR* LPDELETEITEMSTRUCT;
1983
1984 #define WM_COMPAREITEM      0x0039
1985
1986 typedef struct tagCOMPAREITEMSTRUCT
1987 {
1988     UINT        CtlType;
1989     UINT        CtlID;
1990     HWND        hwndItem;
1991     UINT        itemID1;
1992     DWORD       itemData1;
1993     UINT        itemID2;
1994     DWORD       itemData2 WINE_PACKED;
1995 } COMPAREITEMSTRUCT;
1996 typedef COMPAREITEMSTRUCT NEAR* PCOMPAREITEMSTRUCT;
1997 typedef COMPAREITEMSTRUCT FAR* LPCOMPAREITEMSTRUCT;
1998
1999 /* Virtual key codes */
2000 #define VK_LBUTTON          0x01
2001 #define VK_RBUTTON          0x02
2002 #define VK_CANCEL           0x03
2003 #define VK_MBUTTON          0x04
2004 #define VK_BACK             0x08
2005 #define VK_TAB              0x09
2006 #define VK_CLEAR            0x0C
2007 #define VK_RETURN           0x0D
2008 #define VK_SHIFT            0x10
2009 #define VK_CONTROL          0x11
2010 #define VK_MENU             0x12
2011 #define VK_PAUSE            0x13
2012 #define VK_CAPITAL          0x14
2013 #define VK_ESCAPE           0x1B
2014 #define VK_SPACE            0x20
2015 #define VK_PRIOR            0x21
2016 #define VK_NEXT             0x22
2017 #define VK_END              0x23
2018 #define VK_HOME             0x24
2019 #define VK_LEFT             0x25
2020 #define VK_UP               0x26
2021 #define VK_RIGHT            0x27
2022 #define VK_DOWN             0x28
2023 #define VK_SELECT           0x29
2024 #define VK_PRINT            0x2A
2025 #define VK_EXECUTE          0x2B
2026 #define VK_SNAPSHOT         0x2C
2027 #define VK_INSERT           0x2D
2028 #define VK_DELETE           0x2E
2029 #define VK_HELP             0x2F
2030 #define VK_NUMPAD0          0x60
2031 #define VK_NUMPAD1          0x61
2032 #define VK_NUMPAD2          0x62
2033 #define VK_NUMPAD3          0x63
2034 #define VK_NUMPAD4          0x64
2035 #define VK_NUMPAD5          0x65
2036 #define VK_NUMPAD6          0x66
2037 #define VK_NUMPAD7          0x67
2038 #define VK_NUMPAD8          0x68
2039 #define VK_NUMPAD9          0x69
2040 #define VK_MULTIPLY         0x6A
2041 #define VK_ADD              0x6B
2042 #define VK_SEPARATOR        0x6C
2043 #define VK_SUBTRACT         0x6D
2044 #define VK_DECIMAL          0x6E
2045 #define VK_DIVIDE           0x6F
2046 #define VK_F1               0x70
2047 #define VK_F2               0x71
2048 #define VK_F3               0x72
2049 #define VK_F4               0x73
2050 #define VK_F5               0x74
2051 #define VK_F6               0x75
2052 #define VK_F7               0x76
2053 #define VK_F8               0x77
2054 #define VK_F9               0x78
2055 #define VK_F10              0x79
2056 #define VK_F11              0x7A
2057 #define VK_F12              0x7B
2058 #define VK_F13              0x7C
2059 #define VK_F14              0x7D
2060 #define VK_F15              0x7E
2061 #define VK_F16              0x7F
2062 #define VK_F17              0x80
2063 #define VK_F18              0x81
2064 #define VK_F19              0x82
2065 #define VK_F20              0x83
2066 #define VK_F21              0x84
2067 #define VK_F22              0x85
2068 #define VK_F23              0x86
2069 #define VK_F24              0x87
2070 #define VK_NUMLOCK          0x90
2071 #define VK_SCROLL           0x91
2072
2073   
2074 #define LMEM_FIXED          0   
2075 #define LMEM_MOVEABLE       0x0002
2076 #define LMEM_ZEROINIT       0x0040
2077 #define LMEM_DISCARDABLE    0x0F00
2078 #define LMEM_WINE_ALIGN     0x1000
2079
2080 #define GMEM_FIXED          0x0000
2081 #define GMEM_MOVEABLE       0x0002
2082 #define GMEM_NOCOMPACT      0x0010
2083 #define GMEM_NODISCARD      0x0020
2084 #define GMEM_ZEROINIT       0x0040
2085 #define GMEM_MODIFY         0x0080
2086 #define GMEM_DISCARDABLE    0x0100
2087 #define GMEM_NOT_BANKED     0x1000
2088 #define GMEM_SHARE          0x2000
2089 #define GMEM_DDESHARE       0x2000
2090 #define GMEM_NOTIFY         0x4000
2091 #define GMEM_LOWER          GMEM_NOT_BANKED
2092
2093 #define GHND                (GMEM_MOVEABLE | GMEM_ZEROINIT)
2094 #define GPTR                (GMEM_FIXED | GMEM_ZEROINIT)
2095
2096
2097 /* Predefined Clipboard Formats */
2098 #define CF_TEXT              1
2099 #define CF_BITMAP            2
2100 #define CF_METAFILEPICT      3
2101 #define CF_SYLK              4
2102 #define CF_DIF               5
2103 #define CF_TIFF              6
2104 #define CF_OEMTEXT           7
2105 #define CF_DIB               8
2106 #define CF_PALETTE           9
2107 #define CF_PENDATA          10
2108 #define CF_RIFF             11
2109 #define CF_WAVE             12
2110
2111 #define CF_OWNERDISPLAY     0x0080
2112 #define CF_DSPTEXT          0x0081
2113 #define CF_DSPBITMAP        0x0082
2114 #define CF_DSPMETAFILEPICT  0x0083
2115
2116 /* "Private" formats don't get GlobalFree()'d */
2117 #define CF_PRIVATEFIRST     0x0200
2118 #define CF_PRIVATELAST      0x02FF
2119
2120 /* "GDIOBJ" formats do get DeleteObject()'d */
2121 #define CF_GDIOBJFIRST      0x0300
2122 #define CF_GDIOBJLAST       0x03FF
2123
2124 /* Clipboard command messages */
2125 #define WM_CUT              0x0300
2126 #define WM_COPY             0x0301
2127 #define WM_PASTE            0x0302
2128 #define WM_CLEAR            0x0303
2129 #define WM_UNDO             0x0304
2130
2131 /* Clipboard owner messages */
2132 #define WM_RENDERFORMAT     0x0305
2133 #define WM_RENDERALLFORMATS 0x0306
2134 #define WM_DESTROYCLIPBOARD 0x0307
2135
2136 /* Clipboard viewer messages */
2137 #define WM_DRAWCLIPBOARD    0x0308
2138 #define WM_PAINTCLIPBOARD   0x0309
2139 #define WM_SIZECLIPBOARD    0x030B
2140 #define WM_VSCROLLCLIPBOARD 0x030A
2141 #define WM_HSCROLLCLIPBOARD 0x030E
2142 #define WM_ASKCBFORMATNAME  0x030C
2143 #define WM_CHANGECBCHAIN    0x030D
2144
2145 /* Metafile header structure */
2146 typedef struct tagMETAHEADER
2147 {
2148     WORD       mtType;
2149     WORD       mtHeaderSize;
2150     WORD       mtVersion;
2151     DWORD      mtSize WINE_PACKED;
2152     WORD       mtNoObjects;
2153     DWORD      mtMaxRecord WINE_PACKED;
2154     WORD       mtNoParameters;
2155 } METAHEADER;
2156
2157 /* Metafile typical record structure */
2158 typedef struct tagMETARECORD
2159 {
2160     DWORD      rdSize;
2161     WORD       rdFunction;
2162     WORD       rdParam[1];
2163 } METARECORD;
2164 typedef METARECORD *PMETARECORD;
2165 typedef METARECORD *LPMETARECORD;
2166
2167 /* Handle table structure */
2168 typedef struct tagHANDLETABLE
2169 {
2170     HANDLE     objectHandle[1];
2171 } HANDLETABLE;
2172 typedef HANDLETABLE *PHANDLETABLE;
2173 typedef HANDLETABLE *LPHANDLETABLE;
2174
2175 /* Clipboard metafile picture structure */
2176 typedef struct tagMETAFILEPICT
2177 {
2178     INT        mm;
2179     INT        xExt;
2180     INT        yExt;
2181     HMETAFILE  hMF;
2182 } METAFILEPICT;
2183 typedef METAFILEPICT *LPMETAFILEPICT;
2184
2185 /* Metafile functions */
2186 #define META_SETBKCOLOR              0x0201
2187 #define META_SETBKMODE               0x0102
2188 #define META_SETMAPMODE              0x0103
2189 #define META_SETROP2                 0x0104
2190 #define META_SETRELABS               0x0105
2191 #define META_SETPOLYFILLMODE         0x0106
2192 #define META_SETSTRETCHBLTMODE       0x0107
2193 #define META_SETTEXTCHAREXTRA        0x0108
2194 #define META_SETTEXTCOLOR            0x0209
2195 #define META_SETTEXTJUSTIFICATION    0x020A
2196 #define META_SETWINDOWORG            0x020B
2197 #define META_SETWINDOWEXT            0x020C
2198 #define META_SETVIEWPORTORG          0x020D
2199 #define META_SETVIEWPORTEXT          0x020E
2200 #define META_OFFSETWINDOWORG         0x020F
2201 #define META_SCALEWINDOWEXT          0x0410
2202 #define META_OFFSETVIEWPORTORG       0x0211
2203 #define META_SCALEVIEWPORTEXT        0x0412
2204 #define META_LINETO                  0x0213
2205 #define META_MOVETO                  0x0214
2206 #define META_EXCLUDECLIPRECT         0x0415
2207 #define META_INTERSECTCLIPRECT       0x0416
2208 #define META_ARC                     0x0817
2209 #define META_ELLIPSE                 0x0418
2210 #define META_FLOODFILL               0x0419
2211 #define META_PIE                     0x081A
2212 #define META_RECTANGLE               0x041B
2213 #define META_ROUNDRECT               0x061C
2214 #define META_PATBLT                  0x061D
2215 #define META_SAVEDC                  0x001E
2216 #define META_SETPIXEL                0x041F
2217 #define META_OFFSETCLIPRGN           0x0220
2218 #define META_TEXTOUT                 0x0521
2219 #define META_BITBLT                  0x0922
2220 #define META_STRETCHBLT              0x0B23
2221 #define META_POLYGON                 0x0324
2222 #define META_POLYLINE                0x0325
2223 #define META_ESCAPE                  0x0626
2224 #define META_RESTOREDC               0x0127
2225 #define META_FILLREGION              0x0228
2226 #define META_FRAMEREGION             0x0429
2227 #define META_INVERTREGION            0x012A
2228 #define META_PAINTREGION             0x012B
2229 #define META_SELECTCLIPREGION        0x012C
2230 #define META_SELECTOBJECT            0x012D
2231 #define META_SETTEXTALIGN            0x012E
2232 #define META_DRAWTEXT                0x062F
2233 #define META_CHORD                   0x0830
2234 #define META_SETMAPPERFLAGS          0x0231
2235 #define META_SETTEXTOUT              0x0A32
2236 #define META_SETDIBTODEV             0x0D33
2237 #define META_SELECTPALETTE           0x0234
2238 #define META_REALIZEPALETTE          0x0035
2239 #define META_ANIMATEPALETTE          0x0436
2240 #define META_SETPALENTRIES           0x0037
2241 #define META_POLYPOLYGON             0x0538
2242 #define META_RESIZEPALETTE           0x0139
2243 #define META_DIBBITBLT               0x0940
2244 #define META_DIBSTRETCHBLT           0x0B41
2245 #define META_DIBCREATEPATTERNBRUSH   0x0142
2246 #define META_STRETCHDIB              0x0F43
2247 #define META_EXTFLOODFILL            0x0548
2248 #define META_RESETDC                 0x014C
2249 #define META_STARTDOC                0x014D
2250 #define META_STARTPAGE               0x004F
2251 #define META_ENDPAGE                 0x0050
2252 #define META_ABORTDOC                0x0052
2253 #define META_ENDDOC                  0x005E
2254 #define META_DELETEOBJECT            0x01F0
2255 #define META_CREATEPALETTE           0x00F7
2256 #define META_CREATEBRUSH             0x00F8
2257 #define META_CREATEPATTERNBRUSH      0x01F9
2258 #define META_CREATEPENINDIRECT       0x02FA
2259 #define META_CREATEFONTINDIRECT      0x02FB
2260 #define META_CREATEBRUSHINDIRECT     0x02FC
2261 #define META_CREATEBITMAPINDIRECT    0x02FD
2262 #define META_CREATEBITMAP            0x06FE
2263 #define META_CREATEREGION            0x06FF
2264
2265 #ifndef WINELIB
2266 #pragma pack(4)
2267 #endif
2268
2269
2270 #define F(ret,name) ret name(void);
2271 #define Fa(ret,name,t1,a1) ret name(t1 a1);
2272 #define Fb(ret,name,t1,a1,t2,a2) ret name(t1 a1,t2 a2);
2273 #define Fc(ret,name,t1,a1,t2,a2,t3,a3) ret name(t1 a1,t2 a2,t3 a3);
2274 #define Fd(ret,name,t1,a1,t2,a2,t3,a3,t4,a4) ret name(t1 a1,t2 a2,t3 a3,t4 a4);
2275 #define Fe(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5) ret name( t1 a1,t2 a2,t3 a3,t4 a4,t5 a5);
2276 #define Ff(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6) ret name(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6);
2277 #define Fg(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7) ret name( t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7);
2278 #define Fh(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8) ret name(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8);
2279 #define Fi(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9) ret name(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9);
2280 #define Fj(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10) ret name(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10);
2281 #define Fk(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11) ret name (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11);
2282 #define Fl(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12) ret name(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12);
2283 #define Fm(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13) ret name(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13);
2284 #define Fn(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13,t14,a14) ret name(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14);
2285
2286 int wsprintf(LPSTR a,LPSTR b,...);
2287
2288 /* Implemented functions */
2289
2290 F(BOOL,AnyPopup)
2291 F(BOOL,CloseClipboard)
2292 F(BOOL,EmptyClipboard)
2293 F(BOOL,GetInputState)
2294 F(BOOL,InSendMessage)
2295 F(BOOL,SetDeskPattern)
2296 F(DWORD,GetCurrentTime)
2297 F(DWORD,GetDialogBaseUnits)
2298 F(DWORD,GetMenuCheckMarkDimensions)
2299 F(DWORD,GetMessagePos)
2300 F(DWORD,GetTickCount)
2301 F(HANDLE,GetCurrentTask)
2302 F(HMENU,CreateMenu)
2303 F(HMENU,CreatePopupMenu)
2304 F(HWND,GetActiveWindow)
2305 F(HWND,GetCapture)
2306 F(HWND,GetClipboardOwner)
2307 F(HWND,GetClipboardViewer)
2308 F(HWND,GetDesktopHwnd)
2309 F(HWND,GetDesktopWindow)
2310 F(HWND,GetFocus)
2311 F(HWND,GetOpenClipboardWindow)
2312 F(HWND,GetSysModalWindow)
2313 F(LONG,GetMessageExtraInfo)
2314 F(LONG,GetMessageTime)
2315 F(LONG,GetVersion)
2316 F(LONG,GetWinFlags)
2317 F(LPINT,GetThresholdEvent)
2318 F(LPSTR,GetDOSEnvironment)
2319 F(LPSTR,ValidateFreeSpaces)
2320 F(WORD,GetCaretBlinkTime)
2321 F(WORD,GetCurrentPDB)
2322 F(WORD,GetDoubleClickTime)
2323 F(WORD,GetNumTasks)
2324 F(int,CountClipboardFormats)
2325 F(int,GetKBCodePage)
2326 F(int,GetThresholdStatus)
2327 F(int,OpenSound)
2328 F(int,ProfInsChk)
2329 F(int,StartSound)
2330 F(int,StopSound)
2331 F(int,SyncAllVoices)
2332 F(void,CloseSound)
2333 F(void,DebugBreak)
2334 F(void,DestroyCaret)
2335 F(void,ProfClear)
2336 F(void,ProfFinish)
2337 F(void,ProfFlush)
2338 F(void,ProfStart)
2339 F(void,ProfStop)
2340 F(void,ReleaseCapture)
2341 F(void,SwitchStackBack)
2342 F(void,ValidateCodeSegments)
2343 F(void,WaitMessage)
2344 F(void,Yield)
2345 Fa(ATOM,AddAtom,LPCSTR,a)
2346 Fa(ATOM,DeleteAtom,ATOM,a)
2347 Fa(ATOM,FindAtom,LPCSTR,a)
2348 Fa(ATOM,GlobalAddAtom,LPCSTR,a)
2349 Fa(ATOM,GlobalDeleteAtom,ATOM,a)
2350 Fa(ATOM,GlobalFindAtom,LPCSTR,a)
2351 Fa(ATOM,RegisterClass,LPWNDCLASS,a) 
2352 Fa(BOOL,BringWindowToTop,HWND,a)
2353 Fa(BOOL,DeleteDC,HDC,a)
2354 Fa(BOOL,DeleteMetaFile,HMETAFILE,a)
2355 Fa(BOOL,DeleteObject,HANDLE,a)
2356 Fa(BOOL,DestroyCursor,HCURSOR,a)
2357 Fa(BOOL,DestroyIcon,HICON,a)
2358 Fa(BOOL,DestroyMenu,HMENU,a)
2359 Fa(BOOL,DestroyWindow,HWND,a)
2360 Fa(BOOL,EnableHardwareInput,BOOL,a)
2361 Fa(BOOL,EndDeferWindowPos,HDWP,hWinPosInfo)
2362 Fa(BOOL,FreeModule,HANDLE,a)
2363 Fa(BOOL,FreeResource,HANDLE,a)
2364 Fa(BOOL,InitAtomTable,WORD,a)
2365 Fa(BOOL,IsCharAlpha,char,ch)
2366 Fa(BOOL,IsCharAlphaNumeric,char,ch)
2367 Fa(BOOL,IsCharLower,char,ch)
2368 Fa(BOOL,IsCharUpper,char,ch)
2369 Fa(BOOL,IsClipboardFormatAvailable,WORD,a)
2370 Fa(BOOL,IsIconic,HWND,a)
2371 Fa(BOOL,IsRectEmpty,LPRECT,a)
2372 Fa(BOOL,IsTwoByteCharPrefix,char,a)
2373 Fa(BOOL,IsWindow,HWND,a)
2374 Fa(BOOL,IsWindowEnabled,HWND,a)
2375 Fa(BOOL,IsWindowVisible,HWND,a)
2376 Fa(BOOL,IsZoomed,HWND,a)
2377 Fa(BOOL,LocalUnlock,HANDLE,a)
2378 Fa(BOOL,OpenClipboard,HWND,a)
2379 Fa(BOOL,OpenIcon,HWND,a)
2380 Fa(BOOL,RemoveFontResource,LPSTR,a)
2381 Fa(BOOL,SetDeskWallPaper,LPSTR,a)
2382 Fa(BOOL,SetErrorMode,WORD,a)
2383 Fa(BOOL,SetMessageQueue,int,a)
2384 Fa(BOOL,SwapMouseButton,BOOL,a)
2385 Fa(BOOL,TranslateMessage,LPMSG,a)
2386 Fa(BOOL,UnhookWindowsHookEx,HHOOK,a)
2387 Fa(BOOL,UnrealizeObject,HBRUSH,a)
2388 Fa(BYTE,GetTempDrive,BYTE,a)
2389 Fa(COLORREF,GetBkColor,HDC,a)
2390 Fa(COLORREF,GetSysColor,short,a)
2391 Fa(COLORREF,GetTextColor,HDC,a)
2392 Fa(DWORD,GetAspectRatioFilter,HDC,a)
2393 Fa(DWORD,GetBitmapDimension,HBITMAP,a)
2394 Fa(DWORD,GetBrushOrg,HDC,a)
2395 Fa(DWORD,GetCurrentPosition,HDC,a)
2396 Fa(DWORD,GetDCOrg,HDC,a)
2397 Fa(DWORD,GetFreeSpace,WORD,a)
2398 Fa(DWORD,GetViewportExt,HDC,a)
2399 Fa(DWORD,GetViewportOrg,HDC,a)
2400 Fa(DWORD,GetWindowExt,HDC,a)
2401 Fa(DWORD,GetWindowOrg,HDC,a)
2402 Fa(DWORD,OemKeyScan,WORD,a)
2403 Fa(FARPROC,LocalNotify,FARPROC,a)
2404 Fa(HANDLE,CreateMetaFile,LPSTR,a)
2405 Fa(HANDLE,GetAtomHandle,ATOM,a)
2406 Fa(HANDLE,GetClipboardData,WORD,a)
2407 Fa(HANDLE,GetCodeHandle,FARPROC,a)
2408 Fa(HANDLE,GetMetaFile,LPSTR,a)
2409 Fa(HANDLE,GetMetaFileBits,HANDLE,a)
2410 Fa(HANDLE,GetModuleHandle,LPSTR,a)
2411 Fa(HANDLE,GetStockObject,int,a)
2412 Fa(HANDLE,GetWindowTask,HWND,a)
2413 Fa(HANDLE,LoadLibrary,LPSTR,a)
2414 Fa(HANDLE,LocalFree,HANDLE,a)
2415 Fa(HANDLE,LocalHandle,WORD,a)
2416 Fa(HANDLE,LockSegment,WORD,a)
2417 Fa(HANDLE,SetMetaFileBits,HANDLE,a)
2418 Fa(HANDLE,UnlockSegment,WORD,a)
2419 Fa(HBITMAP,CreateBitmapIndirect,BITMAP FAR*,a)
2420 Fa(HBRUSH,CreateBrushIndirect,LOGBRUSH FAR*,a)
2421 Fa(HBRUSH,CreatePatternBrush,HBITMAP,a)
2422 Fa(HBRUSH,CreateSolidBrush,DWORD,a)
2423 Fa(HCURSOR,SetCursor,HCURSOR,a)
2424 Fa(HDC,CreateCompatibleDC,HDC,a)
2425 Fa(HDC,GetDC,HWND,a)
2426 Fa(HDC,GetDCState,HDC,a)
2427 Fa(HDC,GetWindowDC,HWND,a)
2428 Fa(HDWP,BeginDeferWindowPos,INT,nNumWindows)
2429 Fa(HFONT,CreateFontIndirect,LOGFONT FAR*,a)
2430 Fa(HMENU,GetMenu,HWND,a)
2431 Fa(HMENU,LoadMenuIndirect,LPSTR,a)
2432 Fa(HMETAFILE,CloseMetaFile,HANDLE,a)
2433 Fa(HPALETTE,CreatePalette,LPLOGPALETTE,a)
2434 Fa(HPEN,CreatePenIndirect,LOGPEN FAR*,a)
2435 Fa(HRGN,CreateEllipticRgnIndirect,LPRECT,a)
2436 Fa(HRGN,CreateRectRgnIndirect,LPRECT,a)
2437 Fa(HRGN,GetClipRgn,HDC,a)
2438 Fa(HRGN,InquireVisRgn,HDC,a)
2439 Fa(HRGN,SaveVisRgn,HDC,a)
2440 Fa(HWND,GetLastActivePopup,HWND,a)
2441 Fa(HWND,GetParent,HWND,a)
2442 Fa(HWND,GetTopWindow,HWND,a)
2443 Fa(HWND,SetActiveWindow,HWND,a)
2444 Fa(HWND,SetCapture,HWND,a)
2445 Fa(HWND,SetClipboardViewer,HWND,a)
2446 Fa(HWND,SetFocus,HWND,a)
2447 Fa(HWND,SetSysModalWindow,HWND,a)
2448 Fa(HWND,WindowFromPoint,POINT,a)
2449 Fa(INT,_lclose,INT,a)
2450 Fa(INT,lstrlen,LPCSTR,a)
2451 Fa(LONG,DispatchMessage,LPMSG,msg)
2452 Fa(LONG,SetSwapAreaSize,WORD,a)
2453 Fa(LPSTR,AnsiLower,LPSTR,a)
2454 Fa(LPSTR,AnsiNext,LPSTR,a)
2455 Fa(LPSTR,AnsiUpper,LPSTR,a)
2456 Fa(LPSTR,LockResource,HANDLE,a)
2457 Fa(UINT,GDIRealizePalette,HDC,a)
2458 Fa(UINT,RealizePalette,HDC,a)
2459 Fa(WORD,AllocDStoCSAlias,WORD,a)
2460 Fa(WORD,AllocSelector,WORD,a)
2461 Fa(WORD,ArrangeIconicWindows,HWND,a)
2462 Fa(WORD,EnumClipboardFormats,WORD,a)
2463 Fa(WORD,FreeSelector,WORD,a)
2464 Fa(WORD,GetBkMode,HDC,a)
2465 Fa(WORD,GetDriveType,INT,a)
2466 Fa(WORD,GetMapMode,HDC,a)
2467 Fa(WORD,GetMenuItemCount,HMENU,a)
2468 Fa(WORD,GetPolyFillMode,HDC,a)
2469 Fa(WORD,GetROP2,HDC,a)
2470 Fa(WORD,GetRelAbs,HDC,a)
2471 Fa(WORD,GetStretchBltMode,HDC,a)
2472 Fa(WORD,GetTaskQueue,HANDLE,a)
2473 Fa(WORD,GetTextAlign,HDC,a)
2474 Fa(WORD,LocalCompact,WORD,a)
2475 Fa(WORD,LocalFlags,HANDLE,a)
2476 Fa(WORD,LocalSize,HANDLE,a)
2477 Fa(WORD,RealizeDefaultPalette,HDC,a)
2478 Fa(WORD,RegisterClipboardFormat,LPCSTR,a)
2479 Fa(WORD,RegisterWindowMessage,LPCSTR,a)
2480 Fa(WORD,SetHandleCount,WORD,a)
2481 Fa(WORD,VkKeyScan,WORD,a)
2482 Fa(char NEAR*,LocalLock,HANDLE,a)
2483 Fa(int,AddFontResource,LPSTR,a)
2484 Fa(int,Catch,LPCATCHBUF,a)
2485 Fa(int,ClearCommBreak,int,a)
2486 Fa(int,CloseComm,int,a)
2487 Fa(int,CountVoiceNotes,int,a)
2488 Fa(int,GetAsyncKeyState,int,a)
2489 Fa(int,GetDlgCtrlID,HWND,a)
2490 Fa(int,GetKeyState,int,a)
2491 Fa(int,GetKeyboardType,int,a)
2492 Fa(int,GetModuleUsage,HANDLE,a)
2493 Fa(int,GetSystemMetrics,WORD,a)
2494 Fa(int,GetWindowTextLength,HWND,a)
2495 Fa(int,RestoreVisRgn,HDC,a)
2496 Fa(int,SaveDC,HDC,a)
2497 Fa(int,SetCommBreak,int,a)
2498 Fa(int,SetCommState,DCB*,a)
2499 Fa(int,ShowCursor,BOOL,a)
2500 Fa(int,UpdateColors,HDC,a)
2501 Fa(int,WaitSoundState,int,a)
2502 Fa(short,GetTextCharacterExtra,HDC,a)
2503 Fa(void,ClipCursor,LPRECT,a)
2504 Fa(void,CloseWindow,HWND,a)
2505 Fa(void,DrawMenuBar,HWND,a)
2506 Fa(void,FatalExit,int,a)
2507 Fa(void,FreeLibrary,HANDLE,a)
2508 Fa(void,FreeProcInstance,FARPROC,a)
2509 Fa(void,GetCaretPos,LPPOINT,a)
2510 Fa(void,GetCursorPos,LPPOINT,a)
2511 Fa(void,GetKeyboardState,BYTE FAR*,a)
2512 Fa(void,HideCaret,HWND,a)
2513 Fa(void,LimitEmsPages,DWORD,a)
2514 Fa(void,MessageBeep,WORD,a)
2515 Fa(void,OutputDebugString,LPSTR,a)
2516 Fa(void,PostQuitMessage,int,a)
2517 Fa(void,ReplyMessage,LONG,a)
2518 Fa(void,SetCaretBlinkTime,WORD,a)
2519 Fa(void,SetConvertHook,BOOL,a)
2520 Fa(void,SetDoubleClickTime,WORD,a)
2521 Fa(void,SetKeyboardState,BYTE FAR*,a)
2522 Fa(void,SetRectEmpty,LPRECT,a)
2523 Fa(void,ShowCaret,HWND,a)
2524 Fa(void,SwapRecording,WORD,a)
2525 Fa(void,UpdateWindow,HWND,a)
2526 Fb(BOOL,CallMsgFilter,LPMSG,a,short,b)
2527 Fb(BOOL,ChangeClipboardChain,HWND,a,HWND,b)
2528 Fb(BOOL,EnableWindow,HWND,a,BOOL,b)
2529 Fb(BOOL,EnumWindows,FARPROC,a,LONG,b)
2530 Fb(BOOL,EqualRect,LPRECT,a,LPRECT,b)
2531 Fb(BOOL,EqualRgn,HRGN,a,HRGN,b)
2532 Fb(BOOL,ExitWindows,DWORD,dwReserved,WORD,wReturnCode)
2533 Fb(BOOL,FlashWindow,HWND,a,BOOL,b)
2534 Fb(BOOL,GetBitmapDimensionEx,HBITMAP,a,LPSIZE,b)
2535 Fb(BOOL,GetBrushOrgEx,HDC,a,LPPOINT,b)
2536 Fb(BOOL,GetCurrentPositionEx,HDC,a,LPPOINT,b)
2537 Fb(BOOL,GetTextMetrics,HDC,a,LPTEXTMETRIC,b)
2538 Fb(BOOL,GetViewportExtEx,HDC,a,LPPOINT,b)
2539 Fb(BOOL,GetViewportOrgEx,HDC,a,LPPOINT,b)
2540 Fb(BOOL,GetWindowExtEx,HDC,a,LPPOINT,b)
2541 Fb(BOOL,GetWindowOrgEx,HDC,a,LPPOINT,b)
2542 Fb(BOOL,GetWindowPlacement,HWND,a,LPWINDOWPLACEMENT,b)
2543 Fb(BOOL,InvertRgn,HDC,a,HRGN,b)
2544 Fb(BOOL,IsChild,HWND,a,HWND,b)
2545 Fb(BOOL,IsDialogMessage,HWND,a,LPMSG,b)
2546 Fb(BOOL,KillSystemTimer,HWND,a,WORD,b)
2547 Fb(BOOL,KillTimer,HWND,a,WORD,b)
2548 Fb(BOOL,OemToAnsi,LPSTR,a,LPSTR,b)
2549 Fb(BOOL,PaintRgn,HDC,a,HRGN,b)
2550 Fb(BOOL,PlayMetaFile,HDC,a,HANDLE,b)
2551 Fb(BOOL,PtInRect,LPRECT,a,POINT,b)
2552 Fb(BOOL,RectInRegion,HRGN,a,LPRECT,b)
2553 Fb(BOOL,RectVisible,HDC,a,LPRECT,b)
2554 Fb(BOOL,ResizePalette,HPALETTE,a,WORD,b)
2555 Fb(BOOL,RestoreDC,HDC,a,short,b)
2556 Fb(BOOL,SetConvertParams,int,a,int,b)
2557 Fb(BOOL,SetMenu,HWND,a,HMENU,b)
2558 Fb(BOOL,SetWindowPlacement,HWND,a,LPWINDOWPLACEMENT,b)
2559 Fb(BOOL,ShowWindow,HWND,a,int,b) 
2560 Fb(BOOL,TranslateMDISysAccel,HWND,a,LPMSG,b)
2561 Fb(BOOL,UnhookWindowsHook,short,a,HHOOK,b)
2562 Fb(BOOL,UnregisterClass,LPSTR,a,HANDLE,b)
2563 Fb(DWORD,GetNearestColor,HDC,a,DWORD,b)
2564 Fb(DWORD,SetBkColor,HDC,a,COLORREF,b)
2565 Fb(DWORD,SetMapperFlags,HDC,a,DWORD,b)
2566 Fb(DWORD,SetTextColor,HDC,a,DWORD,b)
2567 Fb(FARPROC,GetProcAddress,HANDLE,a,LPSTR,b)
2568 Fb(FARPROC,MakeProcInstance,FARPROC,a,HANDLE,b)
2569 Fb(HANDLE,CopyMetaFile,HANDLE,a,LPSTR,b)
2570 Fb(HANDLE,GetProp,HWND,a,LPSTR,b)
2571 Fb(HANDLE,LoadAccelerators,HANDLE,a,LPSTR,b)
2572 Fb(HANDLE,LoadModule,LPSTR,a,LPVOID,b)
2573 Fb(HANDLE,LoadResource,HANDLE,a,HANDLE,b)
2574 Fb(HANDLE,LocalAlloc,WORD,a,WORD,b)
2575 Fb(HANDLE,RemoveProp,HWND,a,LPSTR,b)
2576 Fb(HANDLE,SelectObject,HDC,a,HANDLE,b)
2577 Fb(HANDLE,SetClipboardData,WORD,a,HANDLE,b)
2578 Fb(HBITMAP,LoadBitmap,HANDLE,a,LPSTR,b)
2579 Fb(HBRUSH,CreateDIBPatternBrush,HANDLE,a,WORD,b)
2580 Fb(HBRUSH,CreateHatchBrush,short,a,COLORREF,b)
2581 Fb(HCURSOR,LoadCursor,HANDLE,a,LPSTR,b)
2582 Fb(HDC,BeginPaint,HWND,a,LPPAINTSTRUCT,b) 
2583 Fb(HHOOK,SetWindowsHook,short,a,HOOKPROC,b)
2584 Fb(HICON,LoadIcon,HANDLE,a,LPSTR,b)
2585 Fb(HMENU,GetSubMenu,HMENU,a,short,b)
2586 Fb(HMENU,GetSystemMenu,HWND,a,BOOL,b)
2587 Fb(HMENU,LoadMenu,HANDLE,a,LPSTR,b)
2588 Fb(HMENU,LookupMenuHandle,HMENU,a,INT,b)
2589 Fb(HPALETTE,GDISelectPalette,HDC,a,HPALETTE,b)
2590 Fb(HWND,ChildWindowFromPoint,HWND,a,POINT,b)
2591 Fb(HWND,FindWindow,LPSTR,a,LPSTR,b)
2592 Fb(HWND,GetDlgItem,HWND,a,WORD,b)
2593 Fb(HWND,GetNextWindow,HWND,a,WORD,b)
2594 Fb(HWND,GetWindow,HWND,a,WORD,b)
2595 Fb(HWND,SetParent,HWND,a,HWND,b)
2596 Fb(INT,AnsiToOem,LPSTR,a,LPSTR,b)
2597 Fb(INT,_lcreat,LPSTR,a,INT,b)
2598 Fb(INT,_lopen,LPSTR,a,INT,b)
2599 Fb(INT,lstrcmp,LPCSTR,a,LPCSTR,b )
2600 Fb(INT,lstrcmpi,LPCSTR,a,LPCSTR,b )
2601 Fb(LONG,EscapeCommFunction,int,a,int,b)
2602 Fb(LONG,GetClassLong,HWND,a,short,b)
2603 Fb(LONG,GetWindowLong,HWND,a,short,b)
2604 Fb(LPSTR,AnsiPrev,LPSTR,a,LPSTR,b)
2605 Fb(LPSTR,lstrcat,LPSTR,a,LPCSTR,b )
2606 Fb(LPSTR,lstrcpy,LPSTR,a,LPCSTR,b )
2607 Fb(WORD FAR*,SetCommEventMask,int,a,WORD,b)
2608 Fb(WORD,AnsiLowerBuff,LPSTR,a,WORD,b)
2609 Fb(WORD,AnsiUpperBuff,LPSTR,a,WORD,b)
2610 Fb(WORD,ChangeSelector,WORD,a,WORD,b)
2611 Fb(WORD,GetClassWord,HWND,a,short,b)
2612 Fb(WORD,GetCommEventMask,int,a,int,b)
2613 Fb(WORD,GetMenuItemID,HMENU,a,int,b)
2614 Fb(WORD,GetNearestPaletteIndex,HPALETTE,a,DWORD,b)
2615 Fb(WORD,GetSystemDirectory,LPSTR,a,WORD,b)
2616 Fb(WORD,GetSystemPaletteUse,HDC,a,WORD,b)
2617 Fb(WORD,GetWindowWord,HWND,a,short,b)
2618 Fb(WORD,GetWindowsDirectory,LPSTR,a,WORD,b)
2619 Fb(WORD,IsDlgButtonChecked,HWND,a,WORD,b)
2620 Fb(WORD,LocalShrink,HANDLE,a,WORD,b)
2621 Fb(WORD,MapVirtualKey,WORD,a,WORD,b)
2622 Fb(WORD,SetBkMode,HDC,a,WORD,b)
2623 Fb(WORD,SetMapMode,HDC,a,WORD,b)
2624 Fb(WORD,SetPolyFillMode,HDC,a,WORD,b)
2625 Fb(WORD,SetROP2,HDC,a,WORD,b)
2626 Fb(WORD,SetRelAbs,HDC,a,WORD,b)
2627 Fb(WORD,SetStretchBltMode,HDC,a,WORD,b)
2628 Fb(WORD,SetSystemPaletteUse,HDC,a,WORD,b)
2629 Fb(WORD,SetTaskQueue,HANDLE,a,HANDLE,b)
2630 Fb(WORD,SetTextAlign,HDC,a,WORD,b)
2631 Fb(WORD,SizeofResource,HANDLE,a,HANDLE,b)
2632 Fb(WORD,WinExec,LPSTR,a,WORD,b)
2633 Fb(int,AccessResource,HANDLE,a,HANDLE,b)
2634 Fb(int,BuildCommDCB,LPSTR,a,DCB*,b)
2635 Fb(int,ConvertRequest,HWND,a,LPKANJISTRUCT,b)
2636 Fb(int,EnumProps,HWND,a,FARPROC,b)
2637 Fb(int,ExcludeUpdateRgn,HDC,a,HWND,b)
2638 Fb(int,FlushComm,int,a,int,b)
2639 Fb(int,GetClipBox,HDC,a,LPRECT,b)
2640 Fb(int,GetCommError,int,a,COMSTAT*,b)
2641 Fb(int,GetCommState,int,a,DCB*,b)
2642 Fb(int,GetDeviceCaps,HDC,a,WORD,b)
2643 Fb(int,GetPriorityClipboardFormat,WORD FAR*,a,short,b)
2644 Fb(int,GetRgnBox,HRGN,a,LPRECT,b)
2645 Fb(int,GetScrollPos,HWND,a,int,b)
2646 Fb(int,ReleaseDC,HWND,a,HDC,b)
2647 Fb(int,SelectClipRgn,HDC,a,HRGN,b)
2648 Fb(int,SelectVisRgn,HDC,a,HRGN,b)
2649 Fb(int,SetSoundNoise,int,a,int,b)
2650 Fb(int,SetVoiceQueueSize,int,a,int,b)
2651 Fb(int,SetVoiceThreshold,int,a,int,b)
2652 Fb(int,TransmitCommChar,int,a,char,b)
2653 Fb(int,UngetCommChar,int,a,char,b)
2654 Fb(short,SetTextCharacterExtra,HDC,a,short,b)
2655 Fb(void,ClientToScreen,HWND,a,LPPOINT,b)
2656 Fb(void,CopyRect,LPRECT,a,LPRECT,b)
2657 Fb(void,DrawFocusRect,HDC,a,LPRECT,b)
2658 Fb(void,EndDialog,HWND,a,short,b)
2659 Fb(void,EndPaint,HWND,a,LPPAINTSTRUCT,b)
2660 Fb(void,GetClientRect,HWND,a,LPRECT,b)
2661 Fb(void,GetCodeInfo,FARPROC,lpProc,LPVOID,lpSegInfo)
2662 Fb(void,GetWindowRect,HWND,a,LPRECT,b)
2663 Fb(void,InvertRect,HDC,a,LPRECT,b)
2664 Fb(void,MapDialogRect,HWND,a,LPRECT,b)
2665 Fb(void,ProfSampRate,int,a,int,b)
2666 Fb(void,ProfSetup,int,a,int,b)
2667 Fb(void,ScreenToClient,HWND,a,LPPOINT,b)
2668 Fb(void,SetCaretPos,short,a,short,b)
2669 Fb(void,SetCursorPos,short,a,short,b)
2670 Fb(void,SetDCState,HDC,a,HDC,b)
2671 Fb(void,SetWindowText,HWND,a,LPSTR,b)
2672 Fb(void,ShowOwnedPopups,HWND,a,BOOL,b)
2673 Fb(void,Throw,LPCATCHBUF,a,int,b)
2674 Fb(void,ValidateRect,HWND,a,LPRECT,b)
2675 Fb(void,ValidateRgn,HWND,a,HRGN,b)
2676 Fc(BOOL,CheckMenuItem,HMENU,a,WORD,b,WORD,c)
2677 Fc(BOOL,DPtoLP,HDC,a,LPPOINT,b,int,c)
2678 Fc(BOOL,DeleteMenu,HMENU,a,WORD,b,WORD,c)
2679 Fc(BOOL,DlgDirSelect,HWND,a,LPSTR,b,int,c)
2680 Fc(BOOL,DlgDirSelectComboBox,HWND,a,LPSTR,b,int,c)
2681 Fc(BOOL,EnableMenuItem,HMENU,a,WORD,b,WORD,c)
2682 Fc(BOOL,EnableScrollBar,HWND,a,INT,b,UINT,c)
2683 Fc(BOOL,EnumChildWindows,HWND,a,FARPROC,b,LONG,c)
2684 Fc(BOOL,EnumTaskWindows,HANDLE,a,FARPROC,b,LONG,c)
2685 Fc(BOOL,FillRgn,HDC,a,HRGN,b,HBRUSH,c)
2686 Fc(BOOL,GetClassInfo,HANDLE,a,LPSTR,b,LPWNDCLASS,c)
2687 Fc(BOOL,GetUpdateRect,HWND,a,LPRECT,b,BOOL,c)
2688 Fc(BOOL,IntersectRect,LPRECT,a,LPRECT,b,LPRECT,c)
2689 Fc(BOOL,LPtoDP,HDC,a,LPPOINT,b,int,c)
2690 Fc(BOOL,LineTo,HDC,a,short,b,short,c)
2691 Fc(BOOL,LocalInit,WORD,a,WORD,b,WORD,c)
2692 Fc(BOOL,Polygon,HDC,a,LPPOINT,b,int,c)
2693 Fc(BOOL,Polyline,HDC,a,LPPOINT,b,int,c)
2694 Fc(BOOL,PtInRegion,HRGN,a,short,b,short,c)
2695 Fc(BOOL,PtVisible,HDC,a,short,b,short,c)
2696 Fc(BOOL,RemoveMenu,HMENU,a,WORD,b,WORD,c)
2697 Fc(BOOL,SetProp,HWND,a,LPSTR,b,HANDLE,c)
2698 Fc(BOOL,SubtractRect,LPRECT,a,LPRECT,b,LPRECT,c)
2699 Fc(BOOL,UnionRect,LPRECT,a,LPRECT,b,LPRECT,c)
2700 Fc(BOOL,WriteProfileString,LPSTR,a,LPSTR,b,LPSTR,c)
2701 Fc(DWORD,GetPixel,HDC,a,short,b,short,c)
2702 Fc(DWORD,GetTextExtent,HDC,a,LPSTR,b,short,c)
2703 Fc(DWORD,MoveTo,HDC,a,short,b,short,c)
2704 Fc(DWORD,OffsetViewportOrg,HDC,a,short,b,short,c)
2705 Fc(DWORD,OffsetWindowOrg,HDC,a,short,b,short,c)
2706 Fc(DWORD,SetBitmapDimension,HBITMAP,a,short,b,short,c)
2707 Fc(DWORD,SetBrushOrg,HDC,a,short,b,short,c)
2708 Fc(DWORD,SetViewportExt,HDC,a,short,b,short,c)
2709 Fc(DWORD,SetViewportOrg,HDC,a,short,b,short,c)
2710 Fc(DWORD,SetWindowExt,HDC,a,short,b,short,c)
2711 Fc(DWORD,SetWindowOrg,HDC,a,short,b,short,c)
2712 Fc(FARPROC,SetResourceHandler,HANDLE,a,LPSTR,b,FARPROC,c)
2713 Fc(HANDLE,AllocResource,HANDLE,a,HANDLE,b,DWORD,c)
2714 Fc(HANDLE,FindResource,HANDLE,a,LPSTR,b,LPSTR,c)
2715 Fc(HANDLE,LocalReAlloc,HANDLE,a,WORD,b,WORD,c)
2716 Fc(HBITMAP,CreateCompatibleBitmap,HDC,a,short,b,short,c)
2717 Fc(HBITMAP,CreateDiscardableBitmap,HDC,a,short,b,short,c)
2718 Fc(HBRUSH,GetControlBrush,HWND,a,HDC,b,WORD,c)
2719 Fc(HDC,GetDCEx,HWND,a,HRGN,b,DWORD,c)
2720 Fc(HPALETTE,SelectPalette,HDC,a,HPALETTE,b,BOOL,c)
2721 Fc(HPEN,CreatePen,short,a,short,b,COLORREF,c)
2722 Fc(HRGN,CreatePolygonRgn,LPPOINT,a,short,b,short,c)
2723 Fc(HWND,GetNextDlgGroupItem,HWND,a,HWND,b,BOOL,c)
2724 Fc(HWND,GetNextDlgTabItem,HWND,a,HWND,b,BOOL,c)
2725 Fc(INT,GetTextFace,HDC,a,INT,b,LPSTR,c)
2726 Fc(INT,OpenFile,LPSTR,a,LPOFSTRUCT,b,WORD,c)
2727 Fc(INT,_lread,INT,a,LPSTR,b,WORD,c)
2728 Fc(INT,_lwrite,INT,a,LPSTR,b,WORD,c)
2729 Fc(LONG,GetBitmapBits,HBITMAP,a,LONG,b,LPSTR,c)
2730 Fc(LONG,SetBitmapBits,HBITMAP,a,LONG,b,LPSTR,c)
2731 Fc(LONG,SetClassLong,HWND,a,short,b,LONG,c)
2732 Fc(LONG,SetWindowLong,HWND,a,short,b,LONG,c)
2733 Fc(LONG,_llseek,INT,a,LONG,b,INT,c)
2734 Fc(WORD,GetAtomName,ATOM,a,LPSTR,b,short,c)
2735 Fc(WORD,GetInternalWindowPos,HWND,a,LPRECT,b,LPPOINT,c)
2736 Fc(WORD,GetMenuState,HMENU,a,WORD,b,WORD,c)
2737 Fc(WORD,GetProfileInt,LPSTR,a,LPSTR,b,int,c)
2738 Fc(WORD,GlobalGetAtomName,ATOM,a,LPSTR,b,short,c)
2739 Fc(WORD,SetClassWord,HWND,a,short,b,WORD,c)
2740 Fc(WORD,SetWindowWord,HWND,a,short,b,WORD,c)
2741 Fc(int,FillRect,HDC,a,LPRECT,b,HBRUSH,c)
2742 Fc(int,FrameRect,HDC,a,LPRECT,b,HBRUSH,c)
2743 Fc(int,GetClassName,HWND,a,LPSTR,b,short,c)
2744 Fc(int,GetClipboardFormatName,WORD,a,LPSTR,b,short,c)
2745 Fc(int,GetEnvironment,LPSTR,a,LPSTR,b,WORD,c)
2746 Fc(int,GetInstanceData,HANDLE,a,NPSTR,b,int,c)
2747 Fc(int,GetKeyNameText,LONG,a,LPSTR,b,int,c)
2748 Fc(int,GetModuleFileName,HANDLE,a,LPSTR,b,short,c)
2749 Fc(int,GetObject,HANDLE,a,int,b,LPSTR,c)
2750 Fc(int,GetUpdateRgn,HWND,a,HRGN,b,BOOL,c)
2751 Fc(int,GetWindowText,HWND,a,LPSTR,b,int,c)
2752 Fc(int,MulDiv,int,a,int,b,int,c)
2753 Fc(int,OffsetClipRgn,HDC,a,short,b,short,c)
2754 Fc(int,OffsetRgn,HRGN,a,short,b,short,c)
2755 Fc(int,OpenComm,LPSTR,a,WORD,b,WORD,c)
2756 Fc(int,ReadComm,int,a,LPSTR,b,int,c)
2757 Fc(int,SetEnvironment,LPSTR,a,LPSTR,b,WORD,c)
2758 Fc(int,SetVoiceEnvelope,int,a,int,b,int,c)
2759 Fc(int,SetVoiceSound,int,a,LONG,b,int,c)
2760 Fc(int,TranslateAccelerator,HWND,a,HANDLE,b,LPMSG,c)
2761 Fc(int,WriteComm,int,a,LPSTR,b,int,c)
2762 Fc(int,wvsprintf,LPSTR,a,LPSTR,b,LPSTR,c)
2763 Fc(short,SetTextJustification,HDC,a,short,b,short,c)
2764 Fc(void,AdjustWindowRect,LPRECT,a,DWORD,b,BOOL,c)
2765 Fc(void,AnsiToOemBuff,LPSTR,a,LPSTR,b,INT,c)
2766 Fc(void,CheckDlgButton,HWND,a,WORD,b,WORD,c)
2767 Fc(void,InflateRect,LPRECT,a,short,b,short,c)
2768 Fc(void,InvalidateRect,HWND,a,LPRECT,b,BOOL,c)
2769 Fc(void,InvalidateRgn,HWND,a,HRGN,b,BOOL,c)
2770 Fc(void,OemToAnsiBuff,LPSTR,a,LPSTR,b,INT,c)
2771 Fc(void,OffsetRect,LPRECT,a,short,b,short,c)
2772 Fc(void,SetDlgItemText,HWND,a,WORD,b,LPSTR,c)
2773 Fc(void,SetSysColors,int,a,LPINT,b,COLORREF*,c)
2774 Fc(void,ShowScrollBar,HWND,a,WORD,b,BOOL,c)
2775 Fc(void,SwitchStackTo,WORD,a,WORD,b,WORD,c)
2776 Fd(BOOL,AppendMenu,HMENU,a,WORD,b,WORD,c,LPSTR,d)
2777 Fd(BOOL,DrawIcon,HDC,a,short,b,short,c,HICON,d)
2778 Fd(BOOL,EnumMetaFile,HDC,a,LOCALHANDLE,b,FARPROC,c,BYTE FAR*,d)
2779 Fd(BOOL,FloodFill,HDC,a,INT,b,INT,c,COLORREF,d)
2780 Fd(BOOL,GetCharWidth,HDC,a,WORD,b,WORD,c,LPINT,d)
2781 Fd(BOOL,GetMessage,LPMSG,msg,HWND,b,WORD,c,WORD,d)
2782 Fd(BOOL,GetTextExtentPoint,HDC,a,LPSTR,b,short,c,LPSIZE,d)
2783 Fd(BOOL,HiliteMenuItem,HWND,a,HMENU,b,WORD,c,WORD,d)
2784 Fd(BOOL,MoveToEx,HDC,a,short,b,short,c,LPPOINT,d)
2785 Fd(BOOL,OffsetViewportOrgEx,HDC,a,short,b,short,c,LPPOINT,d)
2786 Fd(BOOL,OffsetWindowOrgEx,HDC,a,short,b,short,c,LPPOINT,d)
2787 Fd(BOOL,PolyPolygon,HDC,a,LPPOINT,b,LPINT,c,WORD,d)
2788 Fd(BOOL,PostAppMessage,HANDLE,a,WORD,b,WORD,c,LONG,d)
2789 Fd(BOOL,PostMessage,HWND,a,WORD,b,WORD,c,LONG,d)
2790 Fd(BOOL,RedrawWindow,HWND,a,LPRECT,b,HRGN,c,UINT,d)
2791 Fd(BOOL,SetBitmapDimensionEx,HBITMAP,a,short,b,short,c,LPSIZE,d)
2792 Fd(BOOL,SetViewportExtEx,HDC,a,short,b,short,c,LPSIZE,d)
2793 Fd(BOOL,SetViewportOrgEx,HDC,a,short,b,short,c,LPPOINT,d)
2794 Fd(BOOL,SetWindowExtEx,HDC,a,short,b,short,c,LPSIZE,d)
2795 Fd(BOOL,SetWindowOrgEx,HDC,a,short,b,short,c,LPPOINT,d)
2796 Fd(BOOL,WinHelp,HWND,hwndMain,LPSTR,lpszHelp,WORD,usCommand,DWORD,ulData)
2797 Fd(BOOL,WritePrivateProfileString,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d)
2798 Fd(COLORREF,SetPixel,HDC,a,short,b,short,c,COLORREF,d)
2799 Fd(DWORD,CallNextHookEx,HHOOK,a,short,b,WPARAM,c,LPARAM,d)
2800 Fd(DWORD,DefHookProc,short,a,WORD,b,DWORD,c,HHOOK FAR*,d)
2801 Fd(HDC,CreateDC,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d)
2802 Fd(HDC,CreateIC,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d)
2803 Fd(HHOOK,SetWindowsHookEx,short,a,HOOKPROC,b,HINSTANCE,c,HTASK,d)
2804 Fd(HRGN,CreateEllipticRgn,short,a,short,b,short,c,short,d)
2805 Fd(HRGN,CreatePolyPolygonRgn,LPPOINT,a,LPINT,b,short,c,short,d)
2806 Fd(HRGN,CreateRectRgn,short,a,short,b,short,c,short,d)
2807 Fd(HWND,CreateDialog,HANDLE,a,LPCSTR,b,HWND,c,WNDPROC,d)
2808 Fd(HWND,CreateDialogIndirect,HANDLE,a,LPCSTR,b,HWND,c,WNDPROC,d)
2809 Fd(INT,GetTempFileName,BYTE,a,LPCSTR,b,UINT,c,LPSTR,d)
2810 Fd(LONG,DefDlgProc,HWND,a,WORD,b,WORD,c,LONG,d)
2811 Fd(LONG,DefMDIChildProc,HWND,a,WORD,b,WORD,c,LONG,d)
2812 Fd(LONG,DefWindowProc,HWND,a,WORD,b,WORD,c,LONG,d)
2813 Fd(LONG,SendMessage,HWND,a,WORD,b,WORD,c,LONG,d)
2814 Fd(WORD,GetDlgItemInt,HWND,a,WORD,b,BOOL FAR*,c,BOOL,d)
2815 Fd(WORD,GetPaletteEntries,HPALETTE,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
2816 Fd(WORD,GetPrivateProfileInt,LPSTR,a,LPSTR,b,short,c,LPSTR,d)
2817 Fd(WORD,GetSystemPaletteEntries,HDC,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
2818 Fd(WORD,SetPaletteEntries,HPALETTE,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
2819 Fd(WORD,SetSystemTimer,HWND,a,WORD,d,WORD,b,FARPROC,c)
2820 Fd(WORD,SetTimer,HWND,a,WORD,d,WORD,b,FARPROC,c)
2821 Fd(int,CombineRgn,HRGN,a,HRGN,b,HRGN,c,short,d)
2822 Fd(int,DialogBox,HINSTANCE,a,LPCSTR,b,HWND,c,WNDPROC,d)
2823 Fd(int,DialogBoxIndirect,HANDLE,a,HANDLE,b,HWND,c,WNDPROC,d)
2824 Fd(int,EnumFonts,HDC,a,LPSTR,b,FARPROC,c,LPSTR,d)
2825 Fd(int,EnumObjects,HDC,a,int,b,FARPROC,c,LPSTR,d)
2826 Fd(int,GetDlgItemText,HWND,a,WORD,b,LPSTR,c,WORD,d)
2827 Fd(int,LoadString,HANDLE,a,WORD,b,LPSTR,c,int,d)
2828 Fd(int,MessageBox,HWND,a,LPSTR,b,LPSTR,c,WORD,d)
2829 Fd(int,SetScrollPos,HWND,a,int,b,int,c,BOOL,d)
2830 Fd(int,SetVoiceNote,int,a,int,b,int,c,int,d)
2831 Fd(void,AdjustWindowRectEx,LPRECT,a,DWORD,b,BOOL,c,DWORD,d)
2832 Fd(void,AnimatePalette,HPALETTE,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
2833 Fd(void,CheckRadioButton,HWND,a,WORD,b,WORD,c,WORD,d)
2834 Fd(void,CreateCaret,HWND,a,HBITMAP,b,short,c,short,d)
2835 Fd(void,FillWindow,HWND,a,HWND,b,HDC,c,HBRUSH,d)
2836 Fd(void,GetScrollRange,HWND,a,int,b,LPINT,c,LPINT,d)
2837 Fd(void,MapWindowPoints,HWND,a,HWND,b,LPPOINT,c,WORD,d)
2838 Fd(void,PlayMetaFileRecord,HDC,a,LPHANDLETABLE,b,LPMETARECORD,c,WORD,d)
2839 Fd(void,SetDlgItemInt,HWND,a,WORD,b,WORD,c,BOOL,d)
2840 Fd(void,SetInternalWindowPos,HWND,a,WORD,b,LPRECT,c,LPPOINT,d)
2841 Fe(BOOL,ChangeMenu,HMENU,a,WORD,b,LPSTR,c,WORD,d,WORD,e)
2842 Fe(BOOL,Ellipse,HDC,a,int,b,int,c,int,d,int,e)
2843 Fe(BOOL,ExtFloodFill,HDC,a,INT,b,INT,c,COLORREF,d,WORD,e)
2844 Fe(BOOL,FrameRgn,HDC,a,HRGN,b,HBRUSH,e,int,c,int,d)
2845 Fe(BOOL,InsertMenu,HMENU,a,WORD,b,WORD,c,WORD,d,LPSTR,e)
2846 Fe(BOOL,ModifyMenu,HMENU,a,WORD,b,WORD,c,WORD,d,LPSTR,e)
2847 Fe(BOOL,PeekMessage,LPMSG,a,HWND,b,WORD,c,WORD,d,WORD,e)
2848 Fe(BOOL,Rectangle,HDC,a,int,xLeft,int,yTop,int,xRight,int,yBottom)
2849 Fe(BOOL,SetMenuItemBitmaps,HMENU,a,WORD,b,WORD,c,HBITMAP,d,HBITMAP,e)
2850 Fe(BOOL,TextOut,HDC,a,short,b,short,c,LPSTR,d,short,e)
2851 Fe(DWORD,GetTabbedTextExtent,HDC,a,LPSTR,b,int,c,int,d,LPINT,e)
2852 Fe(DWORD,ScaleViewportExt,HDC,a,short,b,short,c,short,d,short,e)
2853 Fe(DWORD,ScaleWindowExt,HDC,a,short,b,short,c,short,d,short,e)
2854 Fe(HBITMAP,CreateBitmap,short,a,short,b,BYTE,c,BYTE,d,LPSTR,e)
2855 Fe(HWND,CreateDialogIndirectParam,HANDLE,a,LPCSTR,b,HWND,c,WNDPROC,d,LPARAM,e)
2856 Fe(HWND,CreateDialogParam,HANDLE,a,LPCSTR,b,HWND,c,WNDPROC,d,LPARAM,e)
2857 Fe(LONG,CallWindowProc,WNDPROC,a,HWND,b,WORD,c,WORD,d,LONG,e)
2858 Fe(LONG,DefFrameProc,HWND,a,HWND,b,WORD,c,WORD,d,LONG,e)
2859 Fe(LONG,SendDlgItemMessage,HWND,a,WORD,b,WORD,c,WORD,d,LONG,e)
2860 Fe(int,DialogBoxIndirectParam,HANDLE,a,HANDLE,b,HWND,c,WNDPROC,d,LONG,e)
2861 Fe(int,DialogBoxParam,HANDLE,a,LPCSTR,b,HWND,c,WNDPROC,d,LONG,e)
2862 Fe(int,DlgDirList,HWND,a,LPSTR,b,int,c,int,d,WORD,e)
2863 Fe(int,DlgDirListComboBox,HWND,a,LPSTR,b,int,c,int,d,WORD,e)
2864 Fe(int,DrawText,HDC,a,LPSTR,str,int,c,LPRECT,d,WORD,flag)
2865 Fe(int,Escape,HDC,a,int,b,int,c,LPSTR,d,LPSTR,e)
2866 Fe(int,ExcludeClipRect,HDC,a,short,b,short,c,short,d,short,e)
2867 Fe(int,ExcludeVisRect,HDC,a,short,b,short,c,short,d,short,e)
2868 Fe(int,GetMenuString,HMENU,a,WORD,b,LPSTR,c,short,d,WORD,e)
2869 Fe(int,GetProfileString,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d,int,e)
2870 Fe(int,IntersectClipRect,HDC,a,short,b,short,c,short,d,short,e)
2871 Fe(int,IntersectVisRect,HDC,a,short,b,short,c,short,d,short,e)
2872 Fe(int,SetVoiceAccent,int,a,int,b,int,c,int,d,int,e)
2873 Fe(int,ToAscii,WORD,wVirtKey,WORD,wScanCode,LPSTR,lpKeyState,LPVOID,lpChar,WORD,wFlags)
2874 Fe(void,PaintRect,HWND,a,HWND,b,HDC,c,HBRUSH,d,LPRECT,e)
2875 Fe(void,ScrollWindow,HWND,a,short,b,short,c,LPRECT,d,LPRECT,e)
2876 Fe(void,SetRect,LPRECT,a,short,b,short,c,short,d,short,e)
2877 Fe(void,SetRectRgn,HRGN,a,short,b,short,c,short,d,short,e)
2878 Fe(void,SetScrollRange,HWND,a,int,b,int,c,int,d,BOOL,e)
2879 Ff(BOOL,MoveWindow,HWND,a,short,b,short,c,short,d,short,e,BOOL,f)
2880 Ff(BOOL,PatBlt,HDC,a,short,b,short,c,short,d,short,e,DWORD,f)
2881 Ff(BOOL,ScaleViewportExtEx,HDC,a,short,b,short,c,short,d,short,e,LPSIZE,f)
2882 Ff(BOOL,ScaleWindowExtEx,HDC,a,short,b,short,c,short,d,short,e,LPSIZE,f)
2883 Ff(HBITMAP,CreateDIBitmap,HDC,a,LPBITMAPINFOHEADER,b,DWORD,c,LPSTR,d,LPBITMAPINFO,e,WORD,f)
2884 Ff(HRGN,CreateRoundRectRgn,short,a,short,b,short,c,short,d,short,e,short,f)
2885 Ff(short,GetPrivateProfileString,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d,short,e,LPSTR,f)
2886 Ff(void,LineDDA,short,a,short,b,short,c,short,d,FARPROC,e,long,f)
2887 Fg(BOOL,RoundRect,HDC,a,short,b,short,c,short,d,short,e,short,f,short,g)
2888 Fg(BOOL,ScrollDC,HDC,a,short,b,short,c,LPRECT,d,LPRECT,e,HRGN,f,LPRECT,g)
2889 Fg(BOOL,SetWindowPos,HWND,a,HWND,b,short,c,short,d,short,e,short,f,WORD,g)
2890 Fg(BOOL,TrackPopupMenu,HMENU,a,WORD,b,short,c,short,d,short,e,HWND,f,LPRECT,g)
2891 Fg(HCURSOR,CreateCursor,HANDLE,a,short,b,short,c,short,d,short,e,LPSTR,f,LPSTR,g)
2892 Fg(HICON,CreateIcon,HANDLE,a,int,b,int,c,BYTE,d,BYTE,e,LPSTR,f,LPSTR,g)
2893 Fg(int,GetDIBits,HDC,a,HANDLE,a2,WORD,b,WORD,c,LPSTR,d,LPBITMAPINFO,e,WORD,f)
2894 Fg(int,SetDIBits,HDC,a,HANDLE,a2,WORD,b,WORD,c,LPSTR,d,LPBITMAPINFO,e,WORD,f)
2895 Fh(BOOL,ExtTextOut,HDC,a,short,b,short,c,WORD,d,LPRECT,e,LPSTR,f,WORD,g,LPINT,h)
2896 Fh(HDWP,DeferWindowPos,HDWP,hWinPosInfo,HWND,hWnd,HWND,hWndInsertAfter,INT,x,INT,y,INT,cx,INT,cy,WORD,wFlags)
2897 Fh(LONG,TabbedTextOut,HDC,a,short,b,short,c,LPSTR,d,short,e,short,f,LPINT,g,short,h)
2898 Fh(int,ScrollWindowEx,HWND,a,short,b,short,c,LPRECT,d,LPRECT,e,HRGN,f,LPRECT,g,WORD,h)
2899 Fi(BOOL,Arc,HDC,a,int,xLeft,int,yTop,int,xRight,int,yBottom,int,xStart,int,yStart,int,xEnd,int,yEnd)
2900 Fi(BOOL,BitBlt,HDC,a,short,b,short,c,short,d,short,e,HDC,f,short,g,short,h,DWORD,i)
2901 Fi(BOOL,Chord,HDC,a,int,xLeft,int,yTop,int,xRight,int,yBottom,int,xStart,int,yStart,int,xEnd,int,yEnd)
2902 Fi(BOOL,GrayString,HDC,a,HBRUSH,b,FARPROC,gsprc,LPARAM,lParam,INT,cch,INT,x,INT,y,INT,cx,INT,cy)
2903 Fi(BOOL,Pie,HDC,a,int,xLeft,int,yTop,int,xRight,int,yBottom,int,xStart,int,yStart,int,xEnd,int,yEnd)
2904 Fk(BOOL,StretchBlt,HDC,a,short,b,short,c,short,d,short,e,HDC,f,short,g,short,h,short,i,short,j,DWORD,k)
2905 Fk(HWND,CreateWindow,LPSTR,szAppName,LPSTR,Label,DWORD,ol,short,x,short,y,short,w,short,h,HWND,d,HMENU,e,,HANDLE i,LPSTR,g)
2906 Fl(HWND,CreateWindowEx,DWORD,a,LPSTR,b,LPSTR,c,DWORD,d,short,e,short,f,short,g,short,h,HWND,i,HMENU,j,HANDLE,k,LPSTR,l)
2907 Fl(int,SetDIBitsToDevice,HDC,a,short,b,short,c,WORD,d,WORD,e,WORD,f,WORD,g,WORD,h,WORD,i,LPSTR,j,LPBITMAPINFO,k,WORD,l)
2908 Fm(int,StretchDIBits,HDC,a,WORD,b,WORD,c,WORD,d,WORD,e,WORD,f,WORD,g,WORD,h,WORD,i,LPSTR,j,LPBITMAPINFO,k,WORD,l,DWORD,m)
2909 Fn(HFONT,CreateFont,int,a,int,b,int,c,int,d,int,e,BYTE,f,BYTE,g,BYTE,h,BYTE,i,BYTE,j,BYTE,k,BYTE,l,BYTE,m,LPSTR,n)
2910
2911 #ifndef GLOBAL_SOURCE
2912 Fa(BOOL,GlobalUnWire,HANDLE,a)
2913 Fa(BOOL,GlobalUnfix,HANDLE,a)
2914 Fa(BOOL,GlobalUnlock,HANDLE,a)
2915 Fa(DWORD,GlobalCompact,DWORD,a)
2916 Fa(DWORD,GlobalHandle,WORD,a)
2917 Fa(DWORD,GlobalSize,HANDLE,a)
2918 Fa(HANDLE,GlobalFree,HANDLE,a)
2919 Fa(HANDLE,GlobalLRUNewest,HANDLE,a)
2920 Fa(HANDLE,GlobalLRUOldest,HANDLE,a)
2921 Fa(LPSTR,GlobalLock,HANDLE,a)
2922 Fa(LPSTR,GlobalWire,HANDLE,a)
2923 Fa(WORD,GlobalFlags,HANDLE,a)
2924 Fa(WORD,GlobalPageLock,HANDLE,a)
2925 Fa(WORD,GlobalPageUnlock,HANDLE,a)
2926 Fa(void,GlobalFix,HANDLE,a)
2927 Fa(void,GlobalNotify,FARPROC,a)
2928 Fb(HANDLE,GlobalAlloc,WORD,a,DWORD,b)
2929 Fc(HANDLE,GlobalReAlloc,HANDLE,a,DWORD,b,WORD,c)
2930 #endif
2931
2932 #ifdef WINELIB
2933 #define WINELIB_UNIMP(x) fprintf (stderr, "WineLib: Unimplemented %s\n", x)
2934 #endif
2935 #endif  /* WINDOWS_H */