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