Release 950319
[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 /* GetFreeSystemResources() parameters */
1215
1216 #define GFSR_SYSTEMRESOURCES   0x0000
1217 #define GFSR_GDIRESOURCES      0x0001
1218 #define GFSR_USERRESOURCES     0x0002
1219
1220 /* GetWinFlags */
1221
1222 #define WF_PMODE        0x0001
1223 #define WF_CPU286       0x0002
1224 #define WF_CPU386       0x0004
1225 #define WF_CPU486       0x0008
1226 #define WF_STANDARD     0x0010
1227 #define WF_WIN286       0x0010
1228 #define WF_ENHANCED     0x0020
1229 #define WF_WIN386       0x0020
1230 #define WF_CPU086       0x0040
1231 #define WF_CPU186       0x0080
1232 #define WF_LARGEFRAME   0x0100
1233 #define WF_SMALLFRAME   0x0200
1234 #define WF_80x87        0x0400
1235 #define WF_PAGING       0x0800
1236 #define WF_WLO          0x8000
1237
1238 #define MAKEINTRESOURCE(i) (SEGPTR)((DWORD)((WORD)(i)))
1239
1240 #define IDI_APPLICATION  MAKEINTRESOURCE(32512)
1241 #define IDI_HAND         MAKEINTRESOURCE(32513)
1242 #define IDI_QUESTION     MAKEINTRESOURCE(32514)
1243 #define IDI_EXCLAMATION  MAKEINTRESOURCE(32515)
1244 #define IDI_ASTERISK     MAKEINTRESOURCE(32516)
1245
1246 #define IDC_ARROW        MAKEINTRESOURCE(32512)
1247 #define IDC_IBEAM        MAKEINTRESOURCE(32513)
1248 #define IDC_WAIT         MAKEINTRESOURCE(32514)
1249 #define IDC_CROSS        MAKEINTRESOURCE(32515)
1250 #define IDC_UPARROW      MAKEINTRESOURCE(32516)
1251 #define IDC_SIZE         MAKEINTRESOURCE(32540)
1252 #define IDC_ICON         MAKEINTRESOURCE(32541)
1253 #define IDC_SIZENWSE     MAKEINTRESOURCE(32542)
1254 #define IDC_SIZENESW     MAKEINTRESOURCE(32543)
1255 #define IDC_SIZEWE       MAKEINTRESOURCE(32544)
1256 #define IDC_SIZENS       MAKEINTRESOURCE(32545)
1257
1258 /* OEM Resource Ordinal Numbers */
1259 #define OBM_CLOSE           32754
1260 #define OBM_UPARROW         32753
1261 #define OBM_DNARROW         32752
1262 #define OBM_RGARROW         32751
1263 #define OBM_LFARROW         32750
1264 #define OBM_REDUCE          32749
1265 #define OBM_ZOOM            32748
1266 #define OBM_RESTORE         32747
1267 #define OBM_REDUCED         32746
1268 #define OBM_ZOOMD           32745
1269 #define OBM_RESTORED        32744
1270 #define OBM_UPARROWD        32743
1271 #define OBM_DNARROWD        32742
1272 #define OBM_RGARROWD        32741
1273 #define OBM_LFARROWD        32740
1274 #define OBM_MNARROW         32739
1275 #define OBM_COMBO           32738
1276 #define OBM_UPARROWI        32737
1277 #define OBM_DNARROWI        32736
1278 #define OBM_RGARROWI        32735
1279 #define OBM_LFARROWI        32734
1280
1281 #define OBM_OLD_CLOSE       32767
1282 #define OBM_SIZE            32766
1283 #define OBM_OLD_UPARROW     32765
1284 #define OBM_OLD_DNARROW     32764
1285 #define OBM_OLD_RGARROW     32763
1286 #define OBM_OLD_LFARROW     32762
1287 #define OBM_BTSIZE          32761
1288 #define OBM_CHECK           32760
1289 #define OBM_CHECKBOXES      32759
1290 #define OBM_BTNCORNERS      32758
1291 #define OBM_OLD_REDUCE      32757
1292 #define OBM_OLD_ZOOM        32756
1293 #define OBM_OLD_RESTORE     32755
1294
1295 #define OCR_NORMAL          32512
1296 #define OCR_IBEAM           32513
1297 #define OCR_WAIT            32514
1298 #define OCR_CROSS           32515
1299 #define OCR_UP              32516
1300 #define OCR_SIZE            32640
1301 #define OCR_ICON            32641
1302 #define OCR_SIZENWSE        32642
1303 #define OCR_SIZENESW        32643
1304 #define OCR_SIZEWE          32644
1305 #define OCR_SIZENS          32645
1306 #define OCR_SIZEALL         32646
1307 #define OCR_ICOCUR          32647
1308
1309 #define OIC_SAMPLE          32512
1310 #define OIC_HAND            32513
1311 #define OIC_QUES            32514
1312 #define OIC_BANG            32515
1313 #define OIC_NOTE            32516
1314
1315   /* Stock GDI objects for GetStockObject() */
1316
1317 #define WHITE_BRUSH         0
1318 #define LTGRAY_BRUSH        1
1319 #define GRAY_BRUSH          2
1320 #define DKGRAY_BRUSH        3
1321 #define BLACK_BRUSH         4
1322 #define NULL_BRUSH          5
1323 #define HOLLOW_BRUSH        5
1324 #define WHITE_PEN           6
1325 #define BLACK_PEN           7
1326 #define NULL_PEN            8
1327 #define OEM_FIXED_FONT      10
1328 #define ANSI_FIXED_FONT     11
1329 #define ANSI_VAR_FONT       12
1330 #define SYSTEM_FONT         13
1331 #define DEVICE_DEFAULT_FONT 14
1332 #define DEFAULT_PALETTE     15
1333 #define SYSTEM_FIXED_FONT   16
1334
1335
1336 enum { WM_NULL, WM_CREATE, WM_DESTROY, WM_MOVE, WM_UNUSED0, WM_SIZE, WM_ACTIVATE,
1337         WM_SETFOCUS, WM_KILLFOCUS, WM_UNUSED1, WM_ENABLE, WM_SETREDRAW, 
1338         WM_SETTEXT, WM_GETTEXT, WM_GETTEXTLENGTH, WM_PAINT, WM_CLOSE, 
1339         WM_QUERYENDSESSION, WM_QUIT, WM_QUERYOPEN, WM_ERASEBKGND, 
1340         WM_SYSCOLORCHANGE, WM_ENDSESSION, WM_UNUSED2,
1341         WM_SHOWWINDOW, WM_CTLCOLOR, WM_WININICHANGE, WM_DEVMODECHANGE,
1342         WM_ACTIVATEAPP, WM_FONTCHANGE, WM_TIMECHANGE, WM_CANCELMODE, WM_SETCURSOR,
1343         WM_MOUSEACTIVATE, WM_CHILDACTIVATE, WM_QUEUESYNC, WM_GETMINMAXINFO,
1344         WM_UNUSED3, WM_PAINTICON, WM_ICONERASEBKGND, WM_NEXTDLGCTL, 
1345         WM_UNUSED4, WM_SPOOLERSTATUS, WM_DRAWITEM, WM_MEASUREITEM, 
1346         WM_DELETEITEM, WM_VKEYTOITEM,
1347         WM_CHARTOITEM, WM_SETFONT, WM_GETFONT };
1348
1349 #define WM_WINDOWPOSCHANGING 0x0046
1350 #define WM_WINDOWPOSCHANGED 0x0047
1351
1352 #define WM_NCCREATE         0x0081
1353 #define WM_NCDESTROY        0x0082
1354 #define WM_NCCALCSIZE       0x0083
1355 #define WM_NCHITTEST        0x0084
1356 #define WM_NCPAINT          0x0085
1357 #define WM_NCACTIVATE       0x0086
1358
1359 #define WM_GETDLGCODE       0x0087
1360
1361   /* Non-client mouse messages */
1362 #define WM_NCMOUSEMOVE      0x00a0
1363 #define WM_NCLBUTTONDOWN    0x00a1
1364 #define WM_NCLBUTTONUP      0x00a2
1365 #define WM_NCLBUTTONDBLCLK  0x00a3
1366 #define WM_NCRBUTTONDOWN    0x00a4
1367 #define WM_NCRBUTTONUP      0x00a5
1368 #define WM_NCRBUTTONDBLCLK  0x00a6
1369 #define WM_NCMBUTTONDOWN    0x00a7
1370 #define WM_NCMBUTTONUP      0x00a8
1371 #define WM_NCMBUTTONDBLCLK  0x00a9
1372
1373   /* Keyboard messages */
1374 #define WM_KEYDOWN          0x0100
1375 #define WM_KEYUP            0x0101
1376 #define WM_CHAR             0x0102
1377 #define WM_DEADCHAR         0x0103
1378 #define WM_SYSKEYDOWN       0x0104
1379 #define WM_SYSKEYUP         0x0105
1380 #define WM_SYSCHAR          0x0106
1381 #define WM_SYSDEADCHAR      0x0107
1382 #define WM_KEYFIRST         WM_KEYDOWN
1383 #define WM_KEYLAST          0x0108
1384
1385 #define WM_INITDIALOG       0x0110 
1386 #define WM_COMMAND          0x0111
1387 #define WM_SYSCOMMAND       0x0112
1388 #define WM_TIMER            0x0113
1389 #define WM_SYSTIMER         0x0118
1390
1391   /* scroll messages */
1392 #define WM_HSCROLL          0x0114
1393 #define WM_VSCROLL          0x0115
1394
1395 #define WM_ENTERIDLE        0x0121
1396
1397   /* Mouse messages */
1398 #define WM_MOUSEMOVE        0x0200
1399 #define WM_LBUTTONDOWN      0x0201
1400 #define WM_LBUTTONUP        0x0202
1401 #define WM_LBUTTONDBLCLK    0x0203
1402 #define WM_RBUTTONDOWN      0x0204
1403 #define WM_RBUTTONUP        0x0205
1404 #define WM_RBUTTONDBLCLK    0x0206
1405 #define WM_MBUTTONDOWN      0x0207
1406 #define WM_MBUTTONUP        0x0208
1407 #define WM_MBUTTONDBLCLK    0x0209
1408 #define WM_MOUSEFIRST       WM_MOUSEMOVE
1409 #define WM_MOUSELAST        WM_MBUTTONDBLCLK
1410
1411 #define WM_PARENTNOTIFY     0x0210
1412 #define WM_ENTERMENULOOP    0x0211
1413 #define WM_EXITMENULOOP     0x0212
1414
1415 #define WM_MDICREATE        0x0220
1416 #define WM_MDIDESTROY       0x0221
1417 #define WM_MDIACTIVATE      0x0222
1418 #define WM_MDIRESTORE       0x0223
1419 #define WM_MDINEXT          0x0224
1420 #define WM_MDIMAXIMIZE      0x0225
1421 #define WM_MDITILE          0x0226
1422 #define WM_MDICASCADE       0x0227
1423 #define WM_MDIICONARRANGE   0x0228
1424 #define WM_MDIGETACTIVE     0x0229
1425 #define WM_MDISETMENU       0x0230
1426
1427 #define WM_ENTERSIZEMOVE    0x0231
1428 #define WM_EXITSIZEMOVE     0x0232
1429
1430   /* misc messages */
1431 #define WM_NULL             0x0000
1432 #define WM_USER             0x0400
1433
1434
1435   /* Key status flags for mouse events */
1436 #define MK_LBUTTON          0x0001
1437 #define MK_RBUTTON          0x0002
1438 #define MK_SHIFT            0x0004
1439 #define MK_CONTROL          0x0008
1440 #define MK_MBUTTON          0x0010
1441
1442   /* Queue status flags */
1443 #define QS_KEY          0x0001
1444 #define QS_MOUSEMOVE    0x0002
1445 #define QS_MOUSEBUTTON  0x0004
1446 #define QS_MOUSE        (QS_MOUSEMOVE | QS_MOUSEBUTTON)
1447 #define QS_POSTMESSAGE  0x0008
1448 #define QS_TIMER        0x0010
1449 #define QS_PAINT        0x0020
1450 #define QS_SENDMESSAGE  0x0040
1451 #define QS_ALLINPUT     0x007f
1452
1453   /* PeekMessage() options */
1454 #define PM_NOREMOVE     0x0000
1455 #define PM_REMOVE       0x0001
1456 #define PM_NOYIELD      0x0002
1457
1458 #define WM_SHOWWINDOW       0x0018
1459
1460 /* WM_SHOWWINDOW wParam codes */
1461 #define SW_PARENTCLOSING    1
1462 #define SW_OTHERMAXIMIZED   2
1463 #define SW_PARENTOPENING    3
1464 #define SW_OTHERRESTORED    4
1465
1466   /* ShowWindow() codes */
1467 #define SW_HIDE             0
1468 #define SW_SHOWNORMAL       1
1469 #define SW_NORMAL           1
1470 #define SW_SHOWMINIMIZED    2
1471 #define SW_SHOWMAXIMIZED    3
1472 #define SW_MAXIMIZE         3
1473 #define SW_SHOWNOACTIVATE   4
1474 #define SW_SHOW             5
1475 #define SW_MINIMIZE         6
1476 #define SW_SHOWMINNOACTIVE  7
1477 #define SW_SHOWNA           8
1478 #define SW_RESTORE          9
1479
1480   /* WM_SIZE message wParam values */
1481 #define SIZE_RESTORED        0
1482 #define SIZE_MINIMIZED       1
1483 #define SIZE_MAXIMIZED       2
1484 #define SIZE_MAXSHOW         3
1485 #define SIZE_MAXHIDE         4
1486
1487 /* SetWindowPos() and WINDOWPOS flags */
1488 #define SWP_NOSIZE          0x0001
1489 #define SWP_NOMOVE          0x0002
1490 #define SWP_NOZORDER        0x0004
1491 #define SWP_NOREDRAW        0x0008
1492 #define SWP_NOACTIVATE      0x0010
1493 #define SWP_FRAMECHANGED    0x0020  /* The frame changed: send WM_NCCALCSIZE */
1494 #define SWP_SHOWWINDOW      0x0040
1495 #define SWP_HIDEWINDOW      0x0080
1496 #define SWP_NOCOPYBITS      0x0100
1497 #define SWP_NOOWNERZORDER   0x0200  /* Don't do owner Z ordering */
1498
1499 #define SWP_DRAWFRAME       SWP_FRAMECHANGED
1500 #define SWP_NOREPOSITION    SWP_NOOWNERZORDER
1501
1502 #define SWP_NOSENDCHANGING  0x0400
1503 #define SWP_DEFERERASE      0x2000
1504
1505 /* SetWindowPos() hwndInsertAfter field values */
1506 #define HWND_TOP            ((HWND)0)
1507 #define HWND_BOTTOM         ((HWND)1)
1508 #define HWND_TOPMOST        ((HWND)-1)
1509 #define HWND_NOTOPMOST      ((HWND)-2)
1510
1511 /* Flags for TrackPopupMenu */
1512 #define TPM_LEFTBUTTON  0x0000
1513 #define TPM_RIGHTBUTTON 0x0002
1514 #define TPM_LEFTALIGN   0x0000
1515 #define TPM_CENTERALIGN 0x0004
1516 #define TPM_RIGHTALIGN  0x0008
1517
1518 /* Menu messages */
1519 #define WM_INITMENU         0x0116
1520 #define WM_INITMENUPOPUP    0x0117
1521
1522 #define WM_MENUSELECT       0x011F
1523 #define WM_MENUCHAR         0x0120
1524
1525 #define MF_INSERT 0
1526 #define MF_CHANGE 0x0080
1527 #define MF_APPEND 0x0100
1528 #define MF_DELETE 0x0200
1529 #define MF_REMOVE 0x1000
1530 #define MF_BYCOMMAND 0
1531 #define MF_BYPOSITION 0x0400
1532 #define MF_SEPARATOR 0x0800
1533 #define MF_ENABLED 0
1534 #define MF_GRAYED 0x0001
1535 #define MF_DISABLED 0x0002
1536 #define MF_UNCHECKED 0
1537 #define MF_CHECKED 0x0008
1538 #define MF_USECHECKBITMAPS 0x0200
1539 #define MF_STRING 0
1540 #define MF_BITMAP 0x0004
1541 #define MF_OWNERDRAW 0x0100
1542 #define MF_POPUP 0x0010
1543 #define MF_MENUBARBREAK 0x0020
1544 #define MF_MENUBREAK 0x0040
1545 #define MF_UNHILITE 0
1546 #define MF_HILITE 0x0080
1547 #define MF_SYSMENU 0x2000
1548 #define MF_HELP 0x4000
1549 #define MF_MOUSESELECT 0x8000
1550 #define MF_END 0x0080
1551
1552 #ifndef NOWINOFFSETS
1553 #define GCW_HBRBACKGROUND (-10)
1554 #endif
1555
1556 #define MB_OK               0x0000
1557 #define MB_OKCANCEL         0x0001
1558 #define MB_ABORTRETRYIGNORE 0x0002
1559 #define MB_YESNOCANCEL      0x0003
1560 #define MB_YESNO            0x0004
1561 #define MB_RETRYCANCEL      0x0005
1562 #define MB_TYPEMASK         0x000F
1563
1564 #define MB_ICONHAND         0x0010
1565 #define MB_ICONQUESTION     0x0020
1566 #define MB_ICONEXCLAMATION  0x0030
1567 #define MB_ICONASTERISK     0x0040
1568 #define MB_ICONMASK         0x00F0
1569
1570 #define MB_ICONINFORMATION  MB_ICONASTERISK
1571 #define MB_ICONSTOP         MB_ICONHAND
1572
1573 #define MB_DEFBUTTON1       0x0000
1574 #define MB_DEFBUTTON2       0x0100
1575 #define MB_DEFBUTTON3       0x0200
1576 #define MB_DEFMASK          0x0F00
1577
1578 #define MB_APPLMODAL        0x0000
1579 #define MB_SYSTEMMODAL      0x1000
1580 #define MB_TASKMODAL        0x2000
1581
1582 #define MB_NOFOCUS          0x8000
1583
1584
1585 #define DT_TOP 0
1586 #define DT_LEFT 0
1587 #define DT_CENTER 1
1588 #define DT_RIGHT 2
1589 #define DT_VCENTER 4
1590 #define DT_BOTTOM 8
1591 #define DT_WORDBREAK 16
1592 #define DT_SINGLELINE 32
1593 #define DT_EXPANDTABS 64
1594 #define DT_TABSTOP 128
1595 #define DT_NOCLIP 256
1596 #define DT_EXTERNALLEADING 512
1597 #define DT_CALCRECT 1024
1598 #define DT_NOPREFIX 2048
1599 #define DT_INTERNAL 4096
1600
1601 /* Window Styles */
1602 #define WS_OVERLAPPED    0x00000000L
1603 #define WS_POPUP         0x80000000L
1604 #define WS_CHILD         0x40000000L
1605 #define WS_MINIMIZE      0x20000000L
1606 #define WS_VISIBLE       0x10000000L
1607 #define WS_DISABLED      0x08000000L
1608 #define WS_CLIPSIBLINGS  0x04000000L
1609 #define WS_CLIPCHILDREN  0x02000000L
1610 #define WS_MAXIMIZE      0x01000000L
1611 #define WS_CAPTION       0x00C00000L
1612 #define WS_BORDER        0x00800000L
1613 #define WS_DLGFRAME      0x00400000L
1614 #define WS_VSCROLL       0x00200000L
1615 #define WS_HSCROLL       0x00100000L
1616 #define WS_SYSMENU       0x00080000L
1617 #define WS_THICKFRAME    0x00040000L
1618 #define WS_GROUP         0x00020000L
1619 #define WS_TABSTOP       0x00010000L
1620 #define WS_MINIMIZEBOX   0x00020000L
1621 #define WS_MAXIMIZEBOX   0x00010000L
1622 #define WS_TILED         WS_OVERLAPPED
1623 #define WS_ICONIC        WS_MINIMIZE
1624 #define WS_SIZEBOX       WS_THICKFRAME
1625 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
1626 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
1627 #define WS_CHILDWINDOW (WS_CHILD)
1628 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
1629
1630 /* Window extended styles */
1631 #define WS_EX_DLGMODALFRAME    0x00000001L
1632 #define WS_EX_NOPARENTNOTIFY   0x00000004L
1633 #define WS_EX_TOPMOST          0x00000008L
1634 #define WS_EX_ACCEPTFILES      0x00000010L
1635 #define WS_EX_TRANSPARENT      0x00000020L
1636
1637 /* Window scrolling */
1638 #define SW_SCROLLCHILDREN      0x0001
1639 #define SW_INVALIDATE          0x0002
1640 #define SW_ERASE               0x0003
1641
1642 /* Button control styles */
1643 #define BS_PUSHBUTTON          0x00000000L
1644 #define BS_DEFPUSHBUTTON       0x00000001L
1645 #define BS_CHECKBOX            0x00000002L
1646 #define BS_AUTOCHECKBOX        0x00000003L
1647 #define BS_RADIOBUTTON         0x00000004L
1648 #define BS_3STATE              0x00000005L
1649 #define BS_AUTO3STATE          0x00000006L
1650 #define BS_GROUPBOX            0x00000007L
1651 #define BS_USERBUTTON          0x00000008L
1652 #define BS_AUTORADIOBUTTON     0x00000009L
1653 #define BS_OWNERDRAW           0x0000000BL
1654 #define BS_LEFTTEXT            0x00000020L
1655
1656 /* Button control messages */
1657 #define BM_GETCHECK            (WM_USER+0)
1658 #define BM_SETCHECK            (WM_USER+1)
1659 #define BM_GETSTATE            (WM_USER+2)
1660 #define BM_SETSTATE            (WM_USER+3)
1661 #define BM_SETSTYLE            (WM_USER+4)
1662
1663 /* Button notification codes */
1664 #define BN_CLICKED             0
1665 #define BN_PAINT               1
1666 #define BN_HILITE              2
1667 #define BN_UNHILITE            3
1668 #define BN_DISABLE             4
1669 #define BN_DOUBLECLICKED       5
1670
1671 /* Static Control Styles */
1672 #define SS_LEFT             0x00000000L
1673 #define SS_CENTER           0x00000001L
1674 #define SS_RIGHT            0x00000002L
1675 #define SS_ICON             0x00000003L
1676 #define SS_BLACKRECT        0x00000004L
1677 #define SS_GRAYRECT         0x00000005L
1678 #define SS_WHITERECT        0x00000006L
1679 #define SS_BLACKFRAME       0x00000007L
1680 #define SS_GRAYFRAME        0x00000008L
1681 #define SS_WHITEFRAME       0x00000009L
1682 #define SS_SIMPLE           0x0000000BL
1683 #define SS_LEFTNOWORDWRAP   0x0000000CL
1684 #define SS_NOPREFIX         0x00000080L
1685
1686 /* Static Control Mesages */
1687 #define STM_SETICON         (WM_USER+0)
1688 #define STM_GETICON         (WM_USER+1)
1689
1690 /* WM_H/VSCROLL commands */
1691 #define SB_LINEUP           0
1692 #define SB_LINELEFT         0
1693 #define SB_LINEDOWN         1
1694 #define SB_LINERIGHT        1
1695 #define SB_PAGEUP           2
1696 #define SB_PAGELEFT         2
1697 #define SB_PAGEDOWN         3
1698 #define SB_PAGERIGHT        3
1699 #define SB_THUMBPOSITION    4
1700 #define SB_THUMBTRACK       5
1701 #define SB_TOP              6
1702 #define SB_LEFT             6
1703 #define SB_BOTTOM           7
1704 #define SB_RIGHT            7
1705 #define SB_ENDSCROLL        8
1706
1707 /* Scroll bar selection constants */
1708 #define SB_HORZ             0
1709 #define SB_VERT             1
1710 #define SB_CTL              2
1711 #define SB_BOTH             3
1712
1713 /* Scrollbar styles */
1714 #define SBS_HORZ                    0x0000L
1715 #define SBS_VERT                    0x0001L
1716 #define SBS_TOPALIGN                0x0002L
1717 #define SBS_LEFTALIGN               0x0002L
1718 #define SBS_BOTTOMALIGN             0x0004L
1719 #define SBS_RIGHTALIGN              0x0004L
1720 #define SBS_SIZEBOXTOPLEFTALIGN     0x0002L
1721 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
1722 #define SBS_SIZEBOX                 0x0008L
1723
1724 /* EnableScrollBar() flags */
1725 #define ESB_ENABLE_BOTH     0x0000
1726 #define ESB_DISABLE_BOTH    0x0003
1727
1728 #define ESB_DISABLE_LEFT    0x0001
1729 #define ESB_DISABLE_RIGHT   0x0002
1730
1731 #define ESB_DISABLE_UP      0x0001
1732 #define ESB_DISABLE_DOWN    0x0002
1733
1734 #define ESB_DISABLE_LTUP    ESB_DISABLE_LEFT
1735 #define ESB_DISABLE_RTDN    ESB_DISABLE_RIGHT
1736
1737 /* Listbox styles */
1738 #define LBS_NOTIFY            0x0001L
1739 #define LBS_SORT              0x0002L
1740 #define LBS_NOREDRAW          0x0004L
1741 #define LBS_MULTIPLESEL       0x0008L
1742 #define LBS_OWNERDRAWFIXED    0x0010L
1743 #define LBS_OWNERDRAWVARIABLE 0x0020L
1744 #define LBS_HASSTRINGS        0x0040L
1745 #define LBS_USETABSTOPS       0x0080L
1746 #define LBS_NOINTEGRALHEIGHT  0x0100L
1747 #define LBS_MULTICOLUMN       0x0200L
1748 #define LBS_WANTKEYBOARDINPUT 0x0400L
1749 #define LBS_EXTENDEDSEL       0x0800L
1750 #define LBS_DISABLENOSCROLL   0x1000L
1751 #define LBS_STANDARD          (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
1752
1753 /* Listbox messages */
1754 #define LB_ADDSTRING           (WM_USER+1)
1755 #define LB_INSERTSTRING        (WM_USER+2)
1756 #define LB_DELETESTRING        (WM_USER+3)
1757 #define LB_RESETCONTENT        (WM_USER+5)
1758 #define LB_SETSEL              (WM_USER+6)
1759 #define LB_SETCURSEL           (WM_USER+7)
1760 #define LB_GETSEL              (WM_USER+8)
1761 #define LB_GETCURSEL           (WM_USER+9)
1762 #define LB_GETTEXT             (WM_USER+10)
1763 #define LB_GETTEXTLEN          (WM_USER+11)
1764 #define LB_GETCOUNT            (WM_USER+12)
1765 #define LB_SELECTSTRING        (WM_USER+13)
1766 #define LB_DIR                 (WM_USER+14)
1767 #define LB_GETTOPINDEX         (WM_USER+15)
1768 #define LB_FINDSTRING          (WM_USER+16)
1769 #define LB_GETSELCOUNT         (WM_USER+17)
1770 #define LB_GETSELITEMS         (WM_USER+18)
1771 #define LB_SETTABSTOPS         (WM_USER+19)
1772 #define LB_GETHORIZONTALEXTENT (WM_USER+20)
1773 #define LB_SETHORIZONTALEXTENT (WM_USER+21)
1774 #define LB_SETCOLUMNWIDTH      (WM_USER+22)
1775 #define LB_SETTOPINDEX         (WM_USER+24)
1776 #define LB_GETITEMRECT         (WM_USER+25)
1777 #define LB_GETITEMDATA         (WM_USER+26)
1778 #define LB_SETITEMDATA         (WM_USER+27)
1779 #define LB_SELITEMRANGE        (WM_USER+28)
1780 #define LB_SETCARETINDEX       (WM_USER+31)
1781 #define LB_GETCARETINDEX       (WM_USER+32)
1782 #define LB_SETITEMHEIGHT       (WM_USER+33)
1783 #define LB_GETITEMHEIGHT       (WM_USER+34)
1784 #define LB_FINDSTRINGEXACT     (WM_USER+35)
1785
1786 /* Listbox notification codes */
1787 #define LBN_ERRSPACE        (-2)
1788 #define LBN_SELCHANGE       1
1789 #define LBN_DBLCLK          2
1790 #define LBN_SELCANCEL       3
1791 #define LBN_SETFOCUS        4
1792 #define LBN_KILLFOCUS       5
1793
1794 /* Listbox notification messages */
1795 #define WM_VKEYTOITEM       0x002E
1796 #define WM_CHARTOITEM       0x002F
1797
1798 /* Listbox message return values */
1799 #define LB_OKAY             0
1800 #define LB_ERR              (-1)
1801 #define LB_ERRSPACE         (-2)
1802
1803 #define LB_CTLCODE          0L
1804
1805 /* Combo box styles */
1806 #define CBS_SIMPLE            0x0001L
1807 #define CBS_DROPDOWN          0x0002L
1808 #define CBS_DROPDOWNLIST      0x0003L
1809 #define CBS_OWNERDRAWFIXED    0x0010L
1810 #define CBS_OWNERDRAWVARIABLE 0x0020L
1811 #define CBS_AUTOHSCROLL       0x0040L
1812 #define CBS_OEMCONVERT        0x0080L
1813 #define CBS_SORT              0x0100L
1814 #define CBS_HASSTRINGS        0x0200L
1815 #define CBS_NOINTEGRALHEIGHT  0x0400L
1816 #define CBS_DISABLENOSCROLL   0x0800L
1817
1818 /* Combo box messages */
1819 #define CB_GETEDITSEL            (WM_USER+0)
1820 #define CB_LIMITTEXT             (WM_USER+1)
1821 #define CB_SETEDITSEL            (WM_USER+2)
1822 #define CB_ADDSTRING             (WM_USER+3)
1823 #define CB_DELETESTRING          (WM_USER+4)
1824 #define CB_DIR                   (WM_USER+5)
1825 #define CB_GETCOUNT              (WM_USER+6)
1826 #define CB_GETCURSEL             (WM_USER+7)
1827 #define CB_GETLBTEXT             (WM_USER+8)
1828 #define CB_GETLBTEXTLEN          (WM_USER+9)
1829 #define CB_INSERTSTRING          (WM_USER+10)
1830 #define CB_RESETCONTENT          (WM_USER+11)
1831 #define CB_FINDSTRING            (WM_USER+12)
1832 #define CB_SELECTSTRING          (WM_USER+13)
1833 #define CB_SETCURSEL             (WM_USER+14)
1834 #define CB_SHOWDROPDOWN          (WM_USER+15)
1835 #define CB_GETITEMDATA           (WM_USER+16)
1836 #define CB_SETITEMDATA           (WM_USER+17)
1837 #define CB_GETDROPPEDCONTROLRECT (WM_USER+18)
1838 #define CB_SETITEMHEIGHT         (WM_USER+19)
1839 #define CB_GETITEMHEIGHT         (WM_USER+20)
1840 #define CB_SETEXTENDEDUI         (WM_USER+21)
1841 #define CB_GETEXTENDEDUI         (WM_USER+22)
1842 #define CB_GETDROPPEDSTATE       (WM_USER+23)
1843 #define CB_FINDSTRINGEXACT       (WM_USER+24)
1844
1845 /* Combo box notification codes */
1846 #define CBN_ERRSPACE        (-1)
1847 #define CBN_SELCHANGE       1
1848 #define CBN_DBLCLK          2
1849 #define CBN_SETFOCUS        3
1850 #define CBN_KILLFOCUS       4
1851 #define CBN_EDITCHANGE      5
1852 #define CBN_EDITUPDATE      6
1853 #define CBN_DROPDOWN        7
1854 #define CBN_CLOSEUP         8
1855 #define CBN_SELENDOK        9
1856 #define CBN_SELENDCANCEL    10
1857
1858 /* Combo box message return values */
1859 #define CB_OKAY             0
1860 #define CB_ERR              (-1)
1861 #define CB_ERRSPACE         (-2)
1862
1863
1864 /* Owner draw control types */
1865 #define ODT_MENU        1
1866 #define ODT_LISTBOX     2
1867 #define ODT_COMBOBOX    3
1868 #define ODT_BUTTON      4
1869
1870 /* Owner draw actions */
1871 #define ODA_DRAWENTIRE  0x0001
1872 #define ODA_SELECT      0x0002
1873 #define ODA_FOCUS       0x0004
1874
1875 /* Owner draw state */
1876 #define ODS_SELECTED    0x0001
1877 #define ODS_GRAYED      0x0002
1878 #define ODS_DISABLED    0x0004
1879 #define ODS_CHECKED     0x0008
1880 #define ODS_FOCUS       0x0010
1881
1882 /* Edit control styles */
1883 #define ES_LEFT         0x00000000L
1884 #define ES_CENTER       0x00000001L
1885 #define ES_RIGHT        0x00000002L
1886 #define ES_MULTILINE    0x00000004L
1887 #define ES_UPPERCASE    0x00000008L
1888 #define ES_LOWERCASE    0x00000010L
1889 #define ES_PASSWORD     0x00000020L
1890 #define ES_AUTOVSCROLL  0x00000040L
1891 #define ES_AUTOHSCROLL  0x00000080L
1892 #define ES_NOHISESEL    0x00000100L
1893 #define ES_OEMCONVERT   0x00000400L
1894 #define ES_READONLY     0x00000800L
1895 #define ES_WANTRETURN   0x00001000L
1896
1897 /* Edit control messages */
1898 #define EM_GETSEL              (WM_USER+0)
1899 #define EM_SETSEL              (WM_USER+1)
1900 #define EM_GETRECT             (WM_USER+2)
1901 #define EM_SETRECT             (WM_USER+3)
1902 #define EM_SETRECTNP           (WM_USER+4)
1903 #define EM_LINESCROLL          (WM_USER+6)
1904 #define EM_GETMODIFY           (WM_USER+8)
1905 #define EM_SETMODIFY           (WM_USER+9)
1906 #define EM_GETLINECOUNT        (WM_USER+10)
1907 #define EM_LINEINDEX           (WM_USER+11)
1908 #define EM_SETHANDLE           (WM_USER+12)
1909 #define EM_GETHANDLE           (WM_USER+13)
1910 #define EM_LINELENGTH          (WM_USER+17)
1911 #define EM_REPLACESEL          (WM_USER+18)
1912 #define EM_GETLINE             (WM_USER+20)
1913 #define EM_LIMITTEXT           (WM_USER+21)
1914 #define EM_CANUNDO             (WM_USER+22)
1915 #define EM_UNDO                (WM_USER+23)
1916 #define EM_FMTLINES            (WM_USER+24)
1917 #define EM_LINEFROMCHAR        (WM_USER+25)
1918 #define EM_SETTABSTOPS         (WM_USER+27)
1919 #define EM_SETPASSWORDCHAR     (WM_USER+28)
1920 #define EM_EMPTYUNDOBUFFER     (WM_USER+29)
1921 #define EM_GETFIRSTVISIBLELINE (WM_USER+30)
1922 #define EM_SETREADONLY         (WM_USER+31)
1923 #define EM_SETWORDBREAKPROC    (WM_USER+32)
1924 #define EM_GETWORDBREAKPROC    (WM_USER+33)
1925 #define EM_GETPASSWORDCHAR     (WM_USER+34)
1926
1927 typedef int (CALLBACK *EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent,
1928                                           int cch, int code);
1929
1930 /* EDITWORDBREAKPROC code values */
1931 #define WB_LEFT         0
1932 #define WB_RIGHT        1
1933 #define WB_ISDELIMITER  2
1934
1935 /* Edit control notification codes */
1936 #define EN_SETFOCUS     0x0100
1937 #define EN_KILLFOCUS    0x0200
1938 #define EN_CHANGE       0x0300
1939 #define EN_UPDATE       0x0400
1940 #define EN_ERRSPACE     0x0500
1941 #define EN_MAXTEXT      0x0501
1942 #define EN_HSCROLL      0x0601
1943 #define EN_VSCROLL      0x0602
1944
1945
1946 #define WM_DRAWITEM         0x002B
1947
1948 typedef struct tagDRAWITEMSTRUCT
1949 {
1950     UINT        CtlType;
1951     UINT        CtlID;
1952     UINT        itemID;
1953     UINT        itemAction;
1954     UINT        itemState;
1955     HWND        hwndItem;
1956     HDC         hDC;
1957     RECT        rcItem WINE_PACKED;
1958     DWORD       itemData WINE_PACKED;
1959 } DRAWITEMSTRUCT;
1960 typedef DRAWITEMSTRUCT NEAR* PDRAWITEMSTRUCT;
1961 typedef DRAWITEMSTRUCT FAR* LPDRAWITEMSTRUCT;
1962
1963 #define WM_MEASUREITEM      0x002C
1964
1965 typedef struct tagMEASUREITEMSTRUCT
1966 {
1967     UINT        CtlType;
1968     UINT        CtlID;
1969     UINT        itemID;
1970     UINT        itemWidth;
1971     UINT        itemHeight;
1972     DWORD       itemData WINE_PACKED;
1973 } MEASUREITEMSTRUCT;
1974 typedef MEASUREITEMSTRUCT NEAR* PMEASUREITEMSTRUCT;
1975 typedef MEASUREITEMSTRUCT FAR* LPMEASUREITEMSTRUCT;
1976
1977 #define WM_DELETEITEM       0x002D
1978
1979 typedef struct tagDELETEITEMSTRUCT
1980 {
1981     UINT       CtlType;
1982     UINT       CtlID;
1983     UINT       itemID;
1984     HWND       hwndItem;
1985     DWORD      itemData;
1986 } DELETEITEMSTRUCT;
1987 typedef DELETEITEMSTRUCT NEAR* PDELETEITEMSTRUCT;
1988 typedef DELETEITEMSTRUCT FAR* LPDELETEITEMSTRUCT;
1989
1990 #define WM_COMPAREITEM      0x0039
1991
1992 typedef struct tagCOMPAREITEMSTRUCT
1993 {
1994     UINT        CtlType;
1995     UINT        CtlID;
1996     HWND        hwndItem;
1997     UINT        itemID1;
1998     DWORD       itemData1;
1999     UINT        itemID2;
2000     DWORD       itemData2 WINE_PACKED;
2001 } COMPAREITEMSTRUCT;
2002 typedef COMPAREITEMSTRUCT NEAR* PCOMPAREITEMSTRUCT;
2003 typedef COMPAREITEMSTRUCT FAR* LPCOMPAREITEMSTRUCT;
2004
2005 /* Virtual key codes */
2006 #define VK_LBUTTON          0x01
2007 #define VK_RBUTTON          0x02
2008 #define VK_CANCEL           0x03
2009 #define VK_MBUTTON          0x04
2010 #define VK_BACK             0x08
2011 #define VK_TAB              0x09
2012 #define VK_CLEAR            0x0C
2013 #define VK_RETURN           0x0D
2014 #define VK_SHIFT            0x10
2015 #define VK_CONTROL          0x11
2016 #define VK_MENU             0x12
2017 #define VK_PAUSE            0x13
2018 #define VK_CAPITAL          0x14
2019 #define VK_ESCAPE           0x1B
2020 #define VK_SPACE            0x20
2021 #define VK_PRIOR            0x21
2022 #define VK_NEXT             0x22
2023 #define VK_END              0x23
2024 #define VK_HOME             0x24
2025 #define VK_LEFT             0x25
2026 #define VK_UP               0x26
2027 #define VK_RIGHT            0x27
2028 #define VK_DOWN             0x28
2029 #define VK_SELECT           0x29
2030 #define VK_PRINT            0x2A
2031 #define VK_EXECUTE          0x2B
2032 #define VK_SNAPSHOT         0x2C
2033 #define VK_INSERT           0x2D
2034 #define VK_DELETE           0x2E
2035 #define VK_HELP             0x2F
2036 #define VK_NUMPAD0          0x60
2037 #define VK_NUMPAD1          0x61
2038 #define VK_NUMPAD2          0x62
2039 #define VK_NUMPAD3          0x63
2040 #define VK_NUMPAD4          0x64
2041 #define VK_NUMPAD5          0x65
2042 #define VK_NUMPAD6          0x66
2043 #define VK_NUMPAD7          0x67
2044 #define VK_NUMPAD8          0x68
2045 #define VK_NUMPAD9          0x69
2046 #define VK_MULTIPLY         0x6A
2047 #define VK_ADD              0x6B
2048 #define VK_SEPARATOR        0x6C
2049 #define VK_SUBTRACT         0x6D
2050 #define VK_DECIMAL          0x6E
2051 #define VK_DIVIDE           0x6F
2052 #define VK_F1               0x70
2053 #define VK_F2               0x71
2054 #define VK_F3               0x72
2055 #define VK_F4               0x73
2056 #define VK_F5               0x74
2057 #define VK_F6               0x75
2058 #define VK_F7               0x76
2059 #define VK_F8               0x77
2060 #define VK_F9               0x78
2061 #define VK_F10              0x79
2062 #define VK_F11              0x7A
2063 #define VK_F12              0x7B
2064 #define VK_F13              0x7C
2065 #define VK_F14              0x7D
2066 #define VK_F15              0x7E
2067 #define VK_F16              0x7F
2068 #define VK_F17              0x80
2069 #define VK_F18              0x81
2070 #define VK_F19              0x82
2071 #define VK_F20              0x83
2072 #define VK_F21              0x84
2073 #define VK_F22              0x85
2074 #define VK_F23              0x86
2075 #define VK_F24              0x87
2076 #define VK_NUMLOCK          0x90
2077 #define VK_SCROLL           0x91
2078
2079   
2080 #define LMEM_FIXED          0   
2081 #define LMEM_MOVEABLE       0x0002
2082 #define LMEM_ZEROINIT       0x0040
2083 #define LMEM_DISCARDABLE    0x0F00
2084 #define LMEM_WINE_ALIGN     0x1000
2085
2086 #define GMEM_FIXED          0x0000
2087 #define GMEM_MOVEABLE       0x0002
2088 #define GMEM_NOCOMPACT      0x0010
2089 #define GMEM_NODISCARD      0x0020
2090 #define GMEM_ZEROINIT       0x0040
2091 #define GMEM_MODIFY         0x0080
2092 #define GMEM_DISCARDABLE    0x0100
2093 #define GMEM_NOT_BANKED     0x1000
2094 #define GMEM_SHARE          0x2000
2095 #define GMEM_DDESHARE       0x2000
2096 #define GMEM_NOTIFY         0x4000
2097 #define GMEM_LOWER          GMEM_NOT_BANKED
2098
2099 #define GHND                (GMEM_MOVEABLE | GMEM_ZEROINIT)
2100 #define GPTR                (GMEM_FIXED | GMEM_ZEROINIT)
2101
2102
2103 /* Predefined Clipboard Formats */
2104 #define CF_TEXT              1
2105 #define CF_BITMAP            2
2106 #define CF_METAFILEPICT      3
2107 #define CF_SYLK              4
2108 #define CF_DIF               5
2109 #define CF_TIFF              6
2110 #define CF_OEMTEXT           7
2111 #define CF_DIB               8
2112 #define CF_PALETTE           9
2113 #define CF_PENDATA          10
2114 #define CF_RIFF             11
2115 #define CF_WAVE             12
2116
2117 #define CF_OWNERDISPLAY     0x0080
2118 #define CF_DSPTEXT          0x0081
2119 #define CF_DSPBITMAP        0x0082
2120 #define CF_DSPMETAFILEPICT  0x0083
2121
2122 /* "Private" formats don't get GlobalFree()'d */
2123 #define CF_PRIVATEFIRST     0x0200
2124 #define CF_PRIVATELAST      0x02FF
2125
2126 /* "GDIOBJ" formats do get DeleteObject()'d */
2127 #define CF_GDIOBJFIRST      0x0300
2128 #define CF_GDIOBJLAST       0x03FF
2129
2130 /* Clipboard command messages */
2131 #define WM_CUT              0x0300
2132 #define WM_COPY             0x0301
2133 #define WM_PASTE            0x0302
2134 #define WM_CLEAR            0x0303
2135 #define WM_UNDO             0x0304
2136
2137 /* Clipboard owner messages */
2138 #define WM_RENDERFORMAT     0x0305
2139 #define WM_RENDERALLFORMATS 0x0306
2140 #define WM_DESTROYCLIPBOARD 0x0307
2141
2142 /* Clipboard viewer messages */
2143 #define WM_DRAWCLIPBOARD    0x0308
2144 #define WM_PAINTCLIPBOARD   0x0309
2145 #define WM_SIZECLIPBOARD    0x030B
2146 #define WM_VSCROLLCLIPBOARD 0x030A
2147 #define WM_HSCROLLCLIPBOARD 0x030E
2148 #define WM_ASKCBFORMATNAME  0x030C
2149 #define WM_CHANGECBCHAIN    0x030D
2150
2151 /* Metafile header structure */
2152 typedef struct tagMETAHEADER
2153 {
2154     WORD       mtType;
2155     WORD       mtHeaderSize;
2156     WORD       mtVersion;
2157     DWORD      mtSize WINE_PACKED;
2158     WORD       mtNoObjects;
2159     DWORD      mtMaxRecord WINE_PACKED;
2160     WORD       mtNoParameters;
2161 } METAHEADER;
2162
2163 /* Metafile typical record structure */
2164 typedef struct tagMETARECORD
2165 {
2166     DWORD      rdSize;
2167     WORD       rdFunction;
2168     WORD       rdParam[1];
2169 } METARECORD;
2170 typedef METARECORD *PMETARECORD;
2171 typedef METARECORD *LPMETARECORD;
2172
2173 /* Handle table structure */
2174 typedef struct tagHANDLETABLE
2175 {
2176     HANDLE     objectHandle[1];
2177 } HANDLETABLE;
2178 typedef HANDLETABLE *PHANDLETABLE;
2179 typedef HANDLETABLE *LPHANDLETABLE;
2180
2181 /* Clipboard metafile picture structure */
2182 typedef struct tagMETAFILEPICT
2183 {
2184     INT        mm;
2185     INT        xExt;
2186     INT        yExt;
2187     HMETAFILE  hMF;
2188 } METAFILEPICT;
2189 typedef METAFILEPICT *LPMETAFILEPICT;
2190
2191 /* Metafile functions */
2192 #define META_SETBKCOLOR              0x0201
2193 #define META_SETBKMODE               0x0102
2194 #define META_SETMAPMODE              0x0103
2195 #define META_SETROP2                 0x0104
2196 #define META_SETRELABS               0x0105
2197 #define META_SETPOLYFILLMODE         0x0106
2198 #define META_SETSTRETCHBLTMODE       0x0107
2199 #define META_SETTEXTCHAREXTRA        0x0108
2200 #define META_SETTEXTCOLOR            0x0209
2201 #define META_SETTEXTJUSTIFICATION    0x020A
2202 #define META_SETWINDOWORG            0x020B
2203 #define META_SETWINDOWEXT            0x020C
2204 #define META_SETVIEWPORTORG          0x020D
2205 #define META_SETVIEWPORTEXT          0x020E
2206 #define META_OFFSETWINDOWORG         0x020F
2207 #define META_SCALEWINDOWEXT          0x0410
2208 #define META_OFFSETVIEWPORTORG       0x0211
2209 #define META_SCALEVIEWPORTEXT        0x0412
2210 #define META_LINETO                  0x0213
2211 #define META_MOVETO                  0x0214
2212 #define META_EXCLUDECLIPRECT         0x0415
2213 #define META_INTERSECTCLIPRECT       0x0416
2214 #define META_ARC                     0x0817
2215 #define META_ELLIPSE                 0x0418
2216 #define META_FLOODFILL               0x0419
2217 #define META_PIE                     0x081A
2218 #define META_RECTANGLE               0x041B
2219 #define META_ROUNDRECT               0x061C
2220 #define META_PATBLT                  0x061D
2221 #define META_SAVEDC                  0x001E
2222 #define META_SETPIXEL                0x041F
2223 #define META_OFFSETCLIPRGN           0x0220
2224 #define META_TEXTOUT                 0x0521
2225 #define META_BITBLT                  0x0922
2226 #define META_STRETCHBLT              0x0B23
2227 #define META_POLYGON                 0x0324
2228 #define META_POLYLINE                0x0325
2229 #define META_ESCAPE                  0x0626
2230 #define META_RESTOREDC               0x0127
2231 #define META_FILLREGION              0x0228
2232 #define META_FRAMEREGION             0x0429
2233 #define META_INVERTREGION            0x012A
2234 #define META_PAINTREGION             0x012B
2235 #define META_SELECTCLIPREGION        0x012C
2236 #define META_SELECTOBJECT            0x012D
2237 #define META_SETTEXTALIGN            0x012E
2238 #define META_DRAWTEXT                0x062F
2239 #define META_CHORD                   0x0830
2240 #define META_SETMAPPERFLAGS          0x0231
2241 #define META_SETTEXTOUT              0x0A32
2242 #define META_SETDIBTODEV             0x0D33
2243 #define META_SELECTPALETTE           0x0234
2244 #define META_REALIZEPALETTE          0x0035
2245 #define META_ANIMATEPALETTE          0x0436
2246 #define META_SETPALENTRIES           0x0037
2247 #define META_POLYPOLYGON             0x0538
2248 #define META_RESIZEPALETTE           0x0139
2249 #define META_DIBBITBLT               0x0940
2250 #define META_DIBSTRETCHBLT           0x0B41
2251 #define META_DIBCREATEPATTERNBRUSH   0x0142
2252 #define META_STRETCHDIB              0x0F43
2253 #define META_EXTFLOODFILL            0x0548
2254 #define META_RESETDC                 0x014C
2255 #define META_STARTDOC                0x014D
2256 #define META_STARTPAGE               0x004F
2257 #define META_ENDPAGE                 0x0050
2258 #define META_ABORTDOC                0x0052
2259 #define META_ENDDOC                  0x005E
2260 #define META_DELETEOBJECT            0x01F0
2261 #define META_CREATEPALETTE           0x00F7
2262 #define META_CREATEBRUSH             0x00F8
2263 #define META_CREATEPATTERNBRUSH      0x01F9
2264 #define META_CREATEPENINDIRECT       0x02FA
2265 #define META_CREATEFONTINDIRECT      0x02FB
2266 #define META_CREATEBRUSHINDIRECT     0x02FC
2267 #define META_CREATEBITMAPINDIRECT    0x02FD
2268 #define META_CREATEBITMAP            0x06FE
2269 #define META_CREATEREGION            0x06FF
2270
2271 #ifndef WINELIB
2272 #pragma pack(4)
2273 #endif
2274
2275
2276 #define F(ret,name) ret name(void);
2277 #define Fa(ret,name,t1,a1) ret name(t1 a1);
2278 #define Fb(ret,name,t1,a1,t2,a2) ret name(t1 a1,t2 a2);
2279 #define Fc(ret,name,t1,a1,t2,a2,t3,a3) ret name(t1 a1,t2 a2,t3 a3);
2280 #define Fd(ret,name,t1,a1,t2,a2,t3,a3,t4,a4) ret name(t1 a1,t2 a2,t3 a3,t4 a4);
2281 #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);
2282 #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);
2283 #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);
2284 #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);
2285 #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);
2286 #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);
2287 #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);
2288 #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);
2289 #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);
2290 #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);
2291
2292 int wsprintf(LPSTR a,LPSTR b,...);
2293
2294 /* Implemented functions */
2295
2296 F(BOOL,AnyPopup)
2297 F(BOOL,CloseClipboard)
2298 F(BOOL,EmptyClipboard)
2299 F(BOOL,GetInputState)
2300 F(BOOL,InSendMessage)
2301 F(BOOL,SetDeskPattern)
2302 F(DWORD,GetCurrentTime)
2303 F(DWORD,GetDialogBaseUnits)
2304 F(DWORD,GetMenuCheckMarkDimensions)
2305 F(DWORD,GetMessagePos)
2306 F(DWORD,GetTickCount)
2307 F(HANDLE,GetCurrentTask)
2308 F(HMENU,CreateMenu)
2309 F(HMENU,CreatePopupMenu)
2310 F(HWND,GetActiveWindow)
2311 F(HWND,GetCapture)
2312 F(HWND,GetClipboardOwner)
2313 F(HWND,GetClipboardViewer)
2314 F(HWND,GetDesktopHwnd)
2315 F(HWND,GetDesktopWindow)
2316 F(HWND,GetFocus)
2317 F(HWND,GetOpenClipboardWindow)
2318 F(HWND,GetSysModalWindow)
2319 F(LONG,GetMessageExtraInfo)
2320 F(LONG,GetMessageTime)
2321 F(LONG,GetVersion)
2322 F(LONG,GetWinFlags)
2323 F(LPINT,GetThresholdEvent)
2324 F(LPSTR,ValidateFreeSpaces)
2325 F(SEGPTR,GetDOSEnvironment)
2326 F(WORD,GetCaretBlinkTime)
2327 F(WORD,GetCurrentPDB)
2328 F(WORD,GetDoubleClickTime)
2329 F(WORD,GetNumTasks)
2330 F(int,CountClipboardFormats)
2331 F(int,GetKBCodePage)
2332 F(int,GetThresholdStatus)
2333 F(int,OpenSound)
2334 F(int,ProfInsChk)
2335 F(int,StartSound)
2336 F(int,StopSound)
2337 F(int,SyncAllVoices)
2338 F(void,CloseSound)
2339 F(void,DebugBreak)
2340 F(void,DestroyCaret)
2341 F(void,ProfClear)
2342 F(void,ProfFinish)
2343 F(void,ProfFlush)
2344 F(void,ProfStart)
2345 F(void,ProfStop)
2346 F(void,ReleaseCapture)
2347 F(void,SwitchStackBack)
2348 F(void,ValidateCodeSegments)
2349 F(void,WaitMessage)
2350 F(void,Yield)
2351 Fa(ATOM,AddAtom,LPCSTR,a)
2352 Fa(ATOM,DeleteAtom,ATOM,a)
2353 Fa(ATOM,FindAtom,LPCSTR,a)
2354 Fa(ATOM,GlobalAddAtom,LPCSTR,a)
2355 Fa(ATOM,GlobalDeleteAtom,ATOM,a)
2356 Fa(ATOM,GlobalFindAtom,LPCSTR,a)
2357 Fa(ATOM,RegisterClass,LPWNDCLASS,a) 
2358 Fa(BOOL,BringWindowToTop,HWND,a)
2359 Fa(BOOL,DeleteDC,HDC,a)
2360 Fa(BOOL,DeleteMetaFile,HMETAFILE,a)
2361 Fa(BOOL,DeleteObject,HANDLE,a)
2362 Fa(BOOL,DestroyCursor,HCURSOR,a)
2363 Fa(BOOL,DestroyIcon,HICON,a)
2364 Fa(BOOL,DestroyMenu,HMENU,a)
2365 Fa(BOOL,DestroyWindow,HWND,a)
2366 Fa(BOOL,EnableHardwareInput,BOOL,a)
2367 Fa(BOOL,EndDeferWindowPos,HDWP,hWinPosInfo)
2368 Fa(BOOL,FreeModule,HANDLE,a)
2369 Fa(BOOL,FreeResource,HANDLE,a)
2370 Fa(BOOL,GlobalUnWire,HGLOBAL,a)
2371 Fa(BOOL,GlobalUnlock,HGLOBAL,a)
2372 Fa(BOOL,IsBadCodePtr,SEGPTR,a)
2373 Fa(BOOL,IsCharAlpha,char,ch)
2374 Fa(BOOL,IsCharAlphaNumeric,char,ch)
2375 Fa(BOOL,IsCharLower,char,ch)
2376 Fa(BOOL,IsCharUpper,char,ch)
2377 Fa(BOOL,IsClipboardFormatAvailable,WORD,a)
2378 Fa(BOOL,IsIconic,HWND,a)
2379 Fa(BOOL,IsRectEmpty,LPRECT,a)
2380 Fa(BOOL,IsTwoByteCharPrefix,char,a)
2381 Fa(BOOL,IsWindow,HWND,a)
2382 Fa(BOOL,IsWindowEnabled,HWND,a)
2383 Fa(BOOL,IsWindowVisible,HWND,a)
2384 Fa(BOOL,IsZoomed,HWND,a)
2385 Fa(BOOL,LocalUnlock,HANDLE,a)
2386 Fa(BOOL,OpenClipboard,HWND,a)
2387 Fa(BOOL,OpenIcon,HWND,a)
2388 Fa(BOOL,RemoveFontResource,LPSTR,a)
2389 Fa(BOOL,SetDeskWallPaper,LPSTR,a)
2390 Fa(BOOL,SetErrorMode,WORD,a)
2391 Fa(BOOL,SetMessageQueue,int,a)
2392 Fa(BOOL,SwapMouseButton,BOOL,a)
2393 Fa(BOOL,TranslateMessage,LPMSG,a)
2394 Fa(BOOL,UnhookWindowsHookEx,HHOOK,a)
2395 Fa(BOOL,UnrealizeObject,HBRUSH,a)
2396 Fa(BYTE,GetTempDrive,BYTE,a)
2397 Fa(COLORREF,GetBkColor,HDC,a)
2398 Fa(COLORREF,GetSysColor,short,a)
2399 Fa(COLORREF,GetTextColor,HDC,a)
2400 Fa(DWORD,GetAspectRatioFilter,HDC,a)
2401 Fa(DWORD,GetBitmapDimension,HBITMAP,a)
2402 Fa(DWORD,GetBrushOrg,HDC,a)
2403 Fa(DWORD,GetCurrentPosition,HDC,a)
2404 Fa(DWORD,GetDCOrg,HDC,a)
2405 Fa(DWORD,GetFreeSpace,WORD,a)
2406 Fa(DWORD,GetHeapSpaces,HMODULE,a)
2407 Fa(DWORD,GetViewportExt,HDC,a)
2408 Fa(DWORD,GetViewportOrg,HDC,a)
2409 Fa(DWORD,GetWindowExt,HDC,a)
2410 Fa(DWORD,GetWindowOrg,HDC,a)
2411 Fa(DWORD,GlobalCompact,DWORD,a)
2412 Fa(DWORD,GlobalDOSAlloc,DWORD,a)
2413 Fa(DWORD,GlobalHandle,WORD,a)
2414 Fa(DWORD,GlobalSize,HGLOBAL,a)
2415 Fa(DWORD,OemKeyScan,WORD,a)
2416 Fa(FARPROC,LocalNotify,FARPROC,a)
2417 Fa(HANDLE,CreateMetaFile,LPSTR,a)
2418 Fa(HANDLE,GetAtomHandle,ATOM,a)
2419 Fa(HANDLE,GetClipboardData,WORD,a)
2420 Fa(HANDLE,GetCodeHandle,FARPROC,a)
2421 Fa(HANDLE,GetMetaFile,LPSTR,a)
2422 Fa(HANDLE,GetMetaFileBits,HANDLE,a)
2423 Fa(HANDLE,GetModuleHandle,LPSTR,a)
2424 Fa(HANDLE,GetStockObject,int,a)
2425 Fa(HANDLE,GetWindowTask,HWND,a)
2426 Fa(HANDLE,LoadLibrary,LPSTR,a)
2427 Fa(HANDLE,LocalFree,HANDLE,a)
2428 Fa(HANDLE,LocalHandle,WORD,a)
2429 Fa(HANDLE,SetMetaFileBits,HANDLE,a)
2430 Fa(HBITMAP,CreateBitmapIndirect,BITMAP FAR*,a)
2431 Fa(HBRUSH,CreateBrushIndirect,LOGBRUSH FAR*,a)
2432 Fa(HBRUSH,CreatePatternBrush,HBITMAP,a)
2433 Fa(HBRUSH,CreateSolidBrush,DWORD,a)
2434 Fa(HCURSOR,SetCursor,HCURSOR,a)
2435 Fa(HDC,CreateCompatibleDC,HDC,a)
2436 Fa(HDC,GetDC,HWND,a)
2437 Fa(HDC,GetDCState,HDC,a)
2438 Fa(HDC,GetWindowDC,HWND,a)
2439 Fa(HDWP,BeginDeferWindowPos,INT,nNumWindows)
2440 Fa(HFONT,CreateFontIndirect,LOGFONT FAR*,a)
2441 Fa(HGLOBAL,GlobalFree,HGLOBAL,a)
2442 Fa(HGLOBAL,GlobalLRUNewest,HGLOBAL,a)
2443 Fa(HGLOBAL,GlobalLRUOldest,HGLOBAL,a)
2444 Fa(HGLOBAL,LockSegment,HGLOBAL,a)
2445 Fa(HMENU,GetMenu,HWND,a)
2446 Fa(HMENU,LoadMenuIndirect,LPSTR,a)
2447 Fa(HMETAFILE,CloseMetaFile,HANDLE,a)
2448 Fa(HPALETTE,CreatePalette,LPLOGPALETTE,a)
2449 Fa(HPEN,CreatePenIndirect,LOGPEN FAR*,a)
2450 Fa(HRGN,CreateEllipticRgnIndirect,LPRECT,a)
2451 Fa(HRGN,CreateRectRgnIndirect,LPRECT,a)
2452 Fa(HRGN,GetClipRgn,HDC,a)
2453 Fa(HRGN,InquireVisRgn,HDC,a)
2454 Fa(HRGN,SaveVisRgn,HDC,a)
2455 Fa(HWND,GetLastActivePopup,HWND,a)
2456 Fa(HWND,GetParent,HWND,a)
2457 Fa(HWND,GetTopWindow,HWND,a)
2458 Fa(HWND,SetActiveWindow,HWND,a)
2459 Fa(HWND,SetCapture,HWND,a)
2460 Fa(HWND,SetClipboardViewer,HWND,a)
2461 Fa(HWND,SetFocus,HWND,a)
2462 Fa(HWND,SetSysModalWindow,HWND,a)
2463 Fa(HWND,WindowFromPoint,POINT,a)
2464 Fa(INT,_lclose,INT,a)
2465 Fa(INT,lstrlen,LPCSTR,a)
2466 Fa(LONG,DispatchMessage,LPMSG,msg)
2467 Fa(LONG,SetSwapAreaSize,WORD,a)
2468 Fa(LPSTR,AnsiLower,LPSTR,a)
2469 Fa(SEGPTR,AnsiNext,SEGPTR,a)
2470 Fa(LPSTR,AnsiUpper,LPSTR,a)
2471 Fa(LPSTR,GlobalLock,HGLOBAL,a)
2472 Fa(LPSTR,GlobalWire,HGLOBAL,a)
2473 Fa(LPSTR,LockResource,HANDLE,a)
2474 Fa(SEGPTR,WIN16_GlobalLock,HGLOBAL,a)
2475 Fa(UINT,GDIRealizePalette,HDC,a)
2476 Fa(UINT,RealizePalette,HDC,a)
2477 Fa(WORD,AllocDStoCSAlias,WORD,a)
2478 Fa(WORD,AllocSelector,WORD,a)
2479 Fa(WORD,AllocSelectorArray,WORD,a)
2480 Fa(WORD,ArrangeIconicWindows,HWND,a)
2481 Fa(WORD,EnumClipboardFormats,WORD,a)
2482 Fa(WORD,FreeSelector,WORD,a)
2483 Fa(WORD,GetBkMode,HDC,a)
2484 Fa(WORD,GetDriveType,INT,a)
2485 Fa(WORD,GetMapMode,HDC,a)
2486 Fa(WORD,GetMenuItemCount,HMENU,a)
2487 Fa(WORD,GetPolyFillMode,HDC,a)
2488 Fa(WORD,GetROP2,HDC,a)
2489 Fa(WORD,GetRelAbs,HDC,a)
2490 Fa(WORD,GetStretchBltMode,HDC,a)
2491 Fa(WORD,GetTaskQueue,HANDLE,a)
2492 Fa(WORD,GetTextAlign,HDC,a)
2493 Fa(WORD,GlobalDOSFree,WORD,a)
2494 Fa(WORD,GlobalFlags,HGLOBAL,a)
2495 Fa(WORD,GlobalPageLock,HGLOBAL,a)
2496 Fa(WORD,GlobalPageUnlock,HGLOBAL,a)
2497 Fa(WORD,InitAtomTable,WORD,a)
2498 Fa(WORD,LocalCompact,WORD,a)
2499 Fa(WORD,LocalFlags,HLOCAL,a)
2500 Fa(WORD,LocalLock,HLOCAL,a)
2501 Fa(WORD,LocalSize,HLOCAL,a)
2502 Fa(WORD,RealizeDefaultPalette,HDC,a)
2503 Fa(WORD,RegisterClipboardFormat,LPCSTR,a)
2504 Fa(WORD,RegisterWindowMessage,LPCSTR,a)
2505 Fa(WORD,SetHandleCount,WORD,a)
2506 Fa(WORD,VkKeyScan,WORD,a)
2507 Fa(int,AddFontResource,LPSTR,a)
2508 Fa(int,Catch,LPCATCHBUF,a)
2509 Fa(int,ClearCommBreak,int,a)
2510 Fa(int,CloseComm,int,a)
2511 Fa(int,CountVoiceNotes,int,a)
2512 Fa(int,GetAsyncKeyState,int,a)
2513 Fa(int,GetDlgCtrlID,HWND,a)
2514 Fa(int,GetKeyState,int,a)
2515 Fa(int,GetKeyboardType,int,a)
2516 Fa(int,GetModuleUsage,HANDLE,a)
2517 Fa(int,GetSystemMetrics,WORD,a)
2518 Fa(int,GetWindowTextLength,HWND,a)
2519 Fa(int,RestoreVisRgn,HDC,a)
2520 Fa(int,SaveDC,HDC,a)
2521 Fa(int,SetCommBreak,int,a)
2522 Fa(int,SetCommState,DCB*,a)
2523 Fa(int,ShowCursor,BOOL,a)
2524 Fa(int,UpdateColors,HDC,a)
2525 Fa(int,WaitSoundState,int,a)
2526 Fa(short,GetTextCharacterExtra,HDC,a)
2527 Fa(void,ClipCursor,LPRECT,a)
2528 Fa(void,CloseWindow,HWND,a)
2529 Fa(void,DrawMenuBar,HWND,a)
2530 Fa(void,FatalExit,int,a)
2531 Fa(void,FreeLibrary,HANDLE,a)
2532 Fa(void,FreeProcInstance,FARPROC,a)
2533 Fa(void,GetCaretPos,LPPOINT,a)
2534 Fa(void,GetCursorPos,LPPOINT,a)
2535 Fa(void,GetKeyboardState,BYTE FAR*,a)
2536 Fa(void,GlobalFix,HGLOBAL,a)
2537 Fa(void,GlobalNotify,FARPROC,a)
2538 Fa(void,GlobalUnfix,HGLOBAL,a)
2539 Fa(void,HideCaret,HWND,a)
2540 Fa(void,LimitEmsPages,DWORD,a)
2541 Fa(void,MessageBeep,WORD,a)
2542 Fa(void,OutputDebugString,LPSTR,a)
2543 Fa(void,PostQuitMessage,int,a)
2544 Fa(void,ReplyMessage,LONG,a)
2545 Fa(void,SetCaretBlinkTime,WORD,a)
2546 Fa(void,SetConvertHook,BOOL,a)
2547 Fa(void,SetDoubleClickTime,WORD,a)
2548 Fa(void,SetKeyboardState,BYTE FAR*,a)
2549 Fa(void,SetRectEmpty,LPRECT,a)
2550 Fa(void,ShowCaret,HWND,a)
2551 Fa(void,SwapRecording,WORD,a)
2552 Fa(void,UnlockSegment,HGLOBAL,a)
2553 Fa(void,UpdateWindow,HWND,a)
2554 Fb(BOOL,CallMsgFilter,SEGPTR,a,short,b)
2555 Fb(BOOL,ChangeClipboardChain,HWND,a,HWND,b)
2556 Fb(BOOL,EnableWindow,HWND,a,BOOL,b)
2557 Fb(BOOL,EnumWindows,FARPROC,a,LONG,b)
2558 Fb(BOOL,EqualRect,LPRECT,a,LPRECT,b)
2559 Fb(BOOL,EqualRgn,HRGN,a,HRGN,b)
2560 Fb(BOOL,ExitWindows,DWORD,dwReserved,WORD,wReturnCode)
2561 Fb(BOOL,FlashWindow,HWND,a,BOOL,b)
2562 Fb(BOOL,GetBitmapDimensionEx,HBITMAP,a,LPSIZE,b)
2563 Fb(BOOL,GetBrushOrgEx,HDC,a,LPPOINT,b)
2564 Fb(BOOL,GetCurrentPositionEx,HDC,a,LPPOINT,b)
2565 Fb(BOOL,GetTextMetrics,HDC,a,LPTEXTMETRIC,b)
2566 Fb(BOOL,GetViewportExtEx,HDC,a,LPPOINT,b)
2567 Fb(BOOL,GetViewportOrgEx,HDC,a,LPPOINT,b)
2568 Fb(BOOL,GetWindowExtEx,HDC,a,LPPOINT,b)
2569 Fb(BOOL,GetWindowOrgEx,HDC,a,LPPOINT,b)
2570 Fb(BOOL,GetWindowPlacement,HWND,a,LPWINDOWPLACEMENT,b)
2571 Fb(BOOL,InvertRgn,HDC,a,HRGN,b)
2572 Fb(BOOL,IsBadHugeReadPtr,SEGPTR,a,DWORD,b)
2573 Fb(BOOL,IsBadHugeWritePtr,SEGPTR,a,DWORD,b)
2574 Fb(BOOL,IsBadReadPtr,SEGPTR,a,WORD,b)
2575 Fb(BOOL,IsBadStringPtr,SEGPTR,a,WORD,b)
2576 Fb(BOOL,IsBadWritePtr,SEGPTR,a,WORD,b)
2577 Fb(BOOL,IsChild,HWND,a,HWND,b)
2578 Fb(BOOL,IsDialogMessage,HWND,a,LPMSG,b)
2579 Fb(BOOL,KillSystemTimer,HWND,a,WORD,b)
2580 Fb(BOOL,KillTimer,HWND,a,WORD,b)
2581 Fb(BOOL,OemToAnsi,LPSTR,a,LPSTR,b)
2582 Fb(BOOL,PaintRgn,HDC,a,HRGN,b)
2583 Fb(BOOL,PlayMetaFile,HDC,a,HANDLE,b)
2584 Fb(BOOL,PtInRect,LPRECT,a,POINT,b)
2585 Fb(BOOL,RectInRegion,HRGN,a,LPRECT,b)
2586 Fb(BOOL,RectVisible,HDC,a,LPRECT,b)
2587 Fb(BOOL,ResizePalette,HPALETTE,a,WORD,b)
2588 Fb(BOOL,RestoreDC,HDC,a,short,b)
2589 Fb(BOOL,SetConvertParams,int,a,int,b)
2590 Fb(BOOL,SetMenu,HWND,a,HMENU,b)
2591 Fb(BOOL,SetWindowPlacement,HWND,a,LPWINDOWPLACEMENT,b)
2592 Fb(BOOL,ShowWindow,HWND,a,int,b) 
2593 Fb(BOOL,TranslateMDISysAccel,HWND,a,LPMSG,b)
2594 Fb(BOOL,UnhookWindowsHook,short,a,HHOOK,b)
2595 Fb(BOOL,UnregisterClass,LPSTR,a,HANDLE,b)
2596 Fb(DWORD,GetNearestColor,HDC,a,DWORD,b)
2597 Fb(DWORD,SetBkColor,HDC,a,COLORREF,b)
2598 Fb(DWORD,SetMapperFlags,HDC,a,DWORD,b)
2599 Fb(DWORD,SetTextColor,HDC,a,DWORD,b)
2600 Fb(FARPROC,GetProcAddress,HANDLE,a,LPSTR,b)
2601 Fb(FARPROC,MakeProcInstance,FARPROC,a,HANDLE,b)
2602 Fb(HANDLE,CopyMetaFile,HANDLE,a,LPSTR,b)
2603 Fb(HANDLE,GetProp,HWND,a,LPSTR,b)
2604 Fb(HANDLE,LoadAccelerators,HANDLE,a,SEGPTR,b)
2605 Fb(HANDLE,LoadModule,LPSTR,a,LPVOID,b)
2606 Fb(HANDLE,LoadResource,HANDLE,a,HANDLE,b)
2607 Fb(HANDLE,LocalAlloc,WORD,a,WORD,b)
2608 Fb(HANDLE,RemoveProp,HWND,a,LPSTR,b)
2609 Fb(HANDLE,SelectObject,HDC,a,HANDLE,b)
2610 Fb(HANDLE,SetClipboardData,WORD,a,HANDLE,b)
2611 Fb(HBITMAP,LoadBitmap,HANDLE,a,SEGPTR,b)
2612 Fb(HBRUSH,CreateDIBPatternBrush,HANDLE,a,WORD,b)
2613 Fb(HBRUSH,CreateHatchBrush,short,a,COLORREF,b)
2614 Fb(HCURSOR,LoadCursor,HANDLE,a,SEGPTR,b)
2615 Fb(HDC,BeginPaint,HWND,a,LPPAINTSTRUCT,b) 
2616 Fb(HGLOBAL,GlobalAlloc,WORD,a,DWORD,b)
2617 Fb(HHOOK,SetWindowsHook,short,a,HOOKPROC,b)
2618 Fb(HICON,LoadIcon,HANDLE,a,SEGPTR,b)
2619 Fb(HMENU,GetSubMenu,HMENU,a,short,b)
2620 Fb(HMENU,GetSystemMenu,HWND,a,BOOL,b)
2621 Fb(HMENU,LoadMenu,HANDLE,a,SEGPTR,b)
2622 Fb(HMENU,LookupMenuHandle,HMENU,a,INT,b)
2623 Fb(HPALETTE,GDISelectPalette,HDC,a,HPALETTE,b)
2624 Fb(HWND,ChildWindowFromPoint,HWND,a,POINT,b)
2625 Fb(HWND,FindWindow,LPSTR,a,LPSTR,b)
2626 Fb(HWND,GetDlgItem,HWND,a,WORD,b)
2627 Fb(HWND,GetNextWindow,HWND,a,WORD,b)
2628 Fb(HWND,GetWindow,HWND,a,WORD,b)
2629 Fb(HWND,SetParent,HWND,a,HWND,b)
2630 Fb(INT,AnsiToOem,LPSTR,a,LPSTR,b)
2631 Fb(INT,_lcreat,LPSTR,a,INT,b)
2632 Fb(INT,_lopen,LPSTR,a,INT,b)
2633 Fb(INT,lstrcmp,LPCSTR,a,LPCSTR,b )
2634 Fb(INT,lstrcmpi,LPCSTR,a,LPCSTR,b )
2635 Fb(LONG,EscapeCommFunction,int,a,int,b)
2636 Fb(LONG,GetClassLong,HWND,a,short,b)
2637 Fb(LONG,GetWindowLong,HWND,a,short,b)
2638 Fb(SEGPTR,AnsiPrev,SEGPTR,a,SEGPTR,b)
2639 Fb(SEGPTR,lstrcat,SEGPTR,a,SEGPTR,b)
2640 Fb(SEGPTR,lstrcpy,SEGPTR,a,SEGPTR,b)
2641 Fb(WORD FAR*,SetCommEventMask,int,a,WORD,b)
2642 Fb(WORD,AnsiLowerBuff,LPSTR,a,WORD,b)
2643 Fb(WORD,AnsiUpperBuff,LPSTR,a,WORD,b)
2644 Fb(WORD,ChangeSelector,WORD,a,WORD,b)
2645 Fb(WORD,GetClassWord,HWND,a,short,b)
2646 Fb(WORD,GetCommEventMask,int,a,int,b)
2647 Fb(WORD,GetMenuItemID,HMENU,a,int,b)
2648 Fb(WORD,GetNearestPaletteIndex,HPALETTE,a,DWORD,b)
2649 Fb(WORD,GetSystemDirectory,LPSTR,a,WORD,b)
2650 Fb(WORD,GetSystemPaletteUse,HDC,a,WORD,b)
2651 Fb(WORD,GetWindowWord,HWND,a,short,b)
2652 Fb(WORD,GetWindowsDirectory,LPSTR,a,WORD,b)
2653 Fb(WORD,IsDlgButtonChecked,HWND,a,WORD,b)
2654 Fb(WORD,LocalShrink,HANDLE,a,WORD,b)
2655 Fb(WORD,MapVirtualKey,WORD,a,WORD,b)
2656 Fb(WORD,PrestoChangoSelector,WORD,a,WORD,b)
2657 Fb(WORD,SetBkMode,HDC,a,WORD,b)
2658 Fb(WORD,SetMapMode,HDC,a,WORD,b)
2659 Fb(WORD,SetPolyFillMode,HDC,a,WORD,b)
2660 Fb(WORD,SetROP2,HDC,a,WORD,b)
2661 Fb(WORD,SetRelAbs,HDC,a,WORD,b)
2662 Fb(WORD,SetStretchBltMode,HDC,a,WORD,b)
2663 Fb(WORD,SetSystemPaletteUse,HDC,a,WORD,b)
2664 Fb(WORD,SetTaskQueue,HANDLE,a,HANDLE,b)
2665 Fb(WORD,SetTextAlign,HDC,a,WORD,b)
2666 Fb(WORD,SizeofResource,HANDLE,a,HANDLE,b)
2667 Fb(WORD,WinExec,LPSTR,a,WORD,b)
2668 Fb(int,AccessResource,HANDLE,a,HANDLE,b)
2669 Fb(int,BuildCommDCB,LPSTR,a,DCB*,b)
2670 Fb(int,ConvertRequest,HWND,a,LPKANJISTRUCT,b)
2671 Fb(int,EnumProps,HWND,a,FARPROC,b)
2672 Fb(int,ExcludeUpdateRgn,HDC,a,HWND,b)
2673 Fb(int,FlushComm,int,a,int,b)
2674 Fb(int,GetClipBox,HDC,a,LPRECT,b)
2675 Fb(int,GetCommError,int,a,COMSTAT*,b)
2676 Fb(int,GetCommState,int,a,DCB*,b)
2677 Fb(int,GetDeviceCaps,HDC,a,WORD,b)
2678 Fb(int,GetPriorityClipboardFormat,WORD FAR*,a,short,b)
2679 Fb(int,GetRgnBox,HRGN,a,LPRECT,b)
2680 Fb(int,GetScrollPos,HWND,a,int,b)
2681 Fb(int,ReleaseDC,HWND,a,HDC,b)
2682 Fb(int,SelectClipRgn,HDC,a,HRGN,b)
2683 Fb(int,SelectVisRgn,HDC,a,HRGN,b)
2684 Fb(int,SetSoundNoise,int,a,int,b)
2685 Fb(int,SetVoiceQueueSize,int,a,int,b)
2686 Fb(int,SetVoiceThreshold,int,a,int,b)
2687 Fb(int,TransmitCommChar,int,a,char,b)
2688 Fb(int,UngetCommChar,int,a,char,b)
2689 Fb(short,SetTextCharacterExtra,HDC,a,short,b)
2690 Fb(void,ClientToScreen,HWND,a,LPPOINT,b)
2691 Fb(void,CopyRect,LPRECT,a,LPRECT,b)
2692 Fb(void,DrawFocusRect,HDC,a,LPRECT,b)
2693 Fb(void,EndDialog,HWND,a,short,b)
2694 Fb(void,EndPaint,HWND,a,LPPAINTSTRUCT,b)
2695 Fb(void,GetClientRect,HWND,a,LPRECT,b)
2696 Fb(void,GetCodeInfo,FARPROC,lpProc,LPVOID,lpSegInfo)
2697 Fb(void,GetWindowRect,HWND,a,LPRECT,b)
2698 Fb(void,InvertRect,HDC,a,LPRECT,b)
2699 Fb(void,MapDialogRect,HWND,a,LPRECT,b)
2700 Fb(void,ProfSampRate,int,a,int,b)
2701 Fb(void,ProfSetup,int,a,int,b)
2702 Fb(void,ScreenToClient,HWND,a,LPPOINT,b)
2703 Fb(void,SetCaretPos,short,a,short,b)
2704 Fb(void,SetCursorPos,short,a,short,b)
2705 Fb(void,SetDCState,HDC,a,HDC,b)
2706 Fb(void,SetWindowText,HWND,a,LPSTR,b)
2707 Fb(void,ShowOwnedPopups,HWND,a,BOOL,b)
2708 Fb(void,Throw,LPCATCHBUF,a,int,b)
2709 Fb(void,ValidateRect,HWND,a,LPRECT,b)
2710 Fb(void,ValidateRgn,HWND,a,HRGN,b)
2711 Fc(BOOL,CheckMenuItem,HMENU,a,WORD,b,WORD,c)
2712 Fc(BOOL,DPtoLP,HDC,a,LPPOINT,b,int,c)
2713 Fc(BOOL,DeleteMenu,HMENU,a,WORD,b,WORD,c)
2714 Fc(BOOL,DlgDirSelect,HWND,a,LPSTR,b,int,c)
2715 Fc(BOOL,DlgDirSelectComboBox,HWND,a,LPSTR,b,int,c)
2716 Fc(BOOL,EnableMenuItem,HMENU,a,WORD,b,WORD,c)
2717 Fc(BOOL,EnableScrollBar,HWND,a,INT,b,UINT,c)
2718 Fc(BOOL,EnumChildWindows,HWND,a,FARPROC,b,LONG,c)
2719 Fc(BOOL,EnumTaskWindows,HANDLE,a,FARPROC,b,LONG,c)
2720 Fc(BOOL,FillRgn,HDC,a,HRGN,b,HBRUSH,c)
2721 Fc(BOOL,GetClassInfo,HANDLE,a,LPSTR,b,LPWNDCLASS,c)
2722 Fc(BOOL,GetUpdateRect,HWND,a,LPRECT,b,BOOL,c)
2723 Fc(BOOL,IntersectRect,LPRECT,a,LPRECT,b,LPRECT,c)
2724 Fc(BOOL,LPtoDP,HDC,a,LPPOINT,b,int,c)
2725 Fc(BOOL,LineTo,HDC,a,short,b,short,c)
2726 Fc(BOOL,LocalInit,WORD,a,WORD,b,WORD,c)
2727 Fc(BOOL,Polygon,HDC,a,LPPOINT,b,int,c)
2728 Fc(BOOL,Polyline,HDC,a,LPPOINT,b,int,c)
2729 Fc(BOOL,PtInRegion,HRGN,a,short,b,short,c)
2730 Fc(BOOL,PtVisible,HDC,a,short,b,short,c)
2731 Fc(BOOL,RemoveMenu,HMENU,a,WORD,b,WORD,c)
2732 Fc(BOOL,SetProp,HWND,a,LPSTR,b,HANDLE,c)
2733 Fc(BOOL,SubtractRect,LPRECT,a,LPRECT,b,LPRECT,c)
2734 Fc(BOOL,UnionRect,LPRECT,a,LPRECT,b,LPRECT,c)
2735 Fc(BOOL,WriteProfileString,LPSTR,a,LPSTR,b,LPSTR,c)
2736 Fc(DWORD,GetPixel,HDC,a,short,b,short,c)
2737 Fc(DWORD,GetTextExtent,HDC,a,LPSTR,b,short,c)
2738 Fc(DWORD,MoveTo,HDC,a,short,b,short,c)
2739 Fc(DWORD,OffsetViewportOrg,HDC,a,short,b,short,c)
2740 Fc(DWORD,OffsetWindowOrg,HDC,a,short,b,short,c)
2741 Fc(DWORD,SetBitmapDimension,HBITMAP,a,short,b,short,c)
2742 Fc(DWORD,SetBrushOrg,HDC,a,short,b,short,c)
2743 Fc(DWORD,SetViewportExt,HDC,a,short,b,short,c)
2744 Fc(DWORD,SetViewportOrg,HDC,a,short,b,short,c)
2745 Fc(DWORD,SetWindowExt,HDC,a,short,b,short,c)
2746 Fc(DWORD,SetWindowOrg,HDC,a,short,b,short,c)
2747 Fc(FARPROC,SetResourceHandler,HANDLE,a,LPSTR,b,FARPROC,c)
2748 Fc(HANDLE,AllocResource,HANDLE,a,HANDLE,b,DWORD,c)
2749 Fc(HANDLE,FindResource,HANDLE,a,SEGPTR,b,SEGPTR,c)
2750 Fc(HANDLE,LocalReAlloc,HANDLE,a,WORD,b,WORD,c)
2751 Fc(HBITMAP,CreateCompatibleBitmap,HDC,a,short,b,short,c)
2752 Fc(HBITMAP,CreateDiscardableBitmap,HDC,a,short,b,short,c)
2753 Fc(HBRUSH,GetControlBrush,HWND,a,HDC,b,WORD,c)
2754 Fc(HDC,GetDCEx,HWND,a,HRGN,b,DWORD,c)
2755 Fc(HGLOBAL,GlobalReAlloc,HGLOBAL,a,DWORD,b,WORD,c)
2756 Fc(HPALETTE,SelectPalette,HDC,a,HPALETTE,b,BOOL,c)
2757 Fc(HPEN,CreatePen,short,a,short,b,COLORREF,c)
2758 Fc(HRGN,CreatePolygonRgn,LPPOINT,a,short,b,short,c)
2759 Fc(HWND,GetNextDlgGroupItem,HWND,a,HWND,b,BOOL,c)
2760 Fc(HWND,GetNextDlgTabItem,HWND,a,HWND,b,BOOL,c)
2761 Fc(INT,GetTextFace,HDC,a,INT,b,LPSTR,c)
2762 Fc(INT,OpenFile,LPSTR,a,LPOFSTRUCT,b,WORD,c)
2763 Fc(INT,_lread,INT,a,LPSTR,b,WORD,c)
2764 Fc(INT,_lwrite,INT,a,LPSTR,b,WORD,c)
2765 Fc(LONG,GetBitmapBits,HBITMAP,a,LONG,b,LPSTR,c)
2766 Fc(LONG,SetBitmapBits,HBITMAP,a,LONG,b,LPSTR,c)
2767 Fc(LONG,SetClassLong,HWND,a,short,b,LONG,c)
2768 Fc(LONG,SetWindowLong,HWND,a,short,b,LONG,c)
2769 Fc(LONG,_llseek,INT,a,LONG,b,INT,c)
2770 Fc(SEGPTR,lstrcpyn,SEGPTR,a,SEGPTR,b,WORD,c)
2771 Fc(WORD,GetAtomName,ATOM,a,LPSTR,b,short,c)
2772 Fc(WORD,GetInternalWindowPos,HWND,a,LPRECT,b,LPPOINT,c)
2773 Fc(WORD,GetMenuState,HMENU,a,WORD,b,WORD,c)
2774 Fc(WORD,GetProfileInt,LPSTR,a,LPSTR,b,int,c)
2775 Fc(WORD,GlobalGetAtomName,ATOM,a,LPSTR,b,short,c)
2776 Fc(WORD,SetClassWord,HWND,a,short,b,WORD,c)
2777 Fc(WORD,SetWindowWord,HWND,a,short,b,WORD,c)
2778 Fc(int,FillRect,HDC,a,LPRECT,b,HBRUSH,c)
2779 Fc(int,FrameRect,HDC,a,LPRECT,b,HBRUSH,c)
2780 Fc(int,GetClassName,HWND,a,LPSTR,b,short,c)
2781 Fc(int,GetClipboardFormatName,WORD,a,LPSTR,b,short,c)
2782 Fc(int,GetEnvironment,LPSTR,a,LPSTR,b,WORD,c)
2783 Fc(int,GetInstanceData,HANDLE,a,NPSTR,b,int,c)
2784 Fc(int,GetKeyNameText,LONG,a,LPSTR,b,int,c)
2785 Fc(int,GetModuleFileName,HANDLE,a,LPSTR,b,short,c)
2786 Fc(int,GetObject,HANDLE,a,int,b,LPSTR,c)
2787 Fc(int,GetUpdateRgn,HWND,a,HRGN,b,BOOL,c)
2788 Fc(int,GetWindowText,HWND,a,LPSTR,b,int,c)
2789 Fc(int,MulDiv,int,a,int,b,int,c)
2790 Fc(int,OffsetClipRgn,HDC,a,short,b,short,c)
2791 Fc(int,OffsetRgn,HRGN,a,short,b,short,c)
2792 Fc(int,OpenComm,LPSTR,a,WORD,b,WORD,c)
2793 Fc(int,ReadComm,int,a,LPSTR,b,int,c)
2794 Fc(int,SetEnvironment,LPSTR,a,LPSTR,b,WORD,c)
2795 Fc(int,SetVoiceEnvelope,int,a,int,b,int,c)
2796 Fc(int,SetVoiceSound,int,a,LONG,b,int,c)
2797 Fc(int,TranslateAccelerator,HWND,a,HANDLE,b,LPMSG,c)
2798 Fc(int,WriteComm,int,a,LPSTR,b,int,c)
2799 Fc(int,wvsprintf,LPSTR,a,LPSTR,b,LPSTR,c)
2800 Fc(short,SetTextJustification,HDC,a,short,b,short,c)
2801 Fc(void,AdjustWindowRect,LPRECT,a,DWORD,b,BOOL,c)
2802 Fc(void,AnsiToOemBuff,LPSTR,a,LPSTR,b,INT,c)
2803 Fc(void,CheckDlgButton,HWND,a,WORD,b,WORD,c)
2804 Fc(void,InflateRect,LPRECT,a,short,b,short,c)
2805 Fc(void,InvalidateRect,HWND,a,LPRECT,b,BOOL,c)
2806 Fc(void,InvalidateRgn,HWND,a,HRGN,b,BOOL,c)
2807 Fc(void,OemToAnsiBuff,LPSTR,a,LPSTR,b,INT,c)
2808 Fc(void,OffsetRect,LPRECT,a,short,b,short,c)
2809 Fc(void,SetDlgItemText,HWND,a,WORD,b,SEGPTR,c)
2810 Fc(void,SetSysColors,int,a,LPINT,b,COLORREF*,c)
2811 Fc(void,ShowScrollBar,HWND,a,WORD,b,BOOL,c)
2812 Fc(void,SwitchStackTo,WORD,a,WORD,b,WORD,c)
2813 Fd(BOOL,AppendMenu,HMENU,a,WORD,b,WORD,c,LPSTR,d)
2814 Fd(BOOL,DrawIcon,HDC,a,short,b,short,c,HICON,d)
2815 Fd(BOOL,EnumMetaFile,HDC,a,LOCALHANDLE,b,FARPROC,c,BYTE FAR*,d)
2816 Fd(BOOL,FloodFill,HDC,a,INT,b,INT,c,COLORREF,d)
2817 Fd(BOOL,GetCharWidth,HDC,a,WORD,b,WORD,c,LPINT,d)
2818 Fd(BOOL,GetMessage,SEGPTR,msg,HWND,b,WORD,c,WORD,d)
2819 Fd(BOOL,GetTextExtentPoint,HDC,a,LPSTR,b,short,c,LPSIZE,d)
2820 Fd(BOOL,HiliteMenuItem,HWND,a,HMENU,b,WORD,c,WORD,d)
2821 Fd(BOOL,MoveToEx,HDC,a,short,b,short,c,LPPOINT,d)
2822 Fd(BOOL,OffsetViewportOrgEx,HDC,a,short,b,short,c,LPPOINT,d)
2823 Fd(BOOL,OffsetWindowOrgEx,HDC,a,short,b,short,c,LPPOINT,d)
2824 Fd(BOOL,PolyPolygon,HDC,a,LPPOINT,b,LPINT,c,WORD,d)
2825 Fd(BOOL,PostAppMessage,HANDLE,a,WORD,b,WORD,c,LONG,d)
2826 Fd(BOOL,PostMessage,HWND,a,WORD,b,WORD,c,LONG,d)
2827 Fd(BOOL,RedrawWindow,HWND,a,LPRECT,b,HRGN,c,UINT,d)
2828 Fd(BOOL,SetBitmapDimensionEx,HBITMAP,a,short,b,short,c,LPSIZE,d)
2829 Fd(BOOL,SetViewportExtEx,HDC,a,short,b,short,c,LPSIZE,d)
2830 Fd(BOOL,SetViewportOrgEx,HDC,a,short,b,short,c,LPPOINT,d)
2831 Fd(BOOL,SetWindowExtEx,HDC,a,short,b,short,c,LPSIZE,d)
2832 Fd(BOOL,SetWindowOrgEx,HDC,a,short,b,short,c,LPPOINT,d)
2833 Fd(BOOL,WinHelp,HWND,hwndMain,LPSTR,lpszHelp,WORD,usCommand,DWORD,ulData)
2834 Fd(BOOL,WritePrivateProfileString,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d)
2835 Fd(COLORREF,SetPixel,HDC,a,short,b,short,c,COLORREF,d)
2836 Fd(DWORD,CallNextHookEx,HHOOK,a,short,b,WPARAM,c,LPARAM,d)
2837 Fd(DWORD,DefHookProc,short,a,WORD,b,DWORD,c,HHOOK FAR*,d)
2838 Fd(HDC,CreateDC,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d)
2839 Fd(HDC,CreateIC,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d)
2840 Fd(HHOOK,SetWindowsHookEx,short,a,HOOKPROC,b,HINSTANCE,c,HTASK,d)
2841 Fd(HRGN,CreateEllipticRgn,short,a,short,b,short,c,short,d)
2842 Fd(HRGN,CreatePolyPolygonRgn,LPPOINT,a,LPINT,b,short,c,short,d)
2843 Fd(HRGN,CreateRectRgn,short,a,short,b,short,c,short,d)
2844 Fd(HWND,CreateDialog,HANDLE,a,SEGPTR,b,HWND,c,WNDPROC,d)
2845 Fd(HWND,CreateDialogIndirect,HANDLE,a,LPCSTR,b,HWND,c,WNDPROC,d)
2846 Fd(INT,GetTempFileName,BYTE,a,LPCSTR,b,UINT,c,LPSTR,d)
2847 Fd(LONG,DefDlgProc,HWND,a,WORD,b,WORD,c,LONG,d)
2848 Fd(LONG,DefMDIChildProc,HWND,a,WORD,b,WORD,c,LONG,d)
2849 Fd(LONG,DefWindowProc,HWND,a,WORD,b,WORD,c,LONG,d)
2850 Fd(LONG,SendMessage,HWND,a,WORD,b,WORD,c,LONG,d)
2851 Fd(WORD,GetDlgItemInt,HWND,a,WORD,b,BOOL FAR*,c,BOOL,d)
2852 Fd(WORD,GetPaletteEntries,HPALETTE,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
2853 Fd(WORD,GetPrivateProfileInt,LPSTR,a,LPSTR,b,short,c,LPSTR,d)
2854 Fd(WORD,GetSystemPaletteEntries,HDC,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
2855 Fd(WORD,SetPaletteEntries,HPALETTE,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
2856 Fd(WORD,SetSystemTimer,HWND,a,WORD,d,WORD,b,FARPROC,c)
2857 Fd(WORD,SetTimer,HWND,a,WORD,d,WORD,b,FARPROC,c)
2858 Fd(int,CombineRgn,HRGN,a,HRGN,b,HRGN,c,short,d)
2859 Fd(int,DialogBox,HINSTANCE,a,SEGPTR,b,HWND,c,WNDPROC,d)
2860 Fd(int,DialogBoxIndirect,HANDLE,a,HANDLE,b,HWND,c,WNDPROC,d)
2861 Fd(int,EnumFonts,HDC,a,LPSTR,b,FARPROC,c,LPSTR,d)
2862 Fd(int,EnumObjects,HDC,a,int,b,FARPROC,c,LPSTR,d)
2863 Fd(int,GetDlgItemText,HWND,a,WORD,b,SEGPTR,c,WORD,d)
2864 Fd(int,LoadString,HANDLE,a,WORD,b,LPSTR,c,int,d)
2865 Fd(int,MessageBox,HWND,a,LPSTR,b,LPSTR,c,WORD,d)
2866 Fd(int,SetScrollPos,HWND,a,int,b,int,c,BOOL,d)
2867 Fd(int,SetVoiceNote,int,a,int,b,int,c,int,d)
2868 Fd(void,AdjustWindowRectEx,LPRECT,a,DWORD,b,BOOL,c,DWORD,d)
2869 Fd(void,AnimatePalette,HPALETTE,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
2870 Fd(void,CheckRadioButton,HWND,a,WORD,b,WORD,c,WORD,d)
2871 Fd(void,CreateCaret,HWND,a,HBITMAP,b,short,c,short,d)
2872 Fd(void,FillWindow,HWND,a,HWND,b,HDC,c,HBRUSH,d)
2873 Fd(void,GetScrollRange,HWND,a,int,b,LPINT,c,LPINT,d)
2874 Fd(void,MapWindowPoints,HWND,a,HWND,b,LPPOINT,c,WORD,d)
2875 Fd(void,PlayMetaFileRecord,HDC,a,LPHANDLETABLE,b,LPMETARECORD,c,WORD,d)
2876 Fd(void,SetDlgItemInt,HWND,a,WORD,b,WORD,c,BOOL,d)
2877 Fd(void,SetInternalWindowPos,HWND,a,WORD,b,LPRECT,c,LPPOINT,d)
2878 Fe(BOOL,ChangeMenu,HMENU,a,WORD,b,LPSTR,c,WORD,d,WORD,e)
2879 Fe(BOOL,Ellipse,HDC,a,int,b,int,c,int,d,int,e)
2880 Fe(BOOL,ExtFloodFill,HDC,a,INT,b,INT,c,COLORREF,d,WORD,e)
2881 Fe(BOOL,FrameRgn,HDC,a,HRGN,b,HBRUSH,e,int,c,int,d)
2882 Fe(BOOL,InsertMenu,HMENU,a,WORD,b,WORD,c,WORD,d,LPSTR,e)
2883 Fe(BOOL,ModifyMenu,HMENU,a,WORD,b,WORD,c,WORD,d,LPSTR,e)
2884 Fe(BOOL,PeekMessage,LPMSG,a,HWND,b,WORD,c,WORD,d,WORD,e)
2885 Fe(BOOL,Rectangle,HDC,a,int,xLeft,int,yTop,int,xRight,int,yBottom)
2886 Fe(BOOL,SetMenuItemBitmaps,HMENU,a,WORD,b,WORD,c,HBITMAP,d,HBITMAP,e)
2887 Fe(BOOL,TextOut,HDC,a,short,b,short,c,LPSTR,d,short,e)
2888 Fe(DWORD,GetTabbedTextExtent,HDC,a,LPSTR,b,int,c,int,d,LPINT,e)
2889 Fe(DWORD,ScaleViewportExt,HDC,a,short,b,short,c,short,d,short,e)
2890 Fe(DWORD,ScaleWindowExt,HDC,a,short,b,short,c,short,d,short,e)
2891 Fe(HBITMAP,CreateBitmap,short,a,short,b,BYTE,c,BYTE,d,LPSTR,e)
2892 Fe(HWND,CreateDialogIndirectParam,HANDLE,a,LPCSTR,b,HWND,c,WNDPROC,d,LPARAM,e)
2893 Fe(HWND,CreateDialogParam,HANDLE,a,SEGPTR,b,HWND,c,WNDPROC,d,LPARAM,e)
2894 Fe(LONG,CallWindowProc,WNDPROC,a,HWND,b,WORD,c,WORD,d,LONG,e)
2895 Fe(LONG,DefFrameProc,HWND,a,HWND,b,WORD,c,WORD,d,LONG,e)
2896 Fe(LONG,SendDlgItemMessage,HWND,a,WORD,b,WORD,c,WORD,d,LONG,e)
2897 Fe(int,DialogBoxIndirectParam,HANDLE,a,HANDLE,b,HWND,c,WNDPROC,d,LONG,e)
2898 Fe(int,DialogBoxParam,HANDLE,a,SEGPTR,b,HWND,c,WNDPROC,d,LONG,e)
2899 Fe(int,DlgDirList,HWND,a,LPSTR,b,int,c,int,d,WORD,e)
2900 Fe(int,DlgDirListComboBox,HWND,a,SEGPTR,b,int,c,int,d,WORD,e)
2901 Fe(int,DrawText,HDC,a,LPSTR,str,int,c,LPRECT,d,WORD,flag)
2902 Fe(int,Escape,HDC,a,int,b,int,c,LPSTR,d,LPSTR,e)
2903 Fe(int,ExcludeClipRect,HDC,a,short,b,short,c,short,d,short,e)
2904 Fe(int,ExcludeVisRect,HDC,a,short,b,short,c,short,d,short,e)
2905 Fe(int,GetMenuString,HMENU,a,WORD,b,LPSTR,c,short,d,WORD,e)
2906 Fe(int,GetProfileString,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d,int,e)
2907 Fe(int,IntersectClipRect,HDC,a,short,b,short,c,short,d,short,e)
2908 Fe(int,IntersectVisRect,HDC,a,short,b,short,c,short,d,short,e)
2909 Fe(int,SetVoiceAccent,int,a,int,b,int,c,int,d,int,e)
2910 Fe(int,ToAscii,WORD,wVirtKey,WORD,wScanCode,LPSTR,lpKeyState,LPVOID,lpChar,WORD,wFlags)
2911 Fe(void,PaintRect,HWND,a,HWND,b,HDC,c,HBRUSH,d,LPRECT,e)
2912 Fe(void,ScrollWindow,HWND,a,short,b,short,c,LPRECT,d,LPRECT,e)
2913 Fe(void,SetRect,LPRECT,a,short,b,short,c,short,d,short,e)
2914 Fe(void,SetRectRgn,HRGN,a,short,b,short,c,short,d,short,e)
2915 Fe(void,SetScrollRange,HWND,a,int,b,int,c,int,d,BOOL,e)
2916 Ff(BOOL,MoveWindow,HWND,a,short,b,short,c,short,d,short,e,BOOL,f)
2917 Ff(BOOL,PatBlt,HDC,a,short,b,short,c,short,d,short,e,DWORD,f)
2918 Ff(BOOL,ScaleViewportExtEx,HDC,a,short,b,short,c,short,d,short,e,LPSIZE,f)
2919 Ff(BOOL,ScaleWindowExtEx,HDC,a,short,b,short,c,short,d,short,e,LPSIZE,f)
2920 Ff(HBITMAP,CreateDIBitmap,HDC,a,LPBITMAPINFOHEADER,b,DWORD,c,LPSTR,d,LPBITMAPINFO,e,WORD,f)
2921 Ff(HRGN,CreateRoundRectRgn,short,a,short,b,short,c,short,d,short,e,short,f)
2922 Ff(short,GetPrivateProfileString,LPSTR,a,LPSTR,b,LPSTR,c,LPSTR,d,short,e,LPSTR,f)
2923 Ff(void,LineDDA,short,a,short,b,short,c,short,d,FARPROC,e,long,f)
2924 Fg(BOOL,RoundRect,HDC,a,short,b,short,c,short,d,short,e,short,f,short,g)
2925 Fg(BOOL,ScrollDC,HDC,a,short,b,short,c,LPRECT,d,LPRECT,e,HRGN,f,LPRECT,g)
2926 Fg(BOOL,SetWindowPos,HWND,a,HWND,b,short,c,short,d,short,e,short,f,WORD,g)
2927 Fg(BOOL,TrackPopupMenu,HMENU,a,WORD,b,short,c,short,d,short,e,HWND,f,LPRECT,g)
2928 Fg(HCURSOR,CreateCursor,HANDLE,a,short,b,short,c,short,d,short,e,LPSTR,f,LPSTR,g)
2929 Fg(HICON,CreateIcon,HANDLE,a,int,b,int,c,BYTE,d,BYTE,e,LPSTR,f,LPSTR,g)
2930 Fg(int,GetDIBits,HDC,a,HANDLE,a2,WORD,b,WORD,c,LPSTR,d,LPBITMAPINFO,e,WORD,f)
2931 Fg(int,SetDIBits,HDC,a,HANDLE,a2,WORD,b,WORD,c,LPSTR,d,LPBITMAPINFO,e,WORD,f)
2932 Fh(BOOL,ExtTextOut,HDC,a,short,b,short,c,WORD,d,LPRECT,e,LPSTR,f,WORD,g,LPINT,h)
2933 Fh(HDWP,DeferWindowPos,HDWP,hWinPosInfo,HWND,hWnd,HWND,hWndInsertAfter,INT,x,INT,y,INT,cx,INT,cy,WORD,wFlags)
2934 Fh(LONG,TabbedTextOut,HDC,a,short,b,short,c,LPSTR,d,short,e,short,f,LPINT,g,short,h)
2935 Fh(int,ScrollWindowEx,HWND,a,short,b,short,c,LPRECT,d,LPRECT,e,HRGN,f,LPRECT,g,WORD,h)
2936 Fi(BOOL,Arc,HDC,a,int,xLeft,int,yTop,int,xRight,int,yBottom,int,xStart,int,yStart,int,xEnd,int,yEnd)
2937 Fi(BOOL,BitBlt,HDC,a,short,b,short,c,short,d,short,e,HDC,f,short,g,short,h,DWORD,i)
2938 Fi(BOOL,Chord,HDC,a,int,xLeft,int,yTop,int,xRight,int,yBottom,int,xStart,int,yStart,int,xEnd,int,yEnd)
2939 Fi(BOOL,GrayString,HDC,a,HBRUSH,b,FARPROC,gsprc,LPARAM,lParam,INT,cch,INT,x,INT,y,INT,cx,INT,cy)
2940 Fi(BOOL,Pie,HDC,a,int,xLeft,int,yTop,int,xRight,int,yBottom,int,xStart,int,yStart,int,xEnd,int,yEnd)
2941 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)
2942 Fk(HWND,CreateWindow,LPSTR,szAppName,LPSTR,Label,DWORD,ol,short,x,short,y,short,w,short,h,HWND,d,HMENU,e,,HANDLE i,SEGPTR,g)
2943 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,SEGPTR,l)
2944 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)
2945 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)
2946 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)
2947
2948 #ifdef WINELIB
2949 #define WINELIB_UNIMP(x) fprintf (stderr, "WineLib: Unimplemented %s\n", x)
2950 #endif
2951 #endif  /* WINDOWS_H */