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