Release 970101
[wine/multimedia.git] / include / windows.h
blobe0d8cd4dfb8cb222af1a66c5212c5b7598d2afb2
1 #ifndef __WINE_WINDOWS_H
2 #define __WINE_WINDOWS_H
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
8 #include "wintypes.h"
10 #pragma pack(1)
12 /* The SIZE structure */
14 typedef struct
16 INT16 cx;
17 INT16 cy;
18 } SIZE16, *LPSIZE16;
20 typedef struct
22 INT32 cx;
23 INT32 cy;
24 } SIZE32, *LPSIZE32;
26 DECL_WINELIB_TYPE(SIZE);
27 DECL_WINELIB_TYPE(LPSIZE);
29 #define CONV_SIZE16TO32(s16,s32) \
30 ((s32)->cx = (INT32)(s16)->cx, (s32)->cy = (INT32)(s16)->cy)
31 #define CONV_SIZE32TO16(s32,s16) \
32 ((s16)->cx = (INT16)(s32)->cx, (s16)->cy = (INT16)(s32)->cy)
34 /* The POINT structure */
36 typedef struct
38 INT16 x;
39 INT16 y;
40 } POINT16, *LPPOINT16;
42 typedef struct
44 INT32 x;
45 INT32 y;
46 } POINT32, *LPPOINT32;
48 DECL_WINELIB_TYPE(POINT);
49 DECL_WINELIB_TYPE(LPPOINT);
51 #define CONV_POINT16TO32(p16,p32) \
52 ((p32)->x = (INT32)(p16)->x, (p32)->y = (INT32)(p16)->y)
53 #define CONV_POINT32TO16(p32,p16) \
54 ((p16)->x = (INT16)(p32)->x, (p16)->y = (INT16)(p32)->y)
56 #define MAKEPOINT16(l) (*((POINT16 *)&(l)))
57 #define MAKEPOINT WINELIB_NAME(MAKEPOINT)
59 /* The RECT structure */
61 typedef struct
63 INT16 left;
64 INT16 top;
65 INT16 right;
66 INT16 bottom;
67 } RECT16, *LPRECT16;
69 typedef struct
71 INT32 left;
72 INT32 top;
73 INT32 right;
74 INT32 bottom;
75 } RECT32, *LPRECT32;
77 DECL_WINELIB_TYPE(RECT);
78 DECL_WINELIB_TYPE(LPRECT);
80 #define CONV_RECT16TO32(r16,r32) \
81 ((r32)->left = (INT32)(r16)->left, (r32)->top = (INT32)(r16)->top, \
82 (r32)->right = (INT32)(r16)->right, (r32)->bottom = (INT32)(r16)->bottom)
83 #define CONV_RECT32TO16(r32,r16) \
84 ((r16)->left = (INT16)(r32)->left, (r16)->top = (INT16)(r32)->top, \
85 (r16)->right = (INT16)(r32)->right, (r16)->bottom = (INT16)(r32)->bottom)
87 typedef struct
89 WORD wFirst;
90 WORD wSecond;
91 INT16 iKernAmount;
92 } KERNINGPAIR16, *LPKERNINGPAIR16;
94 typedef struct
96 WORD wFirst;
97 WORD wSecond;
98 INT32 iKernAmount;
99 } KERNINGPAIR32, *LPKERNINGPAIR32;
101 DECL_WINELIB_TYPE(KERNINGPAIR);
102 DECL_WINELIB_TYPE(LPKERNINGPAIR);
104 typedef struct
106 HDC16 hdc;
107 BOOL16 fErase;
108 RECT16 rcPaint;
109 BOOL16 fRestore;
110 BOOL16 fIncUpdate;
111 BYTE rgbReserved[16];
112 } PAINTSTRUCT16, *LPPAINTSTRUCT16;
114 typedef struct
116 HDC32 hdc;
117 BOOL32 fErase;
118 RECT32 rcPaint;
119 BOOL32 fRestore;
120 BOOL32 fIncUpdate;
121 BYTE rgbReserved[32];
122 } PAINTSTRUCT32, *LPPAINTSTRUCT32;
124 DECL_WINELIB_TYPE(PAINTSTRUCT);
125 DECL_WINELIB_TYPE(LPPAINTSTRUCT);
128 /* Windows */
130 typedef struct
132 LPVOID lpCreateParams;
133 HINSTANCE16 hInstance;
134 HMENU16 hMenu;
135 HWND16 hwndParent;
136 INT16 cy;
137 INT16 cx;
138 INT16 y;
139 INT16 x;
140 LONG style WINE_PACKED;
141 SEGPTR lpszName WINE_PACKED;
142 SEGPTR lpszClass WINE_PACKED;
143 DWORD dwExStyle WINE_PACKED;
144 } CREATESTRUCT16, *LPCREATESTRUCT16;
146 typedef struct
148 LPVOID lpCreateParams;
149 HINSTANCE32 hInstance;
150 HMENU32 hMenu;
151 HWND32 hwndParent;
152 INT32 cy;
153 INT32 cx;
154 INT32 y;
155 INT32 x;
156 LONG style;
157 LPCSTR lpszName;
158 LPCSTR lpszClass;
159 DWORD dwExStyle;
160 } CREATESTRUCT32A, *LPCREATESTRUCT32A;
162 typedef struct
164 LPVOID lpCreateParams;
165 HINSTANCE32 hInstance;
166 HMENU32 hMenu;
167 HWND32 hwndParent;
168 INT32 cy;
169 INT32 cx;
170 INT32 y;
171 INT32 x;
172 LONG style;
173 LPCWSTR lpszName;
174 LPCWSTR lpszClass;
175 DWORD dwExStyle;
176 } CREATESTRUCT32W, *LPCREATESTRUCT32W;
178 DECL_WINELIB_TYPE_AW(CREATESTRUCT);
179 DECL_WINELIB_TYPE_AW(LPCREATESTRUCT);
181 typedef struct
183 HMENU16 hWindowMenu;
184 UINT16 idFirstChild;
185 } CLIENTCREATESTRUCT16, *LPCLIENTCREATESTRUCT16;
187 typedef struct
189 HMENU32 hWindowMenu;
190 UINT32 idFirstChild;
191 } CLIENTCREATESTRUCT32, *LPCLIENTCREATESTRUCT32;
193 DECL_WINELIB_TYPE(CLIENTCREATESTRUCT);
194 DECL_WINELIB_TYPE(LPCLIENTCREATESTRUCT);
196 typedef struct
198 SEGPTR szClass;
199 SEGPTR szTitle;
200 HINSTANCE16 hOwner;
201 INT16 x;
202 INT16 y;
203 INT16 cx;
204 INT16 cy;
205 DWORD style WINE_PACKED;
206 LPARAM lParam WINE_PACKED;
207 } MDICREATESTRUCT16, *LPMDICREATESTRUCT16;
209 typedef struct
211 LPCSTR szClass;
212 LPCSTR szTitle;
213 HINSTANCE32 hOwner;
214 INT32 x;
215 INT32 y;
216 INT32 cx;
217 INT32 cy;
218 DWORD style;
219 LPARAM lParam;
220 } MDICREATESTRUCT32A, *LPMDICREATESTRUCT32A;
222 typedef struct
224 LPCWSTR szClass;
225 LPCWSTR szTitle;
226 HINSTANCE32 hOwner;
227 INT32 x;
228 INT32 y;
229 INT32 cx;
230 INT32 cy;
231 DWORD style;
232 LPARAM lParam;
233 } MDICREATESTRUCT32W, *LPMDICREATESTRUCT32W;
235 DECL_WINELIB_TYPE_AW(MDICREATESTRUCT);
236 DECL_WINELIB_TYPE_AW(LPMDICREATESTRUCT);
238 #define MDITILE_VERTICAL 0
239 #define MDITILE_HORIZONTAL 1
240 #define MDIS_ALLCHILDSTYLES 0x0001
242 /* Offsets for GetWindowLong() and GetWindowWord() */
243 #define GWL_USERDATA (-21)
244 #define GWL_EXSTYLE (-20)
245 #define GWL_STYLE (-16)
246 #define GWW_ID (-12)
247 #define GWL_ID GWW_ID
248 #define GWW_HWNDPARENT (-8)
249 #define GWL_HWNDPARENT GWW_HWNDPARENT
250 #define GWW_HINSTANCE (-6)
251 #define GWL_HINSTANCE GWW_HINSTANCE
252 #define GWL_WNDPROC (-4)
253 #define DWL_MSGRESULT 0
254 #define DWL_DLGPROC 4
255 #define DWL_USER 8
257 /* GetWindow() constants */
258 #define GW_HWNDFIRST 0
259 #define GW_HWNDLAST 1
260 #define GW_HWNDNEXT 2
261 #define GW_HWNDPREV 3
262 #define GW_OWNER 4
263 #define GW_CHILD 5
265 /* WM_GETMINMAXINFO struct */
266 typedef struct
268 POINT16 ptReserved;
269 POINT16 ptMaxSize;
270 POINT16 ptMaxPosition;
271 POINT16 ptMinTrackSize;
272 POINT16 ptMaxTrackSize;
273 } MINMAXINFO16;
275 typedef struct
277 POINT32 ptReserved;
278 POINT32 ptMaxSize;
279 POINT32 ptMaxPosition;
280 POINT32 ptMinTrackSize;
281 POINT32 ptMaxTrackSize;
282 } MINMAXINFO32;
284 DECL_WINELIB_TYPE(MINMAXINFO);
286 /* RedrawWindow() flags */
287 #define RDW_INVALIDATE 0x0001
288 #define RDW_INTERNALPAINT 0x0002
289 #define RDW_ERASE 0x0004
290 #define RDW_VALIDATE 0x0008
291 #define RDW_NOINTERNALPAINT 0x0010
292 #define RDW_NOERASE 0x0020
293 #define RDW_NOCHILDREN 0x0040
294 #define RDW_ALLCHILDREN 0x0080
295 #define RDW_UPDATENOW 0x0100
296 #define RDW_ERASENOW 0x0200
297 #define RDW_FRAME 0x0400
298 #define RDW_NOFRAME 0x0800
300 /* WM_WINDOWPOSCHANGING/CHANGED struct */
301 typedef struct
303 HWND16 hwnd;
304 HWND16 hwndInsertAfter;
305 INT16 x;
306 INT16 y;
307 INT16 cx;
308 INT16 cy;
309 UINT16 flags;
310 } WINDOWPOS16;
312 typedef struct
314 HWND32 hwnd;
315 HWND32 hwndInsertAfter;
316 INT32 x;
317 INT32 y;
318 INT32 cx;
319 INT32 cy;
320 UINT32 flags;
321 } WINDOWPOS32;
323 DECL_WINELIB_TYPE(WINDOWPOS);
325 /* SetWindowPlacement() struct */
326 typedef struct
328 UINT16 length;
329 UINT16 flags;
330 UINT16 showCmd;
331 POINT16 ptMinPosition WINE_PACKED;
332 POINT16 ptMaxPosition WINE_PACKED;
333 RECT16 rcNormalPosition WINE_PACKED;
334 } WINDOWPLACEMENT16, *LPWINDOWPLACEMENT16;
336 typedef struct
338 UINT32 length;
339 UINT32 flags;
340 UINT32 showCmd;
341 POINT32 ptMinPosition WINE_PACKED;
342 POINT32 ptMaxPosition WINE_PACKED;
343 RECT32 rcNormalPosition WINE_PACKED;
344 } WINDOWPLACEMENT32, *LPWINDOWPLACEMENT32;
346 DECL_WINELIB_TYPE(WINDOWPLACEMENT);
347 DECL_WINELIB_TYPE(LPWINDOWPLACEMENT);
349 /* WINDOWPLACEMENT flags */
350 #define WPF_SETMINPOSITION 0x0001
351 #define WPF_RESTORETOMAXIMIZED 0x0002
353 /* WM_MOUSEACTIVATE return values */
354 #define MA_ACTIVATE 1
355 #define MA_ACTIVATEANDEAT 2
356 #define MA_NOACTIVATE 3
357 #define MA_NOACTIVATEANDEAT 4
359 /* WM_ACTIVATE wParam values */
360 #define WA_INACTIVE 0
361 #define WA_ACTIVE 1
362 #define WA_CLICKACTIVE 2
364 /* WM_NCCALCSIZE parameter structure */
365 typedef struct
367 RECT16 rgrc[3];
368 SEGPTR lppos;
369 } NCCALCSIZE_PARAMS16, *LPNCCALCSIZE_PARAMS16;
371 typedef struct
373 RECT32 rgrc[3];
374 WINDOWPOS32 *lppos;
375 } NCCALCSIZE_PARAMS32, *LPNCCALCSIZE_PARAMS32;
377 DECL_WINELIB_TYPE(NCCALCSIZE_PARAMS);
378 DECL_WINELIB_TYPE(LPNCCALCSIZE_PARAMS);
380 /* WM_NCCALCSIZE return flags */
381 #define WVR_ALIGNTOP 0x0010
382 #define WVR_ALIGNLEFT 0x0020
383 #define WVR_ALIGNBOTTOM 0x0040
384 #define WVR_ALIGNRIGHT 0x0080
385 #define WVR_HREDRAW 0x0100
386 #define WVR_VREDRAW 0x0200
387 #define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW)
388 #define WVR_VALIDRECTS 0x0400
390 /* WM_NCHITTEST return codes */
391 #define HTERROR (-2)
392 #define HTTRANSPARENT (-1)
393 #define HTNOWHERE 0
394 #define HTCLIENT 1
395 #define HTCAPTION 2
396 #define HTSYSMENU 3
397 #define HTSIZE 4
398 #define HTMENU 5
399 #define HTHSCROLL 6
400 #define HTVSCROLL 7
401 #define HTMINBUTTON 8
402 #define HTMAXBUTTON 9
403 #define HTLEFT 10
404 #define HTRIGHT 11
405 #define HTTOP 12
406 #define HTTOPLEFT 13
407 #define HTTOPRIGHT 14
408 #define HTBOTTOM 15
409 #define HTBOTTOMLEFT 16
410 #define HTBOTTOMRIGHT 17
411 #define HTBORDER 18
412 #define HTGROWBOX HTSIZE
413 #define HTREDUCE HTMINBUTTON
414 #define HTZOOM HTMAXBUTTON
416 /* WM_SYSCOMMAND parameters */
417 #define SC_SIZE 0xf000
418 #define SC_MOVE 0xf010
419 #define SC_MINIMIZE 0xf020
420 #define SC_MAXIMIZE 0xf030
421 #define SC_NEXTWINDOW 0xf040
422 #define SC_PREVWINDOW 0xf050
423 #define SC_CLOSE 0xf060
424 #define SC_VSCROLL 0xf070
425 #define SC_HSCROLL 0xf080
426 #define SC_MOUSEMENU 0xf090
427 #define SC_KEYMENU 0xf100
428 #define SC_ARRANGE 0xf110
429 #define SC_RESTORE 0xf120
430 #define SC_TASKLIST 0xf130
431 #define SC_SCREENSAVE 0xf140
432 #define SC_HOTKEY 0xf150
434 /****** Window classes ******/
436 typedef struct
438 UINT16 style;
439 WNDPROC16 lpfnWndProc WINE_PACKED;
440 INT16 cbClsExtra;
441 INT16 cbWndExtra;
442 HANDLE16 hInstance;
443 HICON16 hIcon;
444 HCURSOR16 hCursor;
445 HBRUSH16 hbrBackground;
446 SEGPTR lpszMenuName WINE_PACKED;
447 SEGPTR lpszClassName WINE_PACKED;
448 } WNDCLASS16, *LPWNDCLASS16;
450 typedef struct
452 UINT32 style;
453 WNDPROC32 lpfnWndProc;
454 INT32 cbClsExtra;
455 INT32 cbWndExtra;
456 HINSTANCE32 hInstance;
457 HICON32 hIcon;
458 HCURSOR32 hCursor;
459 HBRUSH32 hbrBackground;
460 LPCSTR lpszMenuName;
461 LPCSTR lpszClassName;
462 } WNDCLASS32A, *LPWNDCLASS32A;
464 typedef struct
466 UINT32 style;
467 WNDPROC32 lpfnWndProc;
468 INT32 cbClsExtra;
469 INT32 cbWndExtra;
470 HINSTANCE32 hInstance;
471 HICON32 hIcon;
472 HCURSOR32 hCursor;
473 HBRUSH32 hbrBackground;
474 LPCWSTR lpszMenuName;
475 LPCWSTR lpszClassName;
476 } WNDCLASS32W, *LPWNDCLASS32W;
478 DECL_WINELIB_TYPE_AW(WNDCLASS);
479 DECL_WINELIB_TYPE_AW(LPWNDCLASS);
481 typedef struct
483 UINT32 cbSize;
484 UINT32 style;
485 WNDPROC16 lpfnWndProc;
486 INT16 cbClsExtra;
487 INT16 cbWndExtra;
488 HANDLE16 hInstance;
489 HICON16 hIcon;
490 HCURSOR16 hCursor;
491 HBRUSH16 hbrBackground;
492 SEGPTR lpszMenuName;
493 SEGPTR lpszClassName;
494 HICON16 hIconSm;
495 } WNDCLASSEX16, *LPWNDCLASSEX16;
497 typedef struct
499 UINT32 cbSize;
500 UINT32 style;
501 WNDPROC32 lpfnWndProc;
502 INT32 cbClsExtra;
503 INT32 cbWndExtra;
504 HINSTANCE32 hInstance;
505 HICON32 hIcon;
506 HCURSOR32 hCursor;
507 HBRUSH32 hbrBackground;
508 LPCSTR lpszMenuName;
509 LPCSTR lpszClassName;
510 HICON32 hIconSm;
511 } WNDCLASSEX32A, *LPWNDCLASSEX32A;
513 typedef struct
515 UINT32 cbSize;
516 UINT32 style;
517 WNDPROC32 lpfnWndProc;
518 INT32 cbClsExtra;
519 INT32 cbWndExtra;
520 HINSTANCE32 hInstance;
521 HICON32 hIcon;
522 HCURSOR32 hCursor;
523 HBRUSH32 hbrBackground;
524 LPCWSTR lpszMenuName;
525 LPCWSTR lpszClassName;
526 HICON32 hIconSm;
527 } WNDCLASSEX32W, *LPWNDCLASSEX32W;
529 DECL_WINELIB_TYPE_AW(WNDCLASSEX);
530 DECL_WINELIB_TYPE_AW(LPWNDCLASSEX);
532 #define CS_VREDRAW 0x0001
533 #define CS_HREDRAW 0x0002
534 #define CS_KEYCVTWINDOW 0x0004
535 #define CS_DBLCLKS 0x0008
536 #define CS_OWNDC 0x0020
537 #define CS_CLASSDC 0x0040
538 #define CS_PARENTDC 0x0080
539 #define CS_NOKEYCVT 0x0100
540 #define CS_NOCLOSE 0x0200
541 #define CS_SAVEBITS 0x0800
542 #define CS_BYTEALIGNCLIENT 0x1000
543 #define CS_BYTEALIGNWINDOW 0x2000
544 #define CS_GLOBALCLASS 0x4000
546 /* Offsets for GetClassLong() and GetClassWord() */
547 #define GCL_MENUNAME (-8)
548 #define GCW_HBRBACKGROUND (-10)
549 #define GCL_HBRBACKGROUND GCW_HBRBACKGROUND
550 #define GCW_HCURSOR (-12)
551 #define GCL_HCURSOR GCW_HCURSOR
552 #define GCW_HICON (-14)
553 #define GCL_HICON GCW_HICON
554 #define GCW_HMODULE (-16)
555 #define GCL_HMODULE GCW_HMODULE
556 #define GCW_CBWNDEXTRA (-18)
557 #define GCL_CBWNDEXTRA GCW_CBWNDEXTRA
558 #define GCW_CBCLSEXTRA (-20)
559 #define GCL_CBCLSEXTRA GCW_CBCLSEXTRA
560 #define GCL_WNDPROC (-24)
561 #define GCW_STYLE (-26)
562 #define GCL_STYLE GCW_STYLE
563 #define GCW_ATOM (-32)
564 #define GCW_HICONSM (-34)
565 #define GCL_HICONSM GCW_HICONSM
567 /***** Window hooks *****/
569 /* Hook values */
570 #define WH_MIN (-1)
571 #define WH_MSGFILTER (-1)
572 #define WH_JOURNALRECORD 0
573 #define WH_JOURNALPLAYBACK 1
574 #define WH_KEYBOARD 2
575 #define WH_GETMESSAGE 3
576 #define WH_CALLWNDPROC 4
577 #define WH_CBT 5
578 #define WH_SYSMSGFILTER 6
579 #define WH_MOUSE 7
580 #define WH_HARDWARE 8
581 #define WH_DEBUG 9
582 #define WH_SHELL 10
583 #define WH_FOREGROUNDIDLE 11
584 #define WH_CALLWNDPROCRET 12
585 #define WH_MAX 12
587 #define WH_MINHOOK WH_MIN
588 #define WH_MAXHOOK WH_MAX
589 #define WH_NB_HOOKS (WH_MAXHOOK-WH_MINHOOK+1)
591 /* Hook action codes */
592 #define HC_ACTION 0
593 #define HC_GETNEXT 1
594 #define HC_SKIP 2
595 #define HC_NOREMOVE 3
596 #define HC_NOREM HC_NOREMOVE
597 #define HC_SYSMODALON 4
598 #define HC_SYSMODALOFF 5
600 /* CallMsgFilter() values */
601 #define MSGF_DIALOGBOX 0
602 #define MSGF_MESSAGEBOX 1
603 #define MSGF_MENU 2
604 #define MSGF_MOVE 3
605 #define MSGF_SIZE 4
606 #define MSGF_SCROLLBAR 5
607 #define MSGF_NEXTWINDOW 6
608 #define MSGF_MAINLOOP 8
609 #define MSGF_USER 4096
611 /* Windows Exit Procedure flag values */
612 #define WEP_FREE_DLL 0
613 #define WEP_SYSTEM_EXIT 1
615 /* Journalling hook structure */
617 typedef struct
619 UINT16 message;
620 UINT16 paramL;
621 UINT16 paramH;
622 DWORD time WINE_PACKED;
623 } EVENTMSG16, *LPEVENTMSG16;
625 typedef struct
627 UINT32 message;
628 UINT32 paramL;
629 UINT32 paramH;
630 DWORD time;
631 HWND32 hwnd;
632 } EVENTMSG32, *LPEVENTMSG32;
634 DECL_WINELIB_TYPE(EVENTMSG);
635 DECL_WINELIB_TYPE(LPEVENTMSG);
637 /* Mouse hook structure */
639 typedef struct
641 POINT16 pt;
642 HWND16 hwnd;
643 UINT16 wHitTestCode;
644 DWORD dwExtraInfo;
645 } MOUSEHOOKSTRUCT16, *LPMOUSEHOOKSTRUCT16;
647 typedef struct
649 POINT32 pt;
650 HWND32 hwnd;
651 UINT32 wHitTestCode;
652 DWORD dwExtraInfo;
653 } MOUSEHOOKSTRUCT32, *LPMOUSEHOOKSTRUCT32;
655 DECL_WINELIB_TYPE(MOUSEHOOKSTRUCT);
656 DECL_WINELIB_TYPE(LPMOUSEHOOKSTRUCT);
658 /* Hardware hook structure */
660 typedef struct
662 HWND16 hWnd;
663 UINT16 wMessage;
664 WPARAM16 wParam;
665 LPARAM lParam WINE_PACKED;
666 } HARDWAREHOOKSTRUCT16, *LPHARDWAREHOOKSTRUCT16;
668 typedef struct
670 HWND32 hWnd;
671 UINT32 wMessage;
672 WPARAM32 wParam;
673 LPARAM lParam;
674 } HARDWAREHOOKSTRUCT32, *LPHARDWAREHOOKSTRUCT32;
676 DECL_WINELIB_TYPE(HARDWAREHOOKSTRUCT);
677 DECL_WINELIB_TYPE(LPHARDWAREHOOKSTRUCT);
679 /* CBT hook values */
680 #define HCBT_MOVESIZE 0
681 #define HCBT_MINMAX 1
682 #define HCBT_QS 2
683 #define HCBT_CREATEWND 3
684 #define HCBT_DESTROYWND 4
685 #define HCBT_ACTIVATE 5
686 #define HCBT_CLICKSKIPPED 6
687 #define HCBT_KEYSKIPPED 7
688 #define HCBT_SYSCOMMAND 8
689 #define HCBT_SETFOCUS 9
691 /* CBT hook structures */
693 typedef struct
695 CREATESTRUCT16 *lpcs;
696 HWND16 hwndInsertAfter;
697 } CBT_CREATEWND16, *LPCBT_CREATEWND16;
699 typedef struct
701 CREATESTRUCT32A *lpcs;
702 HWND32 hwndInsertAfter;
703 } CBT_CREATEWND32A, *LPCBT_CREATEWND32A;
705 typedef struct
707 CREATESTRUCT32W *lpcs;
708 HWND32 hwndInsertAfter;
709 } CBT_CREATEWND32W, *LPCBT_CREATEWND32W;
711 DECL_WINELIB_TYPE_AW(CBT_CREATEWND);
712 DECL_WINELIB_TYPE_AW(LPCBT_CREATEWND);
714 typedef struct
716 BOOL16 fMouse;
717 HWND16 hWndActive;
718 } CBTACTIVATESTRUCT16, *LPCBTACTIVATESTRUCT16;
720 typedef struct
722 BOOL32 fMouse;
723 HWND32 hWndActive;
724 } CBTACTIVATESTRUCT32, *LPCBTACTIVATESTRUCT32;
726 DECL_WINELIB_TYPE(CBTACTIVATESTRUCT);
727 DECL_WINELIB_TYPE(LPCBTACTIVATESTRUCT);
729 /* Shell hook values */
730 #define HSHELL_WINDOWCREATED 1
731 #define HSHELL_WINDOWDESTROYED 2
732 #define HSHELL_ACTIVATESHELLWINDOW 3
734 /* Debug hook structure */
736 typedef struct
738 HMODULE16 hModuleHook;
739 LPARAM reserved WINE_PACKED;
740 LPARAM lParam WINE_PACKED;
741 WPARAM16 wParam;
742 INT16 code;
743 } DEBUGHOOKINFO16, *LPDEBUGHOOKINFO16;
745 typedef struct
747 DWORD idThread;
748 DWORD idThreadInstaller;
749 LPARAM lParam;
750 WPARAM32 wParam;
751 INT32 code;
752 } DEBUGHOOKINFO32, *LPDEBUGHOOKINFO32;
754 DECL_WINELIB_TYPE(DEBUGHOOKINFO);
755 DECL_WINELIB_TYPE(LPDEBUGHOOKINFO);
757 /***** Dialogs *****/
759 /* cbWndExtra bytes for dialog class */
760 #define DLGWINDOWEXTRA 30
762 /* Dialog styles */
763 #define DS_ABSALIGN 0x001
764 #define DS_SYSMODAL 0x002
765 #define DS_LOCALEDIT 0x020
766 #define DS_SETFONT 0x040
767 #define DS_MODALFRAME 0x080
768 #define DS_NOIDLEMSG 0x100
770 /* Dialog messages */
771 #define DM_GETDEFID (WM_USER+0)
772 #define DM_SETDEFID (WM_USER+1)
774 #define DC_HASDEFID 0x534b
776 /* WM_GETDLGCODE values */
777 #define DLGC_WANTARROWS 0x0001
778 #define DLGC_WANTTAB 0x0002
779 #define DLGC_WANTALLKEYS 0x0004
780 #define DLGC_WANTMESSAGE 0x0004
781 #define DLGC_HASSETSEL 0x0008
782 #define DLGC_DEFPUSHBUTTON 0x0010
783 #define DLGC_UNDEFPUSHBUTTON 0x0020
784 #define DLGC_RADIOBUTTON 0x0040
785 #define DLGC_WANTCHARS 0x0080
786 #define DLGC_STATIC 0x0100
787 #define DLGC_BUTTON 0x2000
789 /* Standard dialog button IDs */
790 #define IDOK 1
791 #define IDCANCEL 2
792 #define IDABORT 3
793 #define IDRETRY 4
794 #define IDIGNORE 5
795 #define IDYES 6
796 #define IDNO 7
799 typedef struct
801 HWND16 hwnd;
802 UINT16 message;
803 WPARAM16 wParam;
804 LPARAM lParam WINE_PACKED;
805 DWORD time WINE_PACKED;
806 POINT16 pt WINE_PACKED;
807 } MSG16, *LPMSG16;
809 typedef struct
811 HWND32 hwnd;
812 UINT32 message;
813 WPARAM32 wParam;
814 LPARAM lParam;
815 DWORD time;
816 POINT32 pt;
817 } MSG32, *LPMSG32;
819 DECL_WINELIB_TYPE(MSG);
820 DECL_WINELIB_TYPE(LPMSG);
822 /* Raster operations */
824 #define R2_BLACK 1
825 #define R2_NOTMERGEPEN 2
826 #define R2_MASKNOTPEN 3
827 #define R2_NOTCOPYPEN 4
828 #define R2_MASKPENNOT 5
829 #define R2_NOT 6
830 #define R2_XORPEN 7
831 #define R2_NOTMASKPEN 8
832 #define R2_MASKPEN 9
833 #define R2_NOTXORPEN 10
834 #define R2_NOP 11
835 #define R2_MERGENOTPEN 12
836 #define R2_COPYPEN 13
837 #define R2_MERGEPENNOT 14
838 #define R2_MERGEPEN 15
839 #define R2_WHITE 16
841 #define SRCCOPY 0xcc0020
842 #define SRCPAINT 0xee0086
843 #define SRCAND 0x8800c6
844 #define SRCINVERT 0x660046
845 #define SRCERASE 0x440328
846 #define NOTSRCCOPY 0x330008
847 #define NOTSRCERASE 0x1100a6
848 #define MERGECOPY 0xc000ca
849 #define MERGEPAINT 0xbb0226
850 #define PATCOPY 0xf00021
851 #define PATPAINT 0xfb0a09
852 #define PATINVERT 0x5a0049
853 #define DSTINVERT 0x550009
854 #define BLACKNESS 0x000042
855 #define WHITENESS 0xff0062
857 /* StretchBlt() modes */
858 #define BLACKONWHITE 1
859 #define WHITEONBLACK 2
860 #define COLORONCOLOR 3
862 #define STRETCH_ANDSCANS BLACKONWHITE
863 #define STRETCH_ORSCANS WHITEONBLACK
864 #define STRETCH_DELETESCANS COLORONCOLOR
867 /* Colors */
869 typedef DWORD COLORREF;
871 #define RGB(r,g,b) ((COLORREF)((r) | ((g) << 8) | ((b) << 16)))
872 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
873 #define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (WORD)(i)))
875 #define GetRValue(rgb) ((rgb) & 0xff)
876 #define GetGValue(rgb) (((rgb) >> 8) & 0xff)
877 #define GetBValue(rgb) (((rgb) >> 16) & 0xff)
879 #define COLOR_SCROLLBAR 0
880 #define COLOR_BACKGROUND 1
881 #define COLOR_ACTIVECAPTION 2
882 #define COLOR_INACTIVECAPTION 3
883 #define COLOR_MENU 4
884 #define COLOR_WINDOW 5
885 #define COLOR_WINDOWFRAME 6
886 #define COLOR_MENUTEXT 7
887 #define COLOR_WINDOWTEXT 8
888 #define COLOR_CAPTIONTEXT 9
889 #define COLOR_ACTIVEBORDER 10
890 #define COLOR_INACTIVEBORDER 11
891 #define COLOR_APPWORKSPACE 12
892 #define COLOR_HIGHLIGHT 13
893 #define COLOR_HIGHLIGHTTEXT 14
894 #define COLOR_BTNFACE 15
895 #define COLOR_BTNSHADOW 16
896 #define COLOR_GRAYTEXT 17
897 #define COLOR_BTNTEXT 18
898 #define COLOR_INACTIVECAPTIONTEXT 19
899 #define COLOR_BTNHIGHLIGHT 20
901 /* WM_CTLCOLOR values */
902 #define CTLCOLOR_MSGBOX 0
903 #define CTLCOLOR_EDIT 1
904 #define CTLCOLOR_LISTBOX 2
905 #define CTLCOLOR_BTN 3
906 #define CTLCOLOR_DLG 4
907 #define CTLCOLOR_SCROLLBAR 5
908 #define CTLCOLOR_STATIC 6
910 /* Bitmaps */
912 typedef struct
914 INT16 bmType;
915 INT16 bmWidth;
916 INT16 bmHeight;
917 INT16 bmWidthBytes;
918 BYTE bmPlanes;
919 BYTE bmBitsPixel;
920 SEGPTR bmBits WINE_PACKED;
921 } BITMAP16, *LPBITMAP16;
923 typedef struct
925 INT32 bmType;
926 INT32 bmWidth;
927 INT32 bmHeight;
928 INT32 bmWidthBytes;
929 WORD bmPlanes;
930 WORD bmBitsPixel;
931 LPVOID bmBits WINE_PACKED;
932 } BITMAP32, *LPBITMAP32;
934 DECL_WINELIB_TYPE(BITMAP);
935 DECL_WINELIB_TYPE(LPBITMAP);
937 /* Brushes */
939 typedef struct
941 UINT16 lbStyle;
942 COLORREF lbColor WINE_PACKED;
943 INT16 lbHatch;
944 } LOGBRUSH16, *LPLOGBRUSH16;
946 typedef struct
948 UINT32 lbStyle;
949 COLORREF lbColor;
950 INT32 lbHatch;
951 } LOGBRUSH32, *LPLOGBRUSH32;
953 DECL_WINELIB_TYPE(LOGBRUSH);
954 DECL_WINELIB_TYPE(LPLOGBRUSH);
956 /* Brush styles */
957 #define BS_SOLID 0
958 #define BS_NULL 1
959 #define BS_HOLLOW 1
960 #define BS_HATCHED 2
961 #define BS_PATTERN 3
962 #define BS_INDEXED 4
963 #define BS_DIBPATTERN 5
965 /* Hatch styles */
966 #define HS_HORIZONTAL 0
967 #define HS_VERTICAL 1
968 #define HS_FDIAGONAL 2
969 #define HS_BDIAGONAL 3
970 #define HS_CROSS 4
971 #define HS_DIAGCROSS 5
973 /* Fonts */
975 #define LF_FACESIZE 32
976 #define LF_FULLFACESIZE 64
978 typedef struct
980 INT16 lfHeight;
981 INT16 lfWidth;
982 INT16 lfEscapement;
983 INT16 lfOrientation;
984 INT16 lfWeight;
985 BYTE lfItalic;
986 BYTE lfUnderline;
987 BYTE lfStrikeOut;
988 BYTE lfCharSet;
989 BYTE lfOutPrecision;
990 BYTE lfClipPrecision;
991 BYTE lfQuality;
992 BYTE lfPitchAndFamily;
993 CHAR lfFaceName[LF_FACESIZE] WINE_PACKED;
994 } LOGFONT16, *LPLOGFONT16;
996 typedef struct
998 INT32 lfHeight;
999 INT32 lfWidth;
1000 INT32 lfEscapement;
1001 INT32 lfOrientation;
1002 INT32 lfWeight;
1003 BYTE lfItalic;
1004 BYTE lfUnderline;
1005 BYTE lfStrikeOut;
1006 BYTE lfCharSet;
1007 BYTE lfOutPrecision;
1008 BYTE lfClipPrecision;
1009 BYTE lfQuality;
1010 BYTE lfPitchAndFamily;
1011 CHAR lfFaceName[LF_FACESIZE];
1012 } LOGFONT32A, *LPLOGFONT32A;
1014 typedef struct
1016 INT32 lfHeight;
1017 INT32 lfWidth;
1018 INT32 lfEscapement;
1019 INT32 lfOrientation;
1020 INT32 lfWeight;
1021 BYTE lfItalic;
1022 BYTE lfUnderline;
1023 BYTE lfStrikeOut;
1024 BYTE lfCharSet;
1025 BYTE lfOutPrecision;
1026 BYTE lfClipPrecision;
1027 BYTE lfQuality;
1028 BYTE lfPitchAndFamily;
1029 WCHAR lfFaceName[LF_FACESIZE];
1030 } LOGFONT32W, *LPLOGFONT32W;
1032 DECL_WINELIB_TYPE_AW(LOGFONT);
1033 DECL_WINELIB_TYPE_AW(LPLOGFONT);
1035 typedef struct
1037 LOGFONT16 elfLogFont;
1038 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1039 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
1040 } ENUMLOGFONT16, *LPENUMLOGFONT16;
1042 typedef struct
1044 LOGFONT32A elfLogFont;
1045 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1046 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
1047 } ENUMLOGFONT32A, *LPENUMLOGFONT32A;
1049 typedef struct
1051 LOGFONT32W elfLogFont;
1052 WCHAR elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1053 WCHAR elfStyle[LF_FACESIZE] WINE_PACKED;
1054 } ENUMLOGFONT32W, *LPENUMLOGFONT32W;
1056 typedef struct
1058 LOGFONT16 elfLogFont;
1059 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1060 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
1061 BYTE elfScript[LF_FACESIZE] WINE_PACKED;
1062 } ENUMLOGFONTEX16, *LPENUMLOGFONTEX16;
1064 typedef struct
1066 LOGFONT32A elfLogFont;
1067 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1068 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
1069 BYTE elfScript[LF_FACESIZE] WINE_PACKED;
1070 } ENUMLOGFONTEX32A,*LPENUMLOGFONTEX32A;
1072 typedef struct
1074 LOGFONT32W elfLogFont;
1075 WCHAR elfFullName[LF_FULLFACESIZE] WINE_PACKED;
1076 WCHAR elfStyle[LF_FACESIZE] WINE_PACKED;
1077 WCHAR elfScript[LF_FACESIZE] WINE_PACKED;
1078 } ENUMLOGFONTEX32W,*LPENUMLOGFONTEX32W;
1080 DECL_WINELIB_TYPE_AW(ENUMLOGFONT);
1081 DECL_WINELIB_TYPE_AW(LPENUMLOGFONT);
1082 DECL_WINELIB_TYPE_AW(LPENUMLOGFONTEX);
1084 typedef struct
1086 DWORD fsUsb[4];
1087 DWORD fsCsb[2];
1088 } FONTSIGNATURE,*LPFONTSIGNATURE;
1091 /* lfWeight values */
1092 #define FW_DONTCARE 0
1093 #define FW_THIN 100
1094 #define FW_EXTRALIGHT 200
1095 #define FW_ULTRALIGHT 200
1096 #define FW_LIGHT 300
1097 #define FW_NORMAL 400
1098 #define FW_REGULAR 400
1099 #define FW_MEDIUM 500
1100 #define FW_SEMIBOLD 600
1101 #define FW_DEMIBOLD 600
1102 #define FW_BOLD 700
1103 #define FW_EXTRABOLD 800
1104 #define FW_ULTRABOLD 800
1105 #define FW_HEAVY 900
1106 #define FW_BLACK 900
1108 /* lfCharSet values */
1109 #define ANSI_CHARSET 0
1110 #define DEFAULT_CHARSET 1
1111 #define SYMBOL_CHARSET 2
1112 #define SHIFTJIS_CHARSET 128
1113 #define HANGEUL_CHARSET 129
1114 #define CHINESEBIG5_CHARSET 136
1115 #define OEM_CHARSET 255
1117 /* lfOutPrecision values */
1118 #define OUT_DEFAULT_PRECIS 0
1119 #define OUT_STRING_PRECIS 1
1120 #define OUT_CHARACTER_PRECIS 2
1121 #define OUT_STROKE_PRECIS 3
1122 #define OUT_TT_PRECIS 4
1123 #define OUT_DEVICE_PRECIS 5
1124 #define OUT_RASTER_PRECIS 6
1125 #define OUT_TT_ONLY_PRECIS 7
1127 /* lfClipPrecision values */
1128 #define CLIP_DEFAULT_PRECIS 0x00
1129 #define CLIP_CHARACTER_PRECIS 0x01
1130 #define CLIP_STROKE_PRECIS 0x02
1131 #define CLIP_MASK 0x0F
1132 #define CLIP_LH_ANGLES 0x10
1133 #define CLIP_TT_ALWAYS 0x20
1134 #define CLIP_EMBEDDED 0x80
1136 /* lfQuality values */
1137 #define DEFAULT_QUALITY 0
1138 #define DRAFT_QUALITY 1
1139 #define PROOF_QUALITY 2
1141 /* lfPitchAndFamily pitch values */
1142 #define DEFAULT_PITCH 0x00
1143 #define FIXED_PITCH 0x01
1144 #define VARIABLE_PITCH 0x02
1145 #define FF_DONTCARE 0x00
1146 #define FF_ROMAN 0x10
1147 #define FF_SWISS 0x20
1148 #define FF_MODERN 0x30
1149 #define FF_SCRIPT 0x40
1150 #define FF_DECORATIVE 0x50
1152 typedef struct
1154 INT16 tmHeight;
1155 INT16 tmAscent;
1156 INT16 tmDescent;
1157 INT16 tmInternalLeading;
1158 INT16 tmExternalLeading;
1159 INT16 tmAveCharWidth;
1160 INT16 tmMaxCharWidth;
1161 INT16 tmWeight;
1162 BYTE tmItalic;
1163 BYTE tmUnderlined;
1164 BYTE tmStruckOut;
1165 BYTE tmFirstChar;
1166 BYTE tmLastChar;
1167 BYTE tmDefaultChar;
1168 BYTE tmBreakChar;
1169 BYTE tmPitchAndFamily;
1170 BYTE tmCharSet;
1171 INT16 tmOverhang WINE_PACKED;
1172 INT16 tmDigitizedAspectX WINE_PACKED;
1173 INT16 tmDigitizedAspectY WINE_PACKED;
1174 } TEXTMETRIC16, *LPTEXTMETRIC16;
1176 typedef struct
1178 INT32 tmHeight;
1179 INT32 tmAscent;
1180 INT32 tmDescent;
1181 INT32 tmInternalLeading;
1182 INT32 tmExternalLeading;
1183 INT32 tmAveCharWidth;
1184 INT32 tmMaxCharWidth;
1185 INT32 tmWeight;
1186 INT32 tmOverhang;
1187 INT32 tmDigitizedAspectX;
1188 INT32 tmDigitizedAspectY;
1189 BYTE tmFirstChar;
1190 BYTE tmLastChar;
1191 BYTE tmDefaultChar;
1192 BYTE tmBreakChar;
1193 BYTE tmItalic;
1194 BYTE tmUnderlined;
1195 BYTE tmStruckOut;
1196 BYTE tmPitchAndFamily;
1197 BYTE tmCharSet;
1198 } TEXTMETRIC32A, *LPTEXTMETRIC32A;
1200 typedef struct
1202 INT32 tmHeight;
1203 INT32 tmAscent;
1204 INT32 tmDescent;
1205 INT32 tmInternalLeading;
1206 INT32 tmExternalLeading;
1207 INT32 tmAveCharWidth;
1208 INT32 tmMaxCharWidth;
1209 INT32 tmWeight;
1210 INT32 tmOverhang;
1211 INT32 tmDigitizedAspectX;
1212 INT32 tmDigitizedAspectY;
1213 WCHAR tmFirstChar;
1214 WCHAR tmLastChar;
1215 WCHAR tmDefaultChar;
1216 WCHAR tmBreakChar;
1217 BYTE tmItalic;
1218 BYTE tmUnderlined;
1219 BYTE tmStruckOut;
1220 BYTE tmPitchAndFamily;
1221 BYTE tmCharSet;
1222 } TEXTMETRIC32W, *LPTEXTMETRIC32W;
1224 DECL_WINELIB_TYPE_AW(TEXTMETRIC);
1225 DECL_WINELIB_TYPE_AW(LPTEXTMETRIC);
1227 /* ntmFlags field flags */
1228 #define NTM_REGULAR 0x00000040L
1229 #define NTM_BOLD 0x00000020L
1230 #define NTM_ITALIC 0x00000001L
1232 typedef struct
1234 INT16 tmHeight;
1235 INT16 tmAscent;
1236 INT16 tmDescent;
1237 INT16 tmInternalLeading;
1238 INT16 tmExternalLeading;
1239 INT16 tmAveCharWidth;
1240 INT16 tmMaxCharWidth;
1241 INT16 tmWeight;
1242 BYTE tmItalic;
1243 BYTE tmUnderlined;
1244 BYTE tmStruckOut;
1245 BYTE tmFirstChar;
1246 BYTE tmLastChar;
1247 BYTE tmDefaultChar;
1248 BYTE tmBreakChar;
1249 BYTE tmPitchAndFamily;
1250 BYTE tmCharSet;
1251 INT16 tmOverhang WINE_PACKED;
1252 INT16 tmDigitizedAspectX WINE_PACKED;
1253 INT16 tmDigitizedAspectY WINE_PACKED;
1254 DWORD ntmFlags;
1255 UINT16 ntmSizeEM;
1256 UINT16 ntmCellHeight;
1257 UINT16 ntmAvgWidth;
1258 } NEWTEXTMETRIC16,*LPNEWTEXTMETRIC16;
1260 typedef struct
1262 INT32 tmHeight;
1263 INT32 tmAscent;
1264 INT32 tmDescent;
1265 INT32 tmInternalLeading;
1266 INT32 tmExternalLeading;
1267 INT32 tmAveCharWidth;
1268 INT32 tmMaxCharWidth;
1269 INT32 tmWeight;
1270 INT32 tmOverhang;
1271 INT32 tmDigitizedAspectX;
1272 INT32 tmDigitizedAspectY;
1273 BYTE tmFirstChar;
1274 BYTE tmLastChar;
1275 BYTE tmDefaultChar;
1276 BYTE tmBreakChar;
1277 BYTE tmItalic;
1278 BYTE tmUnderlined;
1279 BYTE tmStruckOut;
1280 BYTE tmPitchAndFamily;
1281 BYTE tmCharSet;
1282 DWORD ntmFlags;
1283 UINT32 ntmSizeEM;
1284 UINT32 ntmCellHeight;
1285 UINT32 ntmAvgWidth;
1286 } NEWTEXTMETRIC32A, *LPNEWTEXTMETRIC32A;
1288 typedef struct
1290 INT32 tmHeight;
1291 INT32 tmAscent;
1292 INT32 tmDescent;
1293 INT32 tmInternalLeading;
1294 INT32 tmExternalLeading;
1295 INT32 tmAveCharWidth;
1296 INT32 tmMaxCharWidth;
1297 INT32 tmWeight;
1298 INT32 tmOverhang;
1299 INT32 tmDigitizedAspectX;
1300 INT32 tmDigitizedAspectY;
1301 WCHAR tmFirstChar;
1302 WCHAR tmLastChar;
1303 WCHAR tmDefaultChar;
1304 WCHAR tmBreakChar;
1305 BYTE tmItalic;
1306 BYTE tmUnderlined;
1307 BYTE tmStruckOut;
1308 BYTE tmPitchAndFamily;
1309 BYTE tmCharSet;
1310 DWORD ntmFlags;
1311 UINT32 ntmSizeEM;
1312 UINT32 ntmCellHeight;
1313 UINT32 ntmAvgWidth;
1314 } NEWTEXTMETRIC32W, *LPNEWTEXTMETRIC32W;
1316 DECL_WINELIB_TYPE_AW(NEWTEXTMETRIC);
1317 DECL_WINELIB_TYPE_AW(LPNEWTEXTMETRIC);
1319 typedef struct
1321 NEWTEXTMETRIC16 ntmetm;
1322 FONTSIGNATURE ntmeFontSignature;
1323 } NEWTEXTMETRICEX16,*LPNEWTEXTMETRICEX16;
1325 typedef struct
1327 NEWTEXTMETRIC32A ntmetm;
1328 FONTSIGNATURE ntmeFontSignature;
1329 } NEWTEXTMETRICEX32A,*LPNEWTEXTMETRICEX32A;
1331 typedef struct
1333 NEWTEXTMETRIC32W ntmetm;
1334 FONTSIGNATURE ntmeFontSignature;
1335 } NEWTEXTMETRICEX32W,*LPNEWTEXTMETRICEX32W;
1337 DECL_WINELIB_TYPE_AW(NEWTEXTMETRICEX);
1338 DECL_WINELIB_TYPE_AW(LPNEWTEXTMETRICEX);
1341 typedef INT16 (*FONTENUMPROC16)(SEGPTR,SEGPTR,UINT16,LPARAM);
1342 typedef INT32 (*FONTENUMPROC32A)(LPENUMLOGFONT32A,LPNEWTEXTMETRIC32A,UINT32,LPARAM);
1343 typedef INT32 (*FONTENUMPROC32W)(LPENUMLOGFONT32W,LPNEWTEXTMETRIC32W,UINT32,LPARAM);
1344 DECL_WINELIB_TYPE_AW(FONTENUMPROC);
1346 typedef INT16 (*FONTENUMPROCEX16)(SEGPTR,SEGPTR,UINT16,LPARAM);
1347 typedef INT32 (*FONTENUMPROCEX32A)(LPENUMLOGFONTEX32A,LPNEWTEXTMETRICEX32A,UINT32,LPARAM);
1348 typedef INT32 (*FONTENUMPROCEX32W)(LPENUMLOGFONTEX32W,LPNEWTEXTMETRICEX32W,UINT32,LPARAM);
1349 DECL_WINELIB_TYPE_AW(FONTENUMPROCEX);
1351 /* tmPitchAndFamily values */
1352 #define TMPF_FIXED_PITCH 1
1353 #define TMPF_VECTOR 2
1354 #define TMPF_TRUETYPE 4
1355 #define TMPF_DEVICE 8
1357 /* Text alignment */
1358 #define TA_NOUPDATECP 0x00
1359 #define TA_UPDATECP 0x01
1360 #define TA_LEFT 0x00
1361 #define TA_RIGHT 0x02
1362 #define TA_CENTER 0x06
1363 #define TA_TOP 0x00
1364 #define TA_BOTTOM 0x08
1365 #define TA_BASELINE 0x18
1367 /* ExtTextOut() parameters */
1368 #define ETO_GRAYED 0x01
1369 #define ETO_OPAQUE 0x02
1370 #define ETO_CLIPPED 0x04
1372 /* for GetCharABCWidths() */
1373 typedef struct
1375 INT16 abcA;
1376 UINT16 abcB;
1377 INT16 abcC;
1378 } ABC16, *LPABC16;
1380 typedef struct
1382 INT32 abcA;
1383 UINT32 abcB;
1384 INT32 abcC;
1385 } ABC32, *LPABC32;
1387 DECL_WINELIB_TYPE(ABC);
1388 DECL_WINELIB_TYPE(LPABC);
1390 /* Rasterizer status */
1391 typedef struct
1393 WORD nSize;
1394 WORD wFlags;
1395 WORD nLanguageID;
1396 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
1398 #define TT_AVAILABLE 0x0001
1399 #define TT_ENABLED 0x0002
1401 /* Get/SetSystemPaletteUse() values */
1402 #define SYSPAL_STATIC 1
1403 #define SYSPAL_NOSTATIC 2
1405 typedef struct tagPALETTEENTRY
1407 BYTE peRed, peGreen, peBlue, peFlags;
1408 } PALETTEENTRY, *LPPALETTEENTRY;
1410 /* Logical palette entry flags */
1411 #define PC_RESERVED 0x01
1412 #define PC_EXPLICIT 0x02
1413 #define PC_NOCOLLAPSE 0x04
1415 typedef struct
1417 WORD palVersion;
1418 WORD palNumEntries;
1419 PALETTEENTRY palPalEntry[1] WINE_PACKED;
1420 } LOGPALETTE, *LPLOGPALETTE;
1422 /* Pens */
1424 typedef struct
1426 UINT16 lopnStyle;
1427 POINT16 lopnWidth WINE_PACKED;
1428 COLORREF lopnColor WINE_PACKED;
1429 } LOGPEN16, *LPLOGPEN16;
1431 typedef struct
1433 UINT32 lopnStyle;
1434 POINT32 lopnWidth WINE_PACKED;
1435 COLORREF lopnColor WINE_PACKED;
1436 } LOGPEN32, *LPLOGPEN32;
1438 DECL_WINELIB_TYPE(LOGPEN);
1439 DECL_WINELIB_TYPE(LPLOGPEN);
1441 #define PS_SOLID 0
1442 #define PS_DASH 1
1443 #define PS_DOT 2
1444 #define PS_DASHDOT 3
1445 #define PS_DASHDOTDOT 4
1446 #define PS_NULL 5
1447 #define PS_INSIDEFRAME 6
1449 /* Regions */
1451 #define ERROR 0
1452 #define NULLREGION 1
1453 #define SIMPLEREGION 2
1454 #define COMPLEXREGION 3
1456 #define RGN_AND 1
1457 #define RGN_OR 2
1458 #define RGN_XOR 3
1459 #define RGN_DIFF 4
1460 #define RGN_COPY 5
1462 /* Device contexts */
1464 /* GetDCEx flags */
1465 #define DCX_WINDOW 0x00000001
1466 #define DCX_CACHE 0x00000002
1467 #define DCX_CLIPCHILDREN 0x00000008
1468 #define DCX_CLIPSIBLINGS 0x00000010
1469 #define DCX_PARENTCLIP 0x00000020
1470 #define DCX_EXCLUDERGN 0x00000040
1471 #define DCX_INTERSECTRGN 0x00000080
1472 #define DCX_LOCKWINDOWUPDATE 0x00000400
1473 #define DCX_USESTYLE 0x00010000
1475 /* Polygon modes */
1476 #define ALTERNATE 1
1477 #define WINDING 2
1479 /* Background modes */
1480 #ifdef TRANSPARENT /*Apparently some broken svr4 includes define TRANSPARENT*/
1481 #undef TRANSPARENT
1482 #endif
1483 #define TRANSPARENT 1
1484 #define OPAQUE 2
1486 /* Map modes */
1487 #define MM_TEXT 1
1488 #define MM_LOMETRIC 2
1489 #define MM_HIMETRIC 3
1490 #define MM_LOENGLISH 4
1491 #define MM_HIENGLISH 5
1492 #define MM_TWIPS 6
1493 #define MM_ISOTROPIC 7
1494 #define MM_ANISOTROPIC 8
1496 /* Coordinate modes */
1497 #define ABSOLUTE 1
1498 #define RELATIVE 2
1500 /* Flood fill modes */
1501 #define FLOODFILLBORDER 0
1502 #define FLOODFILLSURFACE 1
1504 /* Device parameters for GetDeviceCaps() */
1505 #define DRIVERVERSION 0
1506 #define TECHNOLOGY 2
1507 #define HORZSIZE 4
1508 #define VERTSIZE 6
1509 #define HORZRES 8
1510 #define VERTRES 10
1511 #define BITSPIXEL 12
1512 #define PLANES 14
1513 #define NUMBRUSHES 16
1514 #define NUMPENS 18
1515 #define NUMMARKERS 20
1516 #define NUMFONTS 22
1517 #define NUMCOLORS 24
1518 #define PDEVICESIZE 26
1519 #define CURVECAPS 28
1520 #define LINECAPS 30
1521 #define POLYGONALCAPS 32
1522 #define TEXTCAPS 34
1523 #define CLIPCAPS 36
1524 #define RASTERCAPS 38
1525 #define ASPECTX 40
1526 #define ASPECTY 42
1527 #define ASPECTXY 44
1528 #define LOGPIXELSX 88
1529 #define LOGPIXELSY 90
1530 #define SIZEPALETTE 104
1531 #define NUMRESERVED 106
1532 #define COLORRES 108
1534 /* TECHNOLOGY */
1535 #define DT_PLOTTER 0
1536 #define DT_RASDISPLAY 1
1537 #define DT_RASPRINTER 2
1538 #define DT_RASCAMERA 3
1539 #define DT_CHARSTREAM 4
1540 #define DT_METAFILE 5
1541 #define DT_DISPFILE 6
1543 /* CURVECAPS */
1544 #define CC_NONE 0x0000
1545 #define CC_CIRCLES 0x0001
1546 #define CC_PIE 0x0002
1547 #define CC_CHORD 0x0004
1548 #define CC_ELLIPSES 0x0008
1549 #define CC_WIDE 0x0010
1550 #define CC_STYLED 0x0020
1551 #define CC_WIDESTYLED 0x0040
1552 #define CC_INTERIORS 0x0080
1553 #define CC_ROUNDRECT 0x0100
1555 /* LINECAPS */
1556 #define LC_NONE 0x0000
1557 #define LC_POLYLINE 0x0002
1558 #define LC_MARKER 0x0004
1559 #define LC_POLYMARKER 0x0008
1560 #define LC_WIDE 0x0010
1561 #define LC_STYLED 0x0020
1562 #define LC_WIDESTYLED 0x0040
1563 #define LC_INTERIORS 0x0080
1565 /* POLYGONALCAPS */
1566 #define PC_NONE 0x0000
1567 #define PC_POLYGON 0x0001
1568 #define PC_RECTANGLE 0x0002
1569 #define PC_WINDPOLYGON 0x0004
1570 #define PC_SCANLINE 0x0008
1571 #define PC_WIDE 0x0010
1572 #define PC_STYLED 0x0020
1573 #define PC_WIDESTYLED 0x0040
1574 #define PC_INTERIORS 0x0080
1576 /* TEXTCAPS */
1577 #define TC_OP_CHARACTER 0x0001
1578 #define TC_OP_STROKE 0x0002
1579 #define TC_CP_STROKE 0x0004
1580 #define TC_CR_90 0x0008
1581 #define TC_CR_ANY 0x0010
1582 #define TC_SF_X_YINDEP 0x0020
1583 #define TC_SA_DOUBLE 0x0040
1584 #define TC_SA_INTEGER 0x0080
1585 #define TC_SA_CONTIN 0x0100
1586 #define TC_EA_DOUBLE 0x0200
1587 #define TC_IA_ABLE 0x0400
1588 #define TC_UA_ABLE 0x0800
1589 #define TC_SO_ABLE 0x1000
1590 #define TC_RA_ABLE 0x2000
1591 #define TC_VA_ABLE 0x4000
1592 #define TC_RESERVED 0x8000
1594 /* CLIPCAPS */
1595 #define CP_NONE 0x0000
1596 #define CP_RECTANGLE 0x0001
1597 #define CP_REGION 0x0002
1599 /* RASTERCAPS */
1600 #define RC_NONE 0x0000
1601 #define RC_BITBLT 0x0001
1602 #define RC_BANDING 0x0002
1603 #define RC_SCALING 0x0004
1604 #define RC_BITMAP64 0x0008
1605 #define RC_GDI20_OUTPUT 0x0010
1606 #define RC_GDI20_STATE 0x0020
1607 #define RC_SAVEBITMAP 0x0040
1608 #define RC_DI_BITMAP 0x0080
1609 #define RC_PALETTE 0x0100
1610 #define RC_DIBTODEV 0x0200
1611 #define RC_BIGFONT 0x0400
1612 #define RC_STRETCHBLT 0x0800
1613 #define RC_FLOODFILL 0x1000
1614 #define RC_STRETCHDIB 0x2000
1615 #define RC_OP_DX_OUTPUT 0x4000
1616 #define RC_DEVBITS 0x8000
1618 /* GetSystemMetrics() codes */
1619 #define SM_CXSCREEN 0
1620 #define SM_CYSCREEN 1
1621 #define SM_CXVSCROLL 2
1622 #define SM_CYHSCROLL 3
1623 #define SM_CYCAPTION 4
1624 #define SM_CXBORDER 5
1625 #define SM_CYBORDER 6
1626 #define SM_CXDLGFRAME 7
1627 #define SM_CYDLGFRAME 8
1628 #define SM_CYVTHUMB 9
1629 #define SM_CXHTHUMB 10
1630 #define SM_CXICON 11
1631 #define SM_CYICON 12
1632 #define SM_CXCURSOR 13
1633 #define SM_CYCURSOR 14
1634 #define SM_CYMENU 15
1635 #define SM_CXFULLSCREEN 16
1636 #define SM_CYFULLSCREEN 17
1637 #define SM_CYKANJIWINDOW 18
1638 #define SM_MOUSEPRESENT 19
1639 #define SM_CYVSCROLL 20
1640 #define SM_CXHSCROLL 21
1641 #define SM_DEBUG 22
1642 #define SM_SWAPBUTTON 23
1643 #define SM_RESERVED1 24
1644 #define SM_RESERVED2 25
1645 #define SM_RESERVED3 26
1646 #define SM_RESERVED4 27
1647 #define SM_CXMIN 28
1648 #define SM_CYMIN 29
1649 #define SM_CXSIZE 30
1650 #define SM_CYSIZE 31
1651 #define SM_CXFRAME 32
1652 #define SM_CYFRAME 33
1653 #define SM_CXMINTRACK 34
1654 #define SM_CYMINTRACK 35
1655 #define SM_CXDOUBLECLK 36
1656 #define SM_CYDOUBLECLK 37
1657 #define SM_CXICONSPACING 38
1658 #define SM_CYICONSPACING 39
1659 #define SM_MENUDROPALIGNMENT 40
1660 #define SM_PENWINDOWS 41
1661 #define SM_DBCSENABLED 42
1663 #define SM_CMETRICS 43
1665 /* Device-independent bitmaps */
1667 typedef struct { BYTE rgbBlue, rgbGreen, rgbRed, rgbReserved; } RGBQUAD;
1668 typedef struct { BYTE rgbtBlue, rgbtGreen, rgbtRed; } RGBTRIPLE;
1670 typedef struct
1672 UINT16 bfType;
1673 DWORD bfSize WINE_PACKED;
1674 UINT16 bfReserved1 WINE_PACKED;
1675 UINT16 bfReserved2 WINE_PACKED;
1676 DWORD bfOffBits WINE_PACKED;
1677 } BITMAPFILEHEADER;
1679 typedef struct
1681 DWORD biSize;
1682 LONG biWidth;
1683 LONG biHeight;
1684 WORD biPlanes;
1685 WORD biBitCount;
1686 DWORD biCompression;
1687 DWORD biSizeImage;
1688 LONG biXPelsPerMeter;
1689 LONG biYPelsPerMeter;
1690 DWORD biClrUsed;
1691 DWORD biClrImportant;
1692 } BITMAPINFOHEADER, *LPBITMAPINFOHEADER;
1694 /* biCompression */
1695 #define BI_RGB 0
1696 #define BI_RLE8 1
1697 #define BI_RLE4 2
1699 typedef struct {
1700 BITMAPINFOHEADER bmiHeader;
1701 RGBQUAD bmiColors[1];
1702 } BITMAPINFO;
1703 typedef BITMAPINFO *LPBITMAPINFO;
1704 typedef BITMAPINFO *NPBITMAPINFO;
1705 typedef BITMAPINFO *PBITMAPINFO;
1707 typedef struct
1709 DWORD bcSize;
1710 UINT16 bcWidth;
1711 UINT16 bcHeight;
1712 UINT16 bcPlanes;
1713 UINT16 bcBitCount;
1714 } BITMAPCOREHEADER;
1716 typedef struct
1718 BITMAPCOREHEADER bmciHeader;
1719 RGBTRIPLE bmciColors[1];
1720 } BITMAPCOREINFO, *LPBITMAPCOREINFO;
1722 #define DIB_RGB_COLORS 0
1723 #define DIB_PAL_COLORS 1
1724 #define CBM_INIT 4
1727 /* Cursors / Icons */
1729 typedef struct
1731 POINT16 ptHotSpot;
1732 WORD nWidth;
1733 WORD nHeight;
1734 WORD nWidthBytes;
1735 BYTE bPlanes;
1736 BYTE bBitsPerPixel;
1737 } CURSORICONINFO;
1741 typedef struct {
1742 BYTE i; /* much more .... */
1743 } KANJISTRUCT;
1744 typedef KANJISTRUCT *LPKANJISTRUCT;
1745 typedef KANJISTRUCT *NPKANJISTRUCT;
1746 typedef KANJISTRUCT *PKANJISTRUCT;
1748 #define OFS_MAXPATHNAME 128
1749 typedef struct
1751 BYTE cBytes;
1752 BYTE fFixedDisk;
1753 WORD nErrCode;
1754 BYTE reserved[4];
1755 BYTE szPathName[OFS_MAXPATHNAME];
1756 } OFSTRUCT, *LPOFSTRUCT;
1758 #define OF_READ 0x0000
1759 #define OF_WRITE 0x0001
1760 #define OF_READWRITE 0x0002
1761 #define OF_SHARE_COMPAT 0x0000
1762 #define OF_SHARE_EXCLUSIVE 0x0010
1763 #define OF_SHARE_DENY_WRITE 0x0020
1764 #define OF_SHARE_DENY_READ 0x0030
1765 #define OF_SHARE_DENY_NONE 0x0040
1766 #define OF_PARSE 0x0100
1767 #define OF_DELETE 0x0200
1768 #define OF_VERIFY 0x0400 /* Used with OF_REOPEN */
1769 #define OF_SEARCH 0x0400 /* Used without OF_REOPEN */
1770 #define OF_CANCEL 0x0800
1771 #define OF_CREATE 0x1000
1772 #define OF_PROMPT 0x2000
1773 #define OF_EXIST 0x4000
1774 #define OF_REOPEN 0x8000
1776 /* GetTempFileName() Flags */
1777 #define TF_FORCEDRIVE 0x80
1779 #define DRIVE_CANNOTDETERMINE 0
1780 #define DRIVE_DOESNOTEXIST 1
1781 #define DRIVE_REMOVABLE 2
1782 #define DRIVE_FIXED 3
1783 #define DRIVE_REMOTE 4
1784 /* Win32 additions */
1785 #define DRIVE_CDROM 5
1786 #define DRIVE_RAMDISK 6
1788 #define HFILE_ERROR16 ((HFILE16)-1)
1789 #define HFILE_ERROR32 ((HFILE32)-1)
1790 #define HFILE_ERROR WINELIB_NAME(HFILE_ERROR)
1792 #define DDL_READWRITE 0x0000
1793 #define DDL_READONLY 0x0001
1794 #define DDL_HIDDEN 0x0002
1795 #define DDL_SYSTEM 0x0004
1796 #define DDL_DIRECTORY 0x0010
1797 #define DDL_ARCHIVE 0x0020
1799 #define DDL_POSTMSGS 0x2000
1800 #define DDL_DRIVES 0x4000
1801 #define DDL_EXCLUSIVE 0x8000
1803 /* The security attributes structure
1805 typedef struct
1807 DWORD nLength;
1808 LPVOID lpSecurityDescriptor;
1809 BOOL32 bInheritHandle;
1810 } SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
1812 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
1813 /* FIXME: currently dwLowDateTime is equivalent to the UNIX time(),
1814 * and dwHighDateTime 0
1816 typedef struct
1818 INT32 dwLowDateTime;
1819 INT32 dwHighDateTime;
1820 } FILETIME, *LPFILETIME;
1822 /* Find* structures */
1823 typedef struct
1825 DWORD dwFileAttributes;
1826 FILETIME ftCreationTime;
1827 FILETIME ftLastAccessTime;
1828 FILETIME ftLastWriteTime;
1829 DWORD nFileSizeHigh;
1830 DWORD nFileSizeLow;
1831 DWORD dwReserved0;
1832 DWORD dwReserved1;
1833 CHAR cFileName[260];
1834 CHAR cAlternateFileName[14];
1835 } WIN32_FIND_DATA32A, *LPWIN32_FIND_DATA32A;
1837 typedef struct
1839 DWORD dwFileAttributes;
1840 FILETIME ftCreationTime;
1841 FILETIME ftLastAccessTime;
1842 FILETIME ftLastWriteTime;
1843 DWORD nFileSizeHigh;
1844 DWORD nFileSizeLow;
1845 DWORD dwReserved0;
1846 DWORD dwReserved1;
1847 WCHAR cFileName[260];
1848 WCHAR cAlternateFileName[14];
1849 } WIN32_FIND_DATA32W, *LPWIN32_FIND_DATA32W;
1851 DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA);
1852 DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA);
1854 #define INVALID_HANDLE_VALUE16 ((HANDLE16) -1)
1855 #define INVALID_HANDLE_VALUE32 ((HANDLE32) -1)
1856 #define INVALID_HANDLE_VALUE WINELIB_NAME(INVALID_HANDLE_VALUE)
1858 /* comm */
1860 #define CBR_110 0xFF10
1861 #define CBR_300 0xFF11
1862 #define CBR_600 0xFF12
1863 #define CBR_1200 0xFF13
1864 #define CBR_2400 0xFF14
1865 #define CBR_4800 0xFF15
1866 #define CBR_9600 0xFF16
1867 #define CBR_14400 0xFF17
1868 #define CBR_19200 0xFF18
1869 #define CBR_38400 0xFF1B
1870 #define CBR_56000 0xFF1F
1871 #define CBR_128000 0xFF23
1872 #define CBR_256000 0xFF27
1874 #define NOPARITY 0
1875 #define ODDPARITY 1
1876 #define EVENPARITY 2
1877 #define MARKPARITY 3
1878 #define SPACEPARITY 4
1879 #define ONESTOPBIT 0
1880 #define ONE5STOPBITS 1
1881 #define TWOSTOPBITS 2
1883 #define IGNORE 0
1884 #define INFINITE16 0xFFFF
1885 #define INFINITE32 0xFFFFFFFF
1886 #define INFINITE WINELIB_NAME(INFINITE)
1888 #define CE_RXOVER 0x0001
1889 #define CE_OVERRUN 0x0002
1890 #define CE_RXPARITY 0x0004
1891 #define CE_FRAME 0x0008
1892 #define CE_BREAK 0x0010
1893 #define CE_CTSTO 0x0020
1894 #define CE_DSRTO 0x0040
1895 #define CE_RLSDTO 0x0080
1896 #define CE_TXFULL 0x0100
1897 #define CE_PTO 0x0200
1898 #define CE_IOE 0x0400
1899 #define CE_DNS 0x0800
1900 #define CE_OOP 0x1000
1901 #define CE_MODE 0x8000
1903 #define IE_BADID -1
1904 #define IE_OPEN -2
1905 #define IE_NOPEN -3
1906 #define IE_MEMORY -4
1907 #define IE_DEFAULT -5
1908 #define IE_HARDWARE -10
1909 #define IE_BYTESIZE -11
1910 #define IE_BAUDRATE -12
1912 #define EV_RXCHAR 0x0001
1913 #define EV_RXFLAG 0x0002
1914 #define EV_TXEMPTY 0x0004
1915 #define EV_CTS 0x0008
1916 #define EV_DSR 0x0010
1917 #define EV_RLSD 0x0020
1918 #define EV_BREAK 0x0040
1919 #define EV_ERR 0x0080
1920 #define EV_RING 0x0100
1921 #define EV_PERR 0x0200
1922 #define EV_CTSS 0x0400
1923 #define EV_DSRS 0x0800
1924 #define EV_RLSDS 0x1000
1925 #define EV_RINGTE 0x2000
1926 #define EV_RingTe EV_RINGTE
1928 #define SETXOFF 1
1929 #define SETXON 2
1930 #define SETRTS 3
1931 #define CLRRTS 4
1932 #define SETDTR 5
1933 #define CLRDTR 6
1934 #define RESETDEV 7
1935 /* win16 only */
1936 #define GETMAXLPT 8
1937 #define GETMAXCOM 9
1938 /* win32 only */
1939 #define SETBREAK 8
1940 #define CLRBREAK 9
1942 #define GETBASEIRQ 10
1944 #define CN_RECEIVE 0x0001
1945 #define CN_TRANSMIT 0x0002
1946 #define CN_EVENT 0x0004
1948 typedef struct tagDCB16
1950 BYTE Id;
1951 UINT16 BaudRate WINE_PACKED;
1952 BYTE ByteSize;
1953 BYTE Parity;
1954 BYTE StopBits;
1955 UINT16 RlsTimeout;
1956 UINT16 CtsTimeout;
1957 UINT16 DsrTimeout;
1959 UINT16 fBinary :1;
1960 UINT16 fRtsDisable :1;
1961 UINT16 fParity :1;
1962 UINT16 fOutxCtsFlow :1;
1963 UINT16 fOutxDsrFlow :1;
1964 UINT16 fDummy :2;
1965 UINT16 fDtrDisable :1;
1967 UINT16 fOutX :1;
1968 UINT16 fInX :1;
1969 UINT16 fPeChar :1;
1970 UINT16 fNull :1;
1971 UINT16 fChEvt :1;
1972 UINT16 fDtrflow :1;
1973 UINT16 fRtsflow :1;
1974 UINT16 fDummy2 :1;
1976 CHAR XonChar;
1977 CHAR XoffChar;
1978 UINT16 XonLim;
1979 UINT16 XoffLim;
1980 CHAR PeChar;
1981 CHAR EofChar;
1982 CHAR EvtChar;
1983 UINT16 TxDelay WINE_PACKED;
1984 } DCB16, *LPDCB16;
1986 typedef struct tagDCB32
1988 DWORD DCBlength;
1989 DWORD BaudRate;
1990 DWORD fBinary :1;
1991 DWORD fParity :1;
1992 DWORD fOutxCtsFlow :1;
1993 DWORD fOutxDsrFlow :1;
1994 DWORD fDtrControl :2;
1995 DWORD fDsrSensitivity :1;
1996 DWORD fTXContinueOnXoff :1;
1997 DWORD fOutX :1;
1998 DWORD fInX :1;
1999 DWORD fErrorChar :1;
2000 DWORD fNull :1;
2001 DWORD fRtsControl :2;
2002 DWORD fAbortOnError :1;
2003 DWORD fDummy2 :17;
2004 WORD wReserved;
2005 WORD XonLim;
2006 WORD XoffLim;
2007 BYTE ByteSize;
2008 BYTE Parity;
2009 BYTE StopBits;
2010 char XonChar;
2011 char XoffChar;
2012 char ErrorChar;
2013 char EofChar;
2014 char EvtChar;
2015 } DCB32, *LPDCB32;
2017 DECL_WINELIB_TYPE(DCB);
2018 DECL_WINELIB_TYPE(LPDCB);
2020 #define RTS_CONTROL_DISABLE 0
2021 #define RTS_CONTROL_ENABLE 1
2022 #define RTS_CONTROL_HANDSHAKE 2
2023 #define RTS_CONTROL_TOGGLE 3
2025 #define DTR_CONTROL_DISABLE 0
2026 #define DTR_CONTROL_ENABLE 1
2027 #define DTR_CONTROL_HANDSHAKE 2
2029 typedef struct tagCOMMTIMEOUTS {
2030 DWORD ReadIntervalTimeout;
2031 DWORD ReadTotalTimeoutMultiplier;
2032 DWORD ReadTotalTimeoutConstant;
2033 DWORD WriteTotalTimeoutMultiplier;
2034 DWORD WriteTotalTimeoutConstant;
2035 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
2037 typedef struct tagCOMSTAT
2039 BYTE status;
2040 UINT16 cbInQue WINE_PACKED;
2041 UINT16 cbOutQue WINE_PACKED;
2042 } COMSTAT,*LPCOMSTAT;
2044 #define CSTF_CTSHOLD 0x01
2045 #define CSTF_DSRHOLD 0x02
2046 #define CSTF_RLSDHOLD 0x04
2047 #define CSTF_XOFFHOLD 0x08
2048 #define CSTF_XOFFSENT 0x10
2049 #define CSTF_EOF 0x20
2050 #define CSTF_TXIM 0x40
2052 /* SystemParametersInfo */
2054 #define SPI_GETBEEP 1
2055 #define SPI_SETBEEP 2
2056 #define SPI_GETMOUSE 3
2057 #define SPI_SETMOUSE 4
2058 #define SPI_GETBORDER 5
2059 #define SPI_SETBORDER 6
2060 #define SPI_GETKEYBOARDSPEED 10
2061 #define SPI_SETKEYBOARDSPEED 11
2062 #define SPI_LANGDRIVER 12
2063 #define SPI_ICONHORIZONTALSPACING 13
2064 #define SPI_GETSCREENSAVETIMEOUT 14
2065 #define SPI_SETSCREENSAVETIMEOUT 15
2066 #define SPI_GETSCREENSAVEACTIVE 16
2067 #define SPI_SETSCREENSAVEACTIVE 17
2068 #define SPI_GETGRIDGRANULARITY 18
2069 #define SPI_SETGRIDGRANULARITY 19
2070 #define SPI_SETDESKWALLPAPER 20
2071 #define SPI_SETDESKPATTERN 21
2072 #define SPI_GETKEYBOARDDELAY 22
2073 #define SPI_SETKEYBOARDDELAY 23
2074 #define SPI_ICONVERTICALSPACING 24
2075 #define SPI_GETICONTITLEWRAP 25
2076 #define SPI_SETICONTITLEWRAP 26
2077 #define SPI_GETMENUDROPALIGNMENT 27
2078 #define SPI_SETMENUDROPALIGNMENT 28
2079 #define SPI_SETDOUBLECLKWIDTH 29
2080 #define SPI_SETDOUBLECLKHEIGHT 30
2081 #define SPI_GETICONTITLELOGFONT 31
2082 #define SPI_SETDOUBLECLICKTIME 32
2083 #define SPI_SETMOUSEBUTTONSWAP 33
2084 #define SPI_SETICONTITLELOGFONT 34
2085 #define SPI_GETFASTTASKSWITCH 35
2086 #define SPI_SETFASTTASKSWITCH 36
2087 #define SPI_SETDRAGFULLWINDOWS 37
2088 #define SPI_GETDRAGFULLWINDOWS 38
2089 #define SPI_GETNONCLIENTMETRICS 41
2090 #define SPI_SETNONCLIENTMETRICS 42
2091 #define SPI_GETMINIMIZEDMETRICS 43
2092 #define SPI_SETMINIMIZEDMETRICS 44
2093 #define SPI_GETICONMETRICS 45
2094 #define SPI_SETICONMETRICS 46
2095 #define SPI_SETWORKAREA 47
2096 #define SPI_GETWORKAREA 48
2097 #define SPI_SETPENWINDOWS 49
2098 #define SPI_GETFILTERKEYS 50
2099 #define SPI_SETFILTERKEYS 51
2100 #define SPI_GETTOGGLEKEYS 52
2101 #define SPI_SETTOGGLEKEYS 53
2102 #define SPI_GETMOUSEKEYS 54
2103 #define SPI_SETMOUSEKEYS 55
2104 #define SPI_GETSHOWSOUNDS 56
2105 #define SPI_SETSHOWSOUNDS 57
2106 #define SPI_GETSTICKYKEYS 58
2107 #define SPI_SETSTICKYKEYS 59
2108 #define SPI_GETACCESSTIMEOUT 60
2109 #define SPI_SETACCESSTIMEOUT 61
2110 #define SPI_GETSERIALKEYS 62
2111 #define SPI_SETSERIALKEYS 63
2112 #define SPI_GETSOUNDSENTRY 64
2113 #define SPI_SETSOUNDSENTRY 65
2114 #define SPI_GETHIGHCONTRAST 66
2115 #define SPI_SETHIGHCONTRAST 67
2116 #define SPI_GETKEYBOARDPREF 68
2117 #define SPI_SETKEYBOARDPREF 69
2118 #define SPI_GETSCREENREADER 70
2119 #define SPI_SETSCREENREADER 71
2120 #define SPI_GETANIMATION 72
2121 #define SPI_SETANIMATION 73
2122 #define SPI_GETFONTSMOOTHING 74
2123 #define SPI_SETFONTSMOOTHING 75
2124 #define SPI_SETDRAGWIDTH 76
2125 #define SPI_SETDRAGHEIGHT 77
2126 #define SPI_SETHANDHELD 78
2127 #define SPI_GETLOWPOWERTIMEOUT 79
2128 #define SPI_GETPOWEROFFTIMEOUT 80
2129 #define SPI_SETLOWPOWERTIMEOUT 81
2130 #define SPI_SETPOWEROFFTIMEOUT 82
2131 #define SPI_GETLOWPOWERACTIVE 83
2132 #define SPI_GETPOWEROFFACTIVE 84
2133 #define SPI_SETLOWPOWERACTIVE 85
2134 #define SPI_SETPOWEROFFACTIVE 86
2135 #define SPI_SETCURSORS 87
2136 #define SPI_SETICONS 88
2137 #define SPI_GETDEFAULTINPUTLANG 89
2138 #define SPI_SETDEFAULTINPUTLANG 90
2139 #define SPI_SETLANGTOGGLE 91
2140 #define SPI_GETWINDOWSEXTENSION 92
2141 #define SPI_SETMOUSETRAILS 93
2142 #define SPI_GETMOUSETRAILS 94
2143 #define SPI_SCREENSAVERRUNNING 97
2145 /* SystemParametersInfo flags */
2147 #define SPIF_UPDATEINIFILE 1
2148 #define SPIF_SENDWININICHANGE 2
2150 /* GetFreeSystemResources() parameters */
2152 #define GFSR_SYSTEMRESOURCES 0x0000
2153 #define GFSR_GDIRESOURCES 0x0001
2154 #define GFSR_USERRESOURCES 0x0002
2156 /* GetWinFlags */
2158 #define WF_PMODE 0x0001
2159 #define WF_CPU286 0x0002
2160 #define WF_CPU386 0x0004
2161 #define WF_CPU486 0x0008
2162 #define WF_STANDARD 0x0010
2163 #define WF_WIN286 0x0010
2164 #define WF_ENHANCED 0x0020
2165 #define WF_WIN386 0x0020
2166 #define WF_CPU086 0x0040
2167 #define WF_CPU186 0x0080
2168 #define WF_LARGEFRAME 0x0100
2169 #define WF_SMALLFRAME 0x0200
2170 #define WF_80x87 0x0400
2171 #define WF_PAGING 0x0800
2172 #define WF_WLO 0x8000
2174 #define MAKEINTRESOURCE(i) (SEGPTR)((DWORD)((WORD)(i)))
2176 /* Predefined resource types */
2177 #define RT_CURSOR MAKEINTRESOURCE(1)
2178 #define RT_BITMAP MAKEINTRESOURCE(2)
2179 #define RT_ICON MAKEINTRESOURCE(3)
2180 #define RT_MENU MAKEINTRESOURCE(4)
2181 #define RT_DIALOG MAKEINTRESOURCE(5)
2182 #define RT_STRING MAKEINTRESOURCE(6)
2183 #define RT_FONTDIR MAKEINTRESOURCE(7)
2184 #define RT_FONT MAKEINTRESOURCE(8)
2185 #define RT_ACCELERATOR MAKEINTRESOURCE(9)
2186 #define RT_RCDATA MAKEINTRESOURCE(10)
2187 #define RT_MESSAGELIST MAKEINTRESOURCE(11)
2188 #define RT_GROUP_CURSOR MAKEINTRESOURCE(12)
2189 #define RT_GROUP_ICON MAKEINTRESOURCE(14)
2191 /* Predefined resources */
2192 #define IDI_APPLICATION MAKEINTRESOURCE(32512)
2193 #define IDI_HAND MAKEINTRESOURCE(32513)
2194 #define IDI_QUESTION MAKEINTRESOURCE(32514)
2195 #define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
2196 #define IDI_ASTERISK MAKEINTRESOURCE(32516)
2198 #define IDC_BUMMER MAKEINTRESOURCE(100)
2199 #define IDC_ARROW MAKEINTRESOURCE(32512)
2200 #define IDC_IBEAM MAKEINTRESOURCE(32513)
2201 #define IDC_WAIT MAKEINTRESOURCE(32514)
2202 #define IDC_CROSS MAKEINTRESOURCE(32515)
2203 #define IDC_UPARROW MAKEINTRESOURCE(32516)
2204 #define IDC_SIZE MAKEINTRESOURCE(32640)
2205 #define IDC_ICON MAKEINTRESOURCE(32641)
2206 #define IDC_SIZENWSE MAKEINTRESOURCE(32642)
2207 #define IDC_SIZENESW MAKEINTRESOURCE(32643)
2208 #define IDC_SIZEWE MAKEINTRESOURCE(32644)
2209 #define IDC_SIZENS MAKEINTRESOURCE(32645)
2211 /* OEM Resource Ordinal Numbers */
2212 #define OBM_CLOSE 32754
2213 #define OBM_UPARROW 32753
2214 #define OBM_DNARROW 32752
2215 #define OBM_RGARROW 32751
2216 #define OBM_LFARROW 32750
2217 #define OBM_REDUCE 32749
2218 #define OBM_ZOOM 32748
2219 #define OBM_RESTORE 32747
2220 #define OBM_REDUCED 32746
2221 #define OBM_ZOOMD 32745
2222 #define OBM_RESTORED 32744
2223 #define OBM_UPARROWD 32743
2224 #define OBM_DNARROWD 32742
2225 #define OBM_RGARROWD 32741
2226 #define OBM_LFARROWD 32740
2227 #define OBM_MNARROW 32739
2228 #define OBM_COMBO 32738
2229 #define OBM_UPARROWI 32737
2230 #define OBM_DNARROWI 32736
2231 #define OBM_RGARROWI 32735
2232 #define OBM_LFARROWI 32734
2234 #define OBM_FOLDER 32733
2235 #define OBM_FOLDER2 32732
2236 #define OBM_FLOPPY 32731
2237 #define OBM_HDISK 32730
2238 #define OBM_CDROM 32729
2239 #define OBM_TRTYPE 32728
2241 #define OBM_OLD_CLOSE 32767
2242 #define OBM_SIZE 32766
2243 #define OBM_OLD_UPARROW 32765
2244 #define OBM_OLD_DNARROW 32764
2245 #define OBM_OLD_RGARROW 32763
2246 #define OBM_OLD_LFARROW 32762
2247 #define OBM_BTSIZE 32761
2248 #define OBM_CHECK 32760
2249 #define OBM_CHECKBOXES 32759
2250 #define OBM_BTNCORNERS 32758
2251 #define OBM_OLD_REDUCE 32757
2252 #define OBM_OLD_ZOOM 32756
2253 #define OBM_OLD_RESTORE 32755
2255 #define OCR_BUMMER 100
2256 #define OCR_DRAGOBJECT 101
2258 #define OCR_NORMAL 32512
2259 #define OCR_IBEAM 32513
2260 #define OCR_WAIT 32514
2261 #define OCR_CROSS 32515
2262 #define OCR_UP 32516
2263 #define OCR_SIZE 32640
2264 #define OCR_ICON 32641
2265 #define OCR_SIZENWSE 32642
2266 #define OCR_SIZENESW 32643
2267 #define OCR_SIZEWE 32644
2268 #define OCR_SIZENS 32645
2269 #define OCR_SIZEALL 32646
2270 #define OCR_ICOCUR 32647
2272 #define OIC_SAMPLE 32512
2273 #define OIC_HAND 32513
2274 #define OIC_QUES 32514
2275 #define OIC_BANG 32515
2276 #define OIC_NOTE 32516
2277 #define OIC_PORTRAIT 32517
2278 #define OIC_LANDSCAPE 32518
2279 #define OIC_WINEICON 32519
2281 /* Stock GDI objects for GetStockObject() */
2283 #define WHITE_BRUSH 0
2284 #define LTGRAY_BRUSH 1
2285 #define GRAY_BRUSH 2
2286 #define DKGRAY_BRUSH 3
2287 #define BLACK_BRUSH 4
2288 #define NULL_BRUSH 5
2289 #define HOLLOW_BRUSH 5
2290 #define WHITE_PEN 6
2291 #define BLACK_PEN 7
2292 #define NULL_PEN 8
2293 #define OEM_FIXED_FONT 10
2294 #define ANSI_FIXED_FONT 11
2295 #define ANSI_VAR_FONT 12
2296 #define SYSTEM_FONT 13
2297 #define DEVICE_DEFAULT_FONT 14
2298 #define DEFAULT_PALETTE 15
2299 #define SYSTEM_FIXED_FONT 16
2301 /* DragObject stuff */
2303 typedef struct
2305 HWND16 hWnd;
2306 HANDLE16 hScope;
2307 WORD wFlags;
2308 HANDLE16 hList;
2309 HANDLE16 hOfStruct;
2310 POINT16 pt WINE_PACKED;
2311 LONG l WINE_PACKED;
2312 } DRAGINFO, *LPDRAGINFO;
2314 #define DRAGOBJ_PROGRAM 0x0001
2315 #define DRAGOBJ_DATA 0x0002
2316 #define DRAGOBJ_DIRECTORY 0x0004
2317 #define DRAGOBJ_MULTIPLE 0x0008
2318 #define DRAGOBJ_EXTERNAL 0x8000
2320 #define DRAG_PRINT 0x544E5250
2321 #define DRAG_FILE 0x454C4946
2323 /* Messages */
2325 #define WM_NULL 0x0000
2326 #define WM_CREATE 0x0001
2327 #define WM_DESTROY 0x0002
2328 #define WM_MOVE 0x0003
2329 #define WM_SIZEWAIT 0x0004
2330 #define WM_SIZE 0x0005
2331 #define WM_ACTIVATE 0x0006
2332 #define WM_SETFOCUS 0x0007
2333 #define WM_KILLFOCUS 0x0008
2334 #define WM_SETVISIBLE 0x0009
2335 #define WM_ENABLE 0x000a
2336 #define WM_SETREDRAW 0x000b
2337 #define WM_SETTEXT 0x000c
2338 #define WM_GETTEXT 0x000d
2339 #define WM_GETTEXTLENGTH 0x000e
2340 #define WM_PAINT 0x000f
2341 #define WM_CLOSE 0x0010
2342 #define WM_QUERYENDSESSION 0x0011
2343 #define WM_QUIT 0x0012
2344 #define WM_QUERYOPEN 0x0013
2345 #define WM_ERASEBKGND 0x0014
2346 #define WM_SYSCOLORCHANGE 0x0015
2347 #define WM_ENDSESSION 0x0016
2348 #define WM_SYSTEMERROR 0x0017
2349 #define WM_SHOWWINDOW 0x0018
2350 #define WM_CTLCOLOR 0x0019
2351 #define WM_WININICHANGE 0x001a
2352 #define WM_DEVMODECHANGE 0x001b
2353 #define WM_ACTIVATEAPP 0x001c
2354 #define WM_FONTCHANGE 0x001d
2355 #define WM_TIMECHANGE 0x001e
2356 #define WM_CANCELMODE 0x001f
2357 #define WM_SETCURSOR 0x0020
2358 #define WM_MOUSEACTIVATE 0x0021
2359 #define WM_CHILDACTIVATE 0x0022
2360 #define WM_QUEUESYNC 0x0023
2361 #define WM_GETMINMAXINFO 0x0024
2363 #define WM_PAINTICON 0x0026
2364 #define WM_ICONERASEBKGND 0x0027
2365 #define WM_NEXTDLGCTL 0x0028
2366 #define WM_ALTTABACTIVE 0x0029
2367 #define WM_SPOOLERSTATUS 0x002a
2368 #define WM_DRAWITEM 0x002b
2369 #define WM_MEASUREITEM 0x002c
2370 #define WM_DELETEITEM 0x002d
2371 #define WM_VKEYTOITEM 0x002e
2372 #define WM_CHARTOITEM 0x002f
2373 #define WM_SETFONT 0x0030
2374 #define WM_GETFONT 0x0031
2375 #define WM_SETHOTKEY 0x0032
2376 #define WM_GETHOTKEY 0x0033
2377 #define WM_FILESYSCHANGE 0x0034
2378 #define WM_ISACTIVEICON 0x0035
2379 #define WM_QUERYPARKICON 0x0036
2380 #define WM_QUERYDRAGICON 0x0037
2381 #define WM_QUERYSAVESTATE 0x0038
2382 #define WM_COMPAREITEM 0x0039
2383 #define WM_TESTING 0x003a
2385 #define WM_OTHERWINDOWCREATED 0x003c
2386 #define WM_OTHERWINDOWDESTROYED 0x003d
2387 #define WM_ACTIVATESHELLWINDOW 0x003e
2389 #define WM_COMPACTING 0x0041
2391 #define WM_COMMNOTIFY 0x0044
2392 #define WM_WINDOWPOSCHANGING 0x0046
2393 #define WM_WINDOWPOSCHANGED 0x0047
2394 #define WM_POWER 0x0048
2396 #define WM_NCCREATE 0x0081
2397 #define WM_NCDESTROY 0x0082
2398 #define WM_NCCALCSIZE 0x0083
2399 #define WM_NCHITTEST 0x0084
2400 #define WM_NCPAINT 0x0085
2401 #define WM_NCACTIVATE 0x0086
2403 #define WM_GETDLGCODE 0x0087
2404 #define WM_SYNCPAINT 0x0088
2405 #define WM_SYNCTASK 0x0089
2407 /* Non-client mouse messages */
2408 #define WM_NCMOUSEMOVE 0x00a0
2409 #define WM_NCLBUTTONDOWN 0x00a1
2410 #define WM_NCLBUTTONUP 0x00a2
2411 #define WM_NCLBUTTONDBLCLK 0x00a3
2412 #define WM_NCRBUTTONDOWN 0x00a4
2413 #define WM_NCRBUTTONUP 0x00a5
2414 #define WM_NCRBUTTONDBLCLK 0x00a6
2415 #define WM_NCMBUTTONDOWN 0x00a7
2416 #define WM_NCMBUTTONUP 0x00a8
2417 #define WM_NCMBUTTONDBLCLK 0x00a9
2419 /* Keyboard messages */
2420 #define WM_KEYDOWN 0x0100
2421 #define WM_KEYUP 0x0101
2422 #define WM_CHAR 0x0102
2423 #define WM_DEADCHAR 0x0103
2424 #define WM_SYSKEYDOWN 0x0104
2425 #define WM_SYSKEYUP 0x0105
2426 #define WM_SYSCHAR 0x0106
2427 #define WM_SYSDEADCHAR 0x0107
2428 #define WM_KEYFIRST WM_KEYDOWN
2429 #define WM_KEYLAST 0x0108
2431 #define WM_INITDIALOG 0x0110
2432 #define WM_COMMAND 0x0111
2433 #define WM_SYSCOMMAND 0x0112
2434 #define WM_TIMER 0x0113
2435 #define WM_SYSTIMER 0x0118
2437 /* scroll messages */
2438 #define WM_HSCROLL 0x0114
2439 #define WM_VSCROLL 0x0115
2441 /* Menu messages */
2442 #define WM_INITMENU 0x0116
2443 #define WM_INITMENUPOPUP 0x0117
2445 #define WM_MENUSELECT 0x011F
2446 #define WM_MENUCHAR 0x0120
2447 #define WM_ENTERIDLE 0x0121
2449 #define WM_LBTRACKPOINT 0x0131
2451 /* Win32 CTLCOLOR messages */
2452 #define WM_CTLCOLORMSGBOX 0x0132
2453 #define WM_CTLCOLOREDIT 0x0133
2454 #define WM_CTLCOLORLISTBOX 0x0134
2455 #define WM_CTLCOLORBTN 0x0135
2456 #define WM_CTLCOLORDLG 0x0136
2457 #define WM_CTLCOLORSCROLLBAR 0x0137
2458 #define WM_CTLCOLORSTATIC 0x0138
2460 /* Mouse messages */
2461 #define WM_MOUSEMOVE 0x0200
2462 #define WM_LBUTTONDOWN 0x0201
2463 #define WM_LBUTTONUP 0x0202
2464 #define WM_LBUTTONDBLCLK 0x0203
2465 #define WM_RBUTTONDOWN 0x0204
2466 #define WM_RBUTTONUP 0x0205
2467 #define WM_RBUTTONDBLCLK 0x0206
2468 #define WM_MBUTTONDOWN 0x0207
2469 #define WM_MBUTTONUP 0x0208
2470 #define WM_MBUTTONDBLCLK 0x0209
2471 #define WM_MOUSEFIRST WM_MOUSEMOVE
2472 #define WM_MOUSELAST WM_MBUTTONDBLCLK
2474 #define WM_PARENTNOTIFY 0x0210
2475 #define WM_ENTERMENULOOP 0x0211
2476 #define WM_EXITMENULOOP 0x0212
2477 #define WM_NEXTMENU 0x0213
2479 #define WM_MDICREATE 0x0220
2480 #define WM_MDIDESTROY 0x0221
2481 #define WM_MDIACTIVATE 0x0222
2482 #define WM_MDIRESTORE 0x0223
2483 #define WM_MDINEXT 0x0224
2484 #define WM_MDIMAXIMIZE 0x0225
2485 #define WM_MDITILE 0x0226
2486 #define WM_MDICASCADE 0x0227
2487 #define WM_MDIICONARRANGE 0x0228
2488 #define WM_MDIGETACTIVE 0x0229
2489 #define WM_DROPOBJECT 0x022A
2490 #define WM_QUERYDROPOBJECT 0x022B
2491 #define WM_BEGINDRAG 0x022C
2492 #define WM_DRAGLOOP 0x022D
2493 #define WM_DRAGSELECT 0x022E
2494 #define WM_DRAGMOVE 0x022F
2495 #define WM_MDISETMENU 0x0230
2497 #define WM_ENTERSIZEMOVE 0x0231
2498 #define WM_EXITSIZEMOVE 0x0232
2499 #define WM_DROPFILES 0x0233
2501 #define WM_CUT 0x0300
2502 #define WM_COPY 0x0301
2503 #define WM_PASTE 0x0302
2504 #define WM_CLEAR 0x0303
2505 #define WM_UNDO 0x0304
2506 #define WM_RENDERFORMAT 0x0305
2507 #define WM_RENDERALLFORMATS 0x0306
2508 #define WM_DESTROYCLIPBOARD 0x0307
2509 #define WM_DRAWCLIPBOARD 0x0308
2510 #define WM_PAINTCLIPBOARD 0x0309
2511 #define WM_VSCROLLCLIPBOARD 0x030A
2512 #define WM_SIZECLIPBOARD 0x030B
2513 #define WM_ASKCBFORMATNAME 0x030C
2514 #define WM_CHANGECBCHAIN 0x030D
2515 #define WM_HSCROLLCLIPBOARD 0x030E
2516 #define WM_QUERYNEWPALETTE 0x030F
2517 #define WM_PALETTEISCHANGING 0x0310
2518 #define WM_PALETTECHANGED 0x0311
2520 #define WM_COALESCE_FIRST 0x0390
2521 #define WM_COALESCE_LAST 0x039F
2523 /* misc messages */
2524 #define WM_NULL 0x0000
2525 #define WM_USER 0x0400
2526 #define WM_CPL_LAUNCH (WM_USER + 1000)
2527 #define WM_CPL_LAUNCHED (WM_USER + 1001)
2529 /* Key status flags for mouse events */
2530 #define MK_LBUTTON 0x0001
2531 #define MK_RBUTTON 0x0002
2532 #define MK_SHIFT 0x0004
2533 #define MK_CONTROL 0x0008
2534 #define MK_MBUTTON 0x0010
2536 /* Mouse_Event flags */
2537 #define ME_MOVE 0x01
2538 #define ME_LDOWN 0x02
2539 #define ME_LUP 0x04
2540 #define ME_RDOWN 0x08
2541 #define ME_RUP 0x10
2543 /* Queue status flags */
2544 #define QS_KEY 0x0001
2545 #define QS_MOUSEMOVE 0x0002
2546 #define QS_MOUSEBUTTON 0x0004
2547 #define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON)
2548 #define QS_POSTMESSAGE 0x0008
2549 #define QS_TIMER 0x0010
2550 #define QS_PAINT 0x0020
2551 #define QS_SENDMESSAGE 0x0040
2552 #define QS_ALLINPUT 0x007f
2554 /* PeekMessage() options */
2555 #define PM_NOREMOVE 0x0000
2556 #define PM_REMOVE 0x0001
2557 #define PM_NOYIELD 0x0002
2559 #define WM_SHOWWINDOW 0x0018
2561 /* WM_SHOWWINDOW wParam codes */
2562 #define SW_PARENTCLOSING 1
2563 #define SW_OTHERMAXIMIZED 2
2564 #define SW_PARENTOPENING 3
2565 #define SW_OTHERRESTORED 4
2567 /* ShowWindow() codes */
2568 #define SW_HIDE 0
2569 #define SW_SHOWNORMAL 1
2570 #define SW_NORMAL 1
2571 #define SW_SHOWMINIMIZED 2
2572 #define SW_SHOWMAXIMIZED 3
2573 #define SW_MAXIMIZE 3
2574 #define SW_SHOWNOACTIVATE 4
2575 #define SW_SHOW 5
2576 #define SW_MINIMIZE 6
2577 #define SW_SHOWMINNOACTIVE 7
2578 #define SW_SHOWNA 8
2579 #define SW_RESTORE 9
2580 #define SW_SHOWDEFAULT 10
2581 #define SW_MAX 10
2582 #define SW_NORMALNA 0xCC /* undoc. flag in MinMaximize */
2584 /* WM_SIZE message wParam values */
2585 #define SIZE_RESTORED 0
2586 #define SIZE_MINIMIZED 1
2587 #define SIZE_MAXIMIZED 2
2588 #define SIZE_MAXSHOW 3
2589 #define SIZE_MAXHIDE 4
2590 #define SIZENORMAL SIZE_RESTORED
2591 #define SIZEICONIC SIZE_MINIMIZED
2592 #define SIZEFULLSCREEN SIZE_MAXIMIZED
2593 #define SIZEZOOMSHOW SIZE_MAXSHOW
2594 #define SIZEZOOMHIDE SIZE_MAXHIDE
2596 /* SetWindowPos() and WINDOWPOS flags */
2597 #define SWP_NOSIZE 0x0001
2598 #define SWP_NOMOVE 0x0002
2599 #define SWP_NOZORDER 0x0004
2600 #define SWP_NOREDRAW 0x0008
2601 #define SWP_NOACTIVATE 0x0010
2602 #define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */
2603 #define SWP_SHOWWINDOW 0x0040
2604 #define SWP_HIDEWINDOW 0x0080
2605 #define SWP_NOCOPYBITS 0x0100
2606 #define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */
2608 #define SWP_DRAWFRAME SWP_FRAMECHANGED
2609 #define SWP_NOREPOSITION SWP_NOOWNERZORDER
2611 #define SWP_NOSENDCHANGING 0x0400
2612 #define SWP_DEFERERASE 0x2000
2614 #define HWND_BROADCAST ((HWND)0xffff)
2616 /* SetWindowPos() hwndInsertAfter field values */
2617 #define HWND_TOP ((HWND)0)
2618 #define HWND_BOTTOM ((HWND)1)
2619 #define HWND_TOPMOST ((HWND)-1)
2620 #define HWND_NOTOPMOST ((HWND)-2)
2622 /* Flags for TrackPopupMenu */
2623 #define TPM_LEFTBUTTON 0x0000
2624 #define TPM_RIGHTBUTTON 0x0002
2625 #define TPM_LEFTALIGN 0x0000
2626 #define TPM_CENTERALIGN 0x0004
2627 #define TPM_RIGHTALIGN 0x0008
2628 #define TPM_TOPALIGN 0x0000
2629 #define TPM_VCENTERALIGN 0x0010
2630 #define TPM_BOTTOMALIGN 0x0020
2631 #define TPM_HORIZONTAL 0x0000
2632 #define TPM_VERTICAL 0x0040
2633 #define TPM_NONOTIFY 0x0080
2634 #define TPM_RETURNCMD 0x0100
2636 typedef struct
2638 UINT32 cbSize;
2639 RECT32 rcExclude;
2640 } TPMPARAMS, *LPTPMPARAMS;
2643 #define MF_INSERT 0x0000
2644 #define MF_CHANGE 0x0080
2645 #define MF_APPEND 0x0100
2646 #define MF_DELETE 0x0200
2647 #define MF_REMOVE 0x1000
2648 #define MF_END 0x0080
2650 #define MF_ENABLED 0x0000
2651 #define MF_GRAYED 0x0001
2652 #define MF_DISABLED 0x0002
2653 #define MF_STRING 0x0000
2654 #define MF_BITMAP 0x0004
2655 #define MF_UNCHECKED 0x0000
2656 #define MF_CHECKED 0x0008
2657 #define MF_POPUP 0x0010
2658 #define MF_MENUBARBREAK 0x0020
2659 #define MF_MENUBREAK 0x0040
2660 #define MF_UNHILITE 0x0000
2661 #define MF_HILITE 0x0080
2662 #define MF_OWNERDRAW 0x0100
2663 #define MF_USECHECKBITMAPS 0x0200
2664 #define MF_BYCOMMAND 0x0000
2665 #define MF_BYPOSITION 0x0400
2666 #define MF_SEPARATOR 0x0800
2667 #define MF_SYSMENU 0x2000
2668 #define MF_HELP 0x4000
2669 #define MF_MOUSESELECT 0x8000
2671 #ifndef NOWINOFFSETS
2672 #define GCW_HBRBACKGROUND (-10)
2673 #endif
2675 #define MB_OK 0x0000
2676 #define MB_OKCANCEL 0x0001
2677 #define MB_ABORTRETRYIGNORE 0x0002
2678 #define MB_YESNOCANCEL 0x0003
2679 #define MB_YESNO 0x0004
2680 #define MB_RETRYCANCEL 0x0005
2681 #define MB_TYPEMASK 0x000F
2683 #define MB_ICONHAND 0x0010
2684 #define MB_ICONQUESTION 0x0020
2685 #define MB_ICONEXCLAMATION 0x0030
2686 #define MB_ICONASTERISK 0x0040
2687 #define MB_ICONMASK 0x00F0
2689 #define MB_ICONINFORMATION MB_ICONASTERISK
2690 #define MB_ICONSTOP MB_ICONHAND
2692 #define MB_DEFBUTTON1 0x0000
2693 #define MB_DEFBUTTON2 0x0100
2694 #define MB_DEFBUTTON3 0x0200
2695 #define MB_DEFMASK 0x0F00
2697 #define MB_APPLMODAL 0x0000
2698 #define MB_SYSTEMMODAL 0x1000
2699 #define MB_TASKMODAL 0x2000
2701 #define MB_NOFOCUS 0x8000
2704 #define DT_TOP 0
2705 #define DT_LEFT 0
2706 #define DT_CENTER 1
2707 #define DT_RIGHT 2
2708 #define DT_VCENTER 4
2709 #define DT_BOTTOM 8
2710 #define DT_WORDBREAK 16
2711 #define DT_SINGLELINE 32
2712 #define DT_EXPANDTABS 64
2713 #define DT_TABSTOP 128
2714 #define DT_NOCLIP 256
2715 #define DT_EXTERNALLEADING 512
2716 #define DT_CALCRECT 1024
2717 #define DT_NOPREFIX 2048
2718 #define DT_INTERNAL 4096
2720 /* DrawEdge() flags */
2721 #define BDR_RAISEDOUTER 0x0001
2722 #define BDR_SUNKENOUTER 0x0002
2723 #define BDR_RAISEDINNER 0x0004
2724 #define BDR_SUNKENINNER 0x0008
2726 #define BDR_OUTER 0x0003
2727 #define BDR_INNER 0x000c
2728 #define BDR_RAISED 0x0005
2729 #define BDR_SUNKEN 0x000a
2731 #define EDGE_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER)
2732 #define EDGE_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER)
2733 #define EDGE_ETCHED (BDR_SUNKENOUTER | BDR_RAISEDINNER)
2734 #define EDGE_BUMP (BDR_RAISEDOUTER | BDR_SUNKENINNER)
2736 /* border flags */
2737 #define BF_LEFT 0x0001
2738 #define BF_TOP 0x0002
2739 #define BF_RIGHT 0x0004
2740 #define BF_BOTTOM 0x0008
2741 #define BF_DIAGONAL 0x0010
2742 #define BF_MIDDLE 0x0800 /* Fill in the middle */
2743 #define BF_SOFT 0x1000 /* For softer buttons */
2744 #define BF_ADJUST 0x2000 /* Calculate the space left over */
2745 #define BF_FLAT 0x4000 /* For flat rather than 3D borders */
2746 #define BF_MONO 0x8000 /* For monochrome borders */
2747 #define BF_TOPLEFT (BF_TOP | BF_LEFT)
2748 #define BF_TOPRIGHT (BF_TOP | BF_RIGHT)
2749 #define BF_BOTTOMLEFT (BF_BOTTOM | BF_LEFT)
2750 #define BF_BOTTOMRIGHT (BF_BOTTOM | BF_RIGHT)
2751 #define BF_RECT (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
2752 #define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL | BF_TOP | BF_RIGHT)
2753 #define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL | BF_TOP | BF_LEFT)
2754 #define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
2755 #define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
2757 /* Window Styles */
2758 #define WS_OVERLAPPED 0x00000000L
2759 #define WS_POPUP 0x80000000L
2760 #define WS_CHILD 0x40000000L
2761 #define WS_MINIMIZE 0x20000000L
2762 #define WS_VISIBLE 0x10000000L
2763 #define WS_DISABLED 0x08000000L
2764 #define WS_CLIPSIBLINGS 0x04000000L
2765 #define WS_CLIPCHILDREN 0x02000000L
2766 #define WS_MAXIMIZE 0x01000000L
2767 #define WS_CAPTION 0x00C00000L
2768 #define WS_BORDER 0x00800000L
2769 #define WS_DLGFRAME 0x00400000L
2770 #define WS_VSCROLL 0x00200000L
2771 #define WS_HSCROLL 0x00100000L
2772 #define WS_SYSMENU 0x00080000L
2773 #define WS_THICKFRAME 0x00040000L
2774 #define WS_GROUP 0x00020000L
2775 #define WS_TABSTOP 0x00010000L
2776 #define WS_MINIMIZEBOX 0x00020000L
2777 #define WS_MAXIMIZEBOX 0x00010000L
2778 #define WS_TILED WS_OVERLAPPED
2779 #define WS_ICONIC WS_MINIMIZE
2780 #define WS_SIZEBOX WS_THICKFRAME
2781 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
2782 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
2783 #define WS_CHILDWINDOW (WS_CHILD)
2784 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
2786 /* Window extended styles */
2787 #define WS_EX_DLGMODALFRAME 0x00000001L
2788 #define WS_EX_DRAGDETECT 0x00000002L
2789 #define WS_EX_NOPARENTNOTIFY 0x00000004L
2790 #define WS_EX_TOPMOST 0x00000008L
2791 #define WS_EX_ACCEPTFILES 0x00000010L
2792 #define WS_EX_TRANSPARENT 0x00000020L
2794 /* Window scrolling */
2795 #define SW_SCROLLCHILDREN 0x0001
2796 #define SW_INVALIDATE 0x0002
2797 #define SW_ERASE 0x0004
2799 /* CreateWindow() coordinates */
2800 #define CW_USEDEFAULT16 ((INT16)0x8000)
2801 #define CW_USEDEFAULT32 ((INT32)0x80000000)
2802 #define CW_USEDEFAULT WINELIB_NAME(CW_USEDEFAULT)
2804 /* Button control styles */
2805 #define BS_PUSHBUTTON 0x00000000L
2806 #define BS_DEFPUSHBUTTON 0x00000001L
2807 #define BS_CHECKBOX 0x00000002L
2808 #define BS_AUTOCHECKBOX 0x00000003L
2809 #define BS_RADIOBUTTON 0x00000004L
2810 #define BS_3STATE 0x00000005L
2811 #define BS_AUTO3STATE 0x00000006L
2812 #define BS_GROUPBOX 0x00000007L
2813 #define BS_USERBUTTON 0x00000008L
2814 #define BS_AUTORADIOBUTTON 0x00000009L
2815 #define BS_OWNERDRAW 0x0000000BL
2816 #define BS_LEFTTEXT 0x00000020L
2818 /* Win16 button control messages */
2819 #define BM_GETCHECK16 (WM_USER+0)
2820 #define BM_SETCHECK16 (WM_USER+1)
2821 #define BM_GETSTATE16 (WM_USER+2)
2822 #define BM_SETSTATE16 (WM_USER+3)
2823 #define BM_SETSTYLE16 (WM_USER+4)
2824 #define BM_CLICK16 WM_NULL /* Does not exist in Win16 */
2825 #define BM_GETIMAGE16 WM_NULL /* Does not exist in Win16 */
2826 #define BM_SETIMAGE16 WM_NULL /* Does not exist in Win16 */
2827 /* Win32 button control messages */
2828 #define BM_GETCHECK32 0x00f0
2829 #define BM_SETCHECK32 0x00f1
2830 #define BM_GETSTATE32 0x00f2
2831 #define BM_SETSTATE32 0x00f3
2832 #define BM_SETSTYLE32 0x00f4
2833 #define BM_CLICK32 0x00f5
2834 #define BM_GETIMAGE32 0x00f6
2835 #define BM_SETIMAGE32 0x00f7
2836 /* Winelib button control messages */
2837 #define BM_GETCHECK WINELIB_NAME(BM_GETCHECK)
2838 #define BM_SETCHECK WINELIB_NAME(BM_SETCHECK)
2839 #define BM_GETSTATE WINELIB_NAME(BM_GETSTATE)
2840 #define BM_SETSTATE WINELIB_NAME(BM_SETSTATE)
2841 #define BM_SETSTYLE WINELIB_NAME(BM_SETSTYLE)
2842 #define BM_CLICK WINELIB_NAME(BM_CLICK)
2843 #define BM_GETIMAGE WINELIB_NAME(BM_GETIMAGE)
2844 #define BM_SETIMAGE WINELIB_NAME(BM_SETIMAGE)
2846 /* Button notification codes */
2847 #define BN_CLICKED 0
2848 #define BN_PAINT 1
2849 #define BN_HILITE 2
2850 #define BN_UNHILITE 3
2851 #define BN_DISABLE 4
2852 #define BN_DOUBLECLICKED 5
2854 /* Static Control Styles */
2855 #define SS_LEFT 0x00000000L
2856 #define SS_CENTER 0x00000001L
2857 #define SS_RIGHT 0x00000002L
2858 #define SS_ICON 0x00000003L
2859 #define SS_BLACKRECT 0x00000004L
2860 #define SS_GRAYRECT 0x00000005L
2861 #define SS_WHITERECT 0x00000006L
2862 #define SS_BLACKFRAME 0x00000007L
2863 #define SS_GRAYFRAME 0x00000008L
2864 #define SS_WHITEFRAME 0x00000009L
2865 #define SS_SIMPLE 0x0000000BL
2866 #define SS_LEFTNOWORDWRAP 0x0000000CL
2867 #define SS_NOPREFIX 0x00000080L
2869 /* Static Control Messages */
2870 #define STM_SETICON (WM_USER+0)
2871 #define STM_GETICON (WM_USER+1)
2873 /* WM_H/VSCROLL commands */
2874 #define SB_LINEUP 0
2875 #define SB_LINELEFT 0
2876 #define SB_LINEDOWN 1
2877 #define SB_LINERIGHT 1
2878 #define SB_PAGEUP 2
2879 #define SB_PAGELEFT 2
2880 #define SB_PAGEDOWN 3
2881 #define SB_PAGERIGHT 3
2882 #define SB_THUMBPOSITION 4
2883 #define SB_THUMBTRACK 5
2884 #define SB_TOP 6
2885 #define SB_LEFT 6
2886 #define SB_BOTTOM 7
2887 #define SB_RIGHT 7
2888 #define SB_ENDSCROLL 8
2890 /* Scroll bar selection constants */
2891 #define SB_HORZ 0
2892 #define SB_VERT 1
2893 #define SB_CTL 2
2894 #define SB_BOTH 3
2896 /* Scrollbar styles */
2897 #define SBS_HORZ 0x0000L
2898 #define SBS_VERT 0x0001L
2899 #define SBS_TOPALIGN 0x0002L
2900 #define SBS_LEFTALIGN 0x0002L
2901 #define SBS_BOTTOMALIGN 0x0004L
2902 #define SBS_RIGHTALIGN 0x0004L
2903 #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
2904 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
2905 #define SBS_SIZEBOX 0x0008L
2907 /* EnableScrollBar() flags */
2908 #define ESB_ENABLE_BOTH 0x0000
2909 #define ESB_DISABLE_BOTH 0x0003
2911 #define ESB_DISABLE_LEFT 0x0001
2912 #define ESB_DISABLE_RIGHT 0x0002
2914 #define ESB_DISABLE_UP 0x0001
2915 #define ESB_DISABLE_DOWN 0x0002
2917 #define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
2918 #define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
2920 /* Scrollbar messages */
2921 #define SBM_SETPOS16 (WM_USER+0)
2922 #define SBM_SETPOS32 0x00e0
2923 #define SBM_SETPOS WINELIB_NAME(SBM_SETPOS)
2924 #define SBM_GETPOS16 (WM_USER+1)
2925 #define SBM_GETPOS32 0x00e1
2926 #define SBM_GETPOS WINELIB_NAME(SBM_GETPOS)
2927 #define SBM_SETRANGE16 (WM_USER+2)
2928 #define SBM_SETRANGE32 0x00e2
2929 #define SBM_SETRANGE WINELIB_NAME(SBM_SETRANGE)
2930 #define SBM_GETRANGE16 (WM_USER+3)
2931 #define SBM_GETRANGE32 0x00e3
2932 #define SBM_GETRANGE WINELIB_NAME(SBM_GETRANGE)
2933 #define SBM_ENABLE_ARROWS16 (WM_USER+4)
2934 #define SBM_ENABLE_ARROWS32 0x00e4
2935 #define SBM_ENABLE_ARROWS WINELIB_NAME(SBM_ENABLE_ARROWS)
2936 #define SBM_SETRANGEREDRAW16 WM_NULL /* Not in Win16 */
2937 #define SBM_SETRANGEREDRAW32 0x00e6
2938 #define SBM_SETRANGEREDRAW WINELIB_NAME(SBM_SETRANGEREDRAW)
2939 #define SBM_SETSCROLLINFO16 WM_NULL /* Not in Win16 */
2940 #define SBM_SETSCROLLINFO32 0x00e9
2941 #define SBM_SETSCROLLINFO WINELIB_NAME(SBM_SETSCROLLINFO)
2942 #define SBM_GETSCROLLINFO16 WM_NULL /* Not in Win16 */
2943 #define SBM_GETSCROLLINFO32 0x00ea
2944 #define SBM_GETSCROLLINFO WINELIB_NAME(SBM_GETSCROLLINFO)
2946 /* Scrollbar info */
2947 typedef struct
2949 UINT32 cbSize;
2950 UINT32 fMask;
2951 INT32 nMin;
2952 INT32 nMax;
2953 UINT32 nPage;
2954 INT32 nPos;
2955 INT32 nTrackPos;
2956 } SCROLLINFO, *LPSCROLLINFO;
2958 /* GetScrollInfo() flags */
2959 #define SIF_RANGE 0x0001
2960 #define SIF_PAGE 0x0002
2961 #define SIF_POS 0x0004
2962 #define SIF_DISABLENOSCROLL 0x0008
2963 #define SIF_TRACKPOS 0x0010
2964 #define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
2966 /* Listbox styles */
2967 #define LBS_NOTIFY 0x0001
2968 #define LBS_SORT 0x0002
2969 #define LBS_NOREDRAW 0x0004
2970 #define LBS_MULTIPLESEL 0x0008
2971 #define LBS_OWNERDRAWFIXED 0x0010
2972 #define LBS_OWNERDRAWVARIABLE 0x0020
2973 #define LBS_HASSTRINGS 0x0040
2974 #define LBS_USETABSTOPS 0x0080
2975 #define LBS_NOINTEGRALHEIGHT 0x0100
2976 #define LBS_MULTICOLUMN 0x0200
2977 #define LBS_WANTKEYBOARDINPUT 0x0400
2978 #define LBS_EXTENDEDSEL 0x0800
2979 #define LBS_DISABLENOSCROLL 0x1000
2980 #define LBS_NODATA 0x2000
2981 #define LBS_NOSEL 0x4000
2982 #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
2984 /* Listbox messages */
2985 #define LB_ADDSTRING16 (WM_USER+1)
2986 #define LB_ADDSTRING32 0x0180
2987 #define LB_ADDSTRING WINELIB_NAME(LB_ADDSTRING)
2988 #define LB_INSERTSTRING16 (WM_USER+2)
2989 #define LB_INSERTSTRING32 0x0181
2990 #define LB_INSERTSTRING WINELIB_NAME(LB_INSERTSTRING)
2991 #define LB_DELETESTRING16 (WM_USER+3)
2992 #define LB_DELETESTRING32 0x0182
2993 #define LB_DELETESTRING WINELIB_NAME(LB_DELETESTRING)
2994 #define LB_SELITEMRANGEEX16 (WM_USER+4)
2995 #define LB_SELITEMRANGEEX32 0x0183
2996 #define LB_SELITEMRANGEEX WINELIB_NAME(LB_SELITEMRANGEEX)
2997 #define LB_RESETCONTENT16 (WM_USER+5)
2998 #define LB_RESETCONTENT32 0x0184
2999 #define LB_RESETCONTENT WINELIB_NAME(LB_RESETCONTENT)
3000 #define LB_SETSEL16 (WM_USER+6)
3001 #define LB_SETSEL32 0x0185
3002 #define LB_SETSEL WINELIB_NAME(LB_SETSEL)
3003 #define LB_SETCURSEL16 (WM_USER+7)
3004 #define LB_SETCURSEL32 0x0186
3005 #define LB_SETCURSEL WINELIB_NAME(LB_SETCURSEL)
3006 #define LB_GETSEL16 (WM_USER+8)
3007 #define LB_GETSEL32 0x0187
3008 #define LB_GETSEL WINELIB_NAME(LB_GETSEL)
3009 #define LB_GETCURSEL16 (WM_USER+9)
3010 #define LB_GETCURSEL32 0x0188
3011 #define LB_GETCURSEL WINELIB_NAME(LB_GETCURSEL)
3012 #define LB_GETTEXT16 (WM_USER+10)
3013 #define LB_GETTEXT32 0x0189
3014 #define LB_GETTEXT WINELIB_NAME(LB_GETTEXT)
3015 #define LB_GETTEXTLEN16 (WM_USER+11)
3016 #define LB_GETTEXTLEN32 0x018a
3017 #define LB_GETTEXTLEN WINELIB_NAME(LB_GETTEXTLEN)
3018 #define LB_GETCOUNT16 (WM_USER+12)
3019 #define LB_GETCOUNT32 0x018b
3020 #define LB_GETCOUNT WINELIB_NAME(LB_GETCOUNT)
3021 #define LB_SELECTSTRING16 (WM_USER+13)
3022 #define LB_SELECTSTRING32 0x018c
3023 #define LB_SELECTSTRING WINELIB_NAME(LB_SELECTSTRING)
3024 #define LB_DIR16 (WM_USER+14)
3025 #define LB_DIR32 0x018d
3026 #define LB_DIR WINELIB_NAME(LB_DIR)
3027 #define LB_GETTOPINDEX16 (WM_USER+15)
3028 #define LB_GETTOPINDEX32 0x018e
3029 #define LB_GETTOPINDEX WINELIB_NAME(LB_GETTOPINDEX)
3030 #define LB_FINDSTRING16 (WM_USER+16)
3031 #define LB_FINDSTRING32 0x018f
3032 #define LB_FINDSTRING WINELIB_NAME(LB_FINDSTRING)
3033 #define LB_GETSELCOUNT16 (WM_USER+17)
3034 #define LB_GETSELCOUNT32 0x0190
3035 #define LB_GETSELCOUNT WINELIB_NAME(LB_GETSELCOUNT)
3036 #define LB_GETSELITEMS16 (WM_USER+18)
3037 #define LB_GETSELITEMS32 0x0191
3038 #define LB_GETSELITEMS WINELIB_NAME(LB_GETSELITEMS)
3039 #define LB_SETTABSTOPS16 (WM_USER+19)
3040 #define LB_SETTABSTOPS32 0x0192
3041 #define LB_SETTABSTOPS WINELIB_NAME(LB_SETTABSTOPS)
3042 #define LB_GETHORIZONTALEXTENT16 (WM_USER+20)
3043 #define LB_GETHORIZONTALEXTENT32 0x0193
3044 #define LB_GETHORIZONTALEXTENT WINELIB_NAME(LB_GETHORIZONTALEXTENT)
3045 #define LB_SETHORIZONTALEXTENT16 (WM_USER+21)
3046 #define LB_SETHORIZONTALEXTENT32 0x0194
3047 #define LB_SETHORIZONTALEXTENT WINELIB_NAME(LB_SETHORIZONTALEXTENT)
3048 #define LB_SETCOLUMNWIDTH16 (WM_USER+22)
3049 #define LB_SETCOLUMNWIDTH32 0x0195
3050 #define LB_SETCOLUMNWIDTH WINELIB_NAME(LB_SETCOLUMNWIDTH)
3051 #define LB_ADDFILE16 (WM_USER+23)
3052 #define LB_ADDFILE32 0x0196
3053 #define LB_ADDFILE WINELIB_NAME(LB_ADDFILE)
3054 #define LB_SETTOPINDEX16 (WM_USER+24)
3055 #define LB_SETTOPINDEX32 0x0197
3056 #define LB_SETTOPINDEX WINELIB_NAME(LB_SETTOPINDEX)
3057 #define LB_GETITEMRECT16 (WM_USER+25)
3058 #define LB_GETITEMRECT32 0x0198
3059 #define LB_GETITEMRECT WINELIB_NAME(LB_GETITEMRECT)
3060 #define LB_GETITEMDATA16 (WM_USER+26)
3061 #define LB_GETITEMDATA32 0x0199
3062 #define LB_GETITEMDATA WINELIB_NAME(LB_GETITEMDATA)
3063 #define LB_SETITEMDATA16 (WM_USER+27)
3064 #define LB_SETITEMDATA32 0x019a
3065 #define LB_SETITEMDATA WINELIB_NAME(LB_SETITEMDATA)
3066 #define LB_SELITEMRANGE16 (WM_USER+28)
3067 #define LB_SELITEMRANGE32 0x019b
3068 #define LB_SELITEMRANGE WINELIB_NAME(LB_SELITEMRANGE)
3069 #define LB_SETANCHORINDEX16 (WM_USER+29)
3070 #define LB_SETANCHORINDEX32 0x019c
3071 #define LB_SETANCHORINDEX WINELIB_NAME(LB_SETANCHORINDEX)
3072 #define LB_GETANCHORINDEX16 (WM_USER+30)
3073 #define LB_GETANCHORINDEX32 0x019d
3074 #define LB_GETANCHORINDEX WINELIB_NAME(LB_GETANCHORINDEX)
3075 #define LB_SETCARETINDEX16 (WM_USER+31)
3076 #define LB_SETCARETINDEX32 0x019e
3077 #define LB_SETCARETINDEX WINELIB_NAME(LB_SETCARETINDEX)
3078 #define LB_GETCARETINDEX16 (WM_USER+32)
3079 #define LB_GETCARETINDEX32 0x019f
3080 #define LB_GETCARETINDEX WINELIB_NAME(LB_GETCARETINDEX)
3081 #define LB_SETITEMHEIGHT16 (WM_USER+33)
3082 #define LB_SETITEMHEIGHT32 0x01a0
3083 #define LB_SETITEMHEIGHT WINELIB_NAME(LB_SETITEMHEIGHT)
3084 #define LB_GETITEMHEIGHT16 (WM_USER+34)
3085 #define LB_GETITEMHEIGHT32 0x01a1
3086 #define LB_GETITEMHEIGHT WINELIB_NAME(LB_GETITEMHEIGHT)
3087 #define LB_FINDSTRINGEXACT16 (WM_USER+35)
3088 #define LB_FINDSTRINGEXACT32 0x01a2
3089 #define LB_FINDSTRINGEXACT WINELIB_NAME(LB_FINDSTRINGEXACT)
3090 #define LB_CARETON16 (WM_USER+36)
3091 #define LB_CARETON32 0x01a3
3092 #define LB_CARETON WINELIB_NAME(LB_CARETON)
3093 #define LB_CARETOFF16 (WM_USER+37)
3094 #define LB_CARETOFF32 0x01a4
3095 #define LB_CARETOFF WINELIB_NAME(LB_CARETOFF)
3096 #define LB_SETLOCALE16 WM_NULL /* Not in Win16 */
3097 #define LB_SETLOCALE32 0x01a5
3098 #define LB_SETLOCALE WINELIB_NAME(LB_SETLOCALE)
3099 #define LB_GETLOCALE16 WM_NULL /* Not in Win16 */
3100 #define LB_GETLOCALE32 0x01a6
3101 #define LB_GETLOCALE WINELIB_NAME(LB_GETLOCALE)
3102 #define LB_SETCOUNT16 WM_NULL /* Not in Win16 */
3103 #define LB_SETCOUNT32 0x01a7
3104 #define LB_SETCOUNT WINELIB_NAME(LB_SETCOUNT)
3105 #define LB_INITSTORAGE16 WM_NULL /* Not in Win16 */
3106 #define LB_INITSTORAGE32 0x01a8
3107 #define LB_INITSTORAGE WINELIB_NAME(LB_INITSTORAGE)
3108 #define LB_ITEMFROMPOINT16 WM_NULL /* Not in Win16 */
3109 #define LB_ITEMFROMPOINT32 0x01a9
3110 #define LB_ITEMFROMPOINT WINELIB_NAME(LB_ITEMFROMPOINT)
3112 /* Listbox notification codes */
3113 #define LBN_ERRSPACE (-2)
3114 #define LBN_SELCHANGE 1
3115 #define LBN_DBLCLK 2
3116 #define LBN_SELCANCEL 3
3117 #define LBN_SETFOCUS 4
3118 #define LBN_KILLFOCUS 5
3120 /* Listbox message return values */
3121 #define LB_OKAY 0
3122 #define LB_ERR (-1)
3123 #define LB_ERRSPACE (-2)
3125 #define LB_CTLCODE 0L
3127 /* Combo box styles */
3128 #define CBS_SIMPLE 0x0001L
3129 #define CBS_DROPDOWN 0x0002L
3130 #define CBS_DROPDOWNLIST 0x0003L
3131 #define CBS_OWNERDRAWFIXED 0x0010L
3132 #define CBS_OWNERDRAWVARIABLE 0x0020L
3133 #define CBS_AUTOHSCROLL 0x0040L
3134 #define CBS_OEMCONVERT 0x0080L
3135 #define CBS_SORT 0x0100L
3136 #define CBS_HASSTRINGS 0x0200L
3137 #define CBS_NOINTEGRALHEIGHT 0x0400L
3138 #define CBS_DISABLENOSCROLL 0x0800L
3140 /* Combo box messages */
3141 #define CB_GETEDITSEL16 (WM_USER+0)
3142 #define CB_GETEDITSEL32 0x0140
3143 #define CB_GETEDITSEL WINELIB_NAME(CB_GETEDITSEL)
3144 #define CB_LIMITTEXT16 (WM_USER+1)
3145 #define CB_LIMITTEXT32 0x0141
3146 #define CB_LIMITTEXT WINELIB_NAME(CB_LIMITTEXT)
3147 #define CB_SETEDITSEL16 (WM_USER+2)
3148 #define CB_SETEDITSEL32 0x0142
3149 #define CB_SETEDITSEL WINELIB_NAME(CB_SETEDITSEL)
3150 #define CB_ADDSTRING16 (WM_USER+3)
3151 #define CB_ADDSTRING32 0x0143
3152 #define CB_ADDSTRING WINELIB_NAME(CB_ADDSTRING)
3153 #define CB_DELETESTRING16 (WM_USER+4)
3154 #define CB_DELETESTRING32 0x0144
3155 #define CB_DELETESTRING WINELIB_NAME(CB_DELETESTRING)
3156 #define CB_DIR16 (WM_USER+5)
3157 #define CB_DIR32 0x0145
3158 #define CB_DIR WINELIB_NAME(CB_DIR)
3159 #define CB_GETCOUNT16 (WM_USER+6)
3160 #define CB_GETCOUNT32 0x0146
3161 #define CB_GETCOUNT WINELIB_NAME(CB_GETCOUNT)
3162 #define CB_GETCURSEL16 (WM_USER+7)
3163 #define CB_GETCURSEL32 0x0147
3164 #define CB_GETCURSEL WINELIB_NAME(CB_GETCURSEL)
3165 #define CB_GETLBTEXT16 (WM_USER+8)
3166 #define CB_GETLBTEXT32 0x0148
3167 #define CB_GETLBTEXT WINELIB_NAME(CB_GETLBTEXT)
3168 #define CB_GETLBTEXTLEN16 (WM_USER+9)
3169 #define CB_GETLBTEXTLEN32 0x0149
3170 #define CB_GETLBTEXTLEN WINELIB_NAME(CB_GETLBTEXTLEN)
3171 #define CB_INSERTSTRING16 (WM_USER+10)
3172 #define CB_INSERTSTRING32 0x014a
3173 #define CB_INSERTSTRING WINELIB_NAME(CB_INSERTSTRING)
3174 #define CB_RESETCONTENT16 (WM_USER+11)
3175 #define CB_RESETCONTENT32 0x014b
3176 #define CB_RESETCONTENT WINELIB_NAME(CB_RESETCONTENT)
3177 #define CB_FINDSTRING16 (WM_USER+12)
3178 #define CB_FINDSTRING32 0x014c
3179 #define CB_FINDSTRING WINELIB_NAME(CB_FINDSTRING)
3180 #define CB_SELECTSTRING16 (WM_USER+13)
3181 #define CB_SELECTSTRING32 0x014d
3182 #define CB_SELECTSTRING WINELIB_NAME(CB_SELECTSTRING)
3183 #define CB_SETCURSEL16 (WM_USER+14)
3184 #define CB_SETCURSEL32 0x014e
3185 #define CB_SETCURSEL WINELIB_NAME(CB_SETCURSEL)
3186 #define CB_SHOWDROPDOWN16 (WM_USER+15)
3187 #define CB_SHOWDROPDOWN32 0x014f
3188 #define CB_SHOWDROPDOWN WINELIB_NAME(CB_SHOWDROPDOWN)
3189 #define CB_GETITEMDATA16 (WM_USER+16)
3190 #define CB_GETITEMDATA32 0x0150
3191 #define CB_GETITEMDATA WINELIB_NAME(CB_GETITEMDATA)
3192 #define CB_SETITEMDATA16 (WM_USER+17)
3193 #define CB_SETITEMDATA32 0x0151
3194 #define CB_SETITEMDATA WINELIB_NAME(CB_SETITEMDATA)
3195 #define CB_GETDROPPEDCONTROLRECT16 (WM_USER+18)
3196 #define CB_GETDROPPEDCONTROLRECT32 0x0152
3197 #define CB_GETDROPPEDCONTROLRECT WINELIB_NAME(CB_GETDROPPEDCONTROLRECT)
3198 #define CB_SETITEMHEIGHT16 (WM_USER+19)
3199 #define CB_SETITEMHEIGHT32 0x0153
3200 #define CB_SETITEMHEIGHT WINELIB_NAME(CB_SETITEMHEIGHT)
3201 #define CB_GETITEMHEIGHT16 (WM_USER+20)
3202 #define CB_GETITEMHEIGHT32 0x0154
3203 #define CB_GETITEMHEIGHT WINELIB_NAME(CB_GETITEMHEIGHT)
3204 #define CB_SETEXTENDEDUI16 (WM_USER+21)
3205 #define CB_SETEXTENDEDUI32 0x0155
3206 #define CB_SETEXTENDEDUI WINELIB_NAME(CB_SETEXTENDEDUI)
3207 #define CB_GETEXTENDEDUI16 (WM_USER+22)
3208 #define CB_GETEXTENDEDUI32 0x0156
3209 #define CB_GETEXTENDEDUI WINELIB_NAME(CB_GETEXTENDEDUI)
3210 #define CB_GETDROPPEDSTATE16 (WM_USER+23)
3211 #define CB_GETDROPPEDSTATE32 0x0157
3212 #define CB_GETDROPPEDSTATE WINELIB_NAME(CB_GETDROPPEDSTATE)
3213 #define CB_FINDSTRINGEXACT16 (WM_USER+24)
3214 #define CB_FINDSTRINGEXACT32 0x0158
3215 #define CB_FINDSTRINGEXACT WINELIB_NAME(CB_FINDSTRINGEXACT)
3216 #define CB_SETLOCALE16 WM_NULL /* Not in Win16 */
3217 #define CB_SETLOCALE32 0x0159
3218 #define CB_SETLOCALE WINELIB_NAME(CB_SETLOCALE)
3219 #define CB_GETLOCALE16 WM_NULL /* Not in Win16 */
3220 #define CB_GETLOCALE32 0x015a
3221 #define CB_GETLOCALE WINELIB_NAME(CB_GETLOCALE)
3222 #define CB_GETTOPINDEX16 WM_NULL /* Not in Win16 */
3223 #define CB_GETTOPINDEX32 0x015b
3224 #define CB_GETTOPINDEX WINELIB_NAME(CB_GETTOPINDEX)
3225 #define CB_SETTOPINDEX16 WM_NULL /* Not in Win16 */
3226 #define CB_SETTOPINDEX32 0x015c
3227 #define CB_SETTOPINDEX WINELIB_NAME(CB_SETTOPINDEX)
3228 #define CB_GETHORIZONTALEXTENT16 WM_NULL /* Not in Win16 */
3229 #define CB_GETHORIZONTALEXTENT32 0x015d
3230 #define CB_GETHORIZONTALEXTENT WINELIB_NAME(CB_GETHORIZONTALEXTENT)
3231 #define CB_SETHORIZONTALEXTENT16 WM_NULL /* Not in Win16 */
3232 #define CB_SETHORIZONTALEXTENT32 0x015e
3233 #define CB_SETHORIZONTALEXTENT WINELIB_NAME(CB_SETHORIZONTALEXTENT)
3234 #define CB_GETDROPPEDWIDTH16 WM_NULL /* Not in Win16 */
3235 #define CB_GETDROPPEDWIDTH32 0x015f
3236 #define CB_GETDROPPEDWIDTH WINELIB_NAME(CB_GETDROPPEDWIDTH)
3237 #define CB_SETDROPPEDWIDTH16 WM_NULL /* Not in Win16 */
3238 #define CB_SETDROPPEDWIDTH32 0x0160
3239 #define CB_SETDROPPEDWIDTH WINELIB_NAME(CB_SETDROPPEDWIDTH)
3240 #define CB_INITSTORAGE16 WM_NULL /* Not in Win16 */
3241 #define CB_INITSTORAGE32 0x0161
3242 #define CB_INITSTORAGE WINELIB_NAME(CB_INITSTORAGE)
3244 /* Combo box notification codes */
3245 #define CBN_ERRSPACE (-1)
3246 #define CBN_SELCHANGE 1
3247 #define CBN_DBLCLK 2
3248 #define CBN_SETFOCUS 3
3249 #define CBN_KILLFOCUS 4
3250 #define CBN_EDITCHANGE 5
3251 #define CBN_EDITUPDATE 6
3252 #define CBN_DROPDOWN 7
3253 #define CBN_CLOSEUP 8
3254 #define CBN_SELENDOK 9
3255 #define CBN_SELENDCANCEL 10
3257 /* Combo box message return values */
3258 #define CB_OKAY 0
3259 #define CB_ERR (-1)
3260 #define CB_ERRSPACE (-2)
3263 /* Owner draw control types */
3264 #define ODT_MENU 1
3265 #define ODT_LISTBOX 2
3266 #define ODT_COMBOBOX 3
3267 #define ODT_BUTTON 4
3269 /* Owner draw actions */
3270 #define ODA_DRAWENTIRE 0x0001
3271 #define ODA_SELECT 0x0002
3272 #define ODA_FOCUS 0x0004
3274 /* Owner draw state */
3275 #define ODS_SELECTED 0x0001
3276 #define ODS_GRAYED 0x0002
3277 #define ODS_DISABLED 0x0004
3278 #define ODS_CHECKED 0x0008
3279 #define ODS_FOCUS 0x0010
3281 /* Edit control styles */
3282 #define ES_LEFT 0x00000000L
3283 #define ES_CENTER 0x00000001L
3284 #define ES_RIGHT 0x00000002L
3285 #define ES_MULTILINE 0x00000004L
3286 #define ES_UPPERCASE 0x00000008L
3287 #define ES_LOWERCASE 0x00000010L
3288 #define ES_PASSWORD 0x00000020L
3289 #define ES_AUTOVSCROLL 0x00000040L
3290 #define ES_AUTOHSCROLL 0x00000080L
3291 #define ES_NOHIDESEL 0x00000100L
3292 #define ES_OEMCONVERT 0x00000400L
3293 #define ES_READONLY 0x00000800L
3294 #define ES_WANTRETURN 0x00001000L
3296 /* Edit control messages */
3297 #define EM_GETSEL (WM_USER+0)
3298 #define EM_SETSEL (WM_USER+1)
3299 #define EM_GETRECT (WM_USER+2)
3300 #define EM_SETRECT (WM_USER+3)
3301 #define EM_SETRECTNP (WM_USER+4)
3302 #define EM_LINESCROLL (WM_USER+6)
3303 #define EM_GETMODIFY (WM_USER+8)
3304 #define EM_SETMODIFY (WM_USER+9)
3305 #define EM_GETLINECOUNT (WM_USER+10)
3306 #define EM_LINEINDEX (WM_USER+11)
3307 #define EM_SETHANDLE (WM_USER+12)
3308 #define EM_GETHANDLE (WM_USER+13)
3309 #define EM_LINELENGTH (WM_USER+17)
3310 #define EM_REPLACESEL (WM_USER+18)
3311 #define EM_GETLINE (WM_USER+20)
3312 #define EM_LIMITTEXT (WM_USER+21)
3313 #define EM_CANUNDO (WM_USER+22)
3314 #define EM_UNDO (WM_USER+23)
3315 #define EM_FMTLINES (WM_USER+24)
3316 #define EM_LINEFROMCHAR (WM_USER+25)
3317 #define EM_SETTABSTOPS (WM_USER+27)
3318 #define EM_SETPASSWORDCHAR (WM_USER+28)
3319 #define EM_EMPTYUNDOBUFFER (WM_USER+29)
3320 #define EM_GETFIRSTVISIBLELINE (WM_USER+30)
3321 #define EM_SETREADONLY (WM_USER+31)
3322 #define EM_SETWORDBREAKPROC (WM_USER+32)
3323 #define EM_GETWORDBREAKPROC (WM_USER+33)
3324 #define EM_GETPASSWORDCHAR (WM_USER+34)
3325 /* Edit control undocumented messages */
3326 #define EM_SCROLL (WM_USER+5)
3327 #define EM_GETTHUMB (WM_USER+14)
3329 /* EDITWORDBREAKPROC code values */
3330 #define WB_LEFT 0
3331 #define WB_RIGHT 1
3332 #define WB_ISDELIMITER 2
3334 /* Edit control notification codes */
3335 #define EN_SETFOCUS 0x0100
3336 #define EN_KILLFOCUS 0x0200
3337 #define EN_CHANGE 0x0300
3338 #define EN_UPDATE 0x0400
3339 #define EN_ERRSPACE 0x0500
3340 #define EN_MAXTEXT 0x0501
3341 #define EN_HSCROLL 0x0601
3342 #define EN_VSCROLL 0x0602
3345 typedef struct
3347 UINT16 CtlType;
3348 UINT16 CtlID;
3349 UINT16 itemID;
3350 UINT16 itemAction;
3351 UINT16 itemState;
3352 HWND16 hwndItem;
3353 HDC16 hDC;
3354 RECT16 rcItem WINE_PACKED;
3355 DWORD itemData WINE_PACKED;
3356 } DRAWITEMSTRUCT16, *PDRAWITEMSTRUCT16, *LPDRAWITEMSTRUCT16;
3358 typedef struct
3360 UINT32 CtlType;
3361 UINT32 CtlID;
3362 UINT32 itemID;
3363 UINT32 itemAction;
3364 UINT32 itemState;
3365 HWND32 hwndItem;
3366 HDC32 hDC;
3367 RECT32 rcItem WINE_PACKED;
3368 DWORD itemData WINE_PACKED;
3369 } DRAWITEMSTRUCT32, *PDRAWITEMSTRUCT32, *LPDRAWITEMSTRUCT32;
3371 DECL_WINELIB_TYPE(DRAWITEMSTRUCT);
3372 DECL_WINELIB_TYPE(PDRAWITEMSTRUCT);
3373 DECL_WINELIB_TYPE(LPDRAWITEMSTRUCT);
3375 typedef struct
3377 UINT16 CtlType;
3378 UINT16 CtlID;
3379 UINT16 itemID;
3380 UINT16 itemWidth;
3381 UINT16 itemHeight;
3382 DWORD itemData WINE_PACKED;
3383 } MEASUREITEMSTRUCT16, *PMEASUREITEMSTRUCT16, *LPMEASUREITEMSTRUCT16;
3385 typedef struct
3387 UINT32 CtlType;
3388 UINT32 CtlID;
3389 UINT32 itemID;
3390 UINT32 itemWidth;
3391 UINT32 itemHeight;
3392 DWORD itemData;
3393 } MEASUREITEMSTRUCT32, *PMEASUREITEMSTRUCT32, *LPMEASUREITEMSTRUCT32;
3395 DECL_WINELIB_TYPE(MEASUREITEMSTRUCT);
3396 DECL_WINELIB_TYPE(PMEASUREITEMSTRUCT);
3397 DECL_WINELIB_TYPE(LPMEASUREITEMSTRUCT);
3399 typedef struct
3401 UINT16 CtlType;
3402 UINT16 CtlID;
3403 UINT16 itemID;
3404 HWND16 hwndItem;
3405 DWORD itemData;
3406 } DELETEITEMSTRUCT16, *LPDELETEITEMSTRUCT16;
3408 typedef struct
3410 UINT32 CtlType;
3411 UINT32 CtlID;
3412 UINT32 itemID;
3413 HWND32 hwndItem;
3414 DWORD itemData;
3415 } DELETEITEMSTRUCT32, *LPDELETEITEMSTRUCT32;
3417 DECL_WINELIB_TYPE(DELETEITEMSTRUCT);
3418 DECL_WINELIB_TYPE(LPDELETEITEMSTRUCT);
3420 typedef struct
3422 UINT16 CtlType;
3423 UINT16 CtlID;
3424 HWND16 hwndItem;
3425 UINT16 itemID1;
3426 DWORD itemData1;
3427 UINT16 itemID2;
3428 DWORD itemData2 WINE_PACKED;
3429 } COMPAREITEMSTRUCT16, *LPCOMPAREITEMSTRUCT16;
3431 typedef struct
3433 UINT32 CtlType;
3434 UINT32 CtlID;
3435 HWND32 hwndItem;
3436 UINT32 itemID1;
3437 DWORD itemData1;
3438 UINT32 itemID2;
3439 DWORD itemData2;
3440 DWORD dwLocaleId;
3441 } COMPAREITEMSTRUCT32, *LPCOMPAREITEMSTRUCT32;
3443 DECL_WINELIB_TYPE(COMPAREITEMSTRUCT);
3444 DECL_WINELIB_TYPE(LPCOMPAREITEMSTRUCT);
3446 /* WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags */
3447 #define KF_EXTENDED 0x0100
3448 #define KF_DLGMODE 0x0800
3449 #define KF_MENUMODE 0x1000
3450 #define KF_ALTDOWN 0x2000
3451 #define KF_REPEAT 0x4000
3452 #define KF_UP 0x8000
3454 /* Virtual key codes */
3455 #define VK_LBUTTON 0x01
3456 #define VK_RBUTTON 0x02
3457 #define VK_CANCEL 0x03
3458 #define VK_MBUTTON 0x04
3459 /* 0x05-0x07 Undefined */
3460 #define VK_BACK 0x08
3461 #define VK_TAB 0x09
3462 /* 0x0A-0x0B Undefined */
3463 #define VK_CLEAR 0x0C
3464 #define VK_RETURN 0x0D
3465 /* 0x0E-0x0F Undefined */
3466 #define VK_SHIFT 0x10
3467 #define VK_CONTROL 0x11
3468 #define VK_MENU 0x12
3469 #define VK_PAUSE 0x13
3470 #define VK_CAPITAL 0x14
3471 /* 0x15-0x19 Reserved for Kanji systems */
3472 /* 0x1A Undefined */
3473 #define VK_ESCAPE 0x1B
3474 /* 0x1C-0x1F Reserved for Kanji systems */
3475 #define VK_SPACE 0x20
3476 #define VK_PRIOR 0x21
3477 #define VK_NEXT 0x22
3478 #define VK_END 0x23
3479 #define VK_HOME 0x24
3480 #define VK_LEFT 0x25
3481 #define VK_UP 0x26
3482 #define VK_RIGHT 0x27
3483 #define VK_DOWN 0x28
3484 #define VK_SELECT 0x29
3485 #define VK_PRINT 0x2A /* OEM specific in Windows 3.1 SDK */
3486 #define VK_EXECUTE 0x2B
3487 #define VK_SNAPSHOT 0x2C
3488 #define VK_INSERT 0x2D
3489 #define VK_DELETE 0x2E
3490 #define VK_HELP 0x2F
3491 #define VK_0 0x30
3492 #define VK_1 0x31
3493 #define VK_2 0x32
3494 #define VK_3 0x33
3495 #define VK_4 0x34
3496 #define VK_5 0x35
3497 #define VK_6 0x36
3498 #define VK_7 0x37
3499 #define VK_8 0x38
3500 #define VK_9 0x39
3501 /* 0x3A-0x40 Undefined */
3502 #define VK_A 0x41
3503 #define VK_B 0x42
3504 #define VK_C 0x43
3505 #define VK_D 0x44
3506 #define VK_E 0x45
3507 #define VK_F 0x46
3508 #define VK_G 0x47
3509 #define VK_H 0x48
3510 #define VK_I 0x49
3511 #define VK_J 0x4A
3512 #define VK_K 0x4B
3513 #define VK_L 0x4C
3514 #define VK_M 0x4D
3515 #define VK_N 0x4E
3516 #define VK_O 0x4F
3517 #define VK_P 0x50
3518 #define VK_Q 0x51
3519 #define VK_R 0x52
3520 #define VK_S 0x53
3521 #define VK_T 0x54
3522 #define VK_U 0x55
3523 #define VK_V 0x56
3524 #define VK_W 0x57
3525 #define VK_X 0x58
3526 #define VK_Y 0x59
3527 #define VK_Z 0x5A
3528 /* 0x5B-0x5F Undefined */
3529 #define VK_NUMPAD0 0x60
3530 #define VK_NUMPAD1 0x61
3531 #define VK_NUMPAD2 0x62
3532 #define VK_NUMPAD3 0x63
3533 #define VK_NUMPAD4 0x64
3534 #define VK_NUMPAD5 0x65
3535 #define VK_NUMPAD6 0x66
3536 #define VK_NUMPAD7 0x67
3537 #define VK_NUMPAD8 0x68
3538 #define VK_NUMPAD9 0x69
3539 #define VK_MULTIPLY 0x6A
3540 #define VK_ADD 0x6B
3541 #define VK_SEPARATOR 0x6C
3542 #define VK_SUBTRACT 0x6D
3543 #define VK_DECIMAL 0x6E
3544 #define VK_DIVIDE 0x6F
3545 #define VK_F1 0x70
3546 #define VK_F2 0x71
3547 #define VK_F3 0x72
3548 #define VK_F4 0x73
3549 #define VK_F5 0x74
3550 #define VK_F6 0x75
3551 #define VK_F7 0x76
3552 #define VK_F8 0x77
3553 #define VK_F9 0x78
3554 #define VK_F10 0x79
3555 #define VK_F11 0x7A
3556 #define VK_F12 0x7B
3557 #define VK_F13 0x7C
3558 #define VK_F14 0x7D
3559 #define VK_F15 0x7E
3560 #define VK_F16 0x7F
3561 #define VK_F17 0x80
3562 #define VK_F18 0x81
3563 #define VK_F19 0x82
3564 #define VK_F20 0x83
3565 #define VK_F21 0x84
3566 #define VK_F22 0x85
3567 #define VK_F23 0x86
3568 #define VK_F24 0x87
3569 /* 0x88-0x8F Unassigned */
3570 #define VK_NUMLOCK 0x90
3571 #define VK_SCROLL 0x91
3572 /* 0x92-0xB9 Unassigned */
3573 /* 0xBA-0xC0 OEM specific */
3574 /* 0xC1-0xDA Unassigned */
3575 /* 0xDB-0xE4 OEM specific */
3576 /* 0xE5 Unassigned */
3577 /* 0xE6 OEM specific */
3578 /* 0xE7-0xE8 Unassigned */
3579 /* 0xE9-0xF5 OEM specific */
3580 /* 0xF6-0xFE Unassigned */
3583 #define LMEM_FIXED 0
3584 #define LMEM_MOVEABLE 0x0002
3585 #define LMEM_NOCOMPACT 0x0010
3586 #define LMEM_NODISCARD 0x0020
3587 #define LMEM_ZEROINIT 0x0040
3588 #define LMEM_MODIFY 0x0080
3589 #define LMEM_DISCARDABLE 0x0F00
3590 #define LMEM_DISCARDED 0x4000
3591 #define LMEM_LOCKCOUNT 0x00FF
3593 #define GMEM_FIXED 0x0000
3594 #define GMEM_MOVEABLE 0x0002
3595 #define GMEM_NOCOMPACT 0x0010
3596 #define GMEM_NODISCARD 0x0020
3597 #define GMEM_ZEROINIT 0x0040
3598 #define GMEM_MODIFY 0x0080
3599 #define GMEM_DISCARDABLE 0x0100
3600 #define GMEM_NOT_BANKED 0x1000
3601 #define GMEM_SHARE 0x2000
3602 #define GMEM_DDESHARE 0x2000
3603 #define GMEM_NOTIFY 0x4000
3604 #define GMEM_LOWER GMEM_NOT_BANKED
3605 #define GMEM_DISCARDED 0x4000
3606 #define GMEM_LOCKCOUNT 0x00ff
3607 #define GMEM_INVALID_HANDLE 0x8000
3609 #define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
3610 #define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
3613 typedef struct tagMEMORYSTATUS
3615 DWORD dwLength;
3616 DWORD dwMemoryLoad;
3617 DWORD dwTotalPhys;
3618 DWORD dwAvailPhys;
3619 DWORD dwTotalPageFile;
3620 DWORD dwAvailPageFile;
3621 DWORD dwTotalVirtual;
3622 DWORD dwAvailVirtual;
3623 } MEMORYSTATUS, *LPMEMORYSTATUS;
3625 /* Predefined Clipboard Formats */
3626 #define CF_TEXT 1
3627 #define CF_BITMAP 2
3628 #define CF_METAFILEPICT 3
3629 #define CF_SYLK 4
3630 #define CF_DIF 5
3631 #define CF_TIFF 6
3632 #define CF_OEMTEXT 7
3633 #define CF_DIB 8
3634 #define CF_PALETTE 9
3635 #define CF_PENDATA 10
3636 #define CF_RIFF 11
3637 #define CF_WAVE 12
3639 #define CF_OWNERDISPLAY 0x0080
3640 #define CF_DSPTEXT 0x0081
3641 #define CF_DSPBITMAP 0x0082
3642 #define CF_DSPMETAFILEPICT 0x0083
3644 /* "Private" formats don't get GlobalFree()'d */
3645 #define CF_PRIVATEFIRST 0x0200
3646 #define CF_PRIVATELAST 0x02FF
3648 /* "GDIOBJ" formats do get DeleteObject()'d */
3649 #define CF_GDIOBJFIRST 0x0300
3650 #define CF_GDIOBJLAST 0x03FF
3652 /* Clipboard command messages */
3653 #define WM_CUT 0x0300
3654 #define WM_COPY 0x0301
3655 #define WM_PASTE 0x0302
3656 #define WM_CLEAR 0x0303
3657 #define WM_UNDO 0x0304
3659 /* Clipboard owner messages */
3660 #define WM_RENDERFORMAT 0x0305
3661 #define WM_RENDERALLFORMATS 0x0306
3662 #define WM_DESTROYCLIPBOARD 0x0307
3664 /* Clipboard viewer messages */
3665 #define WM_DRAWCLIPBOARD 0x0308
3666 #define WM_PAINTCLIPBOARD 0x0309
3667 #define WM_SIZECLIPBOARD 0x030B
3668 #define WM_VSCROLLCLIPBOARD 0x030A
3669 #define WM_HSCROLLCLIPBOARD 0x030E
3670 #define WM_ASKCBFORMATNAME 0x030C
3671 #define WM_CHANGECBCHAIN 0x030D
3673 /* Metafile header structure */
3674 typedef struct
3676 WORD mtType;
3677 WORD mtHeaderSize;
3678 WORD mtVersion;
3679 DWORD mtSize WINE_PACKED;
3680 WORD mtNoObjects;
3681 DWORD mtMaxRecord WINE_PACKED;
3682 WORD mtNoParameters;
3683 } METAHEADER;
3685 /* Metafile typical record structure */
3686 typedef struct
3688 DWORD rdSize;
3689 WORD rdFunction;
3690 WORD rdParam[1];
3691 } METARECORD;
3692 typedef METARECORD *PMETARECORD;
3693 typedef METARECORD *LPMETARECORD;
3695 /* Handle table structure */
3697 typedef struct
3699 HGDIOBJ16 objectHandle[1];
3700 } HANDLETABLE16, *LPHANDLETABLE16;
3702 typedef struct
3704 HGDIOBJ32 objectHandle[1];
3705 } HANDLETABLE32, *LPHANDLETABLE32;
3707 DECL_WINELIB_TYPE(HANDLETABLE);
3708 DECL_WINELIB_TYPE(LPHANDLETABLE);
3710 /* Clipboard metafile picture structure */
3711 typedef struct
3713 INT16 mm;
3714 INT16 xExt;
3715 INT16 yExt;
3716 HMETAFILE16 hMF;
3717 } METAFILEPICT16, *LPMETAFILEPICT16;
3719 typedef struct
3721 INT32 mm;
3722 INT32 xExt;
3723 INT32 yExt;
3724 HMETAFILE32 hMF;
3725 } METAFILEPICT32, *LPMETAFILEPICT32;
3727 DECL_WINELIB_TYPE(METAFILEPICT);
3728 DECL_WINELIB_TYPE(LPMETAFILEPICT);
3730 /* Metafile functions */
3731 #define META_SETBKCOLOR 0x0201
3732 #define META_SETBKMODE 0x0102
3733 #define META_SETMAPMODE 0x0103
3734 #define META_SETROP2 0x0104
3735 #define META_SETRELABS 0x0105
3736 #define META_SETPOLYFILLMODE 0x0106
3737 #define META_SETSTRETCHBLTMODE 0x0107
3738 #define META_SETTEXTCHAREXTRA 0x0108
3739 #define META_SETTEXTCOLOR 0x0209
3740 #define META_SETTEXTJUSTIFICATION 0x020A
3741 #define META_SETWINDOWORG 0x020B
3742 #define META_SETWINDOWEXT 0x020C
3743 #define META_SETVIEWPORTORG 0x020D
3744 #define META_SETVIEWPORTEXT 0x020E
3745 #define META_OFFSETWINDOWORG 0x020F
3746 #define META_SCALEWINDOWEXT 0x0410
3747 #define META_OFFSETVIEWPORTORG 0x0211
3748 #define META_SCALEVIEWPORTEXT 0x0412
3749 #define META_LINETO 0x0213
3750 #define META_MOVETO 0x0214
3751 #define META_EXCLUDECLIPRECT 0x0415
3752 #define META_INTERSECTCLIPRECT 0x0416
3753 #define META_ARC 0x0817
3754 #define META_ELLIPSE 0x0418
3755 #define META_FLOODFILL 0x0419
3756 #define META_PIE 0x081A
3757 #define META_RECTANGLE 0x041B
3758 #define META_ROUNDRECT 0x061C
3759 #define META_PATBLT 0x061D
3760 #define META_SAVEDC 0x001E
3761 #define META_SETPIXEL 0x041F
3762 #define META_OFFSETCLIPRGN 0x0220
3763 #define META_TEXTOUT 0x0521
3764 #define META_BITBLT 0x0922
3765 #define META_STRETCHBLT 0x0B23
3766 #define META_POLYGON 0x0324
3767 #define META_POLYLINE 0x0325
3768 #define META_ESCAPE 0x0626
3769 #define META_RESTOREDC 0x0127
3770 #define META_FILLREGION 0x0228
3771 #define META_FRAMEREGION 0x0429
3772 #define META_INVERTREGION 0x012A
3773 #define META_PAINTREGION 0x012B
3774 #define META_SELECTCLIPREGION 0x012C
3775 #define META_SELECTOBJECT 0x012D
3776 #define META_SETTEXTALIGN 0x012E
3777 #define META_DRAWTEXT 0x062F
3778 #define META_CHORD 0x0830
3779 #define META_SETMAPPERFLAGS 0x0231
3780 #define META_EXTTEXTOUT 0x0A32
3781 #define META_SETDIBTODEV 0x0D33
3782 #define META_SELECTPALETTE 0x0234
3783 #define META_REALIZEPALETTE 0x0035
3784 #define META_ANIMATEPALETTE 0x0436
3785 #define META_SETPALENTRIES 0x0037
3786 #define META_POLYPOLYGON 0x0538
3787 #define META_RESIZEPALETTE 0x0139
3788 #define META_DIBBITBLT 0x0940
3789 #define META_DIBSTRETCHBLT 0x0B41
3790 #define META_DIBCREATEPATTERNBRUSH 0x0142
3791 #define META_STRETCHDIB 0x0F43
3792 #define META_EXTFLOODFILL 0x0548
3793 #define META_RESETDC 0x014C
3794 #define META_STARTDOC 0x014D
3795 #define META_STARTPAGE 0x004F
3796 #define META_ENDPAGE 0x0050
3797 #define META_ABORTDOC 0x0052
3798 #define META_ENDDOC 0x005E
3799 #define META_DELETEOBJECT 0x01F0
3800 #define META_CREATEPALETTE 0x00F7
3801 #define META_CREATEBRUSH 0x00F8
3802 #define META_CREATEPATTERNBRUSH 0x01F9
3803 #define META_CREATEPENINDIRECT 0x02FA
3804 #define META_CREATEFONTINDIRECT 0x02FB
3805 #define META_CREATEBRUSHINDIRECT 0x02FC
3806 #define META_CREATEBITMAPINDIRECT 0x02FD
3807 #define META_CREATEBITMAP 0x06FE
3808 #define META_CREATEREGION 0x06FF
3810 typedef INT16 (*MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,INT16,LPARAM);
3811 typedef INT32 (*MFENUMPROC32)(HDC32,HANDLETABLE32*,METARECORD*,INT32,LPARAM);
3812 DECL_WINELIB_TYPE(MFENUMPROC);
3814 /* Debugging support (DEBUG SYSTEM ONLY) */
3815 typedef struct
3817 UINT16 flags;
3818 DWORD dwOptions WINE_PACKED;
3819 DWORD dwFilter WINE_PACKED;
3820 CHAR achAllocModule[8] WINE_PACKED;
3821 DWORD dwAllocBreak WINE_PACKED;
3822 DWORD dwAllocCount WINE_PACKED;
3823 } WINDEBUGINFO, *LPWINDEBUGINFO;
3825 /* WINDEBUGINFO flags values */
3826 #define WDI_OPTIONS 0x0001
3827 #define WDI_FILTER 0x0002
3828 #define WDI_ALLOCBREAK 0x0004
3830 /* dwOptions values */
3831 #define DBO_CHECKHEAP 0x0001
3832 #define DBO_BUFFERFILL 0x0004
3833 #define DBO_DISABLEGPTRAPPING 0x0010
3834 #define DBO_CHECKFREE 0x0020
3836 #define DBO_SILENT 0x8000
3838 #define DBO_TRACEBREAK 0x2000
3839 #define DBO_WARNINGBREAK 0x1000
3840 #define DBO_NOERRORBREAK 0x0800
3841 #define DBO_NOFATALBREAK 0x0400
3842 #define DBO_INT3BREAK 0x0100
3844 /* DebugOutput flags values */
3845 #define DBF_TRACE 0x0000
3846 #define DBF_WARNING 0x4000
3847 #define DBF_ERROR 0x8000
3848 #define DBF_FATAL 0xc000
3850 /* dwFilter values */
3851 #define DBF_KERNEL 0x1000
3852 #define DBF_KRN_MEMMAN 0x0001
3853 #define DBF_KRN_LOADMODULE 0x0002
3854 #define DBF_KRN_SEGMENTLOAD 0x0004
3855 #define DBF_USER 0x0800
3856 #define DBF_GDI 0x0400
3857 #define DBF_MMSYSTEM 0x0040
3858 #define DBF_PENWIN 0x0020
3859 #define DBF_APPLICATION 0x0008
3860 #define DBF_DRIVER 0x0010
3862 /* Win32-specific structures */
3864 typedef struct {
3865 WORD wYear;
3866 WORD wMonth;
3867 WORD wDayOfWeek;
3868 WORD wDay;
3869 WORD wHour;
3870 WORD wMinute;
3871 WORD wSecond;
3872 WORD wMilliseconds;
3873 } SYSTEMTIME, *LPSYSTEMTIME;
3876 /* Code page information.
3878 #define MAX_LEADBYTES 12
3879 #define MAX_DEFAULTCHAR 2
3881 typedef struct
3883 UINT32 MaxCharSize;
3884 BYTE DefaultChar[MAX_DEFAULTCHAR];
3885 BYTE LeadByte[MAX_LEADBYTES];
3886 } CPINFO, *LPCPINFO;
3888 /* The 'overlapped' data structure used by async I/O functions.
3890 typedef struct {
3891 DWORD Internal;
3892 DWORD InternalHigh;
3893 DWORD Offset;
3894 DWORD OffsetHigh;
3895 HANDLE32 hEvent;
3896 } OVERLAPPED, *LPOVERLAPPED;
3898 /* Process startup information.
3900 typedef struct {
3901 DWORD cb;
3902 LPSTR lpReserved;
3903 LPSTR lpDesktop;
3904 LPSTR lpTitle;
3905 DWORD dwX;
3906 DWORD dwY;
3907 DWORD dwXSize;
3908 DWORD dwYSize;
3909 DWORD dwXCountChars;
3910 DWORD dwYCountChars;
3911 DWORD dwFillAttribute;
3912 DWORD dwFlags;
3913 WORD wShowWindow;
3914 WORD cbReserved2;
3915 BYTE *lpReserved2;
3916 HANDLE32 hStdInput;
3917 HANDLE32 hStdOutput;
3918 HANDLE32 hStdError;
3919 } STARTUPINFO32A, *LPSTARTUPINFO32A;
3921 typedef struct {
3922 DWORD cb;
3923 LPWSTR lpReserved;
3924 LPWSTR lpDesktop;
3925 LPWSTR lpTitle;
3926 DWORD dwX;
3927 DWORD dwY;
3928 DWORD dwXSize;
3929 DWORD dwYSize;
3930 DWORD dwXCountChars;
3931 DWORD dwYCountChars;
3932 DWORD dwFillAttribute;
3933 DWORD dwFlags;
3934 WORD wShowWindow;
3935 WORD cbReserved2;
3936 BYTE *lpReserved2;
3937 HANDLE32 hStdInput;
3938 HANDLE32 hStdOutput;
3939 HANDLE32 hStdError;
3940 } STARTUPINFO32W, *LPSTARTUPINFO32W;
3942 DECL_WINELIB_TYPE_AW(STARTUPINFO);
3943 DECL_WINELIB_TYPE_AW(LPSTARTUPINFO);
3945 typedef struct {
3946 HANDLE32 hProcess;
3947 HANDLE32 hThread;
3948 DWORD dwProcessId;
3949 DWORD dwThreadId;
3950 } PROCESS_INFORMATION,*LPPROCESS_INFORMATION;
3952 typedef struct {
3953 LONG Bias;
3954 WCHAR StandardName[32];
3955 SYSTEMTIME StandardDate;
3956 LONG StandardBias;
3957 WCHAR DaylightName[32];
3958 SYSTEMTIME DaylightDate;
3959 LONG DaylightBias;
3960 } TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
3962 #define TIME_ZONE_ID_UNKNOWN 0
3963 #define TIME_ZONE_ID_STANDARD 1
3964 #define TIME_ZONE_ID_DAYLIGHT 2
3967 /* File object type definitions
3969 #define FILE_TYPE_UNKNOWN 0
3970 #define FILE_TYPE_DISK 1
3971 #define FILE_TYPE_CHAR 2
3972 #define FILE_TYPE_PIPE 3
3973 #define FILE_TYPE_REMOTE 32768
3975 /* File creation flags
3977 #define GENERIC_READ 0x80000000L
3978 #define GENERIC_WRITE 0x40000000L
3979 #define CREATE_NEW 1
3980 #define CREATE_ALWAYS 2
3981 #define OPEN_EXISTING 3
3982 #define OPEN_ALWAYS 4
3983 #define TRUNCATE_EXISTING 5
3985 /* Standard handle identifiers
3987 #define STD_INPUT_HANDLE ((DWORD) -10)
3988 #define STD_OUTPUT_HANDLE ((DWORD) -11)
3989 #define STD_ERROR_HANDLE ((DWORD) -12)
3991 typedef struct
3993 int dwFileAttributes;
3994 FILETIME ftCreationTime;
3995 FILETIME ftLastAccessTime;
3996 FILETIME ftLastWriteTime;
3997 int dwVolumeSerialNumber;
3998 int nFileSizeHigh;
3999 int nFileSizeLow;
4000 int nNumberOfLinks;
4001 int nFileIndexHigh;
4002 int nFileIndexLow;
4003 } BY_HANDLE_FILE_INFORMATION ;
4005 /* File attribute flags
4007 #define FILE_ATTRIBUTE_READONLY 0x0001
4008 #define FILE_ATTRIBUTE_HIDDEN 0x0002
4009 #define FILE_ATTRIBUTE_SYSTEM 0x0004
4010 #define FILE_ATTRIBUTE_LABEL 0x0008 /* Not in Windows API */
4011 #define FILE_ATTRIBUTE_DIRECTORY 0x0010
4012 #define FILE_ATTRIBUTE_ARCHIVE 0x0020
4013 #define FILE_ATTRIBUTE_NORMAL 0x0080
4014 #define FILE_ATTRIBUTE_TEMPORARY 0x0100
4015 #define FILE_ATTRIBUTE_ATOMIC_WRITE 0x0200
4016 #define FILE_ATTRIBUTE_XACTION_WRITE 0x0400
4017 #define FILE_ATTRIBUTE_COMPRESSED 0x0800
4020 /* WinHelp internal structure */
4021 typedef struct {
4022 WORD size;
4023 WORD command;
4024 LONG data;
4025 LONG reserved;
4026 WORD ofsFilename;
4027 WORD ofsData;
4028 } WINHELP,*LPWINHELP;
4030 typedef struct
4032 UINT16 mkSize;
4033 BYTE mkKeyList;
4034 BYTE szKeyPhrase[1];
4035 } MULTIKEYHELP, *LPMULTIKEYHELP;
4037 typedef struct {
4038 WORD wStructSize;
4039 WORD x;
4040 WORD y;
4041 WORD dx;
4042 WORD dy;
4043 WORD wMax;
4044 char rgchMember[2];
4045 } HELPWININFO, *LPHELPWININFO;
4047 #define HELP_CONTEXT 0x0001
4048 #define HELP_QUIT 0x0002
4049 #define HELP_INDEX 0x0003
4050 #define HELP_CONTENTS 0x0003
4051 #define HELP_HELPONHELP 0x0004
4052 #define HELP_SETINDEX 0x0005
4053 #define HELP_SETCONTENTS 0x0005
4054 #define HELP_CONTEXTPOPUP 0x0008
4055 #define HELP_FORCEFILE 0x0009
4056 #define HELP_KEY 0x0101
4057 #define HELP_COMMAND 0x0102
4058 #define HELP_PARTIALKEY 0x0105
4059 #define HELP_MULTIKEY 0x0201
4060 #define HELP_SETWINPOS 0x0203
4062 /* ExitWindows() flags */
4063 #define EW_RESTARTWINDOWS 0x0042
4064 #define EW_REBOOTSYSTEM 0x0043
4065 #define EW_EXITANDEXECAPP 0x0044
4067 /* ExitWindowsEx() flags */
4068 #define EWX_LOGOFF 0
4069 #define EWX_SHUTDOWN 1
4070 #define EWX_REBOOT 2
4071 #define EWX_FORCE 4
4072 #define EWX_POWEROFF 8
4075 #define CCHDEVICENAME 32
4076 #define CCHFORMNAME 32
4078 typedef struct
4080 BYTE dmDeviceName[CCHDEVICENAME];
4081 WORD dmSpecVersion;
4082 WORD dmDriverVersion;
4083 WORD dmSize;
4084 WORD dmDriverExtra;
4085 DWORD dmFields;
4086 INT16 dmOrientation;
4087 INT16 dmPaperSize;
4088 INT16 dmPaperLength;
4089 INT16 dmPaperWidth;
4090 INT16 dmScale;
4091 INT16 dmCopies;
4092 INT16 dmDefaultSource;
4093 INT16 dmPrintQuality;
4094 INT16 dmColor;
4095 INT16 dmDuplex;
4096 INT16 dmYResolution;
4097 INT16 dmTTOption;
4098 INT16 dmCollate;
4099 BYTE dmFormName[CCHFORMNAME];
4100 WORD dmUnusedPadding;
4101 WORD dmBitsPerPel;
4102 DWORD dmPelsWidth;
4103 DWORD dmPelsHeight;
4104 DWORD dmDisplayFlags;
4105 DWORD dmDisplayFrequency;
4106 } DEVMODE16, *LPDEVMODE16;
4108 typedef struct
4110 BYTE dmDeviceName[CCHDEVICENAME];
4111 WORD dmSpecVersion;
4112 WORD dmDriverVersion;
4113 WORD dmSize;
4114 WORD dmDriverExtra;
4115 DWORD dmFields;
4116 INT16 dmOrientation;
4117 INT16 dmPaperSize;
4118 INT16 dmPaperLength;
4119 INT16 dmPaperWidth;
4120 INT16 dmScale;
4121 INT16 dmCopies;
4122 INT16 dmDefaultSource;
4123 INT16 dmPrintQuality;
4124 INT16 dmColor;
4125 INT16 dmDuplex;
4126 INT16 dmYResolution;
4127 INT16 dmTTOption;
4128 INT16 dmCollate;
4129 BYTE dmFormName[CCHFORMNAME];
4130 WORD dmLogPixels;
4131 DWORD dmBitsPerPel;
4132 DWORD dmPelsWidth;
4133 DWORD dmPelsHeight;
4134 DWORD dmDisplayFlags;
4135 DWORD dmDisplayFrequency;
4136 DWORD dmICMMethod;
4137 DWORD dmICMIntent;
4138 DWORD dmMediaType;
4139 DWORD dmDitherType;
4140 DWORD dmReserved1;
4141 DWORD dmReserved2;
4142 } DEVMODE32A, *LPDEVMODE32A;
4144 typedef struct
4146 WCHAR dmDeviceName[CCHDEVICENAME];
4147 WORD dmSpecVersion;
4148 WORD dmDriverVersion;
4149 WORD dmSize;
4150 WORD dmDriverExtra;
4151 DWORD dmFields;
4152 INT16 dmOrientation;
4153 INT16 dmPaperSize;
4154 INT16 dmPaperLength;
4155 INT16 dmPaperWidth;
4156 INT16 dmScale;
4157 INT16 dmCopies;
4158 INT16 dmDefaultSource;
4159 INT16 dmPrintQuality;
4160 INT16 dmColor;
4161 INT16 dmDuplex;
4162 INT16 dmYResolution;
4163 INT16 dmTTOption;
4164 INT16 dmCollate;
4165 WCHAR dmFormName[CCHFORMNAME];
4166 WORD dmLogPixels;
4167 DWORD dmBitsPerPel;
4168 DWORD dmPelsWidth;
4169 DWORD dmPelsHeight;
4170 DWORD dmDisplayFlags;
4171 DWORD dmDisplayFrequency;
4172 DWORD dmICMMethod;
4173 DWORD dmICMIntent;
4174 DWORD dmMediaType;
4175 DWORD dmDitherType;
4176 DWORD dmReserved1;
4177 DWORD dmReserved2;
4178 } DEVMODE32W, *LPDEVMODE32W;
4180 DECL_WINELIB_TYPE_AW(DEVMODE);
4181 DECL_WINELIB_TYPE_AW(LPDEVMODE);
4183 typedef struct _SYSTEM_POWER_STATUS
4185 BOOL16 ACLineStatus;
4186 BYTE BatteryFlag;
4187 BYTE BatteryLifePercent;
4188 BYTE reserved;
4189 DWORD BatteryLifeTime;
4190 DWORD BatteryFullLifeTime;
4191 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
4193 /* flags to FormatMessage */
4194 #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
4195 #define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200
4196 #define FORMAT_MESSAGE_FROM_STRING 0x00000400
4197 #define FORMAT_MESSAGE_FROM_HMODULE 0x00000800
4198 #define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000
4199 #define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
4200 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
4202 /* types of LoadImage */
4203 #define IMAGE_BITMAP 0
4204 #define IMAGE_ICON 1
4205 #define IMAGE_CURSOR 2
4206 #define IMAGE_ENHMETA 3
4208 /* loadflags to LoadImage */
4209 #define LR_DEFAULTCOLOR 0x0000
4210 #define LR_MONOCHROME 0x0001
4211 #define LR_COPYRETURNONORG 0x0002
4212 #define LR_COPYDELETEORC 0x0004
4213 #define LR_COPYFROMRESOURCE 0x0008
4214 #define LR_LOADFROMFILE 0x0010
4215 #define LR_LOADREALSIZE 0x0020
4216 #define LR_LOADMAP3DCOLORS 0x1000
4218 typedef struct _LARGE_INTEGER
4220 DWORD LowPart;
4221 LONG HighPart;
4222 } LARGE_INTEGER,*LPLARGE_INTEGER;
4224 typedef struct _ULARGE_INTEGER
4226 DWORD LowPart;
4227 DWORD HighPart;
4228 } ULARGE_INTEGER,*LPULARGE_INTEGER;
4230 /* SetLastErrorEx types */
4231 #define SLE_ERROR 0x00000001
4232 #define SLE_MINORERROR 0x00000002
4233 #define SLE_WARNING 0x00000003
4235 /* Argument 1 passed to the DllEntryProc. */
4236 #define DLL_PROCESS_DETACH 0 /* detach process (unload library) */
4237 #define DLL_PROCESS_ATTACH 1 /* attach process (load library) */
4238 #define DLL_THREAD_ATTACH 2 /* attach new thread */
4239 #define DLL_THREAD_DETACH 3 /* detach thread */
4241 typedef struct _MEMORY_BASIC_INFORMATION
4243 LPVOID BaseAddress;
4244 LPVOID AllocationBase;
4245 DWORD AllocationProtect;
4246 DWORD RegionSize;
4247 DWORD State;
4248 DWORD Protect;
4249 DWORD Type;
4250 } MEMORY_BASIC_INFORMATION,*LPMEMORY_BASIC_INFORMATION;
4252 typedef DWORD (*LPTHREAD_START_ROUTINE)(LPVOID);
4254 typedef BOOL32 (*CODEPAGE_ENUMPROC32A)(LPSTR);
4255 typedef BOOL32 (*CODEPAGE_ENUMPROC32W)(LPWSTR);
4256 DECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC);
4258 typedef BOOL32 (*LOCALE_ENUMPROC32A)(LPSTR);
4259 typedef BOOL32 (*LOCALE_ENUMPROC32W)(LPWSTR);
4260 DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC);
4262 typedef struct tagSYSTEM_INFO
4264 union {
4265 DWORD dwOemId;
4266 struct {
4267 WORD wProcessorArchitecture;
4268 WORD wReserved;
4269 } x;
4270 } u;
4271 DWORD dwPageSize;
4272 LPVOID lpMinimumApplicationAddress;
4273 LPVOID lpMaximumApplicationAddress;
4274 DWORD dwActiveProcessorMask;
4275 DWORD dwNumberOfProcessors;
4276 DWORD dwProcessorType;
4277 DWORD dwAllocationGranularity;
4278 WORD wProcessorLevel;
4279 WORD wProcessorRevision;
4280 } SYSTEM_INFO, *LPSYSTEM_INFO;
4282 /* u.x.wProcessorArchitecture (NT) */
4283 #define PROCESSOR_ARCHITECTURE_INTEL 0
4284 #define PROCESSOR_ARCHITECTURE_MIPS 1
4285 #define PROCESSOR_ARCHITECTURE_ALPHA 2
4286 #define PROCESSOR_ARCHITECTURE_PPC 3
4287 #define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
4289 /* dwProcessorType */
4290 #define PROCESSOR_INTEL_386 386
4291 #define PROCESSOR_INTEL_486 486
4292 #define PROCESSOR_INTEL_PENTIUM 586
4293 #define PROCESSOR_MIPS_R4000 4000
4294 #define PROCESSOR_ALPHA_21064 21064
4296 /* service main function prototype */
4297 typedef VOID (*LPSERVICE_MAIN_FUNCTION32A)(DWORD,LPSTR);
4298 typedef VOID (*LPSERVICE_MAIN_FUNCTION32W)(DWORD,LPWSTR);
4299 DECL_WINELIB_TYPE_AW(LPSERVICE_MAIN_FUNCTION);
4301 /* service start table */
4302 typedef struct
4304 LPSTR lpServiceName;
4305 LPSERVICE_MAIN_FUNCTION32A lpServiceProc;
4306 } *LPSERVICE_TABLE_ENTRY32A, SERVICE_TABLE_ENTRY32A;
4308 typedef struct
4310 LPWSTR lpServiceName;
4311 LPSERVICE_MAIN_FUNCTION32W lpServiceProc;
4312 } *LPSERVICE_TABLE_ENTRY32W, SERVICE_TABLE_ENTRY32W;
4314 DECL_WINELIB_TYPE_AW(SERVICE_TABLE_ENTRY);
4315 DECL_WINELIB_TYPE_AW(LPSERVICE_TABLE_ENTRY);
4317 /* Security Ids of NT */
4319 typedef struct {
4320 BYTE Value[6];
4321 } SID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
4323 typedef struct _SID {
4324 BYTE Revision;
4325 BYTE SubAuthorityCount;
4326 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
4327 DWORD SubAuthority[1]; /* more than one */
4328 } SID,*LPSID;
4330 #define SID_REVISION (1) /* Current revision */
4331 #define SID_MAX_SUB_AUTHORITIES (15) /* current max subauths */
4332 #define SID_RECOMMENDED_SUB_AUTHORITIES (1) /* recommended subauths */
4334 /* NT lowlevel Strings (handled by Rtl* functions in NTDLL)
4335 * If they are zero terminated, Length does not include the terminating 0.
4338 typedef struct _STRING {
4339 UINT16 Length;
4340 UINT16 MaximumLength;
4341 LPSTR Buffer;
4342 } STRING,*LPSTRING,ANSI_STRING,*LPANSI_STRING;
4344 typedef struct _CSTRING {
4345 UINT16 Length;
4346 UINT16 MaximumLength;
4347 LPCSTR Buffer;
4348 } CSTRING,*LPCSTRING;
4350 typedef struct _UNICODE_STRING {
4351 UINT16 Length; /* bytes ? */
4352 UINT16 MaximumLength; /* bytes ? */
4353 LPWSTR Buffer;
4354 } UNICODE_STRING,*LPUNICODE_STRING;
4356 #pragma pack(4)
4358 /* Declarations for functions that exist only in Win16 */
4360 WORD AllocCStoDSAlias(WORD);
4361 WORD AllocDStoCSAlias(WORD);
4362 WORD AllocSelector(WORD);
4363 WORD AllocSelectorArray(WORD);
4364 LPSTR AnsiLower(LPSTR);
4365 LPSTR AnsiUpper(LPSTR);
4366 INT16 Catch(LPCATCHBUF);
4367 WORD ChangeSelector(WORD,WORD);
4368 INT16 CloseComm(INT16);
4369 BOOL16 DCHook(HDC16,WORD,DWORD,LPARAM);
4370 VOID DirectedYield(HTASK16);
4371 HGLOBAL16 DirectResAlloc(HINSTANCE16,WORD,UINT16);
4372 BOOL16 DlgDirSelect(HWND16,LPSTR,INT16);
4373 BOOL16 DlgDirSelectComboBox(HWND16,LPSTR,INT16);
4374 BOOL16 EnableHardwareInput(BOOL16);
4375 INT16 ExcludeVisRect(HDC16,INT16,INT16,INT16,INT16);
4376 HANDLE16 FarGetOwner(HGLOBAL16);
4377 VOID FarSetOwner(HGLOBAL16,HANDLE16);
4378 BOOL16 FastWindowFrame(HDC16,const RECT16*,INT16,INT16,DWORD);
4379 VOID FillWindow(HWND16,HWND16,HDC16,HBRUSH16);
4380 INT16 FlushComm(INT16,INT16);
4381 WORD FreeSelector(WORD);
4382 HANDLE16 GetAtomHandle(ATOM);
4383 DWORD GetBitmapDimension(HBITMAP16);
4384 DWORD GetBrushOrg(HDC16);
4385 HANDLE16 GetCodeHandle(FARPROC16);
4386 INT16 GetCommError(INT16,LPCOMSTAT);
4387 UINT16 GetCommEventMask(INT16,UINT16);
4388 VOID GetCodeInfo(FARPROC16,LPVOID);
4389 HANDLE16 GetCurrentPDB(void);
4390 DWORD GetCurrentPosition(HDC16);
4391 HTASK16 GetCurrentTask(void);
4392 DWORD GetDCHook(HDC16,FARPROC16*);
4393 DWORD GetDCOrg(HDC16);
4394 HDC16 GetDCState(HDC16);
4395 HWND16 GetDesktopHwnd(void);
4396 HMODULE16 GetExePtr(HANDLE16);
4397 WORD GetExeVersion(void);
4398 INT16 GetInstanceData(HINSTANCE16,WORD,INT16);
4399 BOOL16 GetModuleName(HINSTANCE16,LPSTR,INT16);
4400 FARPROC16 GetMouseEventProc(void);
4401 UINT16 GetNumTasks(void);
4402 DWORD GetSelectorBase(WORD);
4403 DWORD GetSelectorLimit(WORD);
4404 HINSTANCE16 GetTaskDS(void);
4405 HQUEUE16 GetTaskQueue(HTASK16);
4406 DWORD GetTextExtent(HDC16,LPCSTR,INT16);
4407 DWORD GetViewportExt(HDC16);
4408 DWORD GetViewportOrg(HDC16);
4409 DWORD GetWindowExt(HDC16);
4410 DWORD GetWindowOrg(HDC16);
4411 DWORD GlobalDOSAlloc(DWORD);
4412 WORD GlobalDOSFree(WORD);
4413 void GlobalFreeAll(HGLOBAL16);
4414 HGLOBAL16 GlobalLRUNewest(HGLOBAL16);
4415 HGLOBAL16 GlobalLRUOldest(HGLOBAL16);
4416 VOID GlobalNotify(FARPROC16);
4417 WORD GlobalPageLock(HGLOBAL16);
4418 WORD GlobalPageUnlock(HGLOBAL16);
4419 INT16 InitApp(HINSTANCE16);
4420 HRGN16 InquireVisRgn(HDC16);
4421 INT16 IntersectVisRect(HDC16,INT16,INT16,INT16,INT16);
4422 BOOL16 IsGDIObject(HGDIOBJ16);
4423 BOOL16 IsSharedSelector(HANDLE16);
4424 BOOL16 IsTask(HTASK16);
4425 HTASK16 IsTaskLocked(void);
4426 BOOL16 LocalInit(HANDLE16,WORD,WORD);
4427 HTASK16 LockCurrentTask(BOOL16);
4428 DWORD MoveTo(HDC16,INT16,INT16);
4429 DWORD OffsetViewportOrg(HDC16,INT16,INT16);
4430 INT16 OffsetVisRgn(HDC16,INT16,INT16);
4431 DWORD OffsetWindowOrg(HDC16,INT16,INT16);
4432 VOID OldYield(void);
4433 INT16 OpenComm(LPCSTR,UINT16,UINT16);
4434 VOID PaintRect(HWND16,HWND16,HDC16,HBRUSH16,const RECT16*);
4435 VOID PostEvent(HTASK16);
4436 WORD PrestoChangoSelector(WORD,WORD);
4437 INT16 ReadComm(INT16,LPSTR,INT16);
4438 INT16 RestoreVisRgn(HDC16);
4439 HRGN16 SaveVisRgn(HDC16);
4440 DWORD ScaleViewportExt(HDC16,INT16,INT16,INT16,INT16);
4441 DWORD ScaleWindowExt(HDC16,INT16,INT16,INT16,INT16);
4442 WORD SelectorAccessRights(WORD,WORD,WORD);
4443 INT16 SelectVisRgn(HDC16,HRGN16);
4444 DWORD SetBitmapDimension(HBITMAP16,INT16,INT16);
4445 DWORD SetBrushOrg(HDC16,INT16,INT16);
4446 UINT16* SetCommEventMask(INT16,UINT16);
4447 BOOL16 SetDCHook(HDC16,FARPROC16,DWORD);
4448 DWORD SetDCOrg(HDC16,INT16,INT16);
4449 VOID SetDCState(HDC16,HDC16);
4450 BOOL16 SetDeskPattern(void);
4451 VOID SetPriority(HTASK16,INT16);
4452 WORD SetSelectorBase(WORD,DWORD);
4453 WORD SetSelectorLimit(WORD,DWORD);
4454 LONG SetSwapAreaSize(WORD);
4455 HQUEUE16 SetTaskQueue(HTASK16,HQUEUE16);
4456 FARPROC16 SetTaskSignalProc(HTASK16,FARPROC16);
4457 DWORD SetViewportExt(HDC16,INT16,INT16);
4458 DWORD SetViewportOrg(HDC16,INT16,INT16);
4459 DWORD SetWindowExt(HDC16,INT16,INT16);
4460 DWORD SetWindowOrg(HDC16,INT16,INT16);
4461 VOID SwitchStackBack(void);
4462 VOID SwitchStackTo(WORD,WORD,WORD);
4463 INT16 Throw(LPCATCHBUF,INT16);
4464 INT16 UngetCommChar(INT16,CHAR);
4465 VOID UserYield(void);
4466 BOOL16 WaitEvent(HTASK16);
4467 INT16 WriteComm(INT16,LPSTR,INT16);
4468 VOID WriteOutProfiles(VOID);
4469 VOID hmemcpy(LPVOID,LPCVOID,LONG);
4470 VOID Yield(void);
4472 /* Declarations for functions that exist only in Win32 */
4474 BOOL32 Beep(DWORD,DWORD);
4475 BOOL32 ClearCommError(INT32,LPDWORD,LPCOMSTAT);
4476 BOOL32 CloseHandle(HANDLE32);
4477 HFILE32 CreateFile32A(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE32);
4478 HFILE32 CreateFile32W(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE32);
4479 #define CreateFile WINELIB_NAME_AW(CreateFile)
4480 HANDLE32 CreateFileMapping32A(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
4481 HANDLE32 CreateFileMapping32W(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
4482 #define CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
4483 BOOL32 DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
4484 INT32 EnumPropsEx32A(HWND32,PROPENUMPROCEX32A,LPARAM);
4485 INT32 EnumPropsEx32W(HWND32,PROPENUMPROCEX32W,LPARAM);
4486 #define EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
4487 BOOL32 EnumSystemCodePages32A(CODEPAGE_ENUMPROC32A,DWORD);
4488 BOOL32 EnumSystemCodePages32W(CODEPAGE_ENUMPROC32W,DWORD);
4489 #define EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages)
4490 BOOL32 EnumSystemLocales32A(LOCALE_ENUMPROC32A,DWORD);
4491 BOOL32 EnumSystemLocales32W(LOCALE_ENUMPROC32W,DWORD);
4492 #define EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales)
4493 BOOL32 EnumThreadWindows(DWORD,WNDENUMPROC32,LPARAM);
4494 void ExitProcess(DWORD);
4495 BOOL32 ExitWindowsEx(UINT32,DWORD);
4496 BOOL32 FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
4497 BOOL32 FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
4498 BOOL32 FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
4499 HRSRC32 FindResourceEx32A(HINSTANCE32,LPCSTR,LPCSTR,WORD);
4500 HRSRC32 FindResourceEx32W(HINSTANCE32,LPCWSTR,LPCWSTR,WORD);
4501 #define FindResourceEx WINELIB_NAME_AW(FindResourceEx)
4502 BOOL32 FlushFileBuffers(HFILE32);
4503 UINT32 GetACP(void);
4504 LPCSTR GetCommandLine32A();
4505 LPCWSTR GetCommandLine32W();
4506 #define GetCommandLine WINELIB_NAME_AW(GetCommandLine)
4507 BOOL32 GetCommTimeouts(INT32,LPCOMMTIMEOUTS);
4508 BOOL32 GetCPInfo(UINT32,LPCPINFO);
4509 HANDLE32 GetCurrentProcess(void);
4510 DWORD GetCurrentProcessId(void);
4511 HANDLE32 GetCurrentThread(void);
4512 DWORD GetCurrentThreadId(void);
4513 BOOL32 GetDCOrgEx(HDC32,LPPOINT32);
4514 DWORD GetFileInformationByHandle(HFILE32,BY_HANDLE_FILE_INFORMATION*);
4515 DWORD GetFileSize(HFILE32,LPDWORD);
4516 BOOL32 GetFileTime(HFILE32,LPFILETIME,LPFILETIME,LPFILETIME);
4517 DWORD GetFileType(HFILE32);
4518 VOID GetLocalTime(LPSYSTEMTIME);
4519 DWORD GetLogicalDrives(void);
4520 UINT32 GetOEMCP(void);
4521 HANDLE32 GetProcessHeap(void);
4522 DWORD GetShortPathName32A(LPCSTR,LPSTR,DWORD);
4523 DWORD GetShortPathName32W(LPCWSTR,LPWSTR,DWORD);
4524 #define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
4525 HFILE32 GetStdHandle(DWORD);
4526 VOID GetSystemInfo(LPSYSTEM_INFO);
4527 BOOL32 GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
4528 VOID GetSystemTime(LPSYSTEMTIME);
4529 VOID GlobalMemoryStatus(LPMEMORYSTATUS);
4530 LPVOID HeapAlloc(HANDLE32,DWORD,DWORD);
4531 DWORD HeapCompact(HANDLE32,DWORD);
4532 HANDLE32 HeapCreate(DWORD,DWORD,DWORD);
4533 BOOL32 HeapDestroy(HANDLE32);
4534 BOOL32 HeapFree(HANDLE32,DWORD,LPVOID);
4535 BOOL32 HeapLock(HANDLE32);
4536 LPVOID HeapReAlloc(HANDLE32,DWORD,LPVOID,DWORD);
4537 DWORD HeapSize(HANDLE32,DWORD,LPVOID);
4538 BOOL32 HeapUnlock(HANDLE32);
4539 BOOL32 HeapValidate(HANDLE32,DWORD,LPVOID);
4540 BOOL32 IsWindowUnicode(HWND32);
4541 BOOL32 IsValidLocale(DWORD,DWORD);
4542 BOOL32 LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
4543 LPVOID MapViewOfFileEx(HANDLE32,DWORD,DWORD,DWORD,DWORD,DWORD);
4544 BOOL32 MoveFile32A(LPCSTR,LPCSTR);
4545 BOOL32 MoveFile32W(LPCWSTR,LPCWSTR);
4546 #define MoveFile WINELIB_NAME_AW(MoveFile)
4547 BOOL32 QueryPerformanceCounter(LPLARGE_INTEGER);
4548 BOOL32 ReadConsole32A(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
4549 BOOL32 ReadConsole32W(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
4550 #define ReadConsole WINELIB_NAME_AW(ReadConsole)
4551 BOOL32 ReadFile(HFILE32,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
4552 DWORD RegCreateKeyEx32A(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,
4553 LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
4554 DWORD RegCreateKeyEx32W(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,
4555 LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
4556 #define RegCreateKeyEx WINELIB_NAME_AW(RegCreateKeyEx)
4557 DWORD RegEnumKeyEx32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPSTR,LPDWORD,LPFILETIME);
4558 DWORD RegEnumKeyEx32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPWSTR,LPDWORD,LPFILETIME);
4559 #define RegEnumKeyEx WINELIB_NAME_AW(RegEnumKeyEx)
4560 DWORD RegOpenKeyEx32W(HKEY,LPCWSTR,DWORD,REGSAM,LPHKEY);
4561 DWORD RegOpenKeyEx32A(HKEY,LPCSTR,DWORD,REGSAM,LPHKEY);
4562 #define RegOpenKeyEx WINELIB_NAME_AW(RegOpenKeyEx)
4563 DWORD RegQueryInfoKey32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
4564 LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPFILETIME);
4565 DWORD RegQueryInfoKey32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
4566 LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPFILETIME);
4567 #define RegQueryInfoKey WINELIB_NAME_AW(RegQueryInfoKey)
4568 VOID RtlFillMemory(LPVOID,UINT32,UINT32);
4569 VOID RtlMoveMemory(LPVOID,LPCVOID,UINT32);
4570 VOID RtlZeroMemory(LPVOID,UINT32);
4571 DWORD SearchPath32A(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
4572 DWORD SearchPath32W(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
4573 #define SearchPath WINELIB_NAME(SearchPath)
4574 BOOL32 SetBrushOrgEx(HDC32,INT32,INT32,LPPOINT32);
4575 BOOL32 SetCommMask(INT32,DWORD);
4576 BOOL32 SetCommTimeouts(INT32,LPCOMMTIMEOUTS);
4577 BOOL32 SetConsoleTitle32A(LPCSTR);
4578 BOOL32 SetConsoleTitle32W(LPCWSTR);
4579 #define SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
4580 BOOL32 SetEndOfFile(HFILE32);
4581 DWORD SetFilePointer(HFILE32,LONG,LPLONG,DWORD);
4582 BOOL32 SetFileTime(HFILE32,const FILETIME*,const FILETIME*,const FILETIME*);
4583 VOID SetLastErrorEx(DWORD,DWORD);
4584 BOOL32 SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
4585 BOOL32 SetSystemPowerState(BOOL32,BOOL32);
4586 BOOL32 SetSystemTime(const SYSTEMTIME*);
4587 VOID Sleep(DWORD);
4588 BOOL32 SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
4589 BOOL32 TrackPopupMenuEx(HMENU32,UINT32,INT32,INT32,HWND32,LPTPMPARAMS);
4590 DWORD TlsAlloc(void);
4591 BOOL32 TlsFree(DWORD);
4592 LPVOID TlsGetValue(DWORD);
4593 BOOL32 TlsSetValue(DWORD,LPVOID);
4594 LPVOID VirtualAlloc(LPVOID,DWORD,DWORD,DWORD);
4595 BOOL32 VirtualFree(LPVOID,DWORD,DWORD);
4596 BOOL32 WriteConsole32A(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
4597 BOOL32 WriteConsole32W(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
4598 #define WriteConsole WINELIB_NAME_AW(WriteConsole)
4599 BOOL32 WriteFile(HFILE32,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
4602 /* Declarations for functions that are the same in Win16 and Win32 */
4604 BOOL16 CheckDlgButton(HWND32,INT32,UINT32);
4605 BOOL16 CheckRadioButton(HWND32,UINT32,UINT32,UINT32);
4606 HBITMAP16 CreateBitmap(INT32,INT32,UINT32,UINT32,LPCVOID);
4607 BOOL16 CreateCaret(HWND32,HBITMAP32,INT32,INT32);
4608 HBITMAP16 CreateCompatibleBitmap(HDC32,INT32,INT32);
4609 HBITMAP16 CreateDiscardableBitmap(HDC32,INT32,INT32);
4610 BOOL16 DestroyCaret(void);
4611 BOOL16 EndDialog(HWND32,INT32);
4612 INT16 ExcludeUpdateRgn(HDC32,HWND32);
4613 DWORD GetAppCompatFlags(HTASK32);
4614 LONG GetBitmapBits(HBITMAP32,LONG,LPVOID);
4615 WORD GetClassWord(HWND32,INT32);
4616 INT16 GetDlgCtrlID(HWND32);
4617 DWORD GetLastError(void);
4618 COLORREF GetSysColor(INT32);
4619 DWORD GetTickCount(void);
4620 INT16 GetUpdateRgn(HWND32,HRGN32,BOOL32);
4621 WORD GetWindowWord(HWND32,INT32);
4622 BOOL16 HideCaret(HWND32);
4623 BOOL16 IsWindow(HWND32);
4624 void LZDone(void);
4625 UINT16 RealizePalette(HDC32);
4626 DWORD RegCloseKey(HKEY);
4627 DWORD RegFlushKey(HKEY);
4628 VOID ReleaseCapture(void);
4629 LONG SetBitmapBits(HBITMAP32,LONG,LPCVOID);
4630 COLORREF SetBkColor(HDC32,COLORREF);
4631 BOOL16 SetCaretBlinkTime(UINT32);
4632 BOOL16 SetCaretPos(INT32,INT32);
4633 WORD SetClassWord(HWND32,INT32,WORD);
4634 VOID SetLastError(DWORD);
4635 VOID SetRectRgn(HRGN32,INT32,INT32,INT32,INT32);
4636 COLORREF SetTextColor(HDC32,COLORREF);
4637 WORD SetWindowWord(HWND32,INT32,WORD);
4638 BOOL16 ShowCaret(HWND32);
4639 VOID UpdateWindow(HWND32);
4641 /* Declarations for functions that change between Win16 and Win32 */
4643 INT16 AccessResource16(HINSTANCE16,HRSRC16);
4644 INT32 AccessResource32(HINSTANCE32,HRSRC32);
4645 #define AccessResource WINELIB_NAME(AccessResource)
4646 BOOL16 AdjustWindowRect16(LPRECT16,DWORD,BOOL16);
4647 BOOL32 AdjustWindowRect32(LPRECT32,DWORD,BOOL32);
4648 #define AdjustWindowRect WINELIB_NAME(AdjustWindowRect)
4649 BOOL16 AdjustWindowRectEx16(LPRECT16,DWORD,BOOL16,DWORD);
4650 BOOL32 AdjustWindowRectEx32(LPRECT32,DWORD,BOOL32,DWORD);
4651 #define AdjustWindowRectEx WINELIB_NAME(AdjustWindowRectEx)
4652 HGLOBAL16 AllocResource16(HINSTANCE16,HRSRC16,DWORD);
4653 HGLOBAL32 AllocResource32(HINSTANCE32,HRSRC32,DWORD);
4654 #define AllocResource WINELIB_NAME(AllocResource)
4655 INT16 AnsiToOem16(LPCSTR,LPSTR);
4656 #define AnsiToOem32A CharToOem32A
4657 #define AnsiToOem32W CharToOem32W
4658 #define AnsiToOem WINELIB_NAME_AW(AnsiToOem)
4659 VOID AnsiToOemBuff16(LPCSTR,LPSTR,UINT16);
4660 #define AnsiToOemBuff32A CharToOemBuff32A
4661 #define AnsiToOemBuff32W CharToOemBuff32W
4662 #define AnsiToOemBuff WINELIB_NAME_AW(AnsiToOemBuff)
4663 BOOL16 AppendMenu16(HMENU16,UINT16,UINT16,SEGPTR);
4664 BOOL32 AppendMenu32A(HMENU32,UINT32,UINT32,LPCSTR);
4665 BOOL32 AppendMenu32W(HMENU32,UINT32,UINT32,LPCWSTR);
4666 #define AppendMenu WINELIB_NAME_AW(AppendMenu)
4667 BOOL16 Arc16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
4668 BOOL32 Arc32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
4669 #define Arc WINELIB_NAME(Arc)
4670 HDC16 BeginPaint16(HWND16,LPPAINTSTRUCT16);
4671 HDC32 BeginPaint32(HWND32,LPPAINTSTRUCT32);
4672 #define BeginPaint WINELIB_NAME(BeginPaint)
4673 BOOL16 BitBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,DWORD);
4674 BOOL32 BitBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,INT32,DWORD);
4675 #define BitBlt WINELIB_NAME(BitBlt)
4676 BOOL16 BuildCommDCB16(LPCSTR,LPDCB16);
4677 BOOL32 BuildCommDCB32A(LPCSTR,LPDCB32);
4678 BOOL32 BuildCommDCB32W(LPCWSTR,LPDCB32);
4679 #define BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
4680 BOOL32 BuildCommDCBAndTimeouts32A(LPCSTR,LPDCB32,LPCOMMTIMEOUTS);
4681 BOOL32 BuildCommDCBAndTimeouts32W(LPCWSTR,LPDCB32,LPCOMMTIMEOUTS);
4682 #define BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
4683 LRESULT CallNextHookEx16(HHOOK,INT16,WPARAM16,LPARAM);
4684 LRESULT CallNextHookEx32(HHOOK,INT32,WPARAM32,LPARAM);
4685 #define CallNextHookEx WINELIB_NAME(CallNextHookEx)
4686 LRESULT CallWindowProc16(WNDPROC16,HWND16,UINT16,WPARAM16,LPARAM);
4687 LRESULT CallWindowProc32A(WNDPROC32,HWND32,UINT32,WPARAM32,LPARAM);
4688 LRESULT CallWindowProc32W(WNDPROC32,HWND32,UINT32,WPARAM32,LPARAM);
4689 #define CallWindowProc WINELIB_NAME_AW(CallWindowProc)
4690 BOOL16 ChangeMenu16(HMENU16,UINT16,SEGPTR,UINT16,UINT16);
4691 BOOL32 ChangeMenu32A(HMENU32,UINT32,LPCSTR,UINT32,UINT32);
4692 BOOL32 ChangeMenu32W(HMENU32,UINT32,LPCWSTR,UINT32,UINT32);
4693 #define ChangeMenu WINELIB_NAME_AW(ChangeMenu)
4694 LPSTR CharLower32A(LPSTR);
4695 LPWSTR CharLower32W(LPWSTR);
4696 #define CharLower WINELIB_NAME_AW(CharLower)
4697 DWORD CharLowerBuff32A(LPSTR,DWORD);
4698 DWORD CharLowerBuff32W(LPWSTR,DWORD);
4699 #define CharLowerBuff WINELIB_NAME_AW(CharLowerBuff)
4700 LPSTR CharNext32A(LPCSTR);
4701 LPWSTR CharNext32W(LPCWSTR);
4702 #define CharNext WINELIB_NAME_AW(CharNext)
4703 LPSTR CharNextEx32A(WORD,LPCSTR,DWORD);
4704 LPWSTR CharNextEx32W(WORD,LPCWSTR,DWORD);
4705 #define CharNextEx WINELIB_NAME_AW(CharNextEx)
4706 LPSTR CharPrev32A(LPCSTR,LPCSTR);
4707 LPWSTR CharPrev32W(LPCWSTR,LPCWSTR);
4708 #define CharPrev WINELIB_NAME_AW(CharPrev)
4709 LPSTR CharPrevEx32A(WORD,LPCSTR,LPCSTR,DWORD);
4710 LPWSTR CharPrevEx32W(WORD,LPCWSTR,LPCWSTR,DWORD);
4711 #define CharPrevEx WINELIB_NAME_AW(CharPrevEx)
4712 LPSTR CharUpper32A(LPSTR);
4713 LPWSTR CharUpper32W(LPWSTR);
4714 #define CharUpper WINELIB_NAME_AW(CharUpper)
4715 DWORD CharUpperBuff32A(LPSTR,DWORD);
4716 DWORD CharUpperBuff32W(LPWSTR,DWORD);
4717 #define CharUpperBuff WINELIB_NAME_AW(CharUpperBuff)
4718 BOOL32 CharToOem32A(LPCSTR,LPSTR);
4719 BOOL32 CharToOem32W(LPCWSTR,LPSTR);
4720 #define CharToOem WINELIB_NAME_AW(CharToOem)
4721 BOOL32 CharToOemBuff32A(LPCSTR,LPSTR,DWORD);
4722 BOOL32 CharToOemBuff32W(LPCWSTR,LPSTR,DWORD);
4723 #define CharToOemBuff WINELIB_NAME_AW(CharToOemBuff)
4724 HWND16 ChildWindowFromPoint16(HWND16,POINT16);
4725 HWND32 ChildWindowFromPoint32(HWND32,POINT32);
4726 #define ChildWindowFromPoint WINELIB_NAME(ChildWindowFromPoint)
4727 BOOL16 Chord16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
4728 BOOL32 Chord32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
4729 #define Chord WINELIB_NAME(Chord)
4730 INT16 ClearCommBreak16(INT16);
4731 BOOL32 ClearCommBreak32(INT32);
4732 #define ClearCommBreak WINELIB_NAME(ClearCommBreak)
4733 BOOL16 ClientToScreen16(HWND16,LPPOINT16);
4734 BOOL32 ClientToScreen32(HWND32,LPPOINT32);
4735 #define ClientToScreen WINELIB_NAME(ClientToScreen)
4736 BOOL16 ClipCursor16(const RECT16*);
4737 BOOL32 ClipCursor32(const RECT32*);
4738 #define ClipCursor WINELIB_NAME(ClipCursor)
4739 HMETAFILE16 CloseMetaFile16(HDC16);
4740 HMETAFILE32 CloseMetaFile32(HDC32);
4741 #define CloseMetaFile WINELIB_NAME(CloseMetaFile)
4742 INT16 CombineRgn16(HRGN16,HRGN16,HRGN16,INT16);
4743 INT32 CombineRgn32(HRGN32,HRGN32,HRGN32,INT32);
4744 #define CombineRgn WINELIB_NAME(CombineRgn)
4745 UINT16 CompareString16(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
4746 UINT32 CompareString32A(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
4747 UINT32 CompareString32W(DWORD,DWORD,LPCWSTR,DWORD,LPCWSTR,DWORD);
4748 #define CompareString WINELIB_NAME_AW(CompareString)
4749 HCURSOR16 CopyCursor16(HINSTANCE16,HCURSOR16);
4750 #define CopyCursor32(cur) ((HCURSOR32)CopyIcon32((HICON32)(cur)))
4751 #define CopyCursor WINELIB_NAME(CopyCursor)
4752 HICON16 CopyIcon16(HINSTANCE16,HICON16);
4753 HICON32 CopyIcon32(HICON32);
4754 #define CopyIcon WINELIB_NAME(CopyIcon)
4755 LONG CopyLZFile16(HFILE16,HFILE16);
4756 LONG CopyLZFile32(HFILE32,HFILE32);
4757 #define CopyLZFile WINELIB_NAME(CopyLZFile)
4758 BOOL16 CopyRect16(RECT16*,const RECT16*);
4759 BOOL32 CopyRect32(RECT32*,const RECT32*);
4760 #define CopyRect WINELIB_NAME(CopyRect)
4761 HBITMAP16 CreateBitmapIndirect16(const BITMAP16*);
4762 HBITMAP32 CreateBitmapIndirect32(const BITMAP32*);
4763 #define CreateBitmapIndirect WINELIB_NAME(CreateBitmapIndirect)
4764 HBRUSH16 CreateBrushIndirect16(const LOGBRUSH16*);
4765 HBRUSH32 CreateBrushIndirect32(const LOGBRUSH32*);
4766 #define CreateBrushIndirect WINELIB_NAME(CreateBrushIndirect)
4767 HDC16 CreateCompatibleDC16(HDC16);
4768 HDC32 CreateCompatibleDC32(HDC32);
4769 #define CreateCompatibleDC WINELIB_NAME(CreateCompatibleDC)
4770 HDC16 CreateDC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
4771 HDC32 CreateDC32A(LPCSTR,LPCSTR,LPCSTR,const DEVMODE32A*);
4772 HDC32 CreateDC32W(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODE32W*);
4773 #define CreateDC WINELIB_NAME_AW(CreateDC)
4774 HWND16 CreateDialog16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
4775 #define CreateDialog32A(inst,ptr,hwnd,dlg) \
4776 CreateDialogParam32A(inst,ptr,hwnd,dlg,0)
4777 #define CreateDialog32W(inst,ptr,hwnd,dlg) \
4778 CreateDialogParam32W(inst,ptr,hwnd,dlg,0)
4779 #define CreateDialog WINELIB_NAME_AW(CreateDialog)
4780 HWND16 CreateDialogIndirect16(HINSTANCE16,LPCVOID,HWND16,DLGPROC16);
4781 #define CreateDialogIndirect32A(inst,ptr,hwnd,dlg) \
4782 CreateDialogIndirectParam32A(inst,ptr,hwnd,dlg,0)
4783 #define CreateDialogIndirect32W(inst,ptr,hwnd,dlg) \
4784 CreateDialogIndirectParam32W(inst,ptr,hwnd,dlg,0)
4785 #define CreateDialogIndirect WINELIB_NAME_AW(CreateDialogIndirect)
4786 HWND16 CreateDialogIndirectParam16(HINSTANCE16,LPCVOID,HWND16,DLGPROC16,LPARAM);
4787 HWND32 CreateDialogIndirectParam32A(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
4788 HWND32 CreateDialogIndirectParam32W(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
4789 #define CreateDialogIndirectParam WINELIB_NAME_AW(CreateDialogIndirectParam)
4790 HWND16 CreateDialogParam16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16,LPARAM);
4791 HWND32 CreateDialogParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
4792 HWND32 CreateDialogParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
4793 #define CreateDialogParam WINELIB_NAME_AW(CreateDialogParam)
4794 HBITMAP16 CreateDIBitmap16(HDC16,const BITMAPINFOHEADER*,DWORD,LPCVOID,
4795 const BITMAPINFO*,UINT16);
4796 HBITMAP32 CreateDIBitmap32(HDC32,const BITMAPINFOHEADER*,DWORD,LPCVOID,
4797 const BITMAPINFO*,UINT32);
4798 #define CreateDIBitmap WINELIB_NAME(CreateDIBitmap)
4799 HBRUSH16 CreateDIBPatternBrush16(HGLOBAL16,UINT16);
4800 HBRUSH32 CreateDIBPatternBrush32(HGLOBAL32,UINT32);
4801 #define CreateDIBPatternBrush WINELIB_NAME(CreateDIBPatternBrush)
4802 BOOL16 CreateDirectory16(LPCSTR,LPVOID);
4803 BOOL32 CreateDirectory32A(LPCSTR,LPSECURITY_ATTRIBUTES);
4804 BOOL32 CreateDirectory32W(LPCWSTR,LPSECURITY_ATTRIBUTES);
4805 #define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
4806 BOOL32 CreateDirectoryEx32A(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
4807 BOOL32 CreateDirectoryEx32W(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
4808 #define CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
4809 HRGN16 CreateEllipticRgn16(INT16,INT16,INT16,INT16);
4810 HRGN32 CreateEllipticRgn32(INT32,INT32,INT32,INT32);
4811 #define CreateEllipticRgn WINELIB_NAME(CreateEllipticRgn)
4812 HRGN16 CreateEllipticRgnIndirect16(const RECT16 *);
4813 HRGN32 CreateEllipticRgnIndirect32(const RECT32 *);
4814 #define CreateEllipticRgnIndirect WINELIB_NAME(CreateEllipticRgnIndirect)
4815 HFONT16 CreateFont16(INT16,INT16,INT16,INT16,INT16,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,LPCSTR);
4816 HFONT32 CreateFont32A(INT32,INT32,INT32,INT32,INT32,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
4817 HFONT32 CreateFont32W(INT32,INT32,INT32,INT32,INT32,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
4818 #define CreateFont WINELIB_NAME_AW(CreateFont)
4819 HFONT16 CreateFontIndirect16(const LOGFONT16*);
4820 HFONT32 CreateFontIndirect32A(const LOGFONT32A*);
4821 HFONT32 CreateFontIndirect32W(const LOGFONT32W*);
4822 #define CreateFontIndirect WINELIB_NAME_AW(CreateFontIndirect)
4823 HBRUSH16 CreateHatchBrush16(INT16,COLORREF);
4824 HBRUSH32 CreateHatchBrush32(INT32,COLORREF);
4825 #define CreateHatchBrush WINELIB_NAME(CreateHatchBrush)
4826 HDC16 CreateIC16(LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
4827 HDC32 CreateIC32A(LPCSTR,LPCSTR,LPCSTR,const DEVMODE32A*);
4828 HDC32 CreateIC32W(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODE32W*);
4829 #define CreateIC WINELIB_NAME_AW(CreateIC)
4830 HDC16 CreateMetaFile16(LPCSTR);
4831 HDC32 CreateMetaFile32A(LPCSTR);
4832 HDC32 CreateMetaFile32W(LPCWSTR);
4833 #define CreateMetaFile WINELIB_NAME_AW(CreateMetaFile)
4834 HBRUSH16 CreatePatternBrush16(HBITMAP16);
4835 HBRUSH32 CreatePatternBrush32(HBITMAP32);
4836 #define CreatePatternBrush WINELIB_NAME(CreatePatternBrush)
4837 HPEN16 CreatePen16(INT16,INT16,COLORREF);
4838 HPEN32 CreatePen32(INT32,INT32,COLORREF);
4839 #define CreatePen WINELIB_NAME(CreatePen)
4840 HPEN16 CreatePenIndirect16(const LOGPEN16*);
4841 HPEN32 CreatePenIndirect32(const LOGPEN32*);
4842 #define CreatePenIndirect WINELIB_NAME(CreatePenIndirect)
4843 HRGN16 CreatePolyPolygonRgn16(const POINT16*,const INT16*,INT16,INT16);
4844 HRGN32 CreatePolyPolygonRgn32(const POINT32*,const INT32*,INT32,INT32);
4845 #define CreatePolyPolygonRgn WINELIB_NAME(CreatePolyPolygonRgn)
4846 HRGN16 CreatePolygonRgn16(const POINT16*,INT16,INT16);
4847 HRGN32 CreatePolygonRgn32(const POINT32*,INT32,INT32);
4848 #define CreatePolygonRgn WINELIB_NAME(CreatePolygonRgn)
4849 HRGN16 CreateRectRgn16(INT16,INT16,INT16,INT16);
4850 HRGN32 CreateRectRgn32(INT32,INT32,INT32,INT32);
4851 #define CreateRectRgn WINELIB_NAME(CreateRectRgn)
4852 HRGN16 CreateRectRgnIndirect16(const RECT16*);
4853 HRGN32 CreateRectRgnIndirect32(const RECT32*);
4854 #define CreateRectRgnIndirect WINELIB_NAME(CreateRectRgnIndirect)
4855 HRGN16 CreateRoundRectRgn16(INT16,INT16,INT16,INT16,INT16,INT16);
4856 HRGN32 CreateRoundRectRgn32(INT32,INT32,INT32,INT32,INT32,INT32);
4857 #define CreateRoundRectRgn WINELIB_NAME(CreateRoundRectRgn)
4858 HBRUSH16 CreateSolidBrush16(COLORREF);
4859 HBRUSH32 CreateSolidBrush32(COLORREF);
4860 #define CreateSolidBrush WINELIB_NAME(CreateSolidBrush)
4861 HWND16 CreateWindow16(LPCSTR,LPCSTR,DWORD,INT16,INT16,INT16,INT16,HWND16,HMENU16,HINSTANCE16,LPVOID);
4862 #define CreateWindow32A(className,titleName,style,x,y,width,height,\
4863 parent,menu,instance,param) \
4864 CreateWindowEx32A(0,className,titleName,style,x,y,width,height,\
4865 parent,menu,instance,param)
4866 #define CreateWindow32W(className,titleName,style,x,y,width,height,\
4867 parent,menu,instance,param) \
4868 CreateWindowEx32W(0,className,titleName,style,x,y,width,height,\
4869 parent,menu,instance,param)
4870 #define CreateWindow WINELIB_NAME_AW(CreateWindow)
4871 HWND16 CreateWindowEx16(DWORD,LPCSTR,LPCSTR,DWORD,INT16,INT16,INT16,INT16,HWND16,HMENU16,HINSTANCE16,LPVOID);
4872 HWND32 CreateWindowEx32A(DWORD,LPCSTR,LPCSTR,DWORD,INT32,INT32,INT32,INT32,HWND32,HMENU32,HINSTANCE32,LPVOID);
4873 HWND32 CreateWindowEx32W(DWORD,LPCWSTR,LPCWSTR,DWORD,INT32,INT32,INT32,INT32,HWND32,HMENU32,HINSTANCE32,LPVOID);
4874 #define CreateWindowEx WINELIB_NAME_AW(CreateWindowEx)
4875 LRESULT DefDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
4876 LRESULT DefDlgProc32A(HWND32,UINT32,WPARAM32,LPARAM);
4877 LRESULT DefDlgProc32W(HWND32,UINT32,WPARAM32,LPARAM);
4878 #define DefDlgProc WINELIB_NAME_AW(DefDlgProc)
4879 LRESULT DefFrameProc16(HWND16,HWND16,UINT16,WPARAM16,LPARAM);
4880 LRESULT DefFrameProc32A(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
4881 LRESULT DefFrameProc32W(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
4882 #define DefFrameProc WINELIB_NAME_AW(DefFrameProc)
4883 LRESULT DefHookProc16(INT16,WPARAM16,LPARAM,HHOOK*);
4884 #define DefHookProc32(code,wparam,lparam,phhook) \
4885 CallNextHookEx32(*(phhook),code,wparam,lparam)
4886 #define DefHookProc WINELIB_NAME(DefHookProc)
4887 LRESULT DefMDIChildProc16(HWND16,UINT16,WPARAM16,LPARAM);
4888 LRESULT DefMDIChildProc32A(HWND32,UINT32,WPARAM32,LPARAM);
4889 LRESULT DefMDIChildProc32W(HWND32,UINT32,WPARAM32,LPARAM);
4890 #define DefMDIChildProc WINELIB_NAME_AW(DefMDIChildProc)
4891 LRESULT DefWindowProc16(HWND16,UINT16,WPARAM16,LPARAM);
4892 LRESULT DefWindowProc32A(HWND32,UINT32,WPARAM32,LPARAM);
4893 LRESULT DefWindowProc32W(HWND32,UINT32,WPARAM32,LPARAM);
4894 #define DefWindowProc WINELIB_NAME_AW(DefWindowProc)
4895 BOOL16 DeleteDC16(HDC16);
4896 BOOL32 DeleteDC32(HDC32);
4897 #define DeleteDC WINELIB_NAME(DeleteDC)
4898 BOOL16 DeleteFile16(LPCSTR);
4899 BOOL32 DeleteFile32A(LPCSTR);
4900 BOOL32 DeleteFile32W(LPCWSTR);
4901 #define DeleteFile WINELIB_NAME_AW(DeleteFile)
4902 BOOL16 DeleteMetaFile16(HMETAFILE16);
4903 BOOL32 DeleteMetaFile32(HMETAFILE32);
4904 #define DeleteMetaFile WINELIB_NAME(DeleteMetaFile)
4905 BOOL16 DeleteObject16(HGDIOBJ16);
4906 BOOL32 DeleteObject32(HGDIOBJ32);
4907 #define DeleteObject WINELIB_NAME(DeleteObject)
4908 INT16 DialogBox16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
4909 #define DialogBox32A(inst,template,owner,func) \
4910 DialogBoxParam32A(inst,template,owner,func,0)
4911 #define DialogBox32W(inst,template,owner,func) \
4912 DialogBoxParam32W(inst,template,owner,func,0)
4913 #define DialogBox WINELIB_NAME_AW(DialogBox)
4914 INT16 DialogBoxIndirect16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16);
4915 #define DialogBoxIndirect32A(inst,template,owner,func) \
4916 DialogBoxIndirectParam32A(inst,template,owner,func,0)
4917 #define DialogBoxIndirect32W(inst,template,owner,func) \
4918 DialogBoxIndirectParam32W(inst,template,owner,func,0)
4919 #define DialogBoxIndirect WINELIB_NAME_AW(DialogBoxIndirect)
4920 INT16 DialogBoxIndirectParam16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16,LPARAM);
4921 INT32 DialogBoxIndirectParam32A(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
4922 INT32 DialogBoxIndirectParam32W(HINSTANCE32,LPCVOID,HWND32,DLGPROC32,LPARAM);
4923 #define DialogBoxIndirectParam WINELIB_NAME_AW(DialogBoxIndirectParam)
4924 INT16 DialogBoxParam16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16,LPARAM);
4925 INT32 DialogBoxParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
4926 INT32 DialogBoxParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
4927 #define DialogBoxParam WINELIB_NAME_AW(DialogBoxParam)
4928 INT16 DlgDirList16(HWND16,LPCSTR,INT16,INT16,UINT16);
4929 INT32 DlgDirList32A(HWND32,LPCSTR,INT32,INT32,UINT32);
4930 INT32 DlgDirList32W(HWND32,LPCWSTR,INT32,INT32,UINT32);
4931 #define DlgDirList WINELIB_NAME_AW(DlgDirList)
4932 INT16 DlgDirListComboBox16(HWND16,LPCSTR,INT16,INT16,UINT16);
4933 INT32 DlgDirListComboBox32A(HWND32,LPCSTR,INT32,INT32,UINT32);
4934 INT32 DlgDirListComboBox32W(HWND32,LPCWSTR,INT32,INT32,UINT32);
4935 #define DlgDirListComboBox WINELIB_NAME_AW(DlgDirListComboBox)
4936 BOOL16 DlgDirSelectComboBoxEx16(HWND16,LPSTR,INT16,INT16);
4937 BOOL32 DlgDirSelectComboBoxEx32A(HWND32,LPSTR,INT32,INT32);
4938 BOOL32 DlgDirSelectComboBoxEx32W(HWND32,LPWSTR,INT32,INT32);
4939 #define DlgDirSelectComboBoxEx WINELIB_NAME_AW(DlgDirSelectComboBoxEx)
4940 BOOL16 DlgDirSelectEx16(HWND16,LPSTR,INT16,INT16);
4941 BOOL32 DlgDirSelectEx32A(HWND32,LPSTR,INT32,INT32);
4942 BOOL32 DlgDirSelectEx32W(HWND32,LPWSTR,INT32,INT32);
4943 #define DlgDirSelectEx WINELIB_NAME_AW(DlgDirSelectEx)
4944 BOOL16 DPtoLP16(HDC16,LPPOINT16,INT16);
4945 BOOL32 DPtoLP32(HDC32,LPPOINT32,INT32);
4946 #define DPtoLP WINELIB_NAME(DPtoLP)
4947 BOOL16 DrawEdge16(HDC16,LPRECT16,UINT16,UINT16);
4948 BOOL32 DrawEdge32(HDC32,LPRECT32,UINT32,UINT32);
4949 #define DrawEdge WINELIB_NAME(DrawEdge)
4950 void DrawFocusRect16(HDC16,const RECT16*);
4951 void DrawFocusRect32(HDC32,const RECT32*);
4952 #define DrawFocusRect WINELIB_NAME(DrawFocusRect)
4953 BOOL16 DrawFrameControl16(HDC16,LPRECT16,UINT16,UINT16);
4954 BOOL32 DrawFrameControl32(HDC32,LPRECT32,UINT32,UINT32);
4955 #define DrawFrameControl WINELIB_NAME(DrawFrameControl)
4956 INT16 DrawText16(HDC16,LPCSTR,INT16,LPRECT16,UINT16);
4957 INT32 DrawText32A(HDC32,LPCSTR,INT32,LPRECT32,UINT32);
4958 INT32 DrawText32W(HDC32,LPCWSTR,INT32,LPRECT32,UINT32);
4959 #define DrawText WINELIB_NAME_AW(DrawText)
4960 BOOL16 Ellipse16(HDC16,INT16,INT16,INT16,INT16);
4961 BOOL32 Ellipse32(HDC32,INT32,INT32,INT32,INT32);
4962 #define Ellipse WINELIB_NAME(Ellipse)
4963 BOOL16 EnableScrollBar16(HWND16,INT16,UINT16);
4964 BOOL32 EnableScrollBar32(HWND32,INT32,UINT32);
4965 #define EnableScrollBar WINELIB_NAME(EnableScrollBar)
4966 BOOL16 EndPaint16(HWND16,const PAINTSTRUCT16*);
4967 BOOL32 EndPaint32(HWND32,const PAINTSTRUCT32*);
4968 #define EndPaint WINELIB_NAME(EndPaint)
4969 BOOL16 EnumChildWindows16(HWND16,WNDENUMPROC16,LPARAM);
4970 BOOL32 EnumChildWindows32(HWND32,WNDENUMPROC32,LPARAM);
4971 #define EnumChildWindows WINELIB_NAME(EnumChildWindows)
4972 INT16 EnumFontFamilies16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
4973 INT32 EnumFontFamilies32A(HDC32,LPCSTR,FONTENUMPROC32A,LPARAM);
4974 INT32 EnumFontFamilies32W(HDC32,LPCWSTR,FONTENUMPROC32W,LPARAM);
4975 #define EnumFontFamilies WINELIB_NAME_AW(EnumFontFamilies)
4976 INT16 EnumFontFamiliesEx16(HDC16,LPLOGFONT16,FONTENUMPROCEX16,LPARAM,DWORD);
4977 INT32 EnumFontFamiliesEx32A(HDC32,LPLOGFONT32A,FONTENUMPROCEX32A,LPARAM,DWORD);
4978 INT32 EnumFontFamiliesEx32W(HDC32,LPLOGFONT32W,FONTENUMPROCEX32W,LPARAM,DWORD);
4979 #define EnumFontFamiliesEx WINELIB_NAME_AW(EnumFontFamiliesEx)
4980 INT16 EnumFonts16(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
4981 INT32 EnumFonts32A(HDC32,LPCSTR,FONTENUMPROC32A,LPARAM);
4982 INT32 EnumFonts32W(HDC32,LPCWSTR,FONTENUMPROC32W,LPARAM);
4983 #define EnumFonts WINELIB_NAME_AW(EnumFonts)
4984 INT16 EnumObjects16(HDC16,INT16,GOBJENUMPROC16,LPARAM);
4985 INT32 EnumObjects32(HDC32,INT32,GOBJENUMPROC32,LPARAM);
4986 #define EnumObjects WINELIB_NAME(EnumObjects)
4987 INT16 EnumProps16(HWND16,PROPENUMPROC16);
4988 INT32 EnumProps32A(HWND32,PROPENUMPROC32A);
4989 INT32 EnumProps32W(HWND32,PROPENUMPROC32W);
4990 #define EnumProps WINELIB_NAME_AW(EnumProps)
4991 BOOL16 EnumTaskWindows16(HTASK16,WNDENUMPROC16,LPARAM);
4992 #define EnumTaskWindows32(handle,proc,lparam) \
4993 EnumThreadWindows(handle,proc,lparam)
4994 #define EnumTaskWindows WINELIB_NAME(EnumTaskWindows)
4995 BOOL16 EnumWindows16(WNDENUMPROC16,LPARAM);
4996 BOOL32 EnumWindows32(WNDENUMPROC32,LPARAM);
4997 #define EnumWindows WINELIB_NAME(EnumWindows)
4998 BOOL16 EqualRect16(const RECT16*,const RECT16*);
4999 BOOL32 EqualRect32(const RECT32*,const RECT32*);
5000 #define EqualRect WINELIB_NAME(EqualRect)
5001 BOOL16 EqualRgn16(HRGN16,HRGN16);
5002 BOOL32 EqualRgn32(HRGN32,HRGN32);
5003 #define EqualRgn WINELIB_NAME(EqualRgn)
5004 LONG EscapeCommFunction16(UINT16,UINT16);
5005 BOOL32 EscapeCommFunction32(INT32,UINT32);
5006 #define EscapeCommFunction WINELIB_NAME(EscapeCommFunction)
5007 INT16 ExcludeClipRect16(HDC16,INT16,INT16,INT16,INT16);
5008 INT32 ExcludeClipRect32(HDC32,INT32,INT32,INT32,INT32);
5009 #define ExcludeClipRect WINELIB_NAME(ExcludeClipRect)
5010 BOOL16 ExitWindows16(DWORD,UINT16);
5011 #define ExitWindows32(a,b) ExitWindowsEx(EWX_LOGOFF,0xffffffff)
5012 #define ExitWindows WINELIB_NAME(ExitWindows)
5013 BOOL16 ExtFloodFill16(HDC16,INT16,INT16,COLORREF,UINT16);
5014 BOOL32 ExtFloodFill32(HDC32,INT32,INT32,COLORREF,UINT32);
5015 #define ExtFloodFill WINELIB_NAME(ExtFloodFill)
5016 BOOL16 ExtTextOut16(HDC16,INT16,INT16,UINT16,const RECT16*,LPCSTR,UINT16,const INT16*);
5017 BOOL32 ExtTextOut32A(HDC32,INT32,INT32,UINT32,const RECT32*,LPCSTR,UINT32,const INT32*);
5018 BOOL32 ExtTextOut32W(HDC32,INT32,INT32,UINT32,const RECT32*,LPCWSTR,UINT32,const INT32*);
5019 #define ExtTextOut WINELIB_NAME_AW(ExtTextOut)
5020 void FatalAppExit16(UINT16,LPCSTR);
5021 void FatalAppExit32A(UINT32,LPCSTR);
5022 void FatalAppExit32W(UINT32,LPCWSTR);
5023 #define FatalAppExit WINELIB_NAME_AW(FatalAppExit)
5024 INT16 FillRect16(HDC16,const RECT16*,HBRUSH16);
5025 INT32 FillRect32(HDC32,const RECT32*,HBRUSH32);
5026 #define FillRect WINELIB_NAME(FillRect)
5027 BOOL16 FillRgn16(HDC16,HRGN16,HBRUSH16);
5028 BOOL32 FillRgn32(HDC32,HRGN32,HBRUSH32);
5029 #define FillRgn WINELIB_NAME(FillRgn)
5030 BOOL16 FindClose16(HANDLE16);
5031 BOOL32 FindClose32(HANDLE32);
5032 #define FindClose WINELIB_NAME(FindClose)
5033 HANDLE16 FindFirstFile16(LPCSTR,LPWIN32_FIND_DATA32A);
5034 HANDLE32 FindFirstFile32A(LPCSTR,LPWIN32_FIND_DATA32A);
5035 HANDLE32 FindFirstFile32W(LPCWSTR,LPWIN32_FIND_DATA32W);
5036 #define FindFirst WINELIB_NAME_AW(FindFirst)
5037 BOOL16 FindNextFile16(HANDLE16,LPWIN32_FIND_DATA32A);
5038 BOOL32 FindNextFile32A(HANDLE32,LPWIN32_FIND_DATA32A);
5039 BOOL32 FindNextFile32W(HANDLE32,LPWIN32_FIND_DATA32W);
5040 #define FindNext WINELIB_NAME_AW(FindNext)
5041 HRSRC16 FindResource16(HINSTANCE16,SEGPTR,SEGPTR);
5042 HRSRC32 FindResource32A(HINSTANCE32,LPCSTR,LPCSTR);
5043 HRSRC32 FindResource32W(HINSTANCE32,LPCWSTR,LPCWSTR);
5044 #define FindResource WINELIB_NAME_AW(FindResource)
5045 HWND16 FindWindow16(SEGPTR,LPCSTR);
5046 HWND32 FindWindow32A(LPCSTR,LPCSTR);
5047 HWND32 FindWindow32W(LPCWSTR,LPCWSTR);
5048 #define FindWindow WINELIB_NAME_AW(FindWindow)
5049 HWND16 FindWindowEx16(HWND16,HWND16,SEGPTR,LPCSTR);
5050 HWND32 FindWindowEx32A(HWND32,HWND32,LPCSTR,LPCSTR);
5051 HWND32 FindWindowEx32W(HWND32,HWND32,LPCWSTR,LPCWSTR);
5052 #define FindWindowEx WINELIB_NAME_AW(FindWindowEx)
5053 BOOL16 FloodFill16(HDC16,INT16,INT16,COLORREF);
5054 BOOL32 FloodFill32(HDC32,INT32,INT32,COLORREF);
5055 #define FloodFill WINELIB_NAME(FloodFill)
5056 INT16 FrameRect16(HDC16,const RECT16*,HBRUSH16);
5057 INT32 FrameRect32(HDC32,const RECT32*,HBRUSH32);
5058 #define FrameRect WINELIB_NAME(FrameRect)
5059 BOOL16 FrameRgn16(HDC16,HRGN16,HBRUSH16,INT16,INT16);
5060 BOOL32 FrameRgn32(HDC32,HRGN32,HBRUSH32,INT32,INT32);
5061 #define FrameRgn WINELIB_NAME(FrameRgn)
5062 BOOL16 FreeModule16(HMODULE16);
5063 #define FreeModule32(handle) FreeLibrary32(handle)
5064 #define FreeModule WINELIB_NAME(FreeModule)
5065 void FreeProcInstance16(FARPROC16);
5066 #define FreeProcInstance32(proc) /*nothing*/
5067 #define FreeProcInstance WINELIB_NAME(FreeProcInstance)
5068 BOOL16 FreeResource16(HGLOBAL16);
5069 BOOL32 FreeResource32(HGLOBAL32);
5070 #define FreeResource WINELIB_NAME(FreeResource)
5071 BOOL16 GetBitmapDimensionEx16(HBITMAP16,LPSIZE16);
5072 BOOL32 GetBitmapDimensionEx32(HBITMAP32,LPSIZE32);
5073 #define GetBitmapDimensionEx WINELIB_NAME(GetBitmapDimensionEx)
5074 BOOL16 GetBrushOrgEx16(HDC16,LPPOINT16);
5075 BOOL32 GetBrushOrgEx32(HDC32,LPPOINT32);
5076 #define GetBrushOrgEx WINELIB_NAME(GetBrushOrgEx)
5077 COLORREF GetBkColor16(HDC16);
5078 COLORREF GetBkColor32(HDC32);
5079 #define GetBkColor WINELIB_NAME(GetBkColor)
5080 INT16 GetBkMode16(HDC16);
5081 INT32 GetBkMode32(HDC32);
5082 #define GetBkMode WINELIB_NAME(GetBkMode)
5083 HWND16 GetCapture16(void);
5084 HWND32 GetCapture32(void);
5085 #define GetCapture WINELIB_NAME(GetCapture)
5086 UINT16 GetCaretBlinkTime16(void);
5087 UINT32 GetCaretBlinkTime32(void);
5088 #define GetCaretBlinkTime WINELIB_NAME(GetCaretBlinkTime)
5089 VOID GetCaretPos16(LPPOINT16);
5090 BOOL32 GetCaretPos32(LPPOINT32);
5091 #define GetCaretPos WINELIB_NAME(GetCaretPos)
5092 BOOL16 GetCharABCWidths16(HDC16,UINT16,UINT16,LPABC16);
5093 BOOL32 GetCharABCWidths32A(HDC32,UINT32,UINT32,LPABC32);
5094 BOOL32 GetCharABCWidths32W(HDC32,UINT32,UINT32,LPABC32);
5095 #define GetCharABCWidths WINELIB_NAME_AW(GetCharABCWidths)
5096 BOOL16 GetCharWidth16(HDC16,UINT16,UINT16,LPINT16);
5097 BOOL32 GetCharWidth32A(HDC32,UINT32,UINT32,LPINT32);
5098 BOOL32 GetCharWidth32W(HDC32,UINT32,UINT32,LPINT32);
5099 #define GetCharWidth WINELIB_NAME_AW(GetCharWidth)
5100 BOOL16 GetClassInfo16(HINSTANCE16,SEGPTR,WNDCLASS16 *);
5101 BOOL32 GetClassInfo32A(HINSTANCE32,LPCSTR,WNDCLASS32A *);
5102 BOOL32 GetClassInfo32W(HINSTANCE32,LPCWSTR,WNDCLASS32W *);
5103 #define GetClassInfo WINELIB_NAME_AW(GetClassInfo)
5104 BOOL16 GetClassInfoEx16(HINSTANCE16,SEGPTR,WNDCLASSEX16 *);
5105 BOOL32 GetClassInfoEx32A(HINSTANCE32,LPCSTR,WNDCLASSEX32A *);
5106 BOOL32 GetClassInfoEx32W(HINSTANCE32,LPCWSTR,WNDCLASSEX32W *);
5107 #define GetClassInfoEx WINELIB_NAME_AW(GetClassInfoEx)
5108 LONG GetClassLong16(HWND16,INT16);
5109 LONG GetClassLong32A(HWND32,INT32);
5110 LONG GetClassLong32W(HWND32,INT32);
5111 #define GetClassLong WINELIB_NAME_AW(GetClassLong)
5112 INT16 GetClassName16(HWND16,LPSTR,INT16);
5113 INT32 GetClassName32A(HWND32,LPSTR,INT32);
5114 INT32 GetClassName32W(HWND32,LPWSTR,INT32);
5115 #define GetClassName WINELIB_NAME_AW(GetClassName)
5116 void GetClientRect16(HWND16,LPRECT16);
5117 void GetClientRect32(HWND32,LPRECT32);
5118 #define GetClientRect WINELIB_NAME(GetClientRect)
5119 INT16 GetClipBox16(HDC16,LPRECT16);
5120 INT32 GetClipBox32(HDC32,LPRECT32);
5121 #define GetClipBox WINELIB_NAME(GetClipBox)
5122 void GetClipCursor16(LPRECT16);
5123 void GetClipCursor32(LPRECT32);
5124 #define GetClipCursor WINELIB_NAME(GetClipCursor)
5125 HRGN16 GetClipRgn16(HDC16);
5126 INT32 GetClipRgn32(HDC32,HRGN32);
5127 #define GetClipRgn WINELIB_NAME(GetClipRgn)
5128 INT16 GetCommState16(INT16,LPDCB16);
5129 BOOL32 GetCommState32(INT32,LPDCB32);
5130 #define GetCommState WINELIB_NAME(GetCommState)
5131 UINT16 GetCurrentDirectory16(UINT16,LPSTR);
5132 UINT32 GetCurrentDirectory32A(UINT32,LPSTR);
5133 UINT32 GetCurrentDirectory32W(UINT32,LPWSTR);
5134 #define GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
5135 BOOL16 GetCurrentPositionEx16(HDC16,LPPOINT16);
5136 BOOL32 GetCurrentPositionEx32(HDC32,LPPOINT32);
5137 #define GetCurrentPositionEx WINELIB_NAME(GetCurrentPositionEx)
5138 void GetCursorPos16(LPPOINT16);
5139 void GetCursorPos32(LPPOINT32);
5140 #define GetCursorPos WINELIB_NAME(GetCursorPos)
5141 HDC16 GetDC16(HWND16);
5142 HDC32 GetDC32(HWND32);
5143 #define GetDC WINELIB_NAME(GetDC)
5144 HDC16 GetDCEx16(HWND16,HRGN16,DWORD);
5145 HDC32 GetDCEx32(HWND32,HRGN32,DWORD);
5146 #define GetDCEx WINELIB_NAME(GetDCEx)
5147 HWND16 GetDesktopWindow16(void);
5148 HWND32 GetDesktopWindow32(void);
5149 #define GetDesktopWindow WINELIB_NAME(GetDesktopWindow)
5150 INT16 GetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPSTR,LPBITMAPINFO,UINT16);
5151 INT32 GetDIBits32(HDC32,HBITMAP32,UINT32,UINT32,LPSTR,LPBITMAPINFO,UINT32);
5152 #define GetDIBits WINELIB_NAME(GetDIBits)
5153 BOOL16 GetDiskFreeSpace16(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
5154 BOOL32 GetDiskFreeSpace32A(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
5155 BOOL32 GetDiskFreeSpace32W(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
5156 #define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
5157 INT16 GetDlgItemText16(HWND16,INT16,SEGPTR,UINT16);
5158 INT32 GetDlgItemText32A(HWND32,INT32,LPSTR,UINT32);
5159 INT32 GetDlgItemText32W(HWND32,INT32,LPWSTR,UINT32);
5160 #define GetDlgItemText WINELIB_NAME_AW(GetDlgItemText)
5161 UINT16 GetDriveType16(UINT16); /* yes, the arguments differ */
5162 UINT32 GetDriveType32A(LPCSTR);
5163 UINT32 GetDriveType32W(LPCWSTR);
5164 #define GetDriveType WINELIB_NAME_AW(GetDriveType)
5165 INT16 GetExpandedName16(LPCSTR,LPSTR);
5166 INT32 GetExpandedName32A(LPCSTR,LPSTR);
5167 INT32 GetExpandedName32W(LPCWSTR,LPWSTR);
5168 #define GetExpandedName WINELIB_NAME_AW(GetExpandedName)
5169 DWORD GetFileAttributes16(LPCSTR);
5170 DWORD GetFileAttributes32A(LPCSTR);
5171 DWORD GetFileAttributes32W(LPCWSTR);
5172 #define GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
5173 DWORD GetFileVersionInfoSize16(LPCSTR,LPDWORD);
5174 DWORD GetFileVersionInfoSize32A(LPCSTR,LPDWORD);
5175 DWORD GetFileVersionInfoSize32W(LPCWSTR,LPDWORD);
5176 #define GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
5177 DWORD GetFileVersionInfo16(LPCSTR,DWORD,DWORD,LPVOID);
5178 DWORD GetFileVersionInfo32A(LPCSTR,DWORD,DWORD,LPVOID);
5179 DWORD GetFileVersionInfo32W(LPCWSTR,DWORD,DWORD,LPVOID);
5180 #define GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)
5181 HWND16 GetFocus16(void);
5182 HWND32 GetFocus32(void);
5183 #define GetFocus WINELIB_NAME(GetFocus)
5184 UINT16 GetInternalWindowPos16(HWND16,LPRECT16,LPPOINT16);
5185 UINT32 GetInternalWindowPos32(HWND32,LPRECT32,LPPOINT32);
5186 #define GetInternalWindowPos WINELIB_NAME(GetInternalWindowPos)
5187 INT16 GetKeyNameText16(LONG,LPSTR,INT16);
5188 INT32 GetKeyNameText32A(LONG,LPSTR,INT32);
5189 INT32 GetKeyNameText32W(LONG,LPWSTR,INT32);
5190 #define GetKeyNameText WINELIB_NAME_AW(GetKeyNameText)
5191 UINT32 GetLogicalDriveStrings32A(UINT32,LPSTR);
5192 UINT32 GetLogicalDriveStrings32W(UINT32,LPWSTR);
5193 #define GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
5194 INT16 GetMapMode16(HDC16);
5195 INT32 GetMapMode32(HDC32);
5196 #define GetMapMode WINELIB_NAME(GetMapMode)
5197 INT16 GetModuleFileName16(HINSTANCE16,LPSTR,INT16);
5198 DWORD GetModuleFileName32A(HMODULE32,LPSTR,DWORD);
5199 DWORD GetModuleFileName32W(HMODULE32,LPWSTR,DWORD);
5200 #define GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
5201 HWND16 GetNextDlgGroupItem16(HWND16,HWND16,BOOL16);
5202 HWND32 GetNextDlgGroupItem32(HWND32,HWND32,BOOL32);
5203 #define GetNextDlgGroupItem WINELIB_NAME(GetNextDlgGroupItem)
5204 HWND16 GetNextDlgTabItem16(HWND16,HWND16,BOOL16);
5205 HWND32 GetNextDlgTabItem32(HWND32,HWND32,BOOL32);
5206 #define GetNextDlgTabItem WINELIB_NAME(GetNextDlgTabItem)
5207 INT16 GetObject16(HANDLE16,INT16,LPVOID);
5208 INT32 GetObject32A(HANDLE32,INT32,LPVOID);
5209 INT32 GetObject32W(HANDLE32,INT32,LPVOID);
5210 #define GetObject WINELIB_NAME_AW(GetObject)
5211 HWND16 GetParent16(HWND16);
5212 HWND32 GetParent32(HWND32);
5213 #define GetParent WINELIB_NAME(GetParent)
5214 COLORREF GetPixel16(HDC16,INT16,INT16);
5215 COLORREF GetPixel32(HDC32,INT32,INT32);
5216 #define GetPixel WINELIB_NAME(GetPixel)
5217 INT16 GetPolyFillMode16(HDC16);
5218 INT32 GetPolyFillMode32(HDC32);
5219 #define GetPolyFillMode WINELIB_NAME(GetPolyFillMode)
5220 UINT16 GetPrivateProfileInt16(LPCSTR,LPCSTR,INT16,LPCSTR);
5221 UINT32 GetPrivateProfileInt32A(LPCSTR,LPCSTR,INT32,LPCSTR);
5222 UINT32 GetPrivateProfileInt32W(LPCWSTR,LPCWSTR,INT32,LPCWSTR);
5223 #define GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
5224 INT16 GetPrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,INT16,LPCSTR);
5225 INT32 GetPrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,INT32,LPCSTR);
5226 INT32 GetPrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,INT32,LPCWSTR);
5227 #define GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
5228 FARPROC16 GetProcAddress16(HMODULE16,SEGPTR);
5229 FARPROC32 GetProcAddress32(HMODULE32,LPCSTR);
5230 #define GetProcAddress WINELIB_NAME(GetProcAddress)
5231 UINT16 GetProfileInt16(LPCSTR,LPCSTR,INT16);
5232 UINT32 GetProfileInt32A(LPCSTR,LPCSTR,INT32);
5233 UINT32 GetProfileInt32W(LPCWSTR,LPCWSTR,INT32);
5234 #define GetProfileInt WINELIB_NAME_AW(GetProfileInt)
5235 INT16 GetProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,INT16);
5236 INT32 GetProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,INT32);
5237 INT32 GetProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,INT32);
5238 #define GetProfileString WINELIB_NAME_AW(GetProfileString)
5239 HANDLE16 GetProp16(HWND16,LPCSTR);
5240 HANDLE32 GetProp32A(HWND32,LPCSTR);
5241 HANDLE32 GetProp32W(HWND32,LPCWSTR);
5242 #define GetProp WINELIB_NAME_AW(GetProp)
5243 INT16 GetRelAbs16(HDC16);
5244 INT32 GetRelAbs32(HDC32);
5245 #define GetRelAbs WINELIB_NAME(GetRelAbs)
5246 INT16 GetRgnBox16(HRGN16,LPRECT16);
5247 INT32 GetRgnBox32(HRGN32,LPRECT32);
5248 #define GetRgnBox WINELIB_NAME(GetRgnBox)
5249 INT16 GetROP216(HDC16);
5250 INT32 GetROP232(HDC32);
5251 #define GetROP2 WINELIB_NAME(GetROP2)
5252 BOOL16 GetScrollInfo16(HWND16,INT16,LPSCROLLINFO);
5253 BOOL32 GetScrollInfo32(HWND32,INT32,LPSCROLLINFO);
5254 #define GetScrollInfo WINELIB_NAME(GetScrollInfo)
5255 INT16 GetScrollPos16(HWND16,INT16);
5256 INT32 GetScrollPos32(HWND32,INT32);
5257 #define GetScrollPos WINELIB_NAME(GetScrollPos)
5258 BOOL16 GetScrollRange16(HWND16,INT16,LPINT16,LPINT16);
5259 BOOL32 GetScrollRange32(HWND32,INT32,LPINT32,LPINT32);
5260 #define GetScrollRange WINELIB_NAME(GetScrollRange)
5261 HGDIOBJ16 GetStockObject16(INT16);
5262 HGDIOBJ32 GetStockObject32(INT32);
5263 #define GetStockObject WINELIB_NAME(GetStockObject)
5264 INT16 GetStretchBltMode16(HDC16);
5265 INT32 GetStretchBltMode32(HDC32);
5266 #define GetStretchBltMode WINELIB_NAME(GetStretchBltMode)
5267 HBRUSH16 GetSysColorBrush16(INT16);
5268 HBRUSH32 GetSysColorBrush32(INT32);
5269 #define GetSysColorBrush WINELIB_NAME(GetSysColorBrush)
5270 HWND16 GetSysModalWindow16(void);
5271 #define GetSysModalWindow32() ((HWND32)0)
5272 #define GetSysModalWindow WINELIB_NAME(GetSysModalWindow)
5273 UINT16 GetSystemDirectory16(LPSTR,UINT16);
5274 UINT32 GetSystemDirectory32A(LPSTR,UINT32);
5275 UINT32 GetSystemDirectory32W(LPWSTR,UINT32);
5276 #define GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
5277 UINT16 GetTempFileName16(BYTE,LPCSTR,UINT16,LPSTR);
5278 UINT32 GetTempFileName32A(LPCSTR,LPCSTR,UINT32,LPSTR);
5279 UINT32 GetTempFileName32W(LPCWSTR,LPCWSTR,UINT32,LPWSTR);
5280 #define GetTempFileName WINELIB_NAME_AW(GetTempFileName)
5281 UINT32 GetTempPath32A(UINT32,LPSTR);
5282 UINT32 GetTempPath32W(UINT32,LPWSTR);
5283 #define GetTempPath WINELIB_NAME_AW(GetTempPath)
5284 UINT16 GetTextAlign16(HDC16);
5285 UINT32 GetTextAlign32(HDC32);
5286 #define GetTextAlign WINELIB_NAME(GetTextAlign)
5287 INT16 GetTextCharacterExtra16(HDC16);
5288 INT32 GetTextCharacterExtra32(HDC32);
5289 #define GetTextCharacterExtra WINELIB_NAME(GetTextCharacterExtra)
5290 COLORREF GetTextColor16(HDC16);
5291 COLORREF GetTextColor32(HDC32);
5292 #define GetTextColor WINELIB_NAME(GetTextColor)
5293 BOOL16 GetTextExtentPoint16(HDC16,LPCSTR,INT16,LPSIZE16);
5294 BOOL32 GetTextExtentPoint32A(HDC32,LPCSTR,INT32,LPSIZE32);
5295 BOOL32 GetTextExtentPoint32W(HDC32,LPCWSTR,INT32,LPSIZE32);
5296 #define GetTextExtentPoint WINELIB_NAME_AW(GetTextExtentPoint)
5297 INT16 GetTextFace16(HDC16,INT16,LPSTR);
5298 INT32 GetTextFace32A(HDC32,INT32,LPSTR);
5299 INT32 GetTextFace32W(HDC32,INT32,LPWSTR);
5300 #define GetTextFace WINELIB_NAME_AW(GetTextFace)
5301 BOOL16 GetTextMetrics16(HDC16,LPTEXTMETRIC16);
5302 BOOL32 GetTextMetrics32A(HDC32,LPTEXTMETRIC32A);
5303 BOOL32 GetTextMetrics32W(HDC32,LPTEXTMETRIC32W);
5304 #define GetTextMetrics WINELIB_NAME_AW(GetTextMetrics)
5305 BOOL16 GetUpdateRect16(HWND16,LPRECT16,BOOL16);
5306 BOOL32 GetUpdateRect32(HWND32,LPRECT32,BOOL32);
5307 #define GetUpdateRect WINELIB_NAME(GetUpdateRect)
5308 LONG GetVersion16(void);
5309 LONG GetVersion32(void);
5310 #define GetVersion WINELIB_NAME(GetVersion)
5311 BOOL16 GetViewportExtEx16(HDC16,LPPOINT16);
5312 BOOL32 GetViewportExtEx32(HDC32,LPPOINT32);
5313 #define GetViewportExtEx WINELIB_NAME(GetViewportExtEx)
5314 BOOL16 GetViewportOrgEx16(HDC16,LPPOINT16);
5315 BOOL32 GetViewportOrgEx32(HDC32,LPPOINT32);
5316 #define GetViewportOrgEx WINELIB_NAME(GetViewportOrgEx)
5317 BOOL32 GetVolumeInformation32A(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
5318 BOOL32 GetVolumeInformation32W(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
5319 #define GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
5320 HDC16 GetWindowDC16(HWND16);
5321 HDC32 GetWindowDC32(HWND32);
5322 #define GetWindowDC WINELIB_NAME(GetWindowDC)
5323 BOOL16 GetWindowExtEx16(HDC16,LPPOINT16);
5324 BOOL32 GetWindowExtEx32(HDC32,LPPOINT32);
5325 #define GetWindowExtEx WINELIB_NAME(GetWindowExtEx)
5326 LONG GetWindowLong16(HWND16,INT16);
5327 LONG GetWindowLong32A(HWND32,INT32);
5328 LONG GetWindowLong32W(HWND32,INT32);
5329 #define GetWindowLong WINELIB_NAME_AW(GetWindowLong)
5330 BOOL16 GetWindowOrgEx16(HDC16,LPPOINT16);
5331 BOOL32 GetWindowOrgEx32(HDC32,LPPOINT32);
5332 #define GetWindowOrgEx WINELIB_NAME(GetWindowOrgEx)
5333 BOOL16 GetWindowPlacement16(HWND16,LPWINDOWPLACEMENT16);
5334 BOOL32 GetWindowPlacement32(HWND32,LPWINDOWPLACEMENT32);
5335 #define GetWindowPlacement WINELIB_NAME(GetWindowPlacement)
5336 void GetWindowRect16(HWND16,LPRECT16);
5337 void GetWindowRect32(HWND32,LPRECT32);
5338 #define GetWindowRect WINELIB_NAME(GetWindowRect)
5339 UINT16 GetWindowsDirectory16(LPSTR,UINT16);
5340 UINT32 GetWindowsDirectory32A(LPSTR,UINT32);
5341 UINT32 GetWindowsDirectory32W(LPWSTR,UINT32);
5342 #define GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
5343 HTASK16 GetWindowTask16(HWND16);
5344 #define GetWindowTask32(hwnd) ((HTASK32)GetWindowThreadProcessId(hwnd,NULL))
5345 #define GetWindowTask WINELIB_NAME(GetWindowTask)
5346 INT16 GetWindowText16(HWND16,SEGPTR,INT16);
5347 INT32 GetWindowText32A(HWND32,LPSTR,INT32);
5348 INT32 GetWindowText32W(HWND32,LPWSTR,INT32);
5349 #define GetWindowText WINELIB_NAME_AW(GetWindowText)
5350 INT16 GetWindowTextLength16(HWND16);
5351 INT32 GetWindowTextLength32A(HWND32);
5352 INT32 GetWindowTextLength32W(HWND32);
5353 #define GetWindowTextLength WINELIB_NAME_AW(GetWindowTextLength)
5354 ATOM GlobalAddAtom16(SEGPTR);
5355 ATOM GlobalAddAtom32A(LPCSTR);
5356 ATOM GlobalAddAtom32W(LPCWSTR);
5357 #define GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
5358 HGLOBAL16 GlobalAlloc16(UINT16,DWORD);
5359 HGLOBAL32 GlobalAlloc32(UINT32,DWORD);
5360 #define GlobalAlloc WINELIB_NAME(GlobalAlloc)
5361 DWORD GlobalCompact16(DWORD);
5362 DWORD GlobalCompact32(DWORD);
5363 #define GlobalCompact WINELIB_NAME(GlobalCompact)
5364 UINT16 GlobalFlags16(HGLOBAL16);
5365 UINT32 GlobalFlags32(HGLOBAL32);
5366 #define GlobalFlags WINELIB_NAME(GlobalFlags)
5367 ATOM GlobalFindAtom16(SEGPTR);
5368 ATOM GlobalFindAtom32A(LPCSTR);
5369 ATOM GlobalFindAtom32W(LPCWSTR);
5370 #define GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
5371 HGLOBAL16 GlobalFree16(HGLOBAL16);
5372 HGLOBAL32 GlobalFree32(HGLOBAL32);
5373 #define GlobalFree WINELIB_NAME(GlobalFree)
5374 UINT16 GlobalGetAtomName16(ATOM,LPSTR,INT16);
5375 UINT32 GlobalGetAtomName32A(ATOM,LPSTR,INT32);
5376 UINT32 GlobalGetAtomName32W(ATOM,LPWSTR,INT32);
5377 #define GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
5378 DWORD GlobalHandle16(WORD);
5379 HGLOBAL32 GlobalHandle32(LPCVOID);
5380 #define GlobalHandle WINELIB_NAME(GlobalHandle)
5381 LPVOID GlobalLock16(HGLOBAL16);
5382 LPVOID GlobalLock32(HGLOBAL32);
5383 #define GlobalLock WINELIB_NAME(GlobalLock)
5384 HGLOBAL16 GlobalReAlloc16(HGLOBAL16,DWORD,UINT16);
5385 HGLOBAL32 GlobalReAlloc32(HGLOBAL32,DWORD,UINT32);
5386 #define GlobalReAlloc WINELIB_NAME(GlobalReAlloc)
5387 DWORD GlobalSize16(HGLOBAL16);
5388 DWORD GlobalSize32(HGLOBAL32);
5389 #define GlobalSize WINELIB_NAME(GlobalSize)
5390 BOOL16 GlobalUnlock16(HGLOBAL16);
5391 BOOL32 GlobalUnlock32(HGLOBAL32);
5392 #define GlobalUnlock WINELIB_NAME(GlobalUnlock)
5393 void InflateRect16(LPRECT16,INT16,INT16);
5394 void InflateRect32(LPRECT32,INT32,INT32);
5395 #define InflateRect WINELIB_NAME(InflateRect)
5396 BOOL16 InsertMenu16(HMENU16,UINT16,UINT16,UINT16,SEGPTR);
5397 BOOL32 InsertMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
5398 BOOL32 InsertMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
5399 #define InsertMenu WINELIB_NAME_AW(InsertMenu)
5400 INT16 IntersectClipRect16(HDC16,INT16,INT16,INT16,INT16);
5401 INT32 IntersectClipRect32(HDC32,INT32,INT32,INT32,INT32);
5402 #define IntersectClipRect WINELIB_NAME(IntersectClipRect)
5403 BOOL16 IntersectRect16(LPRECT16,const RECT16*,const RECT16*);
5404 BOOL32 IntersectRect32(LPRECT32,const RECT32*,const RECT32*);
5405 #define IntersectRect WINELIB_NAME(IntersectRect)
5406 void InvalidateRect16(HWND16,const RECT16*,BOOL16);
5407 void InvalidateRect32(HWND32,const RECT32*,BOOL32);
5408 #define InvalidateRect WINELIB_NAME(InvalidateRect)
5409 void InvalidateRgn16(HWND16,HRGN16,BOOL16);
5410 void InvalidateRgn32(HWND32,HRGN32,BOOL32);
5411 #define InvalidateRgn WINELIB_NAME(InvalidateRgn)
5412 void InvertRect16(HDC16,const RECT16*);
5413 void InvertRect32(HDC32,const RECT32*);
5414 #define InvertRect WINELIB_NAME(InvertRect)
5415 BOOL16 InvertRgn16(HDC16,HRGN16);
5416 BOOL32 InvertRgn32(HDC32,HRGN32);
5417 #define InvertRgn WINELIB_NAME(InvertRgn)
5418 BOOL16 IsBadCodePtr16(SEGPTR);
5419 BOOL32 IsBadCodePtr32(FARPROC32);
5420 #define IsBadCodePtr WINELIB_NAME(IsBadCodePtr)
5421 BOOL16 IsBadHugeReadPtr16(SEGPTR,DWORD);
5422 BOOL32 IsBadHugeReadPtr32(LPCVOID,UINT32);
5423 #define IsBadHugeReadPtr WINELIB_NAME(IsBadHugeReadPtr)
5424 BOOL16 IsBadHugeWritePtr16(SEGPTR,DWORD);
5425 BOOL32 IsBadHugeWritePtr32(LPCVOID,UINT32);
5426 #define IsBadHugeWritePtr WINELIB_NAME(IsBadHugeWritePtr)
5427 BOOL16 IsBadReadPtr16(SEGPTR,UINT16);
5428 BOOL32 IsBadReadPtr32(LPCVOID,UINT32);
5429 #define IsBadReadPtr WINELIB_NAME(IsBadReadPtr)
5430 BOOL16 IsBadStringPtr16(SEGPTR,UINT16);
5431 BOOL32 IsBadStringPtr32A(LPCSTR,UINT32);
5432 BOOL32 IsBadStringPtr32W(LPCWSTR,UINT32);
5433 #define IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
5434 BOOL16 IsBadWritePtr16(SEGPTR,UINT16);
5435 BOOL32 IsBadWritePtr32(LPVOID,UINT32);
5436 #define IsBadWritePtr WINELIB_NAME(IsBadWritePtr)
5437 BOOL16 IsCharAlpha16(CHAR);
5438 BOOL32 IsCharAlpha32A(CHAR);
5439 BOOL32 IsCharAlpha32W(WCHAR);
5440 #define IsCharAlpha WINELIB_NAME_AW(IsCharAlpha)
5441 BOOL16 IsCharAlphaNumeric16(CHAR);
5442 BOOL32 IsCharAlphaNumeric32A(CHAR);
5443 BOOL32 IsCharAlphaNumeric32W(WCHAR);
5444 #define IsCharAlphaNumeric WINELIB_NAME_AW(IsCharAlphaNumeric)
5445 BOOL16 IsCharLower16(CHAR);
5446 BOOL32 IsCharLower32A(CHAR);
5447 BOOL32 IsCharLower32W(WCHAR);
5448 #define IsCharLower WINELIB_NAME_AW(IsCharLower)
5449 BOOL16 IsCharUpper16(CHAR);
5450 BOOL32 IsCharUpper32A(CHAR);
5451 BOOL32 IsCharUpper32W(WCHAR);
5452 #define IsCharUpper WINELIB_NAME_AW(IsCharUpper)
5453 BOOL16 IsRectEmpty16(const RECT16*);
5454 BOOL32 IsRectEmpty32(const RECT32*);
5455 #define IsRectEmpty WINELIB_NAME(IsRectEmpty)
5456 BOOL16 KillSystemTimer16(HWND16,UINT16);
5457 BOOL32 KillSystemTimer32(HWND32,UINT32);
5458 #define KillSystemTimer WINELIB_NAME(KillSystemTimer)
5459 BOOL16 KillTimer16(HWND16,UINT16);
5460 BOOL32 KillTimer32(HWND32,UINT32);
5461 #define KillTimer WINELIB_NAME(KillTimer)
5462 HFILE16 LZOpenFile16(LPCSTR,LPOFSTRUCT,UINT16);
5463 HFILE32 LZOpenFile32A(LPCSTR,LPOFSTRUCT,UINT32);
5464 HFILE32 LZOpenFile32W(LPCWSTR,LPOFSTRUCT,UINT32);
5465 #define LZOpenFile WINELIB_NAME_AW(LZOpenFile)
5466 INT16 LZRead16(HFILE16,LPVOID,UINT16);
5467 INT32 LZRead32(HFILE32,LPVOID,UINT32);
5468 #define LZRead WINELIB_NAME(LZRead)
5469 INT16 LZStart16(void);
5470 INT32 LZStart32(void);
5471 #define LZStart WINELIB_NAME(LZStart)
5472 VOID LineDDA16(INT16,INT16,INT16,INT16,LINEDDAPROC16,LPARAM);
5473 BOOL32 LineDDA32(INT32,INT32,INT32,INT32,LINEDDAPROC32,LPARAM);
5474 #define LineDDA WINELIB_NAME(LineDDA)
5475 BOOL16 LineTo16(HDC16,INT16,INT16);
5476 BOOL32 LineTo32(HDC32,INT32,INT32);
5477 #define LineTo WINELIB_NAME(LineTo)
5478 HACCEL16 LoadAccelerators16(HINSTANCE16,SEGPTR);
5479 HACCEL32 LoadAccelerators32A(HINSTANCE32,LPCSTR);
5480 HACCEL32 LoadAccelerators32W(HINSTANCE32,LPCWSTR);
5481 #define LoadAccelerators WINELIB_NAME_AW(LoadAccelerators)
5482 HBITMAP16 LoadBitmap16(HANDLE16,SEGPTR);
5483 HBITMAP32 LoadBitmap32A(HANDLE32,LPCSTR);
5484 HBITMAP32 LoadBitmap32W(HANDLE32,LPCWSTR);
5485 #define LoadBitmap WINELIB_NAME(LoadBitmap)
5486 HCURSOR16 LoadCursor16(HINSTANCE16,SEGPTR);
5487 HCURSOR32 LoadCursor32A(HINSTANCE32,LPCSTR);
5488 HCURSOR32 LoadCursor32W(HINSTANCE32,LPCWSTR);
5489 #define LoadCursor WINELIB_NAME_AW(LoadCursor)
5490 HICON16 LoadIcon16(HINSTANCE16,SEGPTR);
5491 HICON32 LoadIcon32A(HINSTANCE32,LPCSTR);
5492 HICON32 LoadIcon32W(HINSTANCE32,LPCWSTR);
5493 #define LoadIcon WINELIB_NAME_AW(LoadIcon)
5494 HINSTANCE16 LoadLibrary16(LPCSTR);
5495 HINSTANCE32 LoadLibrary32A(LPCSTR);
5496 HINSTANCE32 LoadLibrary32W(LPCWSTR);
5497 #define LoadLibrary WINELIB_NAME_AW(LoadLibrary)
5498 HMENU16 LoadMenu16(HINSTANCE16,SEGPTR);
5499 HMENU32 LoadMenu32A(HINSTANCE32,LPCSTR);
5500 HMENU32 LoadMenu32W(HINSTANCE32,LPCWSTR);
5501 #define LoadMenu WINELIB_NAME_AW(LoadMenu)
5502 HMENU16 LoadMenuIndirect16(LPCVOID);
5503 HMENU32 LoadMenuIndirect32A(LPCVOID);
5504 HMENU32 LoadMenuIndirect32W(LPCVOID);
5505 #define LoadMenuIndirect WINELIB_NAME_AW(LoadMenuIndirect)
5506 HGLOBAL16 LoadResource16(HINSTANCE16,HRSRC16);
5507 HGLOBAL32 LoadResource32(HINSTANCE32,HRSRC32);
5508 #define LoadResource WINELIB_NAME(LoadResource)
5509 INT16 LoadString16(HINSTANCE16,UINT16,LPSTR,INT16);
5510 INT32 LoadString32A(HINSTANCE32,UINT32,LPSTR,INT32);
5511 INT32 LoadString32W(HINSTANCE32,UINT32,LPWSTR,INT32);
5512 #define LoadString WINELIB_NAME_AW(LoadString)
5513 HLOCAL16 LocalAlloc16(UINT16,WORD);
5514 HLOCAL32 LocalAlloc32(UINT32,DWORD);
5515 #define LocalAlloc WINELIB_NAME(LocalAlloc)
5516 UINT16 LocalCompact16(UINT16);
5517 UINT32 LocalCompact32(UINT32);
5518 #define LocalCompact WINELIB_NAME(LocalCompact)
5519 UINT16 LocalFlags16(HLOCAL16);
5520 UINT32 LocalFlags32(HLOCAL32);
5521 #define LocalFlags WINELIB_NAME(LocalFlags)
5522 HLOCAL16 LocalFree16(HLOCAL16);
5523 HLOCAL32 LocalFree32(HLOCAL32);
5524 #define LocalFree WINELIB_NAME(LocalFree)
5525 HLOCAL16 LocalHandle16(WORD);
5526 HLOCAL32 LocalHandle32(LPCVOID);
5527 #define LocalHandle WINELIB_NAME(LocalHandle)
5528 SEGPTR LocalLock16(HLOCAL16);
5529 LPVOID LocalLock32(HLOCAL32);
5530 #define LocalLock WINELIB_NAME(LocalLock)
5531 HLOCAL16 LocalReAlloc16(HLOCAL16,WORD,UINT16);
5532 HLOCAL32 LocalReAlloc32(HLOCAL32,DWORD,UINT32);
5533 #define LocalReAlloc WINELIB_NAME(LocalReAlloc)
5534 UINT16 LocalShrink16(HGLOBAL16,UINT16);
5535 UINT32 LocalShrink32(HGLOBAL32,UINT32);
5536 #define LocalShrink WINELIB_NAME(LocalShrink)
5537 UINT16 LocalSize16(HLOCAL16);
5538 UINT32 LocalSize32(HLOCAL32);
5539 #define LocalSize WINELIB_NAME(LocalSize)
5540 BOOL16 LocalUnlock16(HLOCAL16);
5541 BOOL32 LocalUnlock32(HLOCAL32);
5542 #define LocalUnlock WINELIB_NAME(LocalUnlock)
5543 LPVOID LockResource16(HGLOBAL16);
5544 LPVOID LockResource32(HGLOBAL32);
5545 #define LockResource WINELIB_NAME(LockResource)
5546 HGLOBAL16 LockSegment16(HGLOBAL16);
5547 #define LockSegment32(handle) GlobalFix((HANDLE32)(handle))
5548 #define LockSegment WINELIB_NAME(LockSegment)
5549 BOOL16 LPtoDP16(HDC16,LPPOINT16,INT16);
5550 BOOL32 LPtoDP32(HDC32,LPPOINT32,INT32);
5551 #define LPtoDP WINELIB_NAME(LPtoDP)
5552 void LZClose16(HFILE16);
5553 void LZClose32(HFILE32);
5554 #define LZClose WINELIB_NAME(LZClose)
5555 LONG LZCopy16(HFILE16,HFILE16);
5556 LONG LZCopy32(HFILE32,HFILE32);
5557 #define LZCopy WINELIB_NAME(LZCopy)
5558 HFILE16 LZInit16(HFILE16);
5559 HFILE32 LZInit32(HFILE32);
5560 #define LZInit WINELIB_NAME(LZInit)
5561 LONG LZSeek16(HFILE16,LONG,INT16);
5562 LONG LZSeek32(HFILE32,LONG,INT32);
5563 #define LZSeek WINELIB_NAME(LZSeek)
5564 FARPROC16 MakeProcInstance16(FARPROC16,HANDLE16);
5565 #define MakeProcInstance32(proc,inst) (proc)
5566 #define MakeProcInstance WINELIB_NAME(MakeProcInstance)
5567 void MapDialogRect16(HWND16,LPRECT16);
5568 void MapDialogRect32(HWND32,LPRECT32);
5569 #define MapDialogRect WINELIB_NAME(MapDialogRect)
5570 void MapWindowPoints16(HWND16,HWND16,LPPOINT16,UINT16);
5571 void MapWindowPoints32(HWND32,HWND32,LPPOINT32,UINT32);
5572 #define MapWindowPoints WINELIB_NAME(MapWindowPoints)
5573 INT16 MessageBox16(HWND16,LPCSTR,LPCSTR,UINT16);
5574 INT32 MessageBox32A(HWND32,LPCSTR,LPCSTR,UINT32);
5575 INT32 MessageBox32W(HWND32,LPCWSTR,LPCWSTR,UINT32);
5576 #define MessageBox WINELIB_NAME_AW(MessageBox)
5577 BOOL16 ModifyMenu16(HMENU16,UINT16,UINT16,UINT16,SEGPTR);
5578 BOOL32 ModifyMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
5579 BOOL32 ModifyMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
5580 #define ModifyMenu WINELIB_NAME_AW(ModifyMenu)
5581 BOOL16 MoveToEx16(HDC16,INT16,INT16,LPPOINT16);
5582 BOOL32 MoveToEx32(HDC32,INT32,INT32,LPPOINT32);
5583 #define MoveToEx WINELIB_NAME(MoveToEx)
5584 INT16 MulDiv16(INT16,INT16,INT16);
5585 INT32 MulDiv32(INT32,INT32,INT32);
5586 #define MulDiv WINELIB_NAME(MulDiv)
5587 INT16 OemToAnsi16(LPCSTR,LPSTR);
5588 #define OemToAnsi32A OemToChar32A
5589 #define OemToAnsi32W OemToChar32W
5590 #define OemToAnsi WINELIB_NAME_AW(OemToAnsi)
5591 VOID OemToAnsiBuff16(LPCSTR,LPSTR,UINT16);
5592 #define OemToAnsiBuff32A OemToCharBuff32A
5593 #define OemToAnsiBuff32W OemToCharBuff32W
5594 #define OemToAnsiBuff WINELIB_NAME_AW(OemToAnsiBuff)
5595 BOOL32 OemToChar32A(LPCSTR,LPSTR);
5596 BOOL32 OemToChar32W(LPCSTR,LPWSTR);
5597 #define OemToChar WINELIB_NAME_AW(OemToChar)
5598 BOOL32 OemToCharBuff32A(LPCSTR,LPSTR,DWORD);
5599 BOOL32 OemToCharBuff32W(LPCSTR,LPWSTR,DWORD);
5600 #define OemToCharBuff WINELIB_NAME_AW(OemToCharBuff)
5601 INT16 OffsetClipRgn16(HDC16,INT16,INT16);
5602 INT32 OffsetClipRgn32(HDC32,INT32,INT32);
5603 #define OffsetClipRgn WINELIB_NAME(OffsetClipRgn)
5604 void OffsetRect16(LPRECT16,INT16,INT16);
5605 void OffsetRect32(LPRECT32,INT32,INT32);
5606 #define OffsetRect WINELIB_NAME(OffsetRect)
5607 INT16 OffsetRgn16(HRGN16,INT16,INT16);
5608 INT32 OffsetRgn32(HRGN32,INT32,INT32);
5609 #define OffsetRgn WINELIB_NAME(OffsetRgn)
5610 BOOL16 OffsetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
5611 BOOL32 OffsetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
5612 #define OffsetViewportOrgEx WINELIB_NAME(OffsetViewportOrgEx)
5613 BOOL16 OffsetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
5614 BOOL32 OffsetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
5615 #define OffsetWindowOrgEx WINELIB_NAME(OffsetWindowOrgEx)
5616 HFILE16 OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
5617 HFILE32 OpenFile32(LPCSTR,OFSTRUCT*,UINT32);
5618 #define OpenFile WINELIB_NAME(OpenFile)
5619 BOOL16 PaintRgn16(HDC16,HRGN16);
5620 BOOL32 PaintRgn32(HDC32,HRGN32);
5621 #define PaintRgn WINELIB_NAME(PaintRgn)
5622 BOOL16 PatBlt16(HDC16,INT16,INT16,INT16,INT16,DWORD);
5623 BOOL32 PatBlt32(HDC32,INT32,INT32,INT32,INT32,DWORD);
5624 #define PatBlt WINELIB_NAME(PatBlt)
5625 BOOL16 PeekMessage16(LPMSG16,HWND16,UINT16,UINT16,UINT16);
5626 BOOL32 PeekMessage32A(LPMSG32,HWND32,UINT32,UINT32,UINT32);
5627 BOOL32 PeekMessage32W(LPMSG32,HWND32,UINT32,UINT32,UINT32);
5628 #define PeekMessage WINELIB_NAME_AW(PeekMessage)
5629 BOOL16 Pie16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
5630 BOOL32 Pie32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
5631 #define Pie WINELIB_NAME(Pie)
5632 BOOL16 PolyPolygon16(HDC16,LPPOINT16,LPINT16,UINT16);
5633 BOOL32 PolyPolygon32(HDC32,LPPOINT32,LPINT32,UINT32);
5634 #define PolyPolygon WINELIB_NAME(PolyPolygon)
5635 BOOL16 Polygon16(HDC16,LPPOINT16,INT16);
5636 BOOL32 Polygon32(HDC32,LPPOINT32,INT32);
5637 #define Polygon WINELIB_NAME(Polygon)
5638 BOOL16 Polyline16(HDC16,LPPOINT16,INT16);
5639 BOOL32 Polyline32(HDC32,LPPOINT32,INT32);
5640 #define Polyline WINELIB_NAME(Polyline)
5641 BOOL16 PostAppMessage16(HTASK16,UINT16,WPARAM16,LPARAM);
5642 #define PostAppMessage32A(thread,msg,wparam,lparam) \
5643 PostThreadMessage32A((DWORD)(thread),msg,wparam,lparam)
5644 #define PostAppMessage32W(thread,msg,wparam,lparam) \
5645 PostThreadMessage32W((DWORD)(thread),msg,wparam,lparam)
5646 #define PostAppMessage WINELIB_NAME_AW(PostAppMessage)
5647 BOOL16 PtInRect16(const RECT16*,POINT16);
5648 BOOL32 PtInRect32(const RECT32*,POINT32);
5649 #define PtInRect WINELIB_NAME(PtInRect)
5650 BOOL16 PtInRegion16(HRGN16,INT16,INT16);
5651 BOOL32 PtInRegion32(HRGN32,INT32,INT32);
5652 #define PtInRegion WINELIB_NAME(PtInRegion)
5653 BOOL16 PtVisible16(HDC16,INT16,INT16);
5654 BOOL32 PtVisible32(HDC32,INT32,INT32);
5655 #define PtVisible WINELIB_NAME(PtVisible)
5656 BOOL16 Rectangle16(HDC16,INT16,INT16,INT16,INT16);
5657 BOOL32 Rectangle32(HDC32,INT32,INT32,INT32,INT32);
5658 #define Rectangle WINELIB_NAME(Rectangle)
5659 BOOL16 RectInRegion16(HRGN16,const RECT16 *);
5660 BOOL32 RectInRegion32(HRGN32,const RECT32 *);
5661 #define RectInRegion WINELIB_NAME(RectInRegion)
5662 BOOL16 RectVisible16(HDC16,LPRECT16);
5663 BOOL32 RectVisible32(HDC32,LPRECT32);
5664 #define RectVisible WINELIB_NAME(RectVisible)
5665 BOOL16 RedrawWindow16(HWND16,const RECT16*,HRGN16,UINT16);
5666 BOOL32 RedrawWindow32(HWND32,const RECT32*,HRGN32,UINT32);
5667 #define RedrawWindow WINELIB_NAME(RedrawWindow)
5668 DWORD RegCreateKey16(HKEY,LPCSTR,LPHKEY);
5669 DWORD RegCreateKey32A(HKEY,LPCSTR,LPHKEY);
5670 DWORD RegCreateKey32W(HKEY,LPCWSTR,LPHKEY);
5671 #define RegCreateKey WINELIB_NAME_AW(RegCreateKey)
5672 DWORD RegDeleteKey16(HKEY,LPCSTR);
5673 DWORD RegDeleteKey32A(HKEY,LPCSTR);
5674 DWORD RegDeleteKey32W(HKEY,LPWSTR);
5675 #define RegDeleteKey WINELIB_NAME_AW(RegDeleteKey)
5676 DWORD RegDeleteValue16(HKEY,LPSTR);
5677 DWORD RegDeleteValue32A(HKEY,LPSTR);
5678 DWORD RegDeleteValue32W(HKEY,LPWSTR);
5679 #define RegDeleteValue WINELIB_NAME_AW(RegDeleteValue)
5680 DWORD RegEnumKey16(HKEY,DWORD,LPSTR,DWORD);
5681 DWORD RegEnumKey32A(HKEY,DWORD,LPSTR,DWORD);
5682 DWORD RegEnumKey32W(HKEY,DWORD,LPWSTR,DWORD);
5683 #define RegEnumKey WINELIB_NAME_AW(RegEnumKey)
5684 DWORD RegEnumValue16(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
5685 DWORD RegEnumValue32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
5686 DWORD RegEnumValue32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
5687 #define RegEnumValue WINELIB_NAME_AW(RegEnumValue)
5688 ATOM RegisterClass16(const WNDCLASS16*);
5689 ATOM RegisterClass32A(const WNDCLASS32A *);
5690 ATOM RegisterClass32W(const WNDCLASS32W *);
5691 #define RegisterClass WINELIB_NAME_AW(RegisterClass)
5692 ATOM RegisterClassEx16(const WNDCLASSEX16*);
5693 ATOM RegisterClassEx32A(const WNDCLASSEX32A *);
5694 ATOM RegisterClassEx32W(const WNDCLASSEX32W *);
5695 #define RegisterClassEx WINELIB_NAME_AW(RegisterClassEx)
5696 UINT16 RegisterClipboardFormat16(LPCSTR);
5697 UINT32 RegisterClipboardFormat32A(LPCSTR);
5698 UINT32 RegisterClipboardFormat32W(LPCWSTR);
5699 #define RegisterClipboardFormat WINELIB_NAME_AW(RegisterClipboardFormat)
5700 WORD RegisterWindowMessage16(SEGPTR);
5701 WORD RegisterWindowMessage32A(LPCSTR);
5702 WORD RegisterWindowMessage32W(LPCWSTR);
5703 #define RegisterWindowMessage WINELIB_NAME_AW(RegisterWindowMessage)
5704 DWORD RegOpenKey16(HKEY,LPCSTR,LPHKEY);
5705 DWORD RegOpenKey32A(HKEY,LPCSTR,LPHKEY);
5706 DWORD RegOpenKey32W(HKEY,LPCWSTR,LPHKEY);
5707 #define RegOpenKey WINELIB_NAME_AW(RegOpenKey)
5708 DWORD RegQueryValue16(HKEY,LPSTR,LPSTR,LPDWORD);
5709 DWORD RegQueryValue32A(HKEY,LPSTR,LPSTR,LPDWORD);
5710 DWORD RegQueryValue32W(HKEY,LPWSTR,LPWSTR,LPDWORD);
5711 #define RegQueryValue WINELIB_NAME_AW(RegQueryValue)
5712 DWORD RegQueryValueEx16(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
5713 DWORD RegQueryValueEx32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
5714 DWORD RegQueryValueEx32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
5715 #define RegQueryValueEx WINELIB_NAME_AW(RegQueryValueEx)
5716 DWORD RegSetValue16(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
5717 DWORD RegSetValue32A(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
5718 DWORD RegSetValue32W(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
5719 #define RegSetValue WINELIB_NAME_AW(RegSetValue)
5720 DWORD RegSetValueEx16(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
5721 DWORD RegSetValueEx32A(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
5722 DWORD RegSetValueEx32W(HKEY,LPWSTR,DWORD,DWORD,LPBYTE,DWORD);
5723 #define RegSetValueEx WINELIB_NAME_AW(RegSetValueEx)
5724 INT16 ReleaseDC16(HWND16,HDC16);
5725 INT32 ReleaseDC32(HWND32,HDC32);
5726 #define ReleaseDC WINELIB_NAME(ReleaseDC)
5727 HANDLE16 RemoveProp16(HWND16,LPCSTR);
5728 HANDLE32 RemoveProp32A(HWND32,LPCSTR);
5729 HANDLE32 RemoveProp32W(HWND32,LPCWSTR);
5730 #define RemoveProp WINELIB_NAME_AW(RemoveProp)
5731 BOOL16 RemoveDirectory16(LPCSTR);
5732 BOOL32 RemoveDirectory32A(LPCSTR);
5733 BOOL32 RemoveDirectory32W(LPCWSTR);
5734 #define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
5735 HDC16 ResetDC16(HDC16,const DEVMODE16 *);
5736 HDC32 ResetDC32A(HDC32,const DEVMODE32A *);
5737 HDC32 ResetDC32W(HDC32,const DEVMODE32W *);
5738 #define ResetDC WINELIB_NAME_AW(ResetDC)
5739 BOOL16 RestoreDC16(HDC16,INT16);
5740 BOOL32 RestoreDC32(HDC32,INT32);
5741 #define RestoreDC WINELIB_NAME(RestoreDC)
5742 BOOL16 RoundRect16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16);
5743 BOOL32 RoundRect32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32);
5744 #define RoundRect WINELIB_NAME(RoundRect)
5745 INT16 SaveDC16(HDC16);
5746 INT32 SaveDC32(HDC32);
5747 #define SaveDC WINELIB_NAME(SaveDC)
5748 BOOL16 ScaleViewportExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
5749 BOOL32 ScaleViewportExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
5750 #define ScaleViewportExtEx WINELIB_NAME(ScaleViewportExtEx)
5751 BOOL16 ScaleWindowExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
5752 BOOL32 ScaleWindowExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
5753 #define ScaleWindowExtEx WINELIB_NAME(ScaleWindowExtEx)
5754 void ScreenToClient16(HWND16,LPPOINT16);
5755 void ScreenToClient32(HWND32,LPPOINT32);
5756 #define ScreenToClient WINELIB_NAME(ScreenToClient)
5757 BOOL16 ScrollDC16(HDC16,INT16,INT16,const RECT16*,const RECT16*,
5758 HRGN16,LPRECT16);
5759 BOOL32 ScrollDC32(HDC32,INT32,INT32,const RECT32*,const RECT32*,
5760 HRGN32,LPRECT32);
5761 #define ScrollDC WINELIB_NAME(ScrollDC)
5762 void ScrollWindow16(HWND16,INT16,INT16,const RECT16*,const RECT16*);
5763 BOOL32 ScrollWindow32(HWND32,INT32,INT32,const RECT32*,const RECT32*);
5764 #define ScrollWindow WINELIB_NAME(ScrollWindow)
5765 INT16 ScrollWindowEx16(HWND16,INT16,INT16,const RECT16*,const RECT16*,
5766 HRGN16,LPRECT16,UINT16);
5767 INT32 ScrollWindowEx32(HWND32,INT32,INT32,const RECT32*,const RECT32*,
5768 HRGN32,LPRECT32,UINT32);
5769 #define ScrollWindowEx WINELIB_NAME(ScrollWindowEx)
5770 INT16 SelectClipRgn16(HDC16,HRGN16);
5771 INT32 SelectClipRgn32(HDC32,HRGN32);
5772 #define SelectClipRgn WINELIB_NAME(SelectClipRgn)
5773 HGDIOBJ16 SelectObject16(HDC16,HGDIOBJ16);
5774 HGDIOBJ32 SelectObject32(HDC32,HGDIOBJ32);
5775 #define SelectObject WINELIB_NAME(SelectObject)
5776 LRESULT SendDlgItemMessage16(HWND16,INT16,UINT16,WPARAM16,LPARAM);
5777 LRESULT SendDlgItemMessage32A(HWND32,INT32,UINT32,WPARAM32,LPARAM);
5778 LRESULT SendDlgItemMessage32W(HWND32,INT32,UINT32,WPARAM32,LPARAM);
5779 #define SendDlgItemMessage WINELIB_NAME_AW(SendDlgItemMessage)
5780 LRESULT SendMessage16(HWND16,UINT16,WPARAM16,LPARAM);
5781 LRESULT SendMessage32A(HWND32,UINT32,WPARAM32,LPARAM);
5782 LRESULT SendMessage32W(HWND32,UINT32,WPARAM32,LPARAM);
5783 #define SendMessage WINELIB_NAME_AW(SendMessage)
5784 BOOL16 SetBitmapDimensionEx16(HBITMAP16,INT16,INT16,LPSIZE16);
5785 BOOL32 SetBitmapDimensionEx32(HBITMAP32,INT32,INT32,LPSIZE32);
5786 #define SetBitmapDimensionEx WINELIB_NAME(SetBitmapDimensionEx)
5787 INT16 SetBkMode16(HDC16,INT16);
5788 INT32 SetBkMode32(HDC32,INT32);
5789 #define SetBkMode WINELIB_NAME(SetBkMode)
5790 HWND16 SetCapture16(HWND16);
5791 HWND32 SetCapture32(HWND32);
5792 #define SetCapture WINELIB_NAME(SetCapture)
5793 LONG SetClassLong16(HWND16,INT16,LONG);
5794 LONG SetClassLong32A(HWND32,INT32,LONG);
5795 LONG SetClassLong32W(HWND32,INT32,LONG);
5796 #define SetClassLong WINELIB_NAME_AW(SetClassLong)
5797 INT16 SetCommBreak16(INT16);
5798 BOOL32 SetCommBreak32(INT32);
5799 #define SetCommBreak WINELIB_NAME(SetCommBreak)
5800 INT16 SetCommState16(LPDCB16);
5801 BOOL32 SetCommState32(INT32,LPDCB32);
5802 #define SetCommState WINELIB_NAME(SetCommState)
5803 BOOL16 SetDeskWallPaper16(LPCSTR);
5804 BOOL32 SetDeskWallPaper32(LPCSTR);
5805 #define SetDeskWallPaper WINELIB_NAME(SetDeskWallPaper)
5806 INT16 SetDIBits16(HDC16,HBITMAP16,UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
5807 INT32 SetDIBits32(HDC32,HBITMAP32,UINT32,UINT32,LPCVOID,const BITMAPINFO*,UINT32);
5808 #define SetDIBits WINELIB_NAME(SetDIBits)
5809 INT16 SetDIBitsToDevice16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,
5810 UINT16,UINT16,LPCVOID,const BITMAPINFO*,UINT16);
5811 INT32 SetDIBitsToDevice32(HDC32,INT32,INT32,DWORD,DWORD,INT32,INT32,
5812 UINT32,UINT32,LPCVOID,const BITMAPINFO*,UINT32);
5813 #define SetDIBitsToDevice WINELIB_NAME(SetDIBitsToDevice)
5814 void SetDlgItemInt16(HWND16,INT16,UINT16,BOOL16);
5815 void SetDlgItemInt32(HWND32,INT32,UINT32,BOOL32);
5816 #define SetDlgItemInt WINELIB_NAME(SetDlgItemInt)
5817 void SetDlgItemText16(HWND16,INT16,SEGPTR);
5818 void SetDlgItemText32A(HWND32,INT32,LPCSTR);
5819 void SetDlgItemText32W(HWND32,INT32,LPCWSTR);
5820 #define SetDlgItemText WINELIB_NAME_AW(SetDlgItemText)
5821 BOOL32 SetEnvironmentVariable32A(LPCSTR,LPCSTR);
5822 BOOL32 SetEnvironmentVariable32W(LPCWSTR,LPCWSTR);
5823 #define SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
5824 BOOL16 SetFileAttributes16(LPCSTR,DWORD);
5825 BOOL32 SetFileAttributes32A(LPCSTR,DWORD);
5826 BOOL32 SetFileAttributes32W(LPCWSTR,DWORD);
5827 #define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
5828 HWND16 SetFocus16(HWND16);
5829 HWND32 SetFocus32(HWND32);
5830 #define SetFocus WINELIB_NAME(SetFocus)
5831 UINT16 SetHandleCount16(UINT16);
5832 UINT32 SetHandleCount32(UINT32);
5833 #define SetHandleCount WINELIB_NAME(SetHandleCount)
5834 void SetInternalWindowPos16(HWND16,UINT16,LPRECT16,LPPOINT16);
5835 void SetInternalWindowPos32(HWND32,UINT32,LPRECT32,LPPOINT32);
5836 #define SetInternalWindowPos WINELIB_NAME(SetInternalWindowPos)
5837 INT16 SetMapMode16(HDC16,INT16);
5838 INT32 SetMapMode32(HDC32,INT32);
5839 #define SetMapMode WINELIB_NAME(SetMapMode)
5840 COLORREF SetPixel16(HDC16,INT16,INT16,COLORREF);
5841 COLORREF SetPixel32(HDC32,INT32,INT32,COLORREF);
5842 #define SetPixel WINELIB_NAME(SetPixel)
5843 INT16 SetPolyFillMode16(HDC16,INT16);
5844 INT32 SetPolyFillMode32(HDC32,INT32);
5845 #define SetPolyFillMode WINELIB_NAME(SetPolyFillMode)
5846 BOOL16 SetProp16(HWND16,LPCSTR,HANDLE16);
5847 BOOL32 SetProp32A(HWND32,LPCSTR,HANDLE32);
5848 BOOL32 SetProp32W(HWND32,LPCWSTR,HANDLE32);
5849 #define SetProp WINELIB_NAME_AW(SetProp)
5850 void SetRect16(LPRECT16,INT16,INT16,INT16,INT16);
5851 void SetRect32(LPRECT32,INT32,INT32,INT32,INT32);
5852 #define SetRect WINELIB_NAME(SetRect)
5853 void SetRectEmpty16(LPRECT16);
5854 void SetRectEmpty32(LPRECT32);
5855 #define SetRectEmpty WINELIB_NAME(SetRectEmpty)
5856 INT16 SetRelAbs16(HDC16,INT16);
5857 INT32 SetRelAbs32(HDC32,INT32);
5858 #define SetRelAbs WINELIB_NAME(SetRelAbs)
5859 INT16 SetROP216(HDC16,INT16);
5860 INT32 SetROP232(HDC32,INT32);
5861 #define SetROP2 WINELIB_NAME(SetROP2)
5862 INT16 SetScrollInfo16(HWND16,INT16,const SCROLLINFO*,BOOL16);
5863 INT32 SetScrollInfo32(HWND32,INT32,const SCROLLINFO*,BOOL32);
5864 #define SetScrollInfo WINELIB_NAME(SetScrollInfo)
5865 INT16 SetScrollPos16(HWND16,INT16,INT16,BOOL16);
5866 INT32 SetScrollPos32(HWND32,INT32,INT32,BOOL32);
5867 #define SetScrollPos WINELIB_NAME(SetScrollPos)
5868 void SetScrollRange16(HWND16,INT16,INT16,INT16,BOOL16);
5869 BOOL32 SetScrollRange32(HWND32,INT32,INT32,INT32,BOOL32);
5870 #define SetScrollRange WINELIB_NAME(SetScrollRange)
5871 INT16 SetStretchBltMode16(HDC16,INT16);
5872 INT32 SetStretchBltMode32(HDC32,INT32);
5873 #define SetStretchBltMode WINELIB_NAME(SetStretchBltMode)
5874 HWND16 SetSysModalWindow16(HWND16);
5875 #define SetSysModalWindow32(hwnd) ((HWND32)0)
5876 #define SetSysModalWindow WINELIB_NAME(SetSysModalWindow)
5877 UINT16 SetSystemTimer16(HWND16,UINT16,UINT16,TIMERPROC16);
5878 UINT32 SetSystemTimer32(HWND32,UINT32,UINT32,TIMERPROC32);
5879 #define SetSystemTimer WINELIB_NAME(SetSystemTimer)
5880 UINT16 SetTextAlign16(HDC16,UINT16);
5881 UINT32 SetTextAlign32(HDC32,UINT32);
5882 #define SetTextAlign WINELIB_NAME(SetTextAlign)
5883 INT16 SetTextCharacterExtra16(HDC16,INT16);
5884 INT32 SetTextCharacterExtra32(HDC32,INT32);
5885 #define SetTextCharacterExtra WINELIB_NAME(SetTextCharacterExtra)
5886 INT16 SetTextJustification16(HDC16,INT16,INT16);
5887 BOOL32 SetTextJustification32(HDC32,INT32,INT32);
5888 #define SetTextJustification WINELIB_NAME(SetTextJustification)
5889 UINT16 SetTimer16(HWND16,UINT16,UINT16,TIMERPROC16);
5890 UINT32 SetTimer32(HWND32,UINT32,UINT32,TIMERPROC32);
5891 #define SetTimer WINELIB_NAME(SetTimer)
5892 BOOL16 SetViewportExtEx16(HDC16,INT16,INT16,LPSIZE16);
5893 BOOL32 SetViewportExtEx32(HDC32,INT32,INT32,LPSIZE32);
5894 #define SetViewportExtEx WINELIB_NAME(SetViewportExtEx)
5895 BOOL16 SetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
5896 BOOL32 SetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
5897 #define SetViewportOrgEx WINELIB_NAME(SetViewportOrgEx)
5898 BOOL16 SetWindowExtEx16(HDC16,INT16,INT16,LPSIZE16);
5899 BOOL32 SetWindowExtEx32(HDC32,INT32,INT32,LPSIZE32);
5900 #define SetWindowExtEx WINELIB_NAME(SetWindowExtEx)
5901 LONG SetWindowLong16(HWND16,INT16,LONG);
5902 LONG SetWindowLong32A(HWND32,INT32,LONG);
5903 LONG SetWindowLong32W(HWND32,INT32,LONG);
5904 #define SetWindowLong WINELIB_NAME_AW(SetWindowLong)
5905 BOOL16 SetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
5906 BOOL32 SetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
5907 #define SetWindowOrgEx WINELIB_NAME(SetWindowOrgEx)
5908 BOOL16 SetWindowPlacement16(HWND16,const WINDOWPLACEMENT16*);
5909 BOOL32 SetWindowPlacement32(HWND32,const WINDOWPLACEMENT32*);
5910 #define SetWindowPlacement WINELIB_NAME(SetWindowPlacement)
5911 FARPROC16 SetWindowsHook16(INT16,HOOKPROC16);
5912 HHOOK SetWindowsHook32A(INT32,HOOKPROC32);
5913 HHOOK SetWindowsHook32W(INT32,HOOKPROC32);
5914 #define SetWindowsHook WINELIB_NAME_AW(SetWindowsHook)
5915 HHOOK SetWindowsHookEx16(INT16,HOOKPROC16,HINSTANCE16,HTASK16);
5916 HHOOK SetWindowsHookEx32A(INT32,HOOKPROC32,HINSTANCE32,DWORD);
5917 HHOOK SetWindowsHookEx32W(INT32,HOOKPROC32,HINSTANCE32,DWORD);
5918 #define SetWindowsHookEx WINELIB_NAME_AW(SetWindowsHookEx)
5919 void SetWindowText16(HWND16,SEGPTR);
5920 void SetWindowText32A(HWND32,LPCSTR);
5921 void SetWindowText32W(HWND32,LPCWSTR);
5922 #define SetWindowText WINELIB_NAME_AW(SetWindowText)
5923 BOOL16 ShellAbout16(HWND16,LPCSTR,LPCSTR,HICON16);
5924 BOOL32 ShellAbout32A(HWND32,LPCSTR,LPCSTR,HICON32);
5925 BOOL32 ShellAbout32W(HWND32,LPCWSTR,LPCWSTR,HICON32);
5926 #define ShellAbout WINELIB_NAME_AW(ShellAbout)
5927 void ShowScrollBar16(HWND16,INT16,BOOL16);
5928 BOOL32 ShowScrollBar32(HWND32,INT32,BOOL32);
5929 #define ShowScrollBar WINELIB_NAME(ShowScrollBar)
5930 BOOL16 StretchBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,
5931 INT16,INT16,DWORD);
5932 BOOL32 StretchBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,INT32,
5933 INT32,INT32,DWORD);
5934 #define StretchBlt WINELIB_NAME(StretchBlt)
5935 INT16 StretchDIBits16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,
5936 INT16,const VOID*,const BITMAPINFO*,UINT16,DWORD);
5937 INT32 StretchDIBits32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,
5938 INT32,const VOID*,const BITMAPINFO*,UINT32,DWORD);
5939 #define StretchDIBits WINELIB_NAME(StretchDIBits)
5940 BOOL16 SubtractRect16(LPRECT16,const RECT16*,const RECT16*);
5941 BOOL32 SubtractRect32(LPRECT32,const RECT32*,const RECT32*);
5942 #define SubtractRect WINELIB_NAME(SubtractRect)
5943 BOOL16 SystemParametersInfo16(UINT16,UINT16,LPVOID,UINT16);
5944 BOOL32 SystemParametersInfo32A(UINT32,UINT32,LPVOID,UINT32);
5945 BOOL32 SystemParametersInfo32W(UINT32,UINT32,LPVOID,UINT32);
5946 #define SystemParametersInfo WINELIB_NAME_AW(SystemParametersInfo)
5947 BOOL16 TextOut16(HDC16,INT16,INT16,LPCSTR,INT16);
5948 BOOL32 TextOut32A(HDC32,INT32,INT32,LPCSTR,INT32);
5949 BOOL32 TextOut32W(HDC32,INT32,INT32,LPCWSTR,INT32);
5950 #define TextOut WINELIB_NAME_AW(TextOut)
5951 BOOL16 TrackPopupMenu16(HMENU16,UINT16,INT16,INT16,INT16,HWND16,const RECT16*);
5952 BOOL32 TrackPopupMenu32(HMENU32,UINT32,INT32,INT32,INT32,HWND32,const RECT32*);
5953 #define TrackPopupMenu WINELIB_NAME(TrackPopupMenu)
5954 INT16 TransmitCommChar16(INT16,CHAR);
5955 BOOL32 TransmitCommChar32(INT32,CHAR);
5956 #define TransmitCommChar WINELIB_NAME(TransmitCommChar)
5957 BOOL16 UnhookWindowsHook16(INT16,HOOKPROC16);
5958 BOOL32 UnhookWindowsHook32(INT32,HOOKPROC32);
5959 #define UnhookWindowsHook WINELIB_NAME(UnhookWindowsHook)
5960 BOOL16 UnhookWindowsHookEx16(HHOOK);
5961 BOOL32 UnhookWindowsHookEx32(HHOOK);
5962 #define UnhookWindowsHookEx WINELIB_NAME(UnhookWindowsHookEx)
5963 BOOL16 UnionRect16(LPRECT16,const RECT16*,const RECT16*);
5964 BOOL32 UnionRect32(LPRECT32,const RECT32*,const RECT32*);
5965 #define UnionRect WINELIB_NAME(UnionRect)
5966 void UnlockSegment16(HGLOBAL16);
5967 #define UnlockSegment32(handle) GlobalUnfix((HANDLE32)(handle))
5968 #define UnlockSegment WINELIB_NAME(UnlockSegment)
5969 BOOL16 UnrealizeObject16(HGDIOBJ16);
5970 BOOL32 UnrealizeObject32(HGDIOBJ32);
5971 #define UnrealizeObject WINELIB_NAME(UnrealizeObject)
5972 BOOL16 UnregisterClass16(SEGPTR,HINSTANCE16);
5973 BOOL32 UnregisterClass32A(LPCSTR,HINSTANCE32);
5974 BOOL32 UnregisterClass32W(LPCWSTR,HINSTANCE32);
5975 #define UnregisterClass WINELIB_NAME_AW(UnregisterClass)
5976 void ValidateRect16(HWND16,const RECT16*);
5977 void ValidateRect32(HWND32,const RECT32*);
5978 #define ValidateRect WINELIB_NAME(ValidateRect)
5979 VOID ValidateRgn16(HWND16,HRGN16);
5980 VOID ValidateRgn32(HWND32,HRGN32);
5981 #define ValidateRgn WINELIB_NAME(ValidateRgn)
5982 DWORD VerFindFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*,LPSTR,UINT16*);
5983 DWORD VerFindFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*,LPSTR,UINT32*);
5984 DWORD VerFindFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*,LPWSTR,UINT32*);
5985 #define VerFindFile WINELIB_NAME_AW(VerFindFile)
5986 DWORD VerInstallFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*);
5987 DWORD VerInstallFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*);
5988 DWORD VerInstallFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*);
5989 #define VerInstallFile WINELIB_NAME_AW(VerInstallFile)
5990 DWORD VerLanguageName16(UINT16,LPSTR,UINT16);
5991 DWORD VerLanguageName32A(UINT32,LPSTR,UINT32);
5992 DWORD VerLanguageName32W(UINT32,LPWSTR,UINT32);
5993 #define VerLanguageName WINELIB_NAME_AW(VerLanguageName)
5994 DWORD VerQueryValue16(SEGPTR,LPCSTR,SEGPTR*,UINT16*);
5995 DWORD VerQueryValue32A(LPVOID,LPCSTR,LPVOID*,UINT32*);
5996 DWORD VerQueryValue32W(LPVOID,LPCWSTR,LPVOID*,UINT32*);
5997 #define VerQueryValue WINELIB_NAME_AW(VerQueryValue)
5998 HWND16 WindowFromDC16(HDC16);
5999 HWND32 WindowFromDC32(HDC32);
6000 #define WindowFromDC WINELIB_NAME(WindowFromDC)
6001 HWND16 WindowFromPoint16(POINT16);
6002 HWND32 WindowFromPoint32(POINT32);
6003 #define WindowFromPoint WINELIB_NAME(WindowFromPoint)
6004 BOOL16 WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
6005 BOOL32 WritePrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
6006 BOOL32 WritePrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
6007 #define WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
6008 BOOL16 WriteProfileString16(LPCSTR,LPCSTR,LPCSTR);
6009 BOOL32 WriteProfileString32A(LPCSTR,LPCSTR,LPCSTR);
6010 BOOL32 WriteProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR);
6011 #define WriteProfileString WINELIB_NAME_AW(WriteProfileString)
6012 SEGPTR lstrcat16(SEGPTR,SEGPTR);
6013 LPSTR lstrcat32A(LPSTR,LPCSTR);
6014 LPWSTR lstrcat32W(LPWSTR,LPCWSTR);
6015 #define lstrcat WINELIB_NAME_AW(lstrcat)
6016 SEGPTR lstrcatn16(SEGPTR,SEGPTR,INT16);
6017 LPSTR lstrcatn32A(LPSTR,LPCSTR,INT32);
6018 LPWSTR lstrcatn32W(LPWSTR,LPCWSTR,INT32);
6019 #define lstrcatn WINELIB_NAME_AW(lstrcatn)
6020 INT16 lstrcmp16(LPCSTR,LPCSTR);
6021 INT32 lstrcmp32A(LPCSTR,LPCSTR);
6022 INT32 lstrcmp32W(LPCWSTR,LPCWSTR);
6023 #define lstrcmp WINELIB_NAME_AW(lstrcmp)
6024 INT16 lstrcmpi16(LPCSTR,LPCSTR);
6025 INT32 lstrcmpi32A(LPCSTR,LPCSTR);
6026 INT32 lstrcmpi32W(LPCWSTR,LPCWSTR);
6027 #define lstrcmpi WINELIB_NAME_AW(lstrcmpi)
6028 SEGPTR lstrcpy16(SEGPTR,SEGPTR);
6029 LPSTR lstrcpy32A(LPSTR,LPCSTR);
6030 LPWSTR lstrcpy32W(LPWSTR,LPCWSTR);
6031 #define lstrcpy WINELIB_NAME_AW(lstrcpy)
6032 SEGPTR lstrcpyn16(SEGPTR,SEGPTR,INT16);
6033 LPSTR lstrcpyn32A(LPSTR,LPCSTR,INT32);
6034 LPWSTR lstrcpyn32W(LPWSTR,LPCWSTR,INT32);
6035 #define lstrcpyn WINELIB_NAME_AW(lstrcpyn)
6036 INT16 lstrlen16(LPCSTR);
6037 INT32 lstrlen32A(LPCSTR);
6038 INT32 lstrlen32W(LPCWSTR);
6039 #define lstrlen WINELIB_NAME_AW(lstrlen)
6040 HINSTANCE16 WinExec16(LPCSTR,UINT16);
6041 HINSTANCE32 WinExec32(LPCSTR,UINT32);
6042 #define WinExec WINELIB_NAME(WinExec)
6043 BOOL16 WinHelp16(HWND16,LPCSTR,UINT16,DWORD);
6044 BOOL32 WinHelp32A(HWND32,LPCSTR,UINT32,DWORD);
6045 BOOL32 WinHelp32W(HWND32,LPCWSTR,UINT32,DWORD);
6046 #define WinHelp WINELIB_NAME_AW(WinHelp)
6047 INT16 wsnprintf16(LPSTR,UINT16,LPCSTR,...);
6048 INT32 wsnprintf32A(LPSTR,UINT32,LPCSTR,...);
6049 INT32 wsnprintf32W(LPWSTR,UINT32,LPCWSTR,...);
6050 #define wsnprintf WINELIB_NAME_AW(wsnprintf)
6051 INT16 wsprintf16(LPSTR,LPCSTR,...);
6052 INT32 wsprintf32A(LPSTR,LPCSTR,...);
6053 INT32 wsprintf32W(LPWSTR,LPCWSTR,...);
6054 #define wsprintf WINELIB_NAME_AW(wsprintf)
6055 INT16 wvsnprintf16(LPSTR,UINT16,LPCSTR,LPCVOID);
6056 INT32 wvsnprintf32A(LPSTR,UINT32,LPCSTR,LPCVOID);
6057 INT32 wvsnprintf32W(LPWSTR,UINT32,LPCWSTR,LPCVOID);
6058 #define wvsnprintf WINELIB_NAME_AW(wvsnprintf)
6059 INT16 wvsprintf16(LPSTR,LPCSTR,LPCVOID);
6060 INT32 wvsprintf32A(LPSTR,LPCSTR,LPCVOID);
6061 INT32 wvsprintf32W(LPWSTR,LPCWSTR,LPCVOID);
6062 #define wvsprintf WINELIB_NAME_AW(wvsprintf)
6063 LONG _hread16(HFILE16,LPVOID,LONG);
6064 LONG _hread32(HFILE32,LPVOID,LONG);
6065 #define _hread WINELIB_NAME(_hread)
6066 LONG _hwrite16(HFILE16,LPCSTR,LONG);
6067 LONG _hwrite32(HFILE32,LPCSTR,LONG);
6068 #define _hwrite WINELIB_NAME(_hwrite)
6069 HFILE16 _lcreat16(LPCSTR,INT16);
6070 HFILE32 _lcreat32(LPCSTR,INT32);
6071 #define _lcreat WINELIB_NAME(_lcreat)
6072 HFILE16 _lclose16(HFILE16);
6073 HFILE32 _lclose32(HFILE32);
6074 #define _lclose WINELIB_NAME(_lclose)
6075 LONG _llseek16(HFILE16,LONG,INT16);
6076 LONG _llseek32(HFILE32,LONG,INT32);
6077 #define _llseek WINELIB_NAME(_llseek)
6078 HFILE16 _lopen16(LPCSTR,INT16);
6079 HFILE32 _lopen32(LPCSTR,INT32);
6080 #define _lopen WINELIB_NAME(_lopen)
6081 UINT16 _lread16(HFILE16,LPVOID,UINT16);
6082 UINT32 _lread32(HFILE32,LPVOID,UINT32);
6083 #define _lread WINELIB_NAME(_lread)
6084 UINT16 _lwrite16(HFILE16,LPCSTR,UINT16);
6085 UINT32 _lwrite32(HFILE32,LPCSTR,UINT32);
6086 #define _lwrite WINELIB_NAME(_lwrite)
6088 /* Extra functions that don't exist in the Windows API */
6090 INT32 LoadMessage32A(HINSTANCE32,UINT32,WORD,LPSTR,INT32);
6091 INT32 LoadMessage32W(HINSTANCE32,UINT32,WORD,LPWSTR,INT32);
6092 SEGPTR WIN16_GlobalLock16(HGLOBAL16);
6093 INT32 lstrncmp32A(LPCSTR,LPCSTR,INT32);
6094 INT32 lstrncmp32W(LPCWSTR,LPCWSTR,INT32);
6095 INT32 lstrncmpi32A(LPCSTR,LPCSTR,INT32);
6096 INT32 lstrncmpi32W(LPCWSTR,LPCWSTR,INT32);
6097 LPWSTR lstrcpyAtoW(LPWSTR,LPCSTR);
6098 LPSTR lstrcpyWtoA(LPSTR,LPCWSTR);
6099 LPWSTR lstrcpynAtoW(LPWSTR,LPCSTR,INT32);
6100 LPSTR lstrcpynWtoA(LPSTR,LPCWSTR,INT32);
6102 /* Library data types defined as a transition aid for the emulator. */
6103 /* These should _not_ be used in the emulator and will be removed someday. */
6105 #ifndef NO_TRANSITION_TYPES
6107 #ifdef __WINE__
6108 # ifdef WINELIB32
6109 typedef INT32 INT;
6110 typedef UINT32 UINT;
6111 typedef BOOL32 BOOL;
6112 typedef HANDLE32 HWND;
6113 # else /* WINELIB32 */
6114 typedef INT16 INT;
6115 typedef UINT16 UINT;
6116 typedef BOOL16 BOOL;
6117 typedef HANDLE16 HWND;
6118 # endif /* WINELIB32 */
6119 #endif /* __WINE__ */
6121 /* Callback function pointers types. */
6123 #ifdef WINELIB
6124 typedef LONG (*DRIVERPROC)(DWORD, HDRVR16, UINT, LPARAM, LPARAM);
6125 typedef int (*EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent, int cch,int code);
6126 #else
6127 typedef SEGPTR DRIVERPROC;
6128 typedef SEGPTR EDITWORDBREAKPROC;
6129 #endif
6131 ATOM AddAtom(SEGPTR);
6132 INT AddFontResource(LPCSTR);
6133 BOOL AnimatePalette(HPALETTE16,UINT,UINT,LPPALETTEENTRY);
6134 UINT AnsiLowerBuff(LPSTR,UINT);
6135 SEGPTR AnsiNext(SEGPTR);
6136 SEGPTR AnsiPrev(SEGPTR,SEGPTR);
6137 UINT AnsiUpperBuff(LPSTR,UINT);
6138 BOOL AnyPopup(void);
6139 UINT ArrangeIconicWindows(HWND);
6140 HDWP16 BeginDeferWindowPos(INT);
6141 BOOL BringWindowToTop(HWND);
6142 void CalcChildScroll(HWND,WORD);
6143 BOOL CallMsgFilter(SEGPTR,INT);
6144 BOOL ChangeClipboardChain(HWND,HWND);
6145 INT CheckMenuItem(HMENU16,UINT,UINT);
6146 BOOL CloseClipboard(void);
6147 void CloseSound(void);
6148 BOOL CloseWindow(HWND);
6149 int ConvertRequest(HWND,LPKANJISTRUCT);
6150 HMETAFILE16 CopyMetaFile(HMETAFILE16,LPCSTR);
6151 INT CountClipboardFormats(void);
6152 INT CountVoiceNotes(INT);
6153 HCURSOR16 CreateCursor(HINSTANCE16,INT,INT,INT,INT,const BYTE*,const BYTE*);
6154 HGLOBAL16 CreateCursorIconIndirect(HINSTANCE16,CURSORICONINFO*,const BYTE*,const BYTE*);
6155 HICON16 CreateIcon(HINSTANCE16,INT,INT,BYTE,BYTE,const BYTE*,const BYTE*);
6156 HMENU16 CreateMenu(void);
6157 HPALETTE16 CreatePalette(const LOGPALETTE*);
6158 HMENU16 CreatePopupMenu(void);
6159 HDWP16 DeferWindowPos(HDWP16,HWND,HWND,INT,INT,INT,INT,UINT);
6160 ATOM DeleteAtom(ATOM);
6161 BOOL DeleteMenu(HMENU16,UINT,UINT);
6162 BOOL DestroyCursor(HCURSOR16);
6163 BOOL DestroyIcon(HICON16);
6164 BOOL DestroyMenu(HMENU16);
6165 BOOL DestroyWindow(HWND);
6166 LONG DispatchMessage(const MSG16*);
6167 BOOL16 DragDetect(HWND16,POINT16);
6168 DWORD DragObject(HWND, HWND, WORD, HANDLE16, WORD, HCURSOR16);
6169 BOOL DrawIcon(HDC16,INT,INT,HICON16);
6170 void DrawMenuBar(HWND);
6171 DWORD DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
6172 BOOL EmptyClipboard(void);
6173 BOOL EnableMenuItem(HMENU16,UINT,UINT);
6174 BOOL EnableWindow(HWND,BOOL);
6175 BOOL EndDeferWindowPos(HDWP16);
6176 UINT16 EnumClipboardFormats(UINT16);
6177 BOOL EnumMetaFile(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
6178 INT Escape(HDC16,INT,INT,SEGPTR,SEGPTR);
6179 HICON16 ExtractIcon(HINSTANCE16,LPCSTR,WORD);
6180 void FatalExit(int);
6181 ATOM FindAtom(SEGPTR);
6182 HINSTANCE16 FindExecutable(LPCSTR,LPCSTR,LPSTR);
6183 BOOL FlashWindow(HWND,BOOL);
6184 void FreeLibrary(HINSTANCE16);
6185 UINT GDIRealizePalette(HDC16);
6186 HPALETTE16 GDISelectPalette(HDC16,HPALETTE16,WORD);
6187 HWND GetActiveWindow(void);
6188 DWORD GetAspectRatioFilter(HDC16);
6189 int GetAsyncKeyState(int);
6190 WORD GetAtomName(ATOM,LPSTR,short);
6191 HANDLE16 GetClipboardData(WORD);
6192 int GetClipboardFormatName(WORD,LPSTR,short);
6193 HWND GetClipboardOwner(void);
6194 HWND GetClipboardViewer(void);
6195 HBRUSH16 GetControlBrush(HWND,HDC16,WORD);
6196 DWORD GetCurrentTime(void);
6197 HCURSOR16 GetCursor(void);
6198 SEGPTR GetDOSEnvironment(void);
6199 int GetDeviceCaps(HDC16,WORD);
6200 DWORD GetDialogBaseUnits(void);
6201 HWND GetDlgItem(HWND,WORD);
6202 WORD GetDlgItemInt(HWND,WORD,BOOL*,BOOL);
6203 WORD GetDoubleClickTime(void);
6204 int GetEnvironment(LPSTR,LPSTR,WORD);
6205 DWORD GetFreeSpace(UINT16);
6206 DWORD GetHeapSpaces(HMODULE16);
6207 BOOL GetInputState(void);
6208 int GetKBCodePage(void);
6209 int GetKerningPairs(HDC16,int,LPKERNINGPAIR16);
6210 INT GetKeyState(INT);
6211 void GetKeyboardState(BYTE*);
6212 int GetKeyboardType(int);
6213 HWND GetLastActivePopup(HWND);
6214 HMENU16 GetMenu(HWND);
6215 DWORD GetMenuCheckMarkDimensions(void);
6216 INT GetMenuItemCount(HMENU16);
6217 UINT GetMenuItemID(HMENU16,int);
6218 UINT GetMenuState(HMENU16,UINT,UINT);
6219 int GetMenuString(HMENU16,UINT,LPSTR,short,UINT);
6220 BOOL GetMessage(SEGPTR,HWND,UINT,UINT);
6221 LONG GetMessageExtraInfo(void);
6222 DWORD GetMessagePos(void);
6223 LONG GetMessageTime(void);
6224 HMETAFILE16 GetMetaFile(LPSTR);
6225 HGLOBAL16 GetMetaFileBits(HMETAFILE16);
6226 HMODULE16 GetModuleHandle(LPCSTR);
6227 INT16 GetModuleUsage(HINSTANCE16);
6228 DWORD GetNearestColor(HDC16,DWORD);
6229 WORD GetNearestPaletteIndex(HPALETTE16,DWORD);
6230 HWND GetNextWindow(HWND,WORD);
6231 HWND GetOpenClipboardWindow(void);
6232 WORD GetPaletteEntries(HPALETTE16,WORD,WORD,LPPALETTEENTRY);
6233 int GetPriorityClipboardFormat(WORD*,short);
6234 DWORD GetQueueStatus(UINT);
6235 BOOL GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
6236 HMENU16 GetSubMenu(HMENU16,short);
6237 HMENU16 GetSystemMenu(HWND,BOOL);
6238 int GetSystemMetrics(WORD);
6239 WORD GetSystemPaletteEntries(HDC16,WORD,WORD,LPPALETTEENTRY);
6240 WORD GetSystemPaletteUse(HDC16);
6241 DWORD GetTabbedTextExtent(HDC16,LPSTR,int,int,LPINT16);
6242 BYTE GetTempDrive(BYTE);
6243 LPINT16 GetThresholdEvent(void);
6244 int GetThresholdStatus(void);
6245 HWND GetTopWindow(HWND);
6246 BOOL GetWinDebugInfo(LPWINDEBUGINFO,UINT);
6247 LONG GetWinFlags(void);
6248 HWND GetWindow(HWND,WORD);
6249 ATOM GlobalDeleteAtom(ATOM);
6250 void GlobalFix(HGLOBAL16);
6251 BOOL16 GlobalUnWire(HGLOBAL16);
6252 void GlobalUnfix(HGLOBAL16);
6253 SEGPTR GlobalWire(HGLOBAL16);
6254 BOOL GrayString(HDC16,HBRUSH16,GRAYSTRINGPROC16,LPARAM,INT,INT,INT,INT,INT);
6255 BOOL HiliteMenuItem(HWND,HMENU16,UINT,UINT);
6256 BOOL InSendMessage(void);
6257 WORD InitAtomTable(WORD);
6258 BOOL IsChild(HWND,HWND);
6259 BOOL IsClipboardFormatAvailable(WORD);
6260 BOOL IsDialogMessage(HWND,LPMSG16);
6261 WORD IsDlgButtonChecked(HWND,WORD);
6262 BOOL IsIconic(HWND);
6263 BOOL IsMenu(HMENU16);
6264 BOOL IsValidMetaFile(HMETAFILE16);
6265 BOOL IsWindowEnabled(HWND);
6266 BOOL IsWindowVisible(HWND);
6267 BOOL IsZoomed(HWND);
6268 HINSTANCE16 LoadModule(LPCSTR,LPVOID);
6269 FARPROC16 LocalNotify(FARPROC16);
6270 HMENU16 LookupMenuHandle(HMENU16,INT);
6271 WORD MapVirtualKey(WORD,WORD);
6272 void MessageBeep(WORD);
6273 BOOL MoveWindow(HWND,short,short,short,short,BOOL);
6274 DWORD OemKeyScan(WORD);
6275 BOOL OpenClipboard(HWND);
6276 BOOL OpenIcon(HWND);
6277 int OpenSound(void);
6278 void OutputDebugString(LPCSTR);
6279 BOOL PlayMetaFile(HDC16,HMETAFILE16);
6280 void PlayMetaFileRecord(HDC16,LPHANDLETABLE16,LPMETARECORD,WORD);
6281 BOOL PostMessage(HWND,WORD,WORD,LONG);
6282 void PostQuitMessage(INT);
6283 void ProfClear(void);
6284 void ProfFinish(void);
6285 void ProfFlush(void);
6286 int ProfInsChk(void);
6287 void ProfSampRate(int,int);
6288 void ProfSetup(int,int);
6289 void ProfStart(void);
6290 void ProfStop(void);
6291 WORD RealizeDefaultPalette(HDC16);
6292 BOOL RemoveFontResource(LPSTR);
6293 BOOL RemoveMenu(HMENU16,UINT,UINT);
6294 void ReplyMessage(LRESULT);
6295 BOOL ResizePalette(HPALETTE16,UINT);
6296 void ScrollChildren(HWND,UINT,WPARAM16,LPARAM);
6297 HPALETTE16 SelectPalette(HDC16,HPALETTE16,BOOL);
6298 HWND SetActiveWindow(HWND);
6299 HANDLE16 SetClipboardData(WORD,HANDLE16);
6300 HWND SetClipboardViewer(HWND);
6301 void SetConvertHook(BOOL);
6302 BOOL SetConvertParams(int,int);
6303 BOOL32 SetCurrentDirectory(LPCSTR);
6304 HCURSOR16 SetCursor(HCURSOR16);
6305 void SetCursorPos(short,short);
6306 void SetDoubleClickTime(WORD);
6307 int SetEnvironment(LPCSTR,LPCSTR,WORD);
6308 UINT SetErrorMode(UINT);
6309 WORD SetHookFlags(HDC16,WORD);
6310 void SetKeyboardState(BYTE*);
6311 DWORD SetMapperFlags(HDC16,DWORD);
6312 BOOL SetMenu(HWND,HMENU16);
6313 BOOL SetMenuItemBitmaps(HMENU16,UINT,UINT,HBITMAP16,HBITMAP16);
6314 BOOL SetMessageQueue(int);
6315 HMETAFILE16 SetMetaFileBits(HGLOBAL16);
6316 WORD SetPaletteEntries(HPALETTE16,WORD,WORD,LPPALETTEENTRY);
6317 HWND SetParent(HWND,HWND);
6318 FARPROC16 SetResourceHandler(HINSTANCE16,LPSTR,FARPROC16);
6319 int SetSoundNoise(int,int);
6320 void SetSysColors(int,LPINT16,COLORREF*);
6321 WORD SetSystemPaletteUse(HDC16,WORD);
6322 int SetVoiceAccent(int,int,int,int,int);
6323 int SetVoiceEnvelope(int,int,int);
6324 int SetVoiceNote(int,int,int,int);
6325 int SetVoiceQueueSize(int,int);
6326 int SetVoiceSound(int,LONG,int);
6327 int SetVoiceThreshold(int,int);
6328 BOOL SetWinDebugInfo(LPWINDEBUGINFO);
6329 BOOL SetWindowPos(HWND,HWND,INT,INT,INT,INT,WORD);
6330 HINSTANCE16 ShellExecute(HWND,LPCSTR,LPCSTR,LPSTR,LPCSTR,INT);
6331 int ShowCursor(BOOL);
6332 void ShowOwnedPopups(HWND,BOOL);
6333 BOOL ShowWindow(HWND,int);
6334 DWORD SizeofResource(HMODULE16,HRSRC16);
6335 int StartSound(void);
6336 int StopSound(void);
6337 BOOL SwapMouseButton(BOOL);
6338 void SwapRecording(WORD);
6339 int SyncAllVoices(void);
6340 LONG TabbedTextOut(HDC16,short,short,LPSTR,short,short,LPINT16,short);
6341 int ToAscii(WORD,WORD,LPSTR,LPVOID,WORD);
6342 INT16 TranslateAccelerator(HWND,HACCEL16,LPMSG16);
6343 BOOL TranslateMDISysAccel(HWND,LPMSG16);
6344 BOOL TranslateMessage(LPMSG16);
6345 int UpdateColors(HDC16);
6346 WORD VkKeyScan(WORD);
6347 SEGPTR WIN16_LockResource(HGLOBAL16);
6348 void WaitMessage(void);
6349 int WaitSoundState(int);
6351 #endif /* NO_TRANSITION_TYPES */
6353 #define WINELIB_UNIMP(x) fprintf (stderr, "WineLib: Unimplemented %s\n", x)
6355 #ifdef __cplusplus
6357 #endif
6359 #endif /* __WINE_WINDOWS_H */