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