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