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