Check for NULL in lstrcpy* (Windows uses real exception handlers).
[wine.git] / include / windows.h
blobb7ac2b42c2545149ff3332724ddd645b666f84f1
1 #ifndef __WINE_WINDOWS_H
2 #define __WINE_WINDOWS_H
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
8 #ifndef RC_INVOKED
9 #include <stdarg.h>
10 #endif
12 #include "wintypes.h"
13 #include "winbase.h"
15 /* FIXME: Maybe MAX_PATH and _MAX_PATH should be computed from the Unix headers instead
16 * and by the way, _MAX_PATH should be defined in stdlib.h and MAX_PATH in windef.h
17 * and mapiwin.h
19 #define _MAX_PATH 260
20 #ifndef MAX_PATH
21 #define MAX_PATH 260
22 #endif
24 #ifndef DONT_INCLUDE_WINGDI
25 #include "winbase.h"
26 #include "wingdi.h"
27 #include "winuser.h"
28 #endif /* DONT_INCLUDE_WINGDI */
30 #pragma pack(1)
32 typedef struct tagCOORD {
33 INT16 x;
34 INT16 y;
35 } COORD, *LPCOORD;
38 /* Windows */
40 typedef struct
42 LPVOID lpCreateParams;
43 HINSTANCE16 hInstance;
44 HMENU16 hMenu;
45 HWND16 hwndParent;
46 INT16 cy;
47 INT16 cx;
48 INT16 y;
49 INT16 x;
50 LONG style WINE_PACKED;
51 SEGPTR lpszName WINE_PACKED;
52 SEGPTR lpszClass WINE_PACKED;
53 DWORD dwExStyle WINE_PACKED;
54 } CREATESTRUCT16, *LPCREATESTRUCT16;
56 typedef struct
58 LPVOID lpCreateParams;
59 HINSTANCE32 hInstance;
60 HMENU32 hMenu;
61 HWND32 hwndParent;
62 INT32 cy;
63 INT32 cx;
64 INT32 y;
65 INT32 x;
66 LONG style;
67 LPCSTR lpszName;
68 LPCSTR lpszClass;
69 DWORD dwExStyle;
70 } CREATESTRUCT32A, *LPCREATESTRUCT32A;
72 typedef struct
74 LPVOID lpCreateParams;
75 HINSTANCE32 hInstance;
76 HMENU32 hMenu;
77 HWND32 hwndParent;
78 INT32 cy;
79 INT32 cx;
80 INT32 y;
81 INT32 x;
82 LONG style;
83 LPCWSTR lpszName;
84 LPCWSTR lpszClass;
85 DWORD dwExStyle;
86 } CREATESTRUCT32W, *LPCREATESTRUCT32W;
88 DECL_WINELIB_TYPE_AW(CREATESTRUCT)
89 DECL_WINELIB_TYPE_AW(LPCREATESTRUCT)
91 typedef struct
93 HMENU16 hWindowMenu;
94 UINT16 idFirstChild;
95 } CLIENTCREATESTRUCT16, *LPCLIENTCREATESTRUCT16;
97 typedef struct
99 HMENU32 hWindowMenu;
100 UINT32 idFirstChild;
101 } CLIENTCREATESTRUCT32, *LPCLIENTCREATESTRUCT32;
103 DECL_WINELIB_TYPE(CLIENTCREATESTRUCT)
104 DECL_WINELIB_TYPE(LPCLIENTCREATESTRUCT)
106 typedef struct
108 SEGPTR szClass;
109 SEGPTR szTitle;
110 HINSTANCE16 hOwner;
111 INT16 x;
112 INT16 y;
113 INT16 cx;
114 INT16 cy;
115 DWORD style WINE_PACKED;
116 LPARAM lParam WINE_PACKED;
117 } MDICREATESTRUCT16, *LPMDICREATESTRUCT16;
119 typedef struct
121 LPCSTR szClass;
122 LPCSTR szTitle;
123 HINSTANCE32 hOwner;
124 INT32 x;
125 INT32 y;
126 INT32 cx;
127 INT32 cy;
128 DWORD style;
129 LPARAM lParam;
130 } MDICREATESTRUCT32A, *LPMDICREATESTRUCT32A;
132 typedef struct
134 LPCWSTR szClass;
135 LPCWSTR szTitle;
136 HINSTANCE32 hOwner;
137 INT32 x;
138 INT32 y;
139 INT32 cx;
140 INT32 cy;
141 DWORD style;
142 LPARAM lParam;
143 } MDICREATESTRUCT32W, *LPMDICREATESTRUCT32W;
145 DECL_WINELIB_TYPE_AW(MDICREATESTRUCT)
146 DECL_WINELIB_TYPE_AW(LPMDICREATESTRUCT)
148 #define MDITILE_VERTICAL 0x0000
149 #define MDITILE_HORIZONTAL 0x0001
150 #define MDITILE_SKIPDISABLED 0x0002
152 #define MDIS_ALLCHILDSTYLES 0x0001
154 typedef struct {
155 DWORD styleOld;
156 DWORD styleNew;
157 } STYLESTRUCT, *LPSTYLESTRUCT;
159 /* Offsets for GetWindowLong() and GetWindowWord() */
160 #define GWL_USERDATA (-21)
161 #define GWL_EXSTYLE (-20)
162 #define GWL_STYLE (-16)
163 #define GWW_ID (-12)
164 #define GWL_ID GWW_ID
165 #define GWW_HWNDPARENT (-8)
166 #define GWL_HWNDPARENT GWW_HWNDPARENT
167 #define GWW_HINSTANCE (-6)
168 #define GWL_HINSTANCE GWW_HINSTANCE
169 #define GWL_WNDPROC (-4)
170 #define DWL_MSGRESULT 0
171 #define DWL_DLGPROC 4
172 #define DWL_USER 8
174 /* GetWindow() constants */
175 #define GW_HWNDFIRST 0
176 #define GW_HWNDLAST 1
177 #define GW_HWNDNEXT 2
178 #define GW_HWNDPREV 3
179 #define GW_OWNER 4
180 #define GW_CHILD 5
182 /* WM_GETMINMAXINFO struct */
183 typedef struct
185 POINT16 ptReserved;
186 POINT16 ptMaxSize;
187 POINT16 ptMaxPosition;
188 POINT16 ptMinTrackSize;
189 POINT16 ptMaxTrackSize;
190 } MINMAXINFO16;
192 typedef struct
194 POINT32 ptReserved;
195 POINT32 ptMaxSize;
196 POINT32 ptMaxPosition;
197 POINT32 ptMinTrackSize;
198 POINT32 ptMaxTrackSize;
199 } MINMAXINFO32;
201 DECL_WINELIB_TYPE(MINMAXINFO)
203 /* RedrawWindow() flags */
204 #define RDW_INVALIDATE 0x0001
205 #define RDW_INTERNALPAINT 0x0002
206 #define RDW_ERASE 0x0004
207 #define RDW_VALIDATE 0x0008
208 #define RDW_NOINTERNALPAINT 0x0010
209 #define RDW_NOERASE 0x0020
210 #define RDW_NOCHILDREN 0x0040
211 #define RDW_ALLCHILDREN 0x0080
212 #define RDW_UPDATENOW 0x0100
213 #define RDW_ERASENOW 0x0200
214 #define RDW_FRAME 0x0400
215 #define RDW_NOFRAME 0x0800
217 /* debug flags */
218 #define DBGFILL_ALLOC 0xfd
219 #define DBGFILL_FREE 0xfb
220 #define DBGFILL_BUFFER 0xf9
221 #define DBGFILL_STACK 0xf7
223 /* WM_WINDOWPOSCHANGING/CHANGED struct */
224 typedef struct
226 HWND16 hwnd;
227 HWND16 hwndInsertAfter;
228 INT16 x;
229 INT16 y;
230 INT16 cx;
231 INT16 cy;
232 UINT16 flags;
233 } WINDOWPOS16, *LPWINDOWPOS16;
235 typedef struct
237 HWND32 hwnd;
238 HWND32 hwndInsertAfter;
239 INT32 x;
240 INT32 y;
241 INT32 cx;
242 INT32 cy;
243 UINT32 flags;
244 } WINDOWPOS32, *LPWINDOWPOS32;
246 DECL_WINELIB_TYPE(WINDOWPOS)
247 DECL_WINELIB_TYPE(LPWINDOWPOS)
249 /* WM_MOUSEACTIVATE return values */
250 #define MA_ACTIVATE 1
251 #define MA_ACTIVATEANDEAT 2
252 #define MA_NOACTIVATE 3
253 #define MA_NOACTIVATEANDEAT 4
255 /* WM_ACTIVATE wParam values */
256 #define WA_INACTIVE 0
257 #define WA_ACTIVE 1
258 #define WA_CLICKACTIVE 2
260 /* WM_NCCALCSIZE parameter structure */
261 typedef struct
263 RECT16 rgrc[3];
264 SEGPTR lppos;
265 } NCCALCSIZE_PARAMS16, *LPNCCALCSIZE_PARAMS16;
267 typedef struct
269 RECT32 rgrc[3];
270 WINDOWPOS32 *lppos;
271 } NCCALCSIZE_PARAMS32, *LPNCCALCSIZE_PARAMS32;
273 DECL_WINELIB_TYPE(NCCALCSIZE_PARAMS)
274 DECL_WINELIB_TYPE(LPNCCALCSIZE_PARAMS)
276 /* WM_NCCALCSIZE return flags */
277 #define WVR_ALIGNTOP 0x0010
278 #define WVR_ALIGNLEFT 0x0020
279 #define WVR_ALIGNBOTTOM 0x0040
280 #define WVR_ALIGNRIGHT 0x0080
281 #define WVR_HREDRAW 0x0100
282 #define WVR_VREDRAW 0x0200
283 #define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW)
284 #define WVR_VALIDRECTS 0x0400
286 /* WM_NCHITTEST return codes */
287 #define HTERROR (-2)
288 #define HTTRANSPARENT (-1)
289 #define HTNOWHERE 0
290 #define HTCLIENT 1
291 #define HTCAPTION 2
292 #define HTSYSMENU 3
293 #define HTSIZE 4
294 #define HTMENU 5
295 #define HTHSCROLL 6
296 #define HTVSCROLL 7
297 #define HTMINBUTTON 8
298 #define HTMAXBUTTON 9
299 #define HTLEFT 10
300 #define HTRIGHT 11
301 #define HTTOP 12
302 #define HTTOPLEFT 13
303 #define HTTOPRIGHT 14
304 #define HTBOTTOM 15
305 #define HTBOTTOMLEFT 16
306 #define HTBOTTOMRIGHT 17
307 #define HTBORDER 18
308 #define HTGROWBOX HTSIZE
309 #define HTREDUCE HTMINBUTTON
310 #define HTZOOM HTMAXBUTTON
311 #define HTOBJECT 19
312 #define HTCLOSE 20
313 #define HTHELP 21
314 #define HTSIZEFIRST HTLEFT
315 #define HTSIZELAST HTBOTTOMRIGHT
317 /* WM_SYSCOMMAND parameters */
318 #ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */
319 #undef SC_SIZE
320 #endif
321 #define SC_SIZE 0xf000
322 #define SC_MOVE 0xf010
323 #define SC_MINIMIZE 0xf020
324 #define SC_MAXIMIZE 0xf030
325 #define SC_NEXTWINDOW 0xf040
326 #define SC_PREVWINDOW 0xf050
327 #define SC_CLOSE 0xf060
328 #define SC_VSCROLL 0xf070
329 #define SC_HSCROLL 0xf080
330 #define SC_MOUSEMENU 0xf090
331 #define SC_KEYMENU 0xf100
332 #define SC_ARRANGE 0xf110
333 #define SC_RESTORE 0xf120
334 #define SC_TASKLIST 0xf130
335 #define SC_SCREENSAVE 0xf140
336 #define SC_HOTKEY 0xf150
338 #define CS_VREDRAW 0x0001
339 #define CS_HREDRAW 0x0002
340 #define CS_KEYCVTWINDOW 0x0004
341 #define CS_DBLCLKS 0x0008
342 #define CS_OWNDC 0x0020
343 #define CS_CLASSDC 0x0040
344 #define CS_PARENTDC 0x0080
345 #define CS_NOKEYCVT 0x0100
346 #define CS_NOCLOSE 0x0200
347 #define CS_SAVEBITS 0x0800
348 #define CS_BYTEALIGNCLIENT 0x1000
349 #define CS_BYTEALIGNWINDOW 0x2000
350 #define CS_GLOBALCLASS 0x4000
352 /* Offsets for GetClassLong() and GetClassWord() */
353 #define GCL_MENUNAME (-8)
354 #define GCW_HBRBACKGROUND (-10)
355 #define GCL_HBRBACKGROUND GCW_HBRBACKGROUND
356 #define GCW_HCURSOR (-12)
357 #define GCL_HCURSOR GCW_HCURSOR
358 #define GCW_HICON (-14)
359 #define GCL_HICON GCW_HICON
360 #define GCW_HMODULE (-16)
361 #define GCL_HMODULE GCW_HMODULE
362 #define GCW_CBWNDEXTRA (-18)
363 #define GCL_CBWNDEXTRA GCW_CBWNDEXTRA
364 #define GCW_CBCLSEXTRA (-20)
365 #define GCL_CBCLSEXTRA GCW_CBCLSEXTRA
366 #define GCL_WNDPROC (-24)
367 #define GCW_STYLE (-26)
368 #define GCL_STYLE GCW_STYLE
369 #define GCW_ATOM (-32)
370 #define GCW_HICONSM (-34)
371 #define GCL_HICONSM GCW_HICONSM
373 /***** Window hooks *****/
375 /* Hook values */
376 #define WH_MIN (-1)
377 #define WH_MSGFILTER (-1)
378 #define WH_JOURNALRECORD 0
379 #define WH_JOURNALPLAYBACK 1
380 #define WH_KEYBOARD 2
381 #define WH_GETMESSAGE 3
382 #define WH_CALLWNDPROC 4
383 #define WH_CBT 5
384 #define WH_SYSMSGFILTER 6
385 #define WH_MOUSE 7
386 #define WH_HARDWARE 8
387 #define WH_DEBUG 9
388 #define WH_SHELL 10
389 #define WH_FOREGROUNDIDLE 11
390 #define WH_CALLWNDPROCRET 12
391 #define WH_MAX 12
393 #define WH_MINHOOK WH_MIN
394 #define WH_MAXHOOK WH_MAX
395 #define WH_NB_HOOKS (WH_MAXHOOK-WH_MINHOOK+1)
397 /* Hook action codes */
398 #define HC_ACTION 0
399 #define HC_GETNEXT 1
400 #define HC_SKIP 2
401 #define HC_NOREMOVE 3
402 #define HC_NOREM HC_NOREMOVE
403 #define HC_SYSMODALON 4
404 #define HC_SYSMODALOFF 5
406 /* CallMsgFilter() values */
407 #define MSGF_DIALOGBOX 0
408 #define MSGF_MESSAGEBOX 1
409 #define MSGF_MENU 2
410 #define MSGF_MOVE 3
411 #define MSGF_SIZE 4
412 #define MSGF_SCROLLBAR 5
413 #define MSGF_NEXTWINDOW 6
414 #define MSGF_MAINLOOP 8
415 #define MSGF_USER 4096
417 /* Windows Exit Procedure flag values */
418 #define WEP_FREE_DLL 0
419 #define WEP_SYSTEM_EXIT 1
421 /* Journalling hook structure */
423 typedef struct
425 UINT16 message;
426 UINT16 paramL;
427 UINT16 paramH;
428 DWORD time WINE_PACKED;
429 } EVENTMSG16, *LPEVENTMSG16;
431 typedef struct
433 UINT32 message;
434 UINT32 paramL;
435 UINT32 paramH;
436 DWORD time;
437 HWND32 hwnd;
438 } EVENTMSG32, *LPEVENTMSG32;
440 DECL_WINELIB_TYPE(EVENTMSG)
441 DECL_WINELIB_TYPE(LPEVENTMSG)
443 /* Mouse hook structure */
445 typedef struct
447 POINT16 pt;
448 HWND16 hwnd;
449 UINT16 wHitTestCode;
450 DWORD dwExtraInfo;
451 } MOUSEHOOKSTRUCT16, *LPMOUSEHOOKSTRUCT16;
453 typedef struct
455 POINT32 pt;
456 HWND32 hwnd;
457 UINT32 wHitTestCode;
458 DWORD dwExtraInfo;
459 } MOUSEHOOKSTRUCT32, *LPMOUSEHOOKSTRUCT32;
461 DECL_WINELIB_TYPE(MOUSEHOOKSTRUCT)
462 DECL_WINELIB_TYPE(LPMOUSEHOOKSTRUCT)
464 /* Hardware hook structure */
466 typedef struct
468 HWND16 hWnd;
469 UINT16 wMessage;
470 WPARAM16 wParam;
471 LPARAM lParam WINE_PACKED;
472 } HARDWAREHOOKSTRUCT16, *LPHARDWAREHOOKSTRUCT16;
474 typedef struct
476 HWND32 hWnd;
477 UINT32 wMessage;
478 WPARAM32 wParam;
479 LPARAM lParam;
480 } HARDWAREHOOKSTRUCT32, *LPHARDWAREHOOKSTRUCT32;
482 DECL_WINELIB_TYPE(HARDWAREHOOKSTRUCT)
483 DECL_WINELIB_TYPE(LPHARDWAREHOOKSTRUCT)
485 /* CBT hook values */
486 #define HCBT_MOVESIZE 0
487 #define HCBT_MINMAX 1
488 #define HCBT_QS 2
489 #define HCBT_CREATEWND 3
490 #define HCBT_DESTROYWND 4
491 #define HCBT_ACTIVATE 5
492 #define HCBT_CLICKSKIPPED 6
493 #define HCBT_KEYSKIPPED 7
494 #define HCBT_SYSCOMMAND 8
495 #define HCBT_SETFOCUS 9
497 /* CBT hook structures */
499 typedef struct
501 CREATESTRUCT16 *lpcs;
502 HWND16 hwndInsertAfter;
503 } CBT_CREATEWND16, *LPCBT_CREATEWND16;
505 typedef struct
507 CREATESTRUCT32A *lpcs;
508 HWND32 hwndInsertAfter;
509 } CBT_CREATEWND32A, *LPCBT_CREATEWND32A;
511 typedef struct
513 CREATESTRUCT32W *lpcs;
514 HWND32 hwndInsertAfter;
515 } CBT_CREATEWND32W, *LPCBT_CREATEWND32W;
517 DECL_WINELIB_TYPE_AW(CBT_CREATEWND)
518 DECL_WINELIB_TYPE_AW(LPCBT_CREATEWND)
520 typedef struct
522 BOOL16 fMouse;
523 HWND16 hWndActive;
524 } CBTACTIVATESTRUCT16, *LPCBTACTIVATESTRUCT16;
526 typedef struct
528 BOOL32 fMouse;
529 HWND32 hWndActive;
530 } CBTACTIVATESTRUCT32, *LPCBTACTIVATESTRUCT32;
532 DECL_WINELIB_TYPE(CBTACTIVATESTRUCT)
533 DECL_WINELIB_TYPE(LPCBTACTIVATESTRUCT)
535 /* Shell hook values */
536 #define HSHELL_WINDOWCREATED 1
537 #define HSHELL_WINDOWDESTROYED 2
538 #define HSHELL_ACTIVATESHELLWINDOW 3
540 /* Debug hook structure */
542 typedef struct
544 HMODULE16 hModuleHook;
545 LPARAM reserved WINE_PACKED;
546 LPARAM lParam WINE_PACKED;
547 WPARAM16 wParam;
548 INT16 code;
549 } DEBUGHOOKINFO16, *LPDEBUGHOOKINFO16;
551 typedef struct
553 DWORD idThread;
554 DWORD idThreadInstaller;
555 LPARAM lParam;
556 WPARAM32 wParam;
557 INT32 code;
558 } DEBUGHOOKINFO32, *LPDEBUGHOOKINFO32;
560 DECL_WINELIB_TYPE(DEBUGHOOKINFO)
561 DECL_WINELIB_TYPE(LPDEBUGHOOKINFO)
563 typedef DWORD (CALLBACK *LPTHREAD_START_ROUTINE)(LPVOID);
565 /* This is also defined in winnt.h */
566 /* typedef struct _EXCEPTION_RECORD {
567 DWORD ExceptionCode;
568 DWORD ExceptionFlags;
569 struct _EXCEPTION_RECORD *ExceptionRecord;
570 LPVOID ExceptionAddress;
571 DWORD NumberParameters;
572 DWORD ExceptionInformation[15];
573 } EXCEPTION_RECORD; */
575 typedef struct _EXCEPTION_DEBUG_INFO {
576 /* EXCEPTION_RECORD ExceptionRecord; */
577 DWORD dwFirstChange;
578 } EXCEPTION_DEBUG_INFO;
580 typedef struct _CREATE_THREAD_DEBUG_INFO {
581 HANDLE32 hThread;
582 LPVOID lpThreadLocalBase;
583 LPTHREAD_START_ROUTINE lpStartAddress;
584 } CREATE_THREAD_DEBUG_INFO;
586 typedef struct _CREATE_PROCESS_DEBUG_INFO {
587 HANDLE32 hFile;
588 HANDLE32 hProcess;
589 HANDLE32 hThread;
590 LPVOID lpBaseOfImage;
591 DWORD dwDebugInfoFileOffset;
592 DWORD nDebugInfoSize;
593 LPVOID lpThreadLocalBase;
594 LPTHREAD_START_ROUTINE lpStartAddress;
595 LPVOID lpImageName;
596 WORD fUnicode;
597 } CREATE_PROCESS_DEBUG_INFO;
599 typedef struct _EXIT_THREAD_DEBUG_INFO {
600 DWORD dwExitCode;
601 } EXIT_THREAD_DEBUG_INFO;
603 typedef struct _EXIT_PROCESS_DEBUG_INFO {
604 DWORD dwExitCode;
605 } EXIT_PROCESS_DEBUG_INFO;
607 typedef struct _LOAD_DLL_DEBUG_INFO {
608 HANDLE32 hFile;
609 LPVOID lpBaseOfDll;
610 DWORD dwDebugInfoFileOffset;
611 DWORD nDebugInfoSize;
612 LPVOID lpImageName;
613 WORD fUnicode;
614 } LOAD_DLL_DEBUG_INFO;
616 typedef struct _UNLOAD_DLL_DEBUG_INFO {
617 LPVOID lpBaseOfDll;
618 } UNLOAD_DLL_DEBUG_INFO;
620 typedef struct _OUTPUT_DEBUG_STRING_INFO {
621 LPSTR lpDebugStringData;
622 WORD fUnicode;
623 WORD nDebugStringLength;
624 } OUTPUT_DEBUG_STRING_INFO;
626 typedef struct _RIP_INFO {
627 DWORD dwError;
628 DWORD dwType;
629 } RIP_INFO;
631 typedef struct _DEBUG_EVENT {
632 DWORD dwDebugEventCode;
633 DWORD dwProcessId;
634 DWORD dwThreadId;
635 union {
636 EXCEPTION_DEBUG_INFO Exception;
637 CREATE_THREAD_DEBUG_INFO CreateThread;
638 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
639 EXIT_THREAD_DEBUG_INFO ExitThread;
640 EXIT_PROCESS_DEBUG_INFO ExitProcess;
641 LOAD_DLL_DEBUG_INFO LoadDll;
642 UNLOAD_DLL_DEBUG_INFO UnloadDll;
643 OUTPUT_DEBUG_STRING_INFO DebugString;
644 RIP_INFO RipInfo;
645 } u;
646 } DEBUG_EVENT, *LPDEBUG_EVENT;
649 /***** Dialogs *****/
651 /* cbWndExtra bytes for dialog class */
652 #define DLGWINDOWEXTRA 30
654 /* Dialog styles */
655 #define DS_ABSALIGN 0x0001
656 #define DS_SYSMODAL 0x0002
657 #define DS_3DLOOK 0x0004 /* win95 */
658 #define DS_FIXEDSYS 0x0008 /* win95 */
659 #define DS_NOFAILCREATE 0x0010 /* win95 */
660 #define DS_LOCALEDIT 0x0020
661 #define DS_SETFONT 0x0040
662 #define DS_MODALFRAME 0x0080
663 #define DS_NOIDLEMSG 0x0100
664 #define DS_SETFOREGROUND 0x0200 /* win95 */
665 #define DS_CONTROL 0x0400 /* win95 */
666 #define DS_CENTER 0x0800 /* win95 */
667 #define DS_CENTERMOUSE 0x1000 /* win95 */
668 #define DS_CONTEXTHELP 0x2000 /* win95 */
671 /* Dialog messages */
672 #define DM_GETDEFID (WM_USER+0)
673 #define DM_SETDEFID (WM_USER+1)
675 #define DC_HASDEFID 0x534b
677 /* WM_GETDLGCODE values */
678 #define DLGC_WANTARROWS 0x0001
679 #define DLGC_WANTTAB 0x0002
680 #define DLGC_WANTALLKEYS 0x0004
681 #define DLGC_WANTMESSAGE 0x0004
682 #define DLGC_HASSETSEL 0x0008
683 #define DLGC_DEFPUSHBUTTON 0x0010
684 #define DLGC_UNDEFPUSHBUTTON 0x0020
685 #define DLGC_RADIOBUTTON 0x0040
686 #define DLGC_WANTCHARS 0x0080
687 #define DLGC_STATIC 0x0100
688 #define DLGC_BUTTON 0x2000
690 /* Standard dialog button IDs */
691 #define IDOK 1
692 #define IDCANCEL 2
693 #define IDABORT 3
694 #define IDRETRY 4
695 #define IDIGNORE 5
696 #define IDYES 6
697 #define IDNO 7
698 #define IDCLOSE 8
699 #define IDHELP 9
701 #ifdef FSHIFT
702 /* Gcc on Solaris has a version of this that we don't care about. */
703 #undef FSHIFT
704 #endif
706 #define FVIRTKEY TRUE /* Assumed to be == TRUE */
707 #define FNOINVERT 0x02
708 #define FSHIFT 0x04
709 #define FCONTROL 0x08
710 #define FALT 0x10
712 /* modifiers for RegisterHotKey */
713 #define MOD_ALT 0x0001
714 #define MOD_CONTROL 0x0002
715 #define MOD_SHIFT 0x0004
716 #define MOD_WIN 0x0008
718 /* ids for RegisterHotKey */
719 #define IDHOT_SNAPWINDOW (-1) /* SHIFT-PRINTSCRN */
720 #define IDHOT_SNAPDESKTOP (-2) /* PRINTSCRN */
722 /* Flags for DrawIconEx. */
723 #define DI_MASK 1
724 #define DI_IMAGE 2
725 #define DI_NORMAL (DI_MASK | DI_IMAGE)
726 #define DI_COMPAT 4
727 #define DI_DEFAULTSIZE 8
729 typedef struct {
730 BYTE i; /* much more .... */
731 } KANJISTRUCT;
732 typedef KANJISTRUCT *LPKANJISTRUCT;
733 typedef KANJISTRUCT *NPKANJISTRUCT;
734 typedef KANJISTRUCT *PKANJISTRUCT;
736 #define OFS_MAXPATHNAME 128
737 typedef struct
739 BYTE cBytes;
740 BYTE fFixedDisk;
741 WORD nErrCode;
742 BYTE reserved[4];
743 BYTE szPathName[OFS_MAXPATHNAME];
744 } OFSTRUCT, *LPOFSTRUCT;
746 #define OF_READ 0x0000
747 #define OF_WRITE 0x0001
748 #define OF_READWRITE 0x0002
749 #define OF_SHARE_COMPAT 0x0000
750 #define OF_SHARE_EXCLUSIVE 0x0010
751 #define OF_SHARE_DENY_WRITE 0x0020
752 #define OF_SHARE_DENY_READ 0x0030
753 #define OF_SHARE_DENY_NONE 0x0040
754 #define OF_PARSE 0x0100
755 #define OF_DELETE 0x0200
756 #define OF_VERIFY 0x0400 /* Used with OF_REOPEN */
757 #define OF_SEARCH 0x0400 /* Used without OF_REOPEN */
758 #define OF_CANCEL 0x0800
759 #define OF_CREATE 0x1000
760 #define OF_PROMPT 0x2000
761 #define OF_EXIST 0x4000
762 #define OF_REOPEN 0x8000
764 /* SetErrorMode values */
765 #define SEM_FAILCRITICALERRORS 0x0001
766 #define SEM_NOGPFAULTERRORBOX 0x0002
767 #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
768 #define SEM_NOOPENFILEERRORBOX 0x8000
770 /* CopyFileEx flags */
771 #define COPY_FILE_FAIL_IF_EXISTS 0x00000001
772 #define COPY_FILE_RESTARTABLE 0x00000002
773 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
775 /* GetTempFileName() Flags */
776 #define TF_FORCEDRIVE 0x80
778 #define DRIVE_CANNOTDETERMINE 0
779 #define DRIVE_DOESNOTEXIST 1
780 #define DRIVE_REMOVABLE 2
781 #define DRIVE_FIXED 3
782 #define DRIVE_REMOTE 4
783 /* Win32 additions */
784 #define DRIVE_CDROM 5
785 #define DRIVE_RAMDISK 6
787 #define HFILE_ERROR16 ((HFILE16)-1)
788 #define HFILE_ERROR32 ((HFILE32)-1)
789 #define HFILE_ERROR WINELIB_NAME(HFILE_ERROR)
791 #define DDL_READWRITE 0x0000
792 #define DDL_READONLY 0x0001
793 #define DDL_HIDDEN 0x0002
794 #define DDL_SYSTEM 0x0004
795 #define DDL_DIRECTORY 0x0010
796 #define DDL_ARCHIVE 0x0020
798 #define DDL_POSTMSGS 0x2000
799 #define DDL_DRIVES 0x4000
800 #define DDL_EXCLUSIVE 0x8000
802 typedef struct _ACL {
803 BYTE AclRevision;
804 BYTE Sbz1;
805 WORD AclSize;
806 WORD AceCount;
807 WORD Sbz2;
808 } ACL, *LPACL;
810 typedef struct {
811 BYTE Value[6];
812 } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
814 typedef struct _SID {
815 BYTE Revision;
816 BYTE SubAuthorityCount;
817 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
818 DWORD SubAuthority[1];
819 } SID,*PSID,*LPSID;
821 /* The security attributes structure */
822 typedef struct
824 DWORD nLength;
825 LPVOID lpSecurityDescriptor;
826 BOOL32 bInheritHandle;
827 } SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
829 typedef WORD SECURITY_DESCRIPTOR_CONTROL;
831 /* The security descriptor structure */
832 typedef struct {
833 BYTE Revision;
834 BYTE Sbz1;
835 SECURITY_DESCRIPTOR_CONTROL Control;
836 LPSID Owner;
837 LPSID Group;
838 LPACL Sacl;
839 LPACL Dacl;
840 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *LPSECURITY_DESCRIPTOR;
842 typedef DWORD SECURITY_INFORMATION;
845 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
846 typedef struct
848 DWORD dwLowDateTime;
849 DWORD dwHighDateTime;
850 } FILETIME, *LPFILETIME;
852 /* Find* structures */
853 typedef struct
855 DWORD dwFileAttributes;
856 FILETIME ftCreationTime;
857 FILETIME ftLastAccessTime;
858 FILETIME ftLastWriteTime;
859 DWORD nFileSizeHigh;
860 DWORD nFileSizeLow;
861 DWORD dwReserved0;
862 DWORD dwReserved1;
863 CHAR cFileName[260];
864 CHAR cAlternateFileName[14];
865 } WIN32_FIND_DATA32A, *LPWIN32_FIND_DATA32A;
867 typedef struct
869 DWORD dwFileAttributes;
870 FILETIME ftCreationTime;
871 FILETIME ftLastAccessTime;
872 FILETIME ftLastWriteTime;
873 DWORD nFileSizeHigh;
874 DWORD nFileSizeLow;
875 DWORD dwReserved0;
876 DWORD dwReserved1;
877 WCHAR cFileName[260];
878 WCHAR cAlternateFileName[14];
879 } WIN32_FIND_DATA32W, *LPWIN32_FIND_DATA32W;
881 DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA)
882 DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA)
884 #define INVALID_HANDLE_VALUE16 ((HANDLE16) -1)
885 #define INVALID_HANDLE_VALUE32 ((HANDLE32) -1)
886 #define INVALID_HANDLE_VALUE WINELIB_NAME(INVALID_HANDLE_VALUE)
888 /* comm */
890 #define CBR_110 0xFF10
891 #define CBR_300 0xFF11
892 #define CBR_600 0xFF12
893 #define CBR_1200 0xFF13
894 #define CBR_2400 0xFF14
895 #define CBR_4800 0xFF15
896 #define CBR_9600 0xFF16
897 #define CBR_14400 0xFF17
898 #define CBR_19200 0xFF18
899 #define CBR_38400 0xFF1B
900 #define CBR_56000 0xFF1F
901 #define CBR_128000 0xFF23
902 #define CBR_256000 0xFF27
904 #define NOPARITY 0
905 #define ODDPARITY 1
906 #define EVENPARITY 2
907 #define MARKPARITY 3
908 #define SPACEPARITY 4
909 #define ONESTOPBIT 0
910 #define ONE5STOPBITS 1
911 #define TWOSTOPBITS 2
913 #define IGNORE 0
914 #define INFINITE16 0xFFFF
915 #define INFINITE32 0xFFFFFFFF
916 #define INFINITE WINELIB_NAME(INFINITE)
918 #define CE_RXOVER 0x0001
919 #define CE_OVERRUN 0x0002
920 #define CE_RXPARITY 0x0004
921 #define CE_FRAME 0x0008
922 #define CE_BREAK 0x0010
923 #define CE_CTSTO 0x0020
924 #define CE_DSRTO 0x0040
925 #define CE_RLSDTO 0x0080
926 #define CE_TXFULL 0x0100
927 #define CE_PTO 0x0200
928 #define CE_IOE 0x0400
929 #define CE_DNS 0x0800
930 #define CE_OOP 0x1000
931 #define CE_MODE 0x8000
933 #define IE_BADID -1
934 #define IE_OPEN -2
935 #define IE_NOPEN -3
936 #define IE_MEMORY -4
937 #define IE_DEFAULT -5
938 #define IE_HARDWARE -10
939 #define IE_BYTESIZE -11
940 #define IE_BAUDRATE -12
942 #define EV_RXCHAR 0x0001
943 #define EV_RXFLAG 0x0002
944 #define EV_TXEMPTY 0x0004
945 #define EV_CTS 0x0008
946 #define EV_DSR 0x0010
947 #define EV_RLSD 0x0020
948 #define EV_BREAK 0x0040
949 #define EV_ERR 0x0080
950 #define EV_RING 0x0100
951 #define EV_PERR 0x0200
952 #define EV_CTSS 0x0400
953 #define EV_DSRS 0x0800
954 #define EV_RLSDS 0x1000
955 #define EV_RINGTE 0x2000
956 #define EV_RingTe EV_RINGTE
958 #define SETXOFF 1
959 #define SETXON 2
960 #define SETRTS 3
961 #define CLRRTS 4
962 #define SETDTR 5
963 #define CLRDTR 6
964 #define RESETDEV 7
965 /* win16 only */
966 #define GETMAXLPT 8
967 #define GETMAXCOM 9
968 /* win32 only */
969 #define SETBREAK 8
970 #define CLRBREAK 9
972 #define GETBASEIRQ 10
974 /* Purge functions for Comm Port */
975 #define PURGE_TXABORT 0x0001 /* Kill the pending/current writes to the
976 comm port */
977 #define PURGE_RXABORT 0x0002 /*Kill the pending/current reads to
978 the comm port */
979 #define PURGE_TXCLEAR 0x0004 /* Kill the transmit queue if there*/
980 #define PURGE_RXCLEAR 0x0008 /* Kill the typeahead buffer if there*/
983 /* Modem Status Flags */
984 #define MS_CTS_ON ((DWORD)0x0010)
985 #define MS_DSR_ON ((DWORD)0x0020)
986 #define MS_RING_ON ((DWORD)0x0040)
987 #define MS_RLSD_ON ((DWORD)0x0080)
989 #define RTS_CONTROL_DISABLE 0
990 #define RTS_CONTROL_ENABLE 1
991 #define RTS_CONTROL_HANDSHAKE 2
992 #define RTS_CONTROL_TOGGLE 3
994 #define DTR_CONTROL_DISABLE 0
995 #define DTR_CONTROL_ENABLE 1
996 #define DTR_CONTROL_HANDSHAKE 2
998 #define CSTF_CTSHOLD 0x01
999 #define CSTF_DSRHOLD 0x02
1000 #define CSTF_RLSDHOLD 0x04
1001 #define CSTF_XOFFHOLD 0x08
1002 #define CSTF_XOFFSENT 0x10
1003 #define CSTF_EOF 0x20
1004 #define CSTF_TXIM 0x40
1006 /* SystemParametersInfo */
1007 /* defines below are for all win versions */
1008 #define SPI_GETBEEP 1
1009 #define SPI_SETBEEP 2
1010 #define SPI_GETMOUSE 3
1011 #define SPI_SETMOUSE 4
1012 #define SPI_GETBORDER 5
1013 #define SPI_SETBORDER 6
1014 #define SPI_GETKEYBOARDSPEED 10
1015 #define SPI_SETKEYBOARDSPEED 11
1016 #define SPI_LANGDRIVER 12
1017 #define SPI_ICONHORIZONTALSPACING 13
1018 #define SPI_GETSCREENSAVETIMEOUT 14
1019 #define SPI_SETSCREENSAVETIMEOUT 15
1020 #define SPI_GETSCREENSAVEACTIVE 16
1021 #define SPI_SETSCREENSAVEACTIVE 17
1022 #define SPI_GETGRIDGRANULARITY 18
1023 #define SPI_SETGRIDGRANULARITY 19
1024 #define SPI_SETDESKWALLPAPER 20
1025 #define SPI_SETDESKPATTERN 21
1026 #define SPI_GETKEYBOARDDELAY 22
1027 #define SPI_SETKEYBOARDDELAY 23
1028 #define SPI_ICONVERTICALSPACING 24
1029 #define SPI_GETICONTITLEWRAP 25
1030 #define SPI_SETICONTITLEWRAP 26
1031 #define SPI_GETMENUDROPALIGNMENT 27
1032 #define SPI_SETMENUDROPALIGNMENT 28
1033 #define SPI_SETDOUBLECLKWIDTH 29
1034 #define SPI_SETDOUBLECLKHEIGHT 30
1035 #define SPI_GETICONTITLELOGFONT 31
1036 #define SPI_SETDOUBLECLICKTIME 32
1037 #define SPI_SETMOUSEBUTTONSWAP 33
1038 #define SPI_SETICONTITLELOGFONT 34
1039 #define SPI_GETFASTTASKSWITCH 35
1040 #define SPI_SETFASTTASKSWITCH 36
1041 #define SPI_SETDRAGFULLWINDOWS 37
1042 #define SPI_GETDRAGFULLWINDOWS 38
1044 #define SPI_GETFILTERKEYS 50
1045 #define SPI_SETFILTERKEYS 51
1046 #define SPI_GETTOGGLEKEYS 52
1047 #define SPI_SETTOGGLEKEYS 53
1048 #define SPI_GETMOUSEKEYS 54
1049 #define SPI_SETMOUSEKEYS 55
1050 #define SPI_GETSHOWSOUNDS 56
1051 #define SPI_SETSHOWSOUNDS 57
1052 #define SPI_GETSTICKYKEYS 58
1053 #define SPI_SETSTICKYKEYS 59
1054 #define SPI_GETACCESSTIMEOUT 60
1055 #define SPI_SETACCESSTIMEOUT 61
1057 #define SPI_GETSOUNDSENTRY 64
1058 #define SPI_SETSOUNDSENTRY 65
1060 /* defines below are for all win versions WINVER >= 0x0400 */
1061 #define SPI_SETDRAGFULLWINDOWS 37
1062 #define SPI_GETDRAGFULLWINDOWS 38
1063 #define SPI_GETNONCLIENTMETRICS 41
1064 #define SPI_SETNONCLIENTMETRICS 42
1065 #define SPI_GETMINIMIZEDMETRICS 43
1066 #define SPI_SETMINIMIZEDMETRICS 44
1067 #define SPI_GETICONMETRICS 45
1068 #define SPI_SETICONMETRICS 46
1069 #define SPI_SETWORKAREA 47
1070 #define SPI_GETWORKAREA 48
1071 #define SPI_SETPENWINDOWS 49
1073 #define SPI_GETSERIALKEYS 62
1074 #define SPI_SETSERIALKEYS 63
1075 #define SPI_GETHIGHCONTRAST 66
1076 #define SPI_SETHIGHCONTRAST 67
1077 #define SPI_GETKEYBOARDPREF 68
1078 #define SPI_SETKEYBOARDPREF 69
1079 #define SPI_GETSCREENREADER 70
1080 #define SPI_SETSCREENREADER 71
1081 #define SPI_GETANIMATION 72
1082 #define SPI_SETANIMATION 73
1083 #define SPI_GETFONTSMOOTHING 74
1084 #define SPI_SETFONTSMOOTHING 75
1085 #define SPI_SETDRAGWIDTH 76
1086 #define SPI_SETDRAGHEIGHT 77
1087 #define SPI_SETHANDHELD 78
1088 #define SPI_GETLOWPOWERTIMEOUT 79
1089 #define SPI_GETPOWEROFFTIMEOUT 80
1090 #define SPI_SETLOWPOWERTIMEOUT 81
1091 #define SPI_SETPOWEROFFTIMEOUT 82
1092 #define SPI_GETLOWPOWERACTIVE 83
1093 #define SPI_GETPOWEROFFACTIVE 84
1094 #define SPI_SETLOWPOWERACTIVE 85
1095 #define SPI_SETPOWEROFFACTIVE 86
1096 #define SPI_SETCURSORS 87
1097 #define SPI_SETICONS 88
1098 #define SPI_GETDEFAULTINPUTLANG 89
1099 #define SPI_SETDEFAULTINPUTLANG 90
1100 #define SPI_SETLANGTOGGLE 91
1101 #define SPI_GETWINDOWSEXTENSION 92
1102 #define SPI_SETMOUSETRAILS 93
1103 #define SPI_GETMOUSETRAILS 94
1104 #define SPI_SETSCREENSAVERRUNNING 97
1105 #define SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING
1107 /* defines below are for all win versions (_WIN32_WINNT >= 0x0400) ||
1108 * (_WIN32_WINDOWS > 0x0400) */
1109 #define SPI_GETMOUSEHOVERWIDTH 98
1110 #define SPI_SETMOUSEHOVERWIDTH 99
1111 #define SPI_GETMOUSEHOVERHEIGHT 100
1112 #define SPI_SETMOUSEHOVERHEIGHT 101
1113 #define SPI_GETMOUSEHOVERTIME 102
1114 #define SPI_SETMOUSEHOVERTIME 103
1115 #define SPI_GETWHEELSCROLLLINES 104
1116 #define SPI_SETWHEELSCROLLLINES 105
1118 #define SPI_GETSHOWIMEUI 110
1119 #define SPI_SETSHOWIMEUI 111
1121 /* defines below are for all win versions WINVER >= 0x0500 */
1122 #define SPI_GETMOUSESPEED 112
1123 #define SPI_SETMOUSESPEED 113
1124 #define SPI_GETSCREENSAVERRUNNING 114
1126 #define SPI_GETACTIVEWINDOWTRACKING 0x1000
1127 #define SPI_SETACTIVEWINDOWTRACKING 0x1001
1128 #define SPI_GETMENUANIMATION 0x1002
1129 #define SPI_SETMENUANIMATION 0x1003
1130 #define SPI_GETCOMBOBOXANIMATION 0x1004
1131 #define SPI_SETCOMBOBOXANIMATION 0x1005
1132 #define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
1133 #define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
1134 #define SPI_GETGRADIENTCAPTIONS 0x1008
1135 #define SPI_SETGRADIENTCAPTIONS 0x1009
1136 #define SPI_GETMENUUNDERLINES 0x100A
1137 #define SPI_SETMENUUNDERLINES 0x100B
1138 #define SPI_GETACTIVEWNDTRKZORDER 0x100C
1139 #define SPI_SETACTIVEWNDTRKZORDER 0x100D
1140 #define SPI_GETHOTTRACKING 0x100E
1141 #define SPI_SETHOTTRACKING 0x100F
1142 #define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
1143 #define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
1144 #define SPI_GETACTIVEWNDTRKTIMEOUT 0x2002
1145 #define SPI_SETACTIVEWNDTRKTIMEOUT 0x2003
1146 #define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
1147 #define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
1149 /* SystemParametersInfo flags */
1151 #define SPIF_UPDATEINIFILE 1
1152 #define SPIF_SENDWININICHANGE 2
1153 #define SPIF_SENDCHANGE SPIF_SENDWININICHANGE
1155 /* flags for HIGHCONTRAST dwFlags field */
1156 #define HCF_HIGHCONTRASTON 0x00000001
1157 #define HCF_AVAILABLE 0x00000002
1158 #define HCF_HOTKEYACTIVE 0x00000004
1159 #define HCF_CONFIRMHOTKEY 0x00000008
1160 #define HCF_HOTKEYSOUND 0x00000010
1161 #define HCF_INDICATOR 0x00000020
1162 #define HCF_HOTKEYAVAILABLE 0x00000040
1163 typedef struct tagHIGHCONTRASTA
1165 UINT32 cbSize;
1166 DWORD dwFlags;
1167 LPSTR lpszDefaultScheme;
1168 } HIGHCONTRASTA, *LPHIGHCONTRASTA;
1170 typedef struct tagHIGHCONTRASTW
1172 UINT32 cbSize;
1173 DWORD dwFlags;
1174 LPWSTR lpszDefaultScheme;
1175 } HIGHCONTRASTW, *LPHIGHCONTRASTW;
1177 /* GetFreeSystemResources() parameters */
1179 #define GFSR_SYSTEMRESOURCES 0x0000
1180 #define GFSR_GDIRESOURCES 0x0001
1181 #define GFSR_USERRESOURCES 0x0002
1183 /* GetWinFlags */
1185 #define WF_PMODE 0x0001
1186 #define WF_CPU286 0x0002
1187 #define WF_CPU386 0x0004
1188 #define WF_CPU486 0x0008
1189 #define WF_STANDARD 0x0010
1190 #define WF_WIN286 0x0010
1191 #define WF_ENHANCED 0x0020
1192 #define WF_WIN386 0x0020
1193 #define WF_CPU086 0x0040
1194 #define WF_CPU186 0x0080
1195 #define WF_LARGEFRAME 0x0100
1196 #define WF_SMALLFRAME 0x0200
1197 #define WF_80x87 0x0400
1198 #define WF_PAGING 0x0800
1199 #define WF_HASCPUID 0x2000
1200 #define WF_WIN32WOW 0x4000 /* undoc */
1201 #define WF_WLO 0x8000
1203 #define MAKEINTRESOURCE16(i) (SEGPTR)((DWORD)((WORD)(i)))
1204 #define MAKEINTRESOURCE32A(i) (LPSTR)((DWORD)((WORD)(i)))
1205 #define MAKEINTRESOURCE32W(i) (LPWSTR)((DWORD)((WORD)(i)))
1206 #define MAKEINTRESOURCE WINELIB_NAME_AW(MAKEINTRESOURCE)
1208 /* Predefined resource types */
1209 #define RT_CURSOR16 MAKEINTRESOURCE16(1)
1210 #define RT_CURSOR32A MAKEINTRESOURCE32A(1)
1211 #define RT_CURSOR32W MAKEINTRESOURCE32W(1)
1212 #define RT_CURSOR WINELIB_NAME_AW(RT_CURSOR)
1213 #define RT_BITMAP16 MAKEINTRESOURCE16(2)
1214 #define RT_BITMAP32A MAKEINTRESOURCE32A(2)
1215 #define RT_BITMAP32W MAKEINTRESOURCE32W(2)
1216 #define RT_BITMAP WINELIB_NAME_AW(RT_BITMAP)
1217 #define RT_ICON16 MAKEINTRESOURCE16(3)
1218 #define RT_ICON32A MAKEINTRESOURCE32A(3)
1219 #define RT_ICON32W MAKEINTRESOURCE32W(3)
1220 #define RT_ICON WINELIB_NAME_AW(RT_ICON)
1221 #define RT_MENU16 MAKEINTRESOURCE16(4)
1222 #define RT_MENU32A MAKEINTRESOURCE32A(4)
1223 #define RT_MENU32W MAKEINTRESOURCE32W(4)
1224 #define RT_MENU WINELIB_NAME_AW(RT_MENU)
1225 #define RT_DIALOG16 MAKEINTRESOURCE16(5)
1226 #define RT_DIALOG32A MAKEINTRESOURCE32A(5)
1227 #define RT_DIALOG32W MAKEINTRESOURCE32W(5)
1228 #define RT_DIALOG WINELIB_NAME_AW(RT_DIALOG)
1229 #define RT_STRING16 MAKEINTRESOURCE16(6)
1230 #define RT_STRING32A MAKEINTRESOURCE32A(6)
1231 #define RT_STRING32W MAKEINTRESOURCE32W(6)
1232 #define RT_STRING WINELIB_NAME_AW(RT_STRING)
1233 #define RT_FONTDIR16 MAKEINTRESOURCE16(7)
1234 #define RT_FONTDIR32A MAKEINTRESOURCE32A(7)
1235 #define RT_FONTDIR32W MAKEINTRESOURCE32W(7)
1236 #define RT_FONTDIR WINELIB_NAME_AW(RT_FONTDIR)
1237 #define RT_FONT16 MAKEINTRESOURCE16(8)
1238 #define RT_FONT32A MAKEINTRESOURCE32A(8)
1239 #define RT_FONT32W MAKEINTRESOURCE32W(8)
1240 #define RT_FONT WINELIB_NAME_AW(RT_FONT)
1241 #define RT_ACCELERATOR16 MAKEINTRESOURCE16(9)
1242 #define RT_ACCELERATOR32A MAKEINTRESOURCE32A(9)
1243 #define RT_ACCELERATOR32W MAKEINTRESOURCE32W(9)
1244 #define RT_ACCELERATOR WINELIB_NAME_AW(RT_ACCELERATOR)
1245 #define RT_RCDATA16 MAKEINTRESOURCE16(10)
1246 #define RT_RCDATA32A MAKEINTRESOURCE32A(10)
1247 #define RT_RCDATA32W MAKEINTRESOURCE32W(10)
1248 #define RT_RCDATA WINELIB_NAME_AW(RT_RCDATA)
1249 #define RT_MESSAGELIST16 MAKEINTRESOURCE16(11)
1250 #define RT_MESSAGELIST32A MAKEINTRESOURCE32A(11)
1251 #define RT_MESSAGELIST32W MAKEINTRESOURCE32W(11)
1252 #define RT_MESSAGELIST WINELIB_NAME_AW(RT_MESSAGELIST)
1253 #define RT_GROUP_CURSOR16 MAKEINTRESOURCE16(12)
1254 #define RT_GROUP_CURSOR32A MAKEINTRESOURCE32A(12)
1255 #define RT_GROUP_CURSOR32W MAKEINTRESOURCE32W(12)
1256 #define RT_GROUP_CURSOR WINELIB_NAME_AW(RT_GROUP_CURSOR)
1257 #define RT_GROUP_ICON16 MAKEINTRESOURCE16(14)
1258 #define RT_GROUP_ICON32A MAKEINTRESOURCE32A(14)
1259 #define RT_GROUP_ICON32W MAKEINTRESOURCE32W(14)
1260 #define RT_GROUP_ICON WINELIB_NAME_AW(RT_GROUP_ICON)
1262 /* Predefined resources */
1263 #define IDI_APPLICATION16 MAKEINTRESOURCE16(32512)
1264 #define IDI_APPLICATION32A MAKEINTRESOURCE32A(32512)
1265 #define IDI_APPLICATION32W MAKEINTRESOURCE32W(32512)
1266 #define IDI_APPLICATION WINELIB_NAME_AW(IDI_APPLICATION)
1267 #define IDI_HAND16 MAKEINTRESOURCE16(32513)
1268 #define IDI_HAND32A MAKEINTRESOURCE32A(32513)
1269 #define IDI_HAND32W MAKEINTRESOURCE32W(32513)
1270 #define IDI_HAND WINELIB_NAME_AW(IDI_HAND)
1271 #define IDI_QUESTION16 MAKEINTRESOURCE16(32514)
1272 #define IDI_QUESTION32A MAKEINTRESOURCE32A(32514)
1273 #define IDI_QUESTION32W MAKEINTRESOURCE32W(32514)
1274 #define IDI_QUESTION WINELIB_NAME_AW(IDI_QUESTION)
1275 #define IDI_EXCLAMATION16 MAKEINTRESOURCE16(32515)
1276 #define IDI_EXCLAMATION32A MAKEINTRESOURCE32A(32515)
1277 #define IDI_EXCLAMATION32W MAKEINTRESOURCE32W(32515)
1278 #define IDI_EXCLAMATION WINELIB_NAME_AW(IDI_EXCLAMATION)
1279 #define IDI_ASTERISK16 MAKEINTRESOURCE16(32516)
1280 #define IDI_ASTERISK32A MAKEINTRESOURCE32A(32516)
1281 #define IDI_ASTERISK32W MAKEINTRESOURCE32W(32516)
1282 #define IDI_ASTERISK WINELIB_NAME_AW(IDI_ASTERISK)
1284 #define IDC_BUMMER16 MAKEINTRESOURCE16(100)
1285 #define IDC_BUMMER32A MAKEINTRESOURCE32A(100)
1286 #define IDC_BUMMER32W MAKEINTRESOURCE32W(100)
1287 #define IDC_BUMMER WINELIB_NAME_AW(IDC_BUMMER)
1288 #define IDC_ARROW16 MAKEINTRESOURCE16(32512)
1289 #define IDC_ARROW32A MAKEINTRESOURCE32A(32512)
1290 #define IDC_ARROW32W MAKEINTRESOURCE32W(32512)
1291 #define IDC_ARROW WINELIB_NAME_AW(IDC_ARROW)
1292 #define IDC_IBEAM16 MAKEINTRESOURCE16(32513)
1293 #define IDC_IBEAM32A MAKEINTRESOURCE32A(32513)
1294 #define IDC_IBEAM32W MAKEINTRESOURCE32W(32513)
1295 #define IDC_IBEAM WINELIB_NAME_AW(IDC_IBEAM)
1296 #define IDC_WAIT16 MAKEINTRESOURCE16(32514)
1297 #define IDC_WAIT32A MAKEINTRESOURCE32A(32514)
1298 #define IDC_WAIT32W MAKEINTRESOURCE32W(32514)
1299 #define IDC_WAIT WINELIB_NAME_AW(IDC_WAIT)
1300 #define IDC_CROSS16 MAKEINTRESOURCE16(32515)
1301 #define IDC_CROSS32A MAKEINTRESOURCE32A(32515)
1302 #define IDC_CROSS32W MAKEINTRESOURCE32W(32515)
1303 #define IDC_CROSS WINELIB_NAME_AW(IDC_CROSS)
1304 #define IDC_UPARROW16 MAKEINTRESOURCE16(32516)
1305 #define IDC_UPARROW32A MAKEINTRESOURCE32A(32516)
1306 #define IDC_UPARROW32W MAKEINTRESOURCE32W(32516)
1307 #define IDC_UPARROW WINELIB_NAME_AW(IDC_UPARROW)
1308 #define IDC_SIZE16 MAKEINTRESOURCE16(32640)
1309 #define IDC_SIZE32A MAKEINTRESOURCE32A(32640)
1310 #define IDC_SIZE32W MAKEINTRESOURCE32W(32640)
1311 #define IDC_SIZE WINELIB_NAME_AW(IDC_SIZE)
1312 #define IDC_ICON16 MAKEINTRESOURCE16(32641)
1313 #define IDC_ICON32A MAKEINTRESOURCE32A(32641)
1314 #define IDC_ICON32W MAKEINTRESOURCE32W(32641)
1315 #define IDC_ICON WINELIB_NAME_AW(IDC_ICON)
1316 #define IDC_SIZENWSE16 MAKEINTRESOURCE16(32642)
1317 #define IDC_SIZENWSE32A MAKEINTRESOURCE32A(32642)
1318 #define IDC_SIZENWSE32W MAKEINTRESOURCE32W(32642)
1319 #define IDC_SIZENWSE WINELIB_NAME_AW(IDC_SIZENWSE)
1320 #define IDC_SIZENESW16 MAKEINTRESOURCE16(32643)
1321 #define IDC_SIZENESW32A MAKEINTRESOURCE32A(32643)
1322 #define IDC_SIZENESW32W MAKEINTRESOURCE32W(32643)
1323 #define IDC_SIZENESW WINELIB_NAME_AW(IDC_SIZENESW)
1324 #define IDC_SIZEWE16 MAKEINTRESOURCE16(32644)
1325 #define IDC_SIZEWE32A MAKEINTRESOURCE32A(32644)
1326 #define IDC_SIZEWE32W MAKEINTRESOURCE32W(32644)
1327 #define IDC_SIZEWE WINELIB_NAME_AW(IDC_SIZEWE)
1328 #define IDC_SIZENS16 MAKEINTRESOURCE16(32645)
1329 #define IDC_SIZENS32A MAKEINTRESOURCE32A(32645)
1330 #define IDC_SIZENS32W MAKEINTRESOURCE32W(32645)
1331 #define IDC_SIZENS WINELIB_NAME_AW(IDC_SIZENS)
1332 #define IDC_SIZEALL16 MAKEINTRESOURCE16(32646)
1333 #define IDC_SIZEALL32A MAKEINTRESOURCE32A(32646)
1334 #define IDC_SIZEALL32W MAKEINTRESOURCE32W(32646)
1335 #define IDC_SIZEALL WINELIB_NAME_AW(IDC_SIZEALL)
1336 #define IDC_NO16 MAKEINTRESOURCE16(32648)
1337 #define IDC_NO32A MAKEINTRESOURCE32A(32648)
1338 #define IDC_NO32W MAKEINTRESOURCE32W(32648)
1339 #define IDC_NO WINELIB_NAME_AW(IDC_NO)
1340 #define IDC_APPSTARTING16 MAKEINTRESOURCE16(32650)
1341 #define IDC_APPSTARTING32A MAKEINTRESOURCE32A(32650)
1342 #define IDC_APPSTARTING32W MAKEINTRESOURCE32W(32650)
1343 #define IDC_APPSTARTING WINELIB_NAME_AW(IDC_APPSTARTING)
1344 #define IDC_HELP16 MAKEINTRESOURCE16(32651)
1345 #define IDC_HELP32A MAKEINTRESOURCE32A(32651)
1346 #define IDC_HELP32W MAKEINTRESOURCE32W(32651)
1347 #define IDC_HELP WINELIB_NAME_AW(IDC_HELP)
1349 /* OEM Resource Ordinal Numbers */
1350 #define OBM_CLOSE 32754
1351 #define OBM_UPARROW 32753
1352 #define OBM_DNARROW 32752
1353 #define OBM_RGARROW 32751
1354 #define OBM_LFARROW 32750
1355 #define OBM_REDUCE 32749
1356 #define OBM_ZOOM 32748
1357 #define OBM_RESTORE 32747
1358 #define OBM_REDUCED 32746
1359 #define OBM_ZOOMD 32745
1360 #define OBM_RESTORED 32744
1361 #define OBM_UPARROWD 32743
1362 #define OBM_DNARROWD 32742
1363 #define OBM_RGARROWD 32741
1364 #define OBM_LFARROWD 32740
1365 #define OBM_MNARROW 32739
1366 #define OBM_COMBO 32738
1367 #define OBM_UPARROWI 32737
1368 #define OBM_DNARROWI 32736
1369 #define OBM_RGARROWI 32735
1370 #define OBM_LFARROWI 32734
1372 #define OBM_FOLDER 32733
1373 #define OBM_FOLDER2 32732
1374 #define OBM_FLOPPY 32731
1375 #define OBM_HDISK 32730
1376 #define OBM_CDROM 32729
1377 #define OBM_TRTYPE 32728
1379 /* Wine extension, I think. */
1380 #define OBM_RADIOCHECK 32727
1382 #define OBM_OLD_CLOSE 32767
1383 #define OBM_SIZE 32766
1384 #define OBM_OLD_UPARROW 32765
1385 #define OBM_OLD_DNARROW 32764
1386 #define OBM_OLD_RGARROW 32763
1387 #define OBM_OLD_LFARROW 32762
1388 #define OBM_BTSIZE 32761
1389 #define OBM_CHECK 32760
1390 #define OBM_CHECKBOXES 32759
1391 #define OBM_BTNCORNERS 32758
1392 #define OBM_OLD_REDUCE 32757
1393 #define OBM_OLD_ZOOM 32756
1394 #define OBM_OLD_RESTORE 32755
1396 #define OCR_BUMMER 100
1397 #define OCR_DRAGOBJECT 101
1399 #define OCR_NORMAL 32512
1400 #define OCR_IBEAM 32513
1401 #define OCR_WAIT 32514
1402 #define OCR_CROSS 32515
1403 #define OCR_UP 32516
1404 #define OCR_SIZE 32640
1405 #define OCR_ICON 32641
1406 #define OCR_SIZENWSE 32642
1407 #define OCR_SIZENESW 32643
1408 #define OCR_SIZEWE 32644
1409 #define OCR_SIZENS 32645
1410 #define OCR_SIZEALL 32646
1411 #define OCR_ICOCUR 32647
1412 #define OCR_NO 32648
1413 #define OCR_APPSTARTING 32650
1414 #define OCR_HELP 32651 /* only defined in wine */
1416 #define OIC_SAMPLE 32512
1417 #define OIC_HAND 32513
1418 #define OIC_QUES 32514
1419 #define OIC_BANG 32515
1420 #define OIC_NOTE 32516
1421 #define OIC_PORTRAIT 32517
1422 #define OIC_LANDSCAPE 32518
1423 #define OIC_WINEICON 32519
1426 /* DragObject stuff */
1428 typedef struct
1430 HWND16 hWnd;
1431 HANDLE16 hScope;
1432 WORD wFlags;
1433 HANDLE16 hList;
1434 HANDLE16 hOfStruct;
1435 POINT16 pt WINE_PACKED;
1436 LONG l WINE_PACKED;
1437 } DRAGINFO, *LPDRAGINFO;
1439 #define DRAGOBJ_PROGRAM 0x0001
1440 #define DRAGOBJ_DATA 0x0002
1441 #define DRAGOBJ_DIRECTORY 0x0004
1442 #define DRAGOBJ_MULTIPLE 0x0008
1443 #define DRAGOBJ_EXTERNAL 0x8000
1445 #define DRAG_PRINT 0x544E5250
1446 #define DRAG_FILE 0x454C4946
1448 /* Messages */
1450 #define WM_NULL 0x0000
1451 #define WM_CREATE 0x0001
1452 #define WM_DESTROY 0x0002
1453 #define WM_MOVE 0x0003
1454 #define WM_SIZEWAIT 0x0004
1455 #define WM_SIZE 0x0005
1456 #define WM_ACTIVATE 0x0006
1457 #define WM_SETFOCUS 0x0007
1458 #define WM_KILLFOCUS 0x0008
1459 #define WM_SETVISIBLE 0x0009
1460 #define WM_ENABLE 0x000a
1461 #define WM_SETREDRAW 0x000b
1462 #define WM_SETTEXT 0x000c
1463 #define WM_GETTEXT 0x000d
1464 #define WM_GETTEXTLENGTH 0x000e
1465 #define WM_PAINT 0x000f
1466 #define WM_CLOSE 0x0010
1467 #define WM_QUERYENDSESSION 0x0011
1468 #define WM_QUIT 0x0012
1469 #define WM_QUERYOPEN 0x0013
1470 #define WM_ERASEBKGND 0x0014
1471 #define WM_SYSCOLORCHANGE 0x0015
1472 #define WM_ENDSESSION 0x0016
1473 #define WM_SYSTEMERROR 0x0017
1474 #define WM_SHOWWINDOW 0x0018
1475 #define WM_CTLCOLOR 0x0019
1476 #define WM_WININICHANGE 0x001a
1477 #define WM_SETTINGCHANGE WM_WININICHANGE
1478 #define WM_DEVMODECHANGE 0x001b
1479 #define WM_ACTIVATEAPP 0x001c
1480 #define WM_FONTCHANGE 0x001d
1481 #define WM_TIMECHANGE 0x001e
1482 #define WM_CANCELMODE 0x001f
1483 #define WM_SETCURSOR 0x0020
1484 #define WM_MOUSEACTIVATE 0x0021
1485 #define WM_CHILDACTIVATE 0x0022
1486 #define WM_QUEUESYNC 0x0023
1487 #define WM_GETMINMAXINFO 0x0024
1489 #define WM_PAINTICON 0x0026
1490 #define WM_ICONERASEBKGND 0x0027
1491 #define WM_NEXTDLGCTL 0x0028
1492 #define WM_ALTTABACTIVE 0x0029
1493 #define WM_SPOOLERSTATUS 0x002a
1494 #define WM_DRAWITEM 0x002b
1495 #define WM_MEASUREITEM 0x002c
1496 #define WM_DELETEITEM 0x002d
1497 #define WM_VKEYTOITEM 0x002e
1498 #define WM_CHARTOITEM 0x002f
1499 #define WM_SETFONT 0x0030
1500 #define WM_GETFONT 0x0031
1501 #define WM_SETHOTKEY 0x0032
1502 #define WM_GETHOTKEY 0x0033
1503 #define WM_FILESYSCHANGE 0x0034
1504 #define WM_ISACTIVEICON 0x0035
1505 #define WM_QUERYPARKICON 0x0036
1506 #define WM_QUERYDRAGICON 0x0037
1507 #define WM_QUERYSAVESTATE 0x0038
1508 #define WM_COMPAREITEM 0x0039
1509 #define WM_TESTING 0x003a
1511 #define WM_OTHERWINDOWCREATED 0x003c
1512 #define WM_OTHERWINDOWDESTROYED 0x003d
1513 #define WM_ACTIVATESHELLWINDOW 0x003e
1515 #define WM_COMPACTING 0x0041
1517 #define WM_COMMNOTIFY 0x0044
1518 #define WM_WINDOWPOSCHANGING 0x0046
1519 #define WM_WINDOWPOSCHANGED 0x0047
1520 #define WM_POWER 0x0048
1522 /* Win32 4.0 messages */
1523 #define WM_COPYDATA 0x004a
1524 #define WM_CANCELJOURNAL 0x004b
1525 #define WM_NOTIFY 0x004e
1526 #define WM_HELP 0x0053
1527 #define WM_NOTIFYFORMAT 0x0055
1529 #define WM_CONTEXTMENU 0x007b
1530 #define WM_STYLECHANGING 0x007c
1531 #define WM_STYLECHANGED 0x007d
1532 #define WM_DISPLAYCHANGE 0x007e
1533 #define WM_GETICON 0x007f
1534 #define WM_SETICON 0x0080
1536 /* Non-client system messages */
1537 #define WM_NCCREATE 0x0081
1538 #define WM_NCDESTROY 0x0082
1539 #define WM_NCCALCSIZE 0x0083
1540 #define WM_NCHITTEST 0x0084
1541 #define WM_NCPAINT 0x0085
1542 #define WM_NCACTIVATE 0x0086
1544 #define WM_GETDLGCODE 0x0087
1545 #define WM_SYNCPAINT 0x0088
1546 #define WM_SYNCTASK 0x0089
1548 /* Non-client mouse messages */
1549 #define WM_NCMOUSEMOVE 0x00a0
1550 #define WM_NCLBUTTONDOWN 0x00a1
1551 #define WM_NCLBUTTONUP 0x00a2
1552 #define WM_NCLBUTTONDBLCLK 0x00a3
1553 #define WM_NCRBUTTONDOWN 0x00a4
1554 #define WM_NCRBUTTONUP 0x00a5
1555 #define WM_NCRBUTTONDBLCLK 0x00a6
1556 #define WM_NCMBUTTONDOWN 0x00a7
1557 #define WM_NCMBUTTONUP 0x00a8
1558 #define WM_NCMBUTTONDBLCLK 0x00a9
1560 /* Keyboard messages */
1561 #define WM_KEYDOWN 0x0100
1562 #define WM_KEYUP 0x0101
1563 #define WM_CHAR 0x0102
1564 #define WM_DEADCHAR 0x0103
1565 #define WM_SYSKEYDOWN 0x0104
1566 #define WM_SYSKEYUP 0x0105
1567 #define WM_SYSCHAR 0x0106
1568 #define WM_SYSDEADCHAR 0x0107
1569 #define WM_KEYFIRST WM_KEYDOWN
1570 #define WM_KEYLAST 0x0108
1572 #define WM_INITDIALOG 0x0110
1573 #define WM_COMMAND 0x0111
1574 #define WM_SYSCOMMAND 0x0112
1575 #define WM_TIMER 0x0113
1576 #define WM_SYSTIMER 0x0118
1578 /* scroll messages */
1579 #define WM_HSCROLL 0x0114
1580 #define WM_VSCROLL 0x0115
1582 /* Menu messages */
1583 #define WM_INITMENU 0x0116
1584 #define WM_INITMENUPOPUP 0x0117
1586 #define WM_MENUSELECT 0x011F
1587 #define WM_MENUCHAR 0x0120
1588 #define WM_ENTERIDLE 0x0121
1590 #define WM_LBTRACKPOINT 0x0131
1592 /* Win32 CTLCOLOR messages */
1593 #define WM_CTLCOLORMSGBOX 0x0132
1594 #define WM_CTLCOLOREDIT 0x0133
1595 #define WM_CTLCOLORLISTBOX 0x0134
1596 #define WM_CTLCOLORBTN 0x0135
1597 #define WM_CTLCOLORDLG 0x0136
1598 #define WM_CTLCOLORSCROLLBAR 0x0137
1599 #define WM_CTLCOLORSTATIC 0x0138
1601 /* Mouse messages */
1602 #define WM_MOUSEMOVE 0x0200
1603 #define WM_LBUTTONDOWN 0x0201
1604 #define WM_LBUTTONUP 0x0202
1605 #define WM_LBUTTONDBLCLK 0x0203
1606 #define WM_RBUTTONDOWN 0x0204
1607 #define WM_RBUTTONUP 0x0205
1608 #define WM_RBUTTONDBLCLK 0x0206
1609 #define WM_MBUTTONDOWN 0x0207
1610 #define WM_MBUTTONUP 0x0208
1611 #define WM_MBUTTONDBLCLK 0x0209
1612 #define WM_MOUSEFIRST WM_MOUSEMOVE
1613 #define WM_MOUSELAST WM_MBUTTONDBLCLK
1615 #define WM_PARENTNOTIFY 0x0210
1616 #define WM_ENTERMENULOOP 0x0211
1617 #define WM_EXITMENULOOP 0x0212
1618 #define WM_NEXTMENU 0x0213
1620 /* Win32 4.0 messages */
1621 #define WM_SIZING 0x0214
1622 #define WM_CAPTURECHANGED 0x0215
1623 #define WM_MOVING 0x0216
1625 /* MDI messages */
1626 #define WM_MDICREATE 0x0220
1627 #define WM_MDIDESTROY 0x0221
1628 #define WM_MDIACTIVATE 0x0222
1629 #define WM_MDIRESTORE 0x0223
1630 #define WM_MDINEXT 0x0224
1631 #define WM_MDIMAXIMIZE 0x0225
1632 #define WM_MDITILE 0x0226
1633 #define WM_MDICASCADE 0x0227
1634 #define WM_MDIICONARRANGE 0x0228
1635 #define WM_MDIGETACTIVE 0x0229
1636 #define WM_MDIREFRESHMENU 0x0234
1638 /* D&D messages */
1639 #define WM_DROPOBJECT 0x022A
1640 #define WM_QUERYDROPOBJECT 0x022B
1641 #define WM_BEGINDRAG 0x022C
1642 #define WM_DRAGLOOP 0x022D
1643 #define WM_DRAGSELECT 0x022E
1644 #define WM_DRAGMOVE 0x022F
1645 #define WM_MDISETMENU 0x0230
1647 #define WM_ENTERSIZEMOVE 0x0231
1648 #define WM_EXITSIZEMOVE 0x0232
1649 #define WM_DROPFILES 0x0233
1651 #define WM_CUT 0x0300
1652 #define WM_COPY 0x0301
1653 #define WM_PASTE 0x0302
1654 #define WM_CLEAR 0x0303
1655 #define WM_UNDO 0x0304
1656 #define WM_RENDERFORMAT 0x0305
1657 #define WM_RENDERALLFORMATS 0x0306
1658 #define WM_DESTROYCLIPBOARD 0x0307
1659 #define WM_DRAWCLIPBOARD 0x0308
1660 #define WM_PAINTCLIPBOARD 0x0309
1661 #define WM_VSCROLLCLIPBOARD 0x030A
1662 #define WM_SIZECLIPBOARD 0x030B
1663 #define WM_ASKCBFORMATNAME 0x030C
1664 #define WM_CHANGECBCHAIN 0x030D
1665 #define WM_HSCROLLCLIPBOARD 0x030E
1666 #define WM_QUERYNEWPALETTE 0x030F
1667 #define WM_PALETTEISCHANGING 0x0310
1668 #define WM_PALETTECHANGED 0x0311
1669 #define WM_HOTKEY 0x0312
1671 #define WM_PRINT 0x0317
1672 #define WM_PRINTCLIENT 0x0318
1674 /* MFC messages [370-37f] */
1676 #define WM_QUERYAFXWNDPROC 0x0360
1677 #define WM_SIZEPARENT 0x0361
1678 #define WM_SETMESSAGESTRING 0x0362
1679 #define WM_IDLEUPDATECMDUI 0x0363
1680 #define WM_INITIALUPDATE 0x0364
1681 #define WM_COMMANDHELP 0x0365
1682 #define WM_HELPHITTEST 0x0366
1683 #define WM_EXITHELPMODE 0x0367
1684 #define WM_RECALCPARENT 0x0368
1685 #define WM_SIZECHILD 0x0369
1686 #define WM_KICKIDLE 0x036A
1687 #define WM_QUERYCENTERWND 0x036B
1688 #define WM_DISABLEMODAL 0x036C
1689 #define WM_FLOATSTATUS 0x036D
1690 #define WM_ACTIVATETOPLEVEL 0x036E
1691 #define WM_QUERY3DCONTROLS 0x036F
1692 #define WM_SOCKET_NOTIFY 0x0373
1693 #define WM_SOCKET_DEAD 0x0374
1694 #define WM_POPMESSAGESTRING 0x0375
1695 #define WM_OCC_LOADFROMSTREAM 0x0376
1696 #define WM_OCC_LOADFROMSTORAGE 0x0377
1697 #define WM_OCC_INITNEW 0x0378
1698 #define WM_OCC_LOADFROMSTREAM_EX 0x037A
1699 #define WM_OCC_LOADFROMSTORAGE_EX 0x037B
1700 #define WM_QUEUE_SENTINEL 0x0379
1702 /* end of MFC messages */
1704 #define WM_COALESCE_FIRST 0x0390
1705 #define WM_COALESCE_LAST 0x039F
1707 /* misc messages */
1708 #define WM_NULL 0x0000
1709 #define WM_CPL_LAUNCH (WM_USER + 1000)
1710 #define WM_CPL_LAUNCHED (WM_USER + 1001)
1712 /* WM_NOTIFYFORMAT commands and return values */
1713 #define NFR_ANSI 1
1714 #define NFR_UNICODE 2
1715 #define NF_QUERY 3
1716 #define NF_REQUERY 4
1718 /* Key status flags for mouse events */
1719 #define MK_LBUTTON 0x0001
1720 #define MK_RBUTTON 0x0002
1721 #define MK_SHIFT 0x0004
1722 #define MK_CONTROL 0x0008
1723 #define MK_MBUTTON 0x0010
1725 /* keybd_event flags */
1726 #define KEYEVENTF_EXTENDEDKEY 0x0001
1727 #define KEYEVENTF_KEYUP 0x0002
1728 #define KEYEVENTF_WINE_FORCEEXTENDED 0x8000
1730 /* mouse_event flags */
1731 #define MOUSEEVENTF_MOVE 0x0001
1732 #define MOUSEEVENTF_LEFTDOWN 0x0002
1733 #define MOUSEEVENTF_LEFTUP 0x0004
1734 #define MOUSEEVENTF_RIGHTDOWN 0x0008
1735 #define MOUSEEVENTF_RIGHTUP 0x0010
1736 #define MOUSEEVENTF_MIDDLEDOWN 0x0020
1737 #define MOUSEEVENTF_MIDDLEUP 0x0040
1738 #define MOUSEEVENTF_ABSOLUTE 0x8000
1740 /* Queue status flags */
1741 #define QS_KEY 0x0001
1742 #define QS_MOUSEMOVE 0x0002
1743 #define QS_MOUSEBUTTON 0x0004
1744 #define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON)
1745 #define QS_POSTMESSAGE 0x0008
1746 #define QS_TIMER 0x0010
1747 #define QS_PAINT 0x0020
1748 #define QS_SENDMESSAGE 0x0040
1749 #define QS_ALLINPUT 0x007f
1751 /* PeekMessage() options */
1752 #define PM_NOREMOVE 0x0000
1753 #define PM_REMOVE 0x0001
1754 #define PM_NOYIELD 0x0002
1756 #define WM_SHOWWINDOW 0x0018
1758 /* WM_SHOWWINDOW wParam codes */
1759 #define SW_PARENTCLOSING 1
1760 #define SW_OTHERMAXIMIZED 2
1761 #define SW_PARENTOPENING 3
1762 #define SW_OTHERRESTORED 4
1764 /* ShowWindow() codes */
1765 #define SW_HIDE 0
1766 #define SW_SHOWNORMAL 1
1767 #define SW_NORMAL 1
1768 #define SW_SHOWMINIMIZED 2
1769 #define SW_SHOWMAXIMIZED 3
1770 #define SW_MAXIMIZE 3
1771 #define SW_SHOWNOACTIVATE 4
1772 #define SW_SHOW 5
1773 #define SW_MINIMIZE 6
1774 #define SW_SHOWMINNOACTIVE 7
1775 #define SW_SHOWNA 8
1776 #define SW_RESTORE 9
1777 #define SW_SHOWDEFAULT 10
1778 #define SW_MAX 10
1779 #define SW_NORMALNA 0xCC /* undoc. flag in MinMaximize */
1781 /* WM_SIZE message wParam values */
1782 #define SIZE_RESTORED 0
1783 #define SIZE_MINIMIZED 1
1784 #define SIZE_MAXIMIZED 2
1785 #define SIZE_MAXSHOW 3
1786 #define SIZE_MAXHIDE 4
1787 #define SIZENORMAL SIZE_RESTORED
1788 #define SIZEICONIC SIZE_MINIMIZED
1789 #define SIZEFULLSCREEN SIZE_MAXIMIZED
1790 #define SIZEZOOMSHOW SIZE_MAXSHOW
1791 #define SIZEZOOMHIDE SIZE_MAXHIDE
1793 /* SetWindowPos() and WINDOWPOS flags */
1794 #define SWP_NOSIZE 0x0001
1795 #define SWP_NOMOVE 0x0002
1796 #define SWP_NOZORDER 0x0004
1797 #define SWP_NOREDRAW 0x0008
1798 #define SWP_NOACTIVATE 0x0010
1799 #define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */
1800 #define SWP_SHOWWINDOW 0x0040
1801 #define SWP_HIDEWINDOW 0x0080
1802 #define SWP_NOCOPYBITS 0x0100
1803 #define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */
1805 #define SWP_DRAWFRAME SWP_FRAMECHANGED
1806 #define SWP_NOREPOSITION SWP_NOOWNERZORDER
1808 #define SWP_NOSENDCHANGING 0x0400
1809 #define SWP_DEFERERASE 0x2000
1811 #define HWND_DESKTOP ((HWND32)0)
1812 #define HWND_BROADCAST ((HWND32)0xffff)
1814 /* SetWindowPos() hwndInsertAfter field values */
1815 #define HWND_TOP ((HWND32)0)
1816 #define HWND_BOTTOM ((HWND32)1)
1817 #define HWND_TOPMOST ((HWND32)-1)
1818 #define HWND_NOTOPMOST ((HWND32)-2)
1820 #define MF_INSERT 0x0000
1821 #define MF_CHANGE 0x0080
1822 #define MF_APPEND 0x0100
1823 #define MF_DELETE 0x0200
1824 #define MF_REMOVE 0x1000
1825 #define MF_END 0x0080
1827 #define MF_ENABLED 0x0000
1828 #define MF_GRAYED 0x0001
1829 #define MF_DISABLED 0x0002
1830 #define MF_STRING 0x0000
1831 #define MF_BITMAP 0x0004
1832 #define MF_UNCHECKED 0x0000
1833 #define MF_CHECKED 0x0008
1834 #define MF_POPUP 0x0010
1835 #define MF_MENUBARBREAK 0x0020
1836 #define MF_MENUBREAK 0x0040
1837 #define MF_UNHILITE 0x0000
1838 #define MF_HILITE 0x0080
1839 #define MF_OWNERDRAW 0x0100
1840 #define MF_USECHECKBITMAPS 0x0200
1841 #define MF_BYCOMMAND 0x0000
1842 #define MF_BYPOSITION 0x0400
1843 #define MF_SEPARATOR 0x0800
1844 #define MF_DEFAULT 0x1000
1845 #define MF_SYSMENU 0x2000
1846 #define MF_HELP 0x4000
1847 #define MF_RIGHTJUSTIFY 0x4000
1848 #define MF_MOUSESELECT 0x8000
1850 /* Flags for extended menu item types. */
1851 #define MFT_STRING MF_STRING
1852 #define MFT_BITMAP MF_BITMAP
1853 #define MFT_MENUBARBREAK MF_MENUBARBREAK
1854 #define MFT_MENUBREAK MF_MENUBREAK
1855 #define MFT_OWNERDRAW MF_OWNERDRAW
1856 #define MFT_RADIOCHECK 0x00000200L
1857 #define MFT_SEPARATOR MF_SEPARATOR
1858 #define MFT_RIGHTORDER 0x00002000L
1859 #define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY
1861 /* Flags for extended menu item states. */
1862 #define MFS_GRAYED 0x00000003L
1863 #define MFS_DISABLED MFS_GRAYED
1864 #define MFS_CHECKED MF_CHECKED
1865 #define MFS_HILITE MF_HILITE
1866 #define MFS_ENABLED MF_ENABLED
1867 #define MFS_UNCHECKED MF_UNCHECKED
1868 #define MFS_UNHILITE MF_UNHILITE
1869 #define MFS_DEFAULT MF_DEFAULT
1871 #ifndef NOWINOFFSETS
1872 #define GCW_HBRBACKGROUND (-10)
1873 #endif
1875 #define MB_OK 0x00000000
1876 #define MB_OKCANCEL 0x00000001
1877 #define MB_ABORTRETRYIGNORE 0x00000002
1878 #define MB_YESNOCANCEL 0x00000003
1879 #define MB_YESNO 0x00000004
1880 #define MB_RETRYCANCEL 0x00000005
1881 #define MB_TYPEMASK 0x0000000F
1883 #define MB_ICONHAND 0x00000010
1884 #define MB_ICONQUESTION 0x00000020
1885 #define MB_ICONEXCLAMATION 0x00000030
1886 #define MB_ICONASTERISK 0x00000040
1887 #define MB_USERICON 0x00000080
1888 #define MB_ICONMASK 0x000000F0
1890 #define MB_ICONINFORMATION MB_ICONASTERISK
1891 #define MB_ICONSTOP MB_ICONHAND
1892 #define MB_ICONWARNING MB_ICONEXCLAMATION
1893 #define MB_ICONERROR MB_ICONHAND
1895 #define MB_DEFBUTTON1 0x00000000
1896 #define MB_DEFBUTTON2 0x00000100
1897 #define MB_DEFBUTTON3 0x00000200
1898 #define MB_DEFBUTTON4 0x00000300
1899 #define MB_DEFMASK 0x00000F00
1901 #define MB_APPLMODAL 0x00000000
1902 #define MB_SYSTEMMODAL 0x00001000
1903 #define MB_TASKMODAL 0x00002000
1904 #define MB_MODEMASK 0x00003000
1906 #define MB_HELP 0x00004000
1907 #define MB_NOFOCUS 0x00008000
1908 #define MB_MISCMASK 0x0000C000
1910 #define MB_SETFOREGROUND 0x00010000
1911 #define MB_DEFAULT_DESKTOP_ONLY 0x00020000
1912 #define MB_SERVICE_NOTIFICATION 0x00040000
1913 #define MB_TOPMOST 0x00040000
1914 #define MB_RIGHT 0x00080000
1915 #define MB_RTLREADING 0x00100000
1918 #define DT_TOP 0
1919 #define DT_LEFT 0
1920 #define DT_CENTER 1
1921 #define DT_RIGHT 2
1922 #define DT_VCENTER 4
1923 #define DT_BOTTOM 8
1924 #define DT_WORDBREAK 16
1925 #define DT_SINGLELINE 32
1926 #define DT_EXPANDTABS 64
1927 #define DT_TABSTOP 128
1928 #define DT_NOCLIP 256
1929 #define DT_EXTERNALLEADING 512
1930 #define DT_CALCRECT 1024
1931 #define DT_NOPREFIX 2048
1932 #define DT_INTERNAL 4096
1934 /* DrawCaption()/DrawCaptionTemp() flags */
1935 #define DC_ACTIVE 0x0001
1936 #define DC_SMALLCAP 0x0002
1937 #define DC_ICON 0x0004
1938 #define DC_TEXT 0x0008
1939 #define DC_INBUTTON 0x0010
1941 /* DrawEdge() flags */
1942 #define BDR_RAISEDOUTER 0x0001
1943 #define BDR_SUNKENOUTER 0x0002
1944 #define BDR_RAISEDINNER 0x0004
1945 #define BDR_SUNKENINNER 0x0008
1947 #define BDR_OUTER 0x0003
1948 #define BDR_INNER 0x000c
1949 #define BDR_RAISED 0x0005
1950 #define BDR_SUNKEN 0x000a
1952 #define EDGE_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER)
1953 #define EDGE_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER)
1954 #define EDGE_ETCHED (BDR_SUNKENOUTER | BDR_RAISEDINNER)
1955 #define EDGE_BUMP (BDR_RAISEDOUTER | BDR_SUNKENINNER)
1957 /* border flags */
1958 #define BF_LEFT 0x0001
1959 #define BF_TOP 0x0002
1960 #define BF_RIGHT 0x0004
1961 #define BF_BOTTOM 0x0008
1962 #define BF_DIAGONAL 0x0010
1963 #define BF_MIDDLE 0x0800 /* Fill in the middle */
1964 #define BF_SOFT 0x1000 /* For softer buttons */
1965 #define BF_ADJUST 0x2000 /* Calculate the space left over */
1966 #define BF_FLAT 0x4000 /* For flat rather than 3D borders */
1967 #define BF_MONO 0x8000 /* For monochrome borders */
1968 #define BF_TOPLEFT (BF_TOP | BF_LEFT)
1969 #define BF_TOPRIGHT (BF_TOP | BF_RIGHT)
1970 #define BF_BOTTOMLEFT (BF_BOTTOM | BF_LEFT)
1971 #define BF_BOTTOMRIGHT (BF_BOTTOM | BF_RIGHT)
1972 #define BF_RECT (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
1973 #define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL | BF_TOP | BF_RIGHT)
1974 #define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL | BF_TOP | BF_LEFT)
1975 #define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
1976 #define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
1978 /* DrawFrameControl() uType's */
1980 #define DFC_CAPTION 1
1981 #define DFC_MENU 2
1982 #define DFC_SCROLL 3
1983 #define DFC_BUTTON 4
1985 /* uState's */
1987 #define DFCS_CAPTIONCLOSE 0x0000
1988 #define DFCS_CAPTIONMIN 0x0001
1989 #define DFCS_CAPTIONMAX 0x0002
1990 #define DFCS_CAPTIONRESTORE 0x0003
1991 #define DFCS_CAPTIONHELP 0x0004 /* Windows 95 only */
1993 #define DFCS_MENUARROW 0x0000
1994 #define DFCS_MENUCHECK 0x0001
1995 #define DFCS_MENUBULLET 0x0002
1996 #define DFCS_MENUARROWRIGHT 0x0004
1998 #define DFCS_SCROLLUP 0x0000
1999 #define DFCS_SCROLLDOWN 0x0001
2000 #define DFCS_SCROLLLEFT 0x0002
2001 #define DFCS_SCROLLRIGHT 0x0003
2002 #define DFCS_SCROLLCOMBOBOX 0x0005
2003 #define DFCS_SCROLLSIZEGRIP 0x0008
2004 #define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
2006 #define DFCS_BUTTONCHECK 0x0000
2007 #define DFCS_BUTTONRADIOIMAGE 0x0001
2008 #define DFCS_BUTTONRADIOMASK 0x0002 /* to draw nonsquare button */
2009 #define DFCS_BUTTONRADIO 0x0004
2010 #define DFCS_BUTTON3STATE 0x0008
2011 #define DFCS_BUTTONPUSH 0x0010
2013 /* additional state of the control */
2015 #define DFCS_INACTIVE 0x0100
2016 #define DFCS_PUSHED 0x0200
2017 #define DFCS_CHECKED 0x0400
2018 #define DFCS_ADJUSTRECT 0x2000 /* exclude surrounding edge */
2019 #define DFCS_FLAT 0x4000
2020 #define DFCS_MONO 0x8000
2022 /* Image type */
2023 #define DST_COMPLEX 0x0000
2024 #define DST_TEXT 0x0001
2025 #define DST_PREFIXTEXT 0x0002
2026 #define DST_ICON 0x0003
2027 #define DST_BITMAP 0x0004
2029 /* State type */
2030 #define DSS_NORMAL 0x0000
2031 #define DSS_UNION 0x0010 /* Gray string appearance */
2032 #define DSS_DISABLED 0x0020
2033 #define DSS_DEFAULT 0x0040 /* Make it bold */
2034 #define DSS_MONO 0x0080
2035 #define DSS_RIGHT 0x8000
2037 /* Window Styles */
2038 #define WS_OVERLAPPED 0x00000000L
2039 #define WS_POPUP 0x80000000L
2040 #define WS_CHILD 0x40000000L
2041 #define WS_MINIMIZE 0x20000000L
2042 #define WS_VISIBLE 0x10000000L
2043 #define WS_DISABLED 0x08000000L
2044 #define WS_CLIPSIBLINGS 0x04000000L
2045 #define WS_CLIPCHILDREN 0x02000000L
2046 #define WS_MAXIMIZE 0x01000000L
2047 #define WS_CAPTION 0x00C00000L
2048 #define WS_BORDER 0x00800000L
2049 #define WS_DLGFRAME 0x00400000L
2050 #define WS_VSCROLL 0x00200000L
2051 #define WS_HSCROLL 0x00100000L
2052 #define WS_SYSMENU 0x00080000L
2053 #define WS_THICKFRAME 0x00040000L
2054 #define WS_GROUP 0x00020000L
2055 #define WS_TABSTOP 0x00010000L
2056 #define WS_MINIMIZEBOX 0x00020000L
2057 #define WS_MAXIMIZEBOX 0x00010000L
2058 #define WS_TILED WS_OVERLAPPED
2059 #define WS_ICONIC WS_MINIMIZE
2060 #define WS_SIZEBOX WS_THICKFRAME
2061 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
2062 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
2063 #define WS_CHILDWINDOW (WS_CHILD)
2064 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
2066 /* Window extended styles */
2067 #define WS_EX_DLGMODALFRAME 0x00000001L
2068 #define WS_EX_DRAGDETECT 0x00000002L
2069 #define WS_EX_NOPARENTNOTIFY 0x00000004L
2070 #define WS_EX_TOPMOST 0x00000008L
2071 #define WS_EX_ACCEPTFILES 0x00000010L
2072 #define WS_EX_TRANSPARENT 0x00000020L
2074 /* New Win95/WinNT4 styles */
2075 #define WS_EX_MDICHILD 0x00000040L
2076 #define WS_EX_TOOLWINDOW 0x00000080L
2077 #define WS_EX_WINDOWEDGE 0x00000100L
2078 #define WS_EX_CLIENTEDGE 0x00000200L
2079 #define WS_EX_CONTEXTHELP 0x00000400L
2080 #define WS_EX_RIGHT 0x00001000L
2081 #define WS_EX_LEFT 0x00000000L
2082 #define WS_EX_RTLREADING 0x00002000L
2083 #define WS_EX_LTRREADING 0x00000000L
2084 #define WS_EX_LEFTSCROLLBAR 0x00004000L
2085 #define WS_EX_RIGHTSCROLLBAR 0x00000000L
2086 #define WS_EX_CONTROLPARENT 0x00010000L
2087 #define WS_EX_STATICEDGE 0x00020000L
2088 #define WS_EX_APPWINDOW 0x00040000L
2090 #define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
2091 #define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
2093 /* Window scrolling */
2094 #define SW_SCROLLCHILDREN 0x0001
2095 #define SW_INVALIDATE 0x0002
2096 #define SW_ERASE 0x0004
2098 /* CreateWindow() coordinates */
2099 #define CW_USEDEFAULT16 ((INT16)0x8000)
2100 #define CW_USEDEFAULT32 ((INT32)0x80000000)
2101 #define CW_USEDEFAULT WINELIB_NAME(CW_USEDEFAULT)
2103 /* ChildWindowFromPointEx Flags */
2104 #define CWP_ALL 0x0000
2105 #define CWP_SKIPINVISIBLE 0x0001
2106 #define CWP_SKIPDISABLED 0x0002
2107 #define CWP_SKIPTRANSPARENT 0x0004
2109 /* Button control styles */
2110 #define BS_PUSHBUTTON 0x00000000L
2111 #define BS_DEFPUSHBUTTON 0x00000001L
2112 #define BS_CHECKBOX 0x00000002L
2113 #define BS_AUTOCHECKBOX 0x00000003L
2114 #define BS_RADIOBUTTON 0x00000004L
2115 #define BS_3STATE 0x00000005L
2116 #define BS_AUTO3STATE 0x00000006L
2117 #define BS_GROUPBOX 0x00000007L
2118 #define BS_USERBUTTON 0x00000008L
2119 #define BS_AUTORADIOBUTTON 0x00000009L
2120 #define BS_OWNERDRAW 0x0000000BL
2121 #define BS_LEFTTEXT 0x00000020L
2123 /* Win16 button control messages */
2124 #define BM_GETCHECK16 (WM_USER+0)
2125 #define BM_SETCHECK16 (WM_USER+1)
2126 #define BM_GETSTATE16 (WM_USER+2)
2127 #define BM_SETSTATE16 (WM_USER+3)
2128 #define BM_SETSTYLE16 (WM_USER+4)
2129 #define BM_CLICK16 WM_NULL /* Does not exist in Win16 */
2130 #define BM_GETIMAGE16 WM_NULL /* Does not exist in Win16 */
2131 #define BM_SETIMAGE16 WM_NULL /* Does not exist in Win16 */
2132 /* Win32 button control messages */
2133 #define BM_GETCHECK32 0x00f0
2134 #define BM_SETCHECK32 0x00f1
2135 #define BM_GETSTATE32 0x00f2
2136 #define BM_SETSTATE32 0x00f3
2137 #define BM_SETSTYLE32 0x00f4
2138 #define BM_CLICK32 0x00f5
2139 #define BM_GETIMAGE32 0x00f6
2140 #define BM_SETIMAGE32 0x00f7
2141 /* Winelib button control messages */
2142 #define BM_GETCHECK WINELIB_NAME(BM_GETCHECK)
2143 #define BM_SETCHECK WINELIB_NAME(BM_SETCHECK)
2144 #define BM_GETSTATE WINELIB_NAME(BM_GETSTATE)
2145 #define BM_SETSTATE WINELIB_NAME(BM_SETSTATE)
2146 #define BM_SETSTYLE WINELIB_NAME(BM_SETSTYLE)
2147 #define BM_CLICK WINELIB_NAME(BM_CLICK)
2148 #define BM_GETIMAGE WINELIB_NAME(BM_GETIMAGE)
2149 #define BM_SETIMAGE WINELIB_NAME(BM_SETIMAGE)
2151 /* Button notification codes */
2152 #define BN_CLICKED 0
2153 #define BN_PAINT 1
2154 #define BN_HILITE 2
2155 #define BN_UNHILITE 3
2156 #define BN_DISABLE 4
2157 #define BN_DOUBLECLICKED 5
2159 /* Static Control Styles */
2160 #define SS_LEFT 0x00000000L
2161 #define SS_CENTER 0x00000001L
2162 #define SS_RIGHT 0x00000002L
2163 #define SS_ICON 0x00000003L
2164 #define SS_BLACKRECT 0x00000004L
2165 #define SS_GRAYRECT 0x00000005L
2166 #define SS_WHITERECT 0x00000006L
2167 #define SS_BLACKFRAME 0x00000007L
2168 #define SS_GRAYFRAME 0x00000008L
2169 #define SS_WHITEFRAME 0x00000009L
2171 #define SS_SIMPLE 0x0000000BL
2172 #define SS_LEFTNOWORDWRAP 0x0000000CL
2174 #define SS_OWNERDRAW 0x0000000DL
2175 #define SS_BITMAP 0x0000000EL
2176 #define SS_ENHMETAFILE 0x0000000FL
2178 #define SS_ETCHEDHORZ 0x00000010L
2179 #define SS_ETCHEDVERT 0x00000011L
2180 #define SS_ETCHEDFRAME 0x00000012L
2181 #define SS_TYPEMASK 0x0000001FL
2183 #define SS_NOPREFIX 0x00000080L
2184 #define SS_NOTIFY 0x00000100L
2185 #define SS_CENTERIMAGE 0x00000200L
2186 #define SS_RIGHTJUST 0x00000400L
2187 #define SS_REALSIZEIMAGE 0x00000800L
2188 #define SS_SUNKEN 0x00001000L
2190 /* Static Control Messages */
2191 #define STM_SETICON16 (WM_USER+0)
2192 #define STM_SETICON32 0x0170
2193 #define STM_SETICON WINELIB_NAME(STM_SETICON)
2194 #define STM_GETICON16 (WM_USER+1)
2195 #define STM_GETICON32 0x0171
2196 #define STM_GETICON WINELIB_NAME(STM_GETICON)
2197 #define STM_SETIMAGE 0x0172
2198 #define STM_GETIMAGE 0x0173
2200 /* Owner draw control types */
2201 #define ODT_MENU 1
2202 #define ODT_LISTBOX 2
2203 #define ODT_COMBOBOX 3
2204 #define ODT_BUTTON 4
2206 /* Owner draw actions */
2207 #define ODA_DRAWENTIRE 0x0001
2208 #define ODA_SELECT 0x0002
2209 #define ODA_FOCUS 0x0004
2211 /* Owner draw state */
2212 #define ODS_SELECTED 0x0001
2213 #define ODS_GRAYED 0x0002
2214 #define ODS_DISABLED 0x0004
2215 #define ODS_CHECKED 0x0008
2216 #define ODS_FOCUS 0x0010
2218 /* Edit control styles */
2219 #define ES_LEFT 0x00000000
2220 #define ES_CENTER 0x00000001
2221 #define ES_RIGHT 0x00000002
2222 #define ES_MULTILINE 0x00000004
2223 #define ES_UPPERCASE 0x00000008
2224 #define ES_LOWERCASE 0x00000010
2225 #define ES_PASSWORD 0x00000020
2226 #define ES_AUTOVSCROLL 0x00000040
2227 #define ES_AUTOHSCROLL 0x00000080
2228 #define ES_NOHIDESEL 0x00000100
2229 #define ES_OEMCONVERT 0x00000400
2230 #define ES_READONLY 0x00000800
2231 #define ES_WANTRETURN 0x00001000
2232 #define ES_NUMBER 0x00002000
2234 /* Edit control messages */
2235 #define EM_GETSEL16 (WM_USER+0)
2236 #define EM_GETSEL32 0x00b0
2237 #define EM_GETSEL WINELIB_NAME(EM_GETSEL)
2238 #define EM_SETSEL16 (WM_USER+1)
2239 #define EM_SETSEL32 0x00b1
2240 #define EM_SETSEL WINELIB_NAME(EM_SETSEL)
2241 #define EM_GETRECT16 (WM_USER+2)
2242 #define EM_GETRECT32 0x00b2
2243 #define EM_GETRECT WINELIB_NAME(EM_GETRECT)
2244 #define EM_SETRECT16 (WM_USER+3)
2245 #define EM_SETRECT32 0x00b3
2246 #define EM_SETRECT WINELIB_NAME(EM_SETRECT)
2247 #define EM_SETRECTNP16 (WM_USER+4)
2248 #define EM_SETRECTNP32 0x00b4
2249 #define EM_SETRECTNP WINELIB_NAME(EM_SETRECTNP)
2250 #define EM_SCROLL16 (WM_USER+5)
2251 #define EM_SCROLL32 0x00b5
2252 #define EM_SCROLL WINELIB_NAME(EM_SCROLL)
2253 #define EM_LINESCROLL16 (WM_USER+6)
2254 #define EM_LINESCROLL32 0x00b6
2255 #define EM_LINESCROLL WINELIB_NAME(EM_LINESCROLL)
2256 #define EM_SCROLLCARET16 (WM_USER+7)
2257 #define EM_SCROLLCARET32 0x00b7
2258 #define EM_SCROLLCARET WINELIB_NAME(EM_SCROLLCARET)
2259 #define EM_GETMODIFY16 (WM_USER+8)
2260 #define EM_GETMODIFY32 0x00b8
2261 #define EM_GETMODIFY WINELIB_NAME(EM_GETMODIFY)
2262 #define EM_SETMODIFY16 (WM_USER+9)
2263 #define EM_SETMODIFY32 0x00b9
2264 #define EM_SETMODIFY WINELIB_NAME(EM_SETMODIFY)
2265 #define EM_GETLINECOUNT16 (WM_USER+10)
2266 #define EM_GETLINECOUNT32 0x00ba
2267 #define EM_GETLINECOUNT WINELIB_NAME(EM_GETLINECOUNT)
2268 #define EM_LINEINDEX16 (WM_USER+11)
2269 #define EM_LINEINDEX32 0x00bb
2270 #define EM_LINEINDEX WINELIB_NAME(EM_LINEINDEX)
2271 #define EM_SETHANDLE16 (WM_USER+12)
2272 #define EM_SETHANDLE32 0x00bc
2273 #define EM_SETHANDLE WINELIB_NAME(EM_SETHANDLE)
2274 #define EM_GETHANDLE16 (WM_USER+13)
2275 #define EM_GETHANDLE32 0x00bd
2276 #define EM_GETHANDLE WINELIB_NAME(EM_GETHANDLE)
2277 #define EM_GETTHUMB16 (WM_USER+14)
2278 #define EM_GETTHUMB32 0x00be
2279 #define EM_GETTHUMB WINELIB_NAME(EM_GETTHUMB)
2280 /* FIXME : missing from specs 0x00bf and 0x00c0 */
2281 #define EM_LINELENGTH16 (WM_USER+17)
2282 #define EM_LINELENGTH32 0x00c1
2283 #define EM_LINELENGTH WINELIB_NAME(EM_LINELENGTH)
2284 #define EM_REPLACESEL16 (WM_USER+18)
2285 #define EM_REPLACESEL32 0x00c2
2286 #define EM_REPLACESEL WINELIB_NAME(EM_REPLACESEL)
2287 /* FIXME : missing from specs 0x00c3 */
2288 #define EM_GETLINE16 (WM_USER+20)
2289 #define EM_GETLINE32 0x00c4
2290 #define EM_GETLINE WINELIB_NAME(EM_GETLINE)
2291 #define EM_LIMITTEXT16 (WM_USER+21)
2292 #define EM_LIMITTEXT32 0x00c5
2293 #define EM_LIMITTEXT WINELIB_NAME(EM_LIMITTEXT)
2294 #define EM_CANUNDO16 (WM_USER+22)
2295 #define EM_CANUNDO32 0x00c6
2296 #define EM_CANUNDO WINELIB_NAME(EM_CANUNDO)
2297 #define EM_UNDO16 (WM_USER+23)
2298 #define EM_UNDO32 0x00c7
2299 #define EM_UNDO WINELIB_NAME(EM_UNDO)
2300 #define EM_FMTLINES16 (WM_USER+24)
2301 #define EM_FMTLINES32 0x00c8
2302 #define EM_FMTLINES WINELIB_NAME(EM_FMTLINES)
2303 #define EM_LINEFROMCHAR16 (WM_USER+25)
2304 #define EM_LINEFROMCHAR32 0x00c9
2305 #define EM_LINEFROMCHAR WINELIB_NAME(EM_LINEFROMCHAR)
2306 /* FIXME : missing from specs 0x00ca */
2307 #define EM_SETTABSTOPS16 (WM_USER+27)
2308 #define EM_SETTABSTOPS32 0x00cb
2309 #define EM_SETTABSTOPS WINELIB_NAME(EM_SETTABSTOPS)
2310 #define EM_SETPASSWORDCHAR16 (WM_USER+28)
2311 #define EM_SETPASSWORDCHAR32 0x00cc
2312 #define EM_SETPASSWORDCHAR WINELIB_NAME(EM_SETPASSWORDCHAR)
2313 #define EM_EMPTYUNDOBUFFER16 (WM_USER+29)
2314 #define EM_EMPTYUNDOBUFFER32 0x00cd
2315 #define EM_EMPTYUNDOBUFFER WINELIB_NAME(EM_EMPTYUNDOBUFFER)
2316 #define EM_GETFIRSTVISIBLELINE16 (WM_USER+30)
2317 #define EM_GETFIRSTVISIBLELINE32 0x00ce
2318 #define EM_GETFIRSTVISIBLELINE WINELIB_NAME(EM_GETFIRSTVISIBLELINE)
2319 #define EM_SETREADONLY16 (WM_USER+31)
2320 #define EM_SETREADONLY32 0x00cf
2321 #define EM_SETREADONLY WINELIB_NAME(EM_SETREADONLY)
2322 #define EM_SETWORDBREAKPROC16 (WM_USER+32)
2323 #define EM_SETWORDBREAKPROC32 0x00d0
2324 #define EM_SETWORDBREAKPROC WINELIB_NAME(EM_SETWORDBREAKPROC)
2325 #define EM_GETWORDBREAKPROC16 (WM_USER+33)
2326 #define EM_GETWORDBREAKPROC32 0x00d1
2327 #define EM_GETWORDBREAKPROC WINELIB_NAME(EM_GETWORDBREAKPROC)
2328 #define EM_GETPASSWORDCHAR16 (WM_USER+34)
2329 #define EM_GETPASSWORDCHAR32 0x00d2
2330 #define EM_GETPASSWORDCHAR WINELIB_NAME(EM_GETPASSWORDCHAR)
2331 #define EM_SETMARGINS16 WM_NULL /* not in win16 */
2332 #define EM_SETMARGINS32 0x00d3
2333 #define EM_SETMARGINS WINELIB_NAME(EM_SETMARGINS)
2334 #define EM_GETMARGINS16 WM_NULL /* not in win16 */
2335 #define EM_GETMARGINS32 0x00d4
2336 #define EM_GETMARGINS WINELIB_NAME(EM_GETMARGINS)
2337 #define EM_GETLIMITTEXT16 WM_NULL /* not in win16 */
2338 #define EM_GETLIMITTEXT32 0x00d5
2339 #define EM_GETLIMITTEXT WINELIB_NAME(EM_GETLIMITTEXT)
2340 #define EM_POSFROMCHAR16 WM_NULL /* not in win16 */
2341 #define EM_POSFROMCHAR32 0x00d6
2342 #define EM_POSFROMCHAR WINELIB_NAME(EM_POSFROMCHAR)
2343 #define EM_CHARFROMPOS16 WM_NULL /* not in win16 */
2344 #define EM_CHARFROMPOS32 0x00d7
2345 #define EM_CHARFROMPOS WINELIB_NAME(EM_CHARFROMPOS)
2346 /* a name change since win95 */
2347 #define EM_SETLIMITTEXT16 WM_NULL /* no name change in win16 */
2348 #define EM_SETLIMITTEXT32 EM_LIMITTEXT32
2349 #define EM_SETLIMITTEXT WINELIB_NAME(EM_SETLIMITTEXT)
2351 /* EDITWORDBREAKPROC code values */
2352 #define WB_LEFT 0
2353 #define WB_RIGHT 1
2354 #define WB_ISDELIMITER 2
2356 /* Edit control notification codes */
2357 #define EN_SETFOCUS 0x0100
2358 #define EN_KILLFOCUS 0x0200
2359 #define EN_CHANGE 0x0300
2360 #define EN_UPDATE 0x0400
2361 #define EN_ERRSPACE 0x0500
2362 #define EN_MAXTEXT 0x0501
2363 #define EN_HSCROLL 0x0601
2364 #define EN_VSCROLL 0x0602
2366 /* New since win95 : EM_SETMARGIN parameters */
2367 #define EC_LEFTMARGIN 0x0001
2368 #define EC_RIGHTMARGIN 0x0002
2369 #define EC_USEFONTINFO 0xffff
2372 typedef struct
2374 UINT16 CtlType;
2375 UINT16 CtlID;
2376 UINT16 itemID;
2377 UINT16 itemAction;
2378 UINT16 itemState;
2379 HWND16 hwndItem;
2380 HDC16 hDC;
2381 RECT16 rcItem WINE_PACKED;
2382 DWORD itemData WINE_PACKED;
2383 } DRAWITEMSTRUCT16, *PDRAWITEMSTRUCT16, *LPDRAWITEMSTRUCT16;
2385 typedef struct
2387 UINT32 CtlType;
2388 UINT32 CtlID;
2389 UINT32 itemID;
2390 UINT32 itemAction;
2391 UINT32 itemState;
2392 HWND32 hwndItem;
2393 HDC32 hDC;
2394 RECT32 rcItem WINE_PACKED;
2395 DWORD itemData WINE_PACKED;
2396 } DRAWITEMSTRUCT32, *PDRAWITEMSTRUCT32, *LPDRAWITEMSTRUCT32;
2398 DECL_WINELIB_TYPE(DRAWITEMSTRUCT)
2399 DECL_WINELIB_TYPE(PDRAWITEMSTRUCT)
2400 DECL_WINELIB_TYPE(LPDRAWITEMSTRUCT)
2402 typedef struct
2404 UINT16 CtlType;
2405 UINT16 CtlID;
2406 UINT16 itemID;
2407 UINT16 itemWidth;
2408 UINT16 itemHeight;
2409 DWORD itemData WINE_PACKED;
2410 } MEASUREITEMSTRUCT16, *PMEASUREITEMSTRUCT16, *LPMEASUREITEMSTRUCT16;
2412 typedef struct
2414 UINT32 CtlType;
2415 UINT32 CtlID;
2416 UINT32 itemID;
2417 UINT32 itemWidth;
2418 UINT32 itemHeight;
2419 DWORD itemData;
2420 } MEASUREITEMSTRUCT32, *PMEASUREITEMSTRUCT32, *LPMEASUREITEMSTRUCT32;
2422 DECL_WINELIB_TYPE(MEASUREITEMSTRUCT)
2423 DECL_WINELIB_TYPE(PMEASUREITEMSTRUCT)
2424 DECL_WINELIB_TYPE(LPMEASUREITEMSTRUCT)
2426 typedef struct
2428 UINT16 CtlType;
2429 UINT16 CtlID;
2430 UINT16 itemID;
2431 HWND16 hwndItem;
2432 DWORD itemData;
2433 } DELETEITEMSTRUCT16, *LPDELETEITEMSTRUCT16;
2435 typedef struct
2437 UINT32 CtlType;
2438 UINT32 CtlID;
2439 UINT32 itemID;
2440 HWND32 hwndItem;
2441 DWORD itemData;
2442 } DELETEITEMSTRUCT32, *LPDELETEITEMSTRUCT32;
2444 DECL_WINELIB_TYPE(DELETEITEMSTRUCT)
2445 DECL_WINELIB_TYPE(LPDELETEITEMSTRUCT)
2447 typedef struct
2449 UINT16 CtlType;
2450 UINT16 CtlID;
2451 HWND16 hwndItem;
2452 UINT16 itemID1;
2453 DWORD itemData1;
2454 UINT16 itemID2;
2455 DWORD itemData2 WINE_PACKED;
2456 } COMPAREITEMSTRUCT16, *LPCOMPAREITEMSTRUCT16;
2458 typedef struct
2460 UINT32 CtlType;
2461 UINT32 CtlID;
2462 HWND32 hwndItem;
2463 UINT32 itemID1;
2464 DWORD itemData1;
2465 UINT32 itemID2;
2466 DWORD itemData2;
2467 DWORD dwLocaleId;
2468 } COMPAREITEMSTRUCT32, *LPCOMPAREITEMSTRUCT32;
2470 DECL_WINELIB_TYPE(COMPAREITEMSTRUCT)
2471 DECL_WINELIB_TYPE(LPCOMPAREITEMSTRUCT)
2473 /* WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags */
2474 #define KF_EXTENDED 0x0100
2475 #define KF_DLGMODE 0x0800
2476 #define KF_MENUMODE 0x1000
2477 #define KF_ALTDOWN 0x2000
2478 #define KF_REPEAT 0x4000
2479 #define KF_UP 0x8000
2481 /* Virtual key codes */
2482 #define VK_LBUTTON 0x01
2483 #define VK_RBUTTON 0x02
2484 #define VK_CANCEL 0x03
2485 #define VK_MBUTTON 0x04
2486 /* 0x05-0x07 Undefined */
2487 #define VK_BACK 0x08
2488 #define VK_TAB 0x09
2489 /* 0x0A-0x0B Undefined */
2490 #define VK_CLEAR 0x0C
2491 #define VK_RETURN 0x0D
2492 /* 0x0E-0x0F Undefined */
2493 #define VK_SHIFT 0x10
2494 #define VK_CONTROL 0x11
2495 #define VK_MENU 0x12
2496 #define VK_PAUSE 0x13
2497 #define VK_CAPITAL 0x14
2498 /* 0x15-0x19 Reserved for Kanji systems */
2499 /* 0x1A Undefined */
2500 #define VK_ESCAPE 0x1B
2501 /* 0x1C-0x1F Reserved for Kanji systems */
2502 #define VK_SPACE 0x20
2503 #define VK_PRIOR 0x21
2504 #define VK_NEXT 0x22
2505 #define VK_END 0x23
2506 #define VK_HOME 0x24
2507 #define VK_LEFT 0x25
2508 #define VK_UP 0x26
2509 #define VK_RIGHT 0x27
2510 #define VK_DOWN 0x28
2511 #define VK_SELECT 0x29
2512 #define VK_PRINT 0x2A /* OEM specific in Windows 3.1 SDK */
2513 #define VK_EXECUTE 0x2B
2514 #define VK_SNAPSHOT 0x2C
2515 #define VK_INSERT 0x2D
2516 #define VK_DELETE 0x2E
2517 #define VK_HELP 0x2F
2518 #define VK_0 0x30
2519 #define VK_1 0x31
2520 #define VK_2 0x32
2521 #define VK_3 0x33
2522 #define VK_4 0x34
2523 #define VK_5 0x35
2524 #define VK_6 0x36
2525 #define VK_7 0x37
2526 #define VK_8 0x38
2527 #define VK_9 0x39
2528 /* 0x3A-0x40 Undefined */
2529 #define VK_A 0x41
2530 #define VK_B 0x42
2531 #define VK_C 0x43
2532 #define VK_D 0x44
2533 #define VK_E 0x45
2534 #define VK_F 0x46
2535 #define VK_G 0x47
2536 #define VK_H 0x48
2537 #define VK_I 0x49
2538 #define VK_J 0x4A
2539 #define VK_K 0x4B
2540 #define VK_L 0x4C
2541 #define VK_M 0x4D
2542 #define VK_N 0x4E
2543 #define VK_O 0x4F
2544 #define VK_P 0x50
2545 #define VK_Q 0x51
2546 #define VK_R 0x52
2547 #define VK_S 0x53
2548 #define VK_T 0x54
2549 #define VK_U 0x55
2550 #define VK_V 0x56
2551 #define VK_W 0x57
2552 #define VK_X 0x58
2553 #define VK_Y 0x59
2554 #define VK_Z 0x5A
2556 #define VK_LWIN 0x5B
2557 #define VK_RWIN 0x5C
2558 #define VK_APPS 0x5D
2559 /* 0x5E-0x5F Unassigned */
2560 #define VK_NUMPAD0 0x60
2561 #define VK_NUMPAD1 0x61
2562 #define VK_NUMPAD2 0x62
2563 #define VK_NUMPAD3 0x63
2564 #define VK_NUMPAD4 0x64
2565 #define VK_NUMPAD5 0x65
2566 #define VK_NUMPAD6 0x66
2567 #define VK_NUMPAD7 0x67
2568 #define VK_NUMPAD8 0x68
2569 #define VK_NUMPAD9 0x69
2570 #define VK_MULTIPLY 0x6A
2571 #define VK_ADD 0x6B
2572 #define VK_SEPARATOR 0x6C
2573 #define VK_SUBTRACT 0x6D
2574 #define VK_DECIMAL 0x6E
2575 #define VK_DIVIDE 0x6F
2576 #define VK_F1 0x70
2577 #define VK_F2 0x71
2578 #define VK_F3 0x72
2579 #define VK_F4 0x73
2580 #define VK_F5 0x74
2581 #define VK_F6 0x75
2582 #define VK_F7 0x76
2583 #define VK_F8 0x77
2584 #define VK_F9 0x78
2585 #define VK_F10 0x79
2586 #define VK_F11 0x7A
2587 #define VK_F12 0x7B
2588 #define VK_F13 0x7C
2589 #define VK_F14 0x7D
2590 #define VK_F15 0x7E
2591 #define VK_F16 0x7F
2592 #define VK_F17 0x80
2593 #define VK_F18 0x81
2594 #define VK_F19 0x82
2595 #define VK_F20 0x83
2596 #define VK_F21 0x84
2597 #define VK_F22 0x85
2598 #define VK_F23 0x86
2599 #define VK_F24 0x87
2600 /* 0x88-0x8F Unassigned */
2601 #define VK_NUMLOCK 0x90
2602 #define VK_SCROLL 0x91
2603 /* 0x92-0x9F Unassigned */
2605 * differencing between right and left shift/control/alt key.
2606 * Used only by GetAsyncKeyState() and GetKeyState().
2608 #define VK_LSHIFT 0xA0
2609 #define VK_RSHIFT 0xA1
2610 #define VK_LCONTROL 0xA2
2611 #define VK_RCONTROL 0xA3
2612 #define VK_LMENU 0xA4
2613 #define VK_RMENU 0xA5
2614 /* 0xA6-0xB9 Unassigned */
2615 #define VK_OEM_1 0xBA
2616 #define VK_OEM_PLUS 0xBB
2617 #define VK_OEM_COMMA 0xBC
2618 #define VK_OEM_MINUS 0xBD
2619 #define VK_OEM_PERIOD 0xBE
2620 #define VK_OEM_2 0xBF
2621 #define VK_OEM_3 0xC0
2622 /* 0xC1-0xDA Unassigned */
2623 #define VK_OEM_4 0xDB
2624 #define VK_OEM_5 0xDC
2625 #define VK_OEM_6 0xDD
2626 #define VK_OEM_7 0xDE
2627 /* 0xDF-0xE4 OEM specific */
2629 #define VK_PROCESSKEY 0xE5
2631 /* 0xE6 OEM specific */
2632 /* 0xE7-0xE8 Unassigned */
2633 /* 0xE9-0xF5 OEM specific */
2635 #define VK_ATTN 0xF6
2636 #define VK_CRSEL 0xF7
2637 #define VK_EXSEL 0xF8
2638 #define VK_EREOF 0xF9
2639 #define VK_PLAY 0xFA
2640 #define VK_ZOOM 0xFB
2641 #define VK_NONAME 0xFC
2642 #define VK_PA1 0xFD
2643 #define VK_OEM_CLEAR 0xFE
2645 #define LMEM_FIXED 0
2646 #define LMEM_MOVEABLE 0x0002
2647 #define LMEM_NOCOMPACT 0x0010
2648 #define LMEM_NODISCARD 0x0020
2649 #define LMEM_ZEROINIT 0x0040
2650 #define LMEM_MODIFY 0x0080
2651 #define LMEM_DISCARDABLE 0x0F00
2652 #define LMEM_DISCARDED 0x4000
2653 #define LMEM_LOCKCOUNT 0x00FF
2655 #define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
2657 #define GMEM_FIXED 0x0000
2658 #define GMEM_MOVEABLE 0x0002
2659 #define GMEM_NOCOMPACT 0x0010
2660 #define GMEM_NODISCARD 0x0020
2661 #define GMEM_ZEROINIT 0x0040
2662 #define GMEM_MODIFY 0x0080
2663 #define GMEM_DISCARDABLE 0x0100
2664 #define GMEM_NOT_BANKED 0x1000
2665 #define GMEM_SHARE 0x2000
2666 #define GMEM_DDESHARE 0x2000
2667 #define GMEM_NOTIFY 0x4000
2668 #define GMEM_LOWER GMEM_NOT_BANKED
2669 #define GMEM_DISCARDED 0x4000
2670 #define GMEM_LOCKCOUNT 0x00ff
2671 #define GMEM_INVALID_HANDLE 0x8000
2673 #define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
2674 #define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
2677 typedef struct tagMEMORYSTATUS
2679 DWORD dwLength;
2680 DWORD dwMemoryLoad;
2681 DWORD dwTotalPhys;
2682 DWORD dwAvailPhys;
2683 DWORD dwTotalPageFile;
2684 DWORD dwAvailPageFile;
2685 DWORD dwTotalVirtual;
2686 DWORD dwAvailVirtual;
2687 } MEMORYSTATUS, *LPMEMORYSTATUS;
2689 /* Predefined Clipboard Formats */
2690 #define CF_TEXT 1
2691 #define CF_BITMAP 2
2692 #define CF_METAFILEPICT 3
2693 #define CF_SYLK 4
2694 #define CF_DIF 5
2695 #define CF_TIFF 6
2696 #define CF_OEMTEXT 7
2697 #define CF_DIB 8
2698 #define CF_PALETTE 9
2699 #define CF_PENDATA 10
2700 #define CF_RIFF 11
2701 #define CF_WAVE 12
2702 #define CF_ENHMETAFILE 14
2704 #define CF_OWNERDISPLAY 0x0080
2705 #define CF_DSPTEXT 0x0081
2706 #define CF_DSPBITMAP 0x0082
2707 #define CF_DSPMETAFILEPICT 0x0083
2709 /* "Private" formats don't get GlobalFree()'d */
2710 #define CF_PRIVATEFIRST 0x0200
2711 #define CF_PRIVATELAST 0x02FF
2713 /* "GDIOBJ" formats do get DeleteObject()'d */
2714 #define CF_GDIOBJFIRST 0x0300
2715 #define CF_GDIOBJLAST 0x03FF
2717 /* Clipboard command messages */
2718 #define WM_CUT 0x0300
2719 #define WM_COPY 0x0301
2720 #define WM_PASTE 0x0302
2721 #define WM_CLEAR 0x0303
2722 #define WM_UNDO 0x0304
2724 /* Clipboard owner messages */
2725 #define WM_RENDERFORMAT 0x0305
2726 #define WM_RENDERALLFORMATS 0x0306
2727 #define WM_DESTROYCLIPBOARD 0x0307
2729 /* Clipboard viewer messages */
2730 #define WM_DRAWCLIPBOARD 0x0308
2731 #define WM_PAINTCLIPBOARD 0x0309
2732 #define WM_SIZECLIPBOARD 0x030B
2733 #define WM_VSCROLLCLIPBOARD 0x030A
2734 #define WM_HSCROLLCLIPBOARD 0x030E
2735 #define WM_ASKCBFORMATNAME 0x030C
2736 #define WM_CHANGECBCHAIN 0x030D
2739 #ifndef NOLOGERROR
2741 /* LogParamError and LogError values */
2743 /* Error modifier bits */
2744 #define ERR_WARNING 0x8000
2745 #define ERR_PARAM 0x4000
2747 #define ERR_SIZE_MASK 0x3000
2748 #define ERR_BYTE 0x1000
2749 #define ERR_WORD 0x2000
2750 #define ERR_DWORD 0x3000
2752 /* LogParamError() values */
2754 /* Generic parameter values */
2755 #define ERR_BAD_VALUE 0x6001
2756 #define ERR_BAD_FLAGS 0x6002
2757 #define ERR_BAD_INDEX 0x6003
2758 #define ERR_BAD_DVALUE 0x7004
2759 #define ERR_BAD_DFLAGS 0x7005
2760 #define ERR_BAD_DINDEX 0x7006
2761 #define ERR_BAD_PTR 0x7007
2762 #define ERR_BAD_FUNC_PTR 0x7008
2763 #define ERR_BAD_SELECTOR 0x6009
2764 #define ERR_BAD_STRING_PTR 0x700a
2765 #define ERR_BAD_HANDLE 0x600b
2767 /* KERNEL parameter errors */
2768 #define ERR_BAD_HINSTANCE 0x6020
2769 #define ERR_BAD_HMODULE 0x6021
2770 #define ERR_BAD_GLOBAL_HANDLE 0x6022
2771 #define ERR_BAD_LOCAL_HANDLE 0x6023
2772 #define ERR_BAD_ATOM 0x6024
2773 #define ERR_BAD_HFILE 0x6025
2775 /* USER parameter errors */
2776 #define ERR_BAD_HWND 0x6040
2777 #define ERR_BAD_HMENU 0x6041
2778 #define ERR_BAD_HCURSOR 0x6042
2779 #define ERR_BAD_HICON 0x6043
2780 #define ERR_BAD_HDWP 0x6044
2781 #define ERR_BAD_CID 0x6045
2782 #define ERR_BAD_HDRVR 0x6046
2784 /* GDI parameter errors */
2785 #define ERR_BAD_COORDS 0x7060
2786 #define ERR_BAD_GDI_OBJECT 0x6061
2787 #define ERR_BAD_HDC 0x6062
2788 #define ERR_BAD_HPEN 0x6063
2789 #define ERR_BAD_HFONT 0x6064
2790 #define ERR_BAD_HBRUSH 0x6065
2791 #define ERR_BAD_HBITMAP 0x6066
2792 #define ERR_BAD_HRGN 0x6067
2793 #define ERR_BAD_HPALETTE 0x6068
2794 #define ERR_BAD_HMETAFILE 0x6069
2797 /* LogError() values */
2799 /* KERNEL errors */
2800 #define ERR_GALLOC 0x0001
2801 #define ERR_GREALLOC 0x0002
2802 #define ERR_GLOCK 0x0003
2803 #define ERR_LALLOC 0x0004
2804 #define ERR_LREALLOC 0x0005
2805 #define ERR_LLOCK 0x0006
2806 #define ERR_ALLOCRES 0x0007
2807 #define ERR_LOCKRES 0x0008
2808 #define ERR_LOADMODULE 0x0009
2810 /* USER errors */
2811 #define ERR_CREATEDLG 0x0040
2812 #define ERR_CREATEDLG2 0x0041
2813 #define ERR_REGISTERCLASS 0x0042
2814 #define ERR_DCBUSY 0x0043
2815 #define ERR_CREATEWND 0x0044
2816 #define ERR_STRUCEXTRA 0x0045
2817 #define ERR_LOADSTR 0x0046
2818 #define ERR_LOADMENU 0x0047
2819 #define ERR_NESTEDBEGINPAINT 0x0048
2820 #define ERR_BADINDEX 0x0049
2821 #define ERR_CREATEMENU 0x004a
2823 /* GDI errors */
2824 #define ERR_CREATEDC 0x0080
2825 #define ERR_CREATEMETA 0x0081
2826 #define ERR_DELOBJSELECTED 0x0082
2827 #define ERR_SELBITMAP 0x0083
2831 /* Debugging support (DEBUG SYSTEM ONLY) */
2832 typedef struct
2834 UINT16 flags;
2835 DWORD dwOptions WINE_PACKED;
2836 DWORD dwFilter WINE_PACKED;
2837 CHAR achAllocModule[8] WINE_PACKED;
2838 DWORD dwAllocBreak WINE_PACKED;
2839 DWORD dwAllocCount WINE_PACKED;
2840 } WINDEBUGINFO, *LPWINDEBUGINFO;
2842 /* WINDEBUGINFO flags values */
2843 #define WDI_OPTIONS 0x0001
2844 #define WDI_FILTER 0x0002
2845 #define WDI_ALLOCBREAK 0x0004
2847 /* dwOptions values */
2848 #define DBO_CHECKHEAP 0x0001
2849 #define DBO_BUFFERFILL 0x0004
2850 #define DBO_DISABLEGPTRAPPING 0x0010
2851 #define DBO_CHECKFREE 0x0020
2853 #define DBO_SILENT 0x8000
2855 #define DBO_TRACEBREAK 0x2000
2856 #define DBO_WARNINGBREAK 0x1000
2857 #define DBO_NOERRORBREAK 0x0800
2858 #define DBO_NOFATALBREAK 0x0400
2859 #define DBO_INT3BREAK 0x0100
2861 /* DebugOutput flags values */
2862 #define DBF_TRACE 0x0000
2863 #define DBF_WARNING 0x4000
2864 #define DBF_ERROR 0x8000
2865 #define DBF_FATAL 0xc000
2867 /* dwFilter values */
2868 #define DBF_KERNEL 0x1000
2869 #define DBF_KRN_MEMMAN 0x0001
2870 #define DBF_KRN_LOADMODULE 0x0002
2871 #define DBF_KRN_SEGMENTLOAD 0x0004
2872 #define DBF_USER 0x0800
2873 #define DBF_GDI 0x0400
2874 #define DBF_MMSYSTEM 0x0040
2875 #define DBF_PENWIN 0x0020
2876 #define DBF_APPLICATION 0x0008
2877 #define DBF_DRIVER 0x0010
2879 #endif /* NOLOGERROR */
2881 /* Win32-specific structures */
2883 typedef struct {
2884 DWORD dwData;
2885 DWORD cbData;
2886 LPVOID lpData;
2887 } COPYDATASTRUCT, *PCOPYDATASTRUCT, *LPCOPYDATASTRUCT;
2889 typedef struct {
2890 HMENU32 hmenuIn;
2891 HMENU32 hmenuNext;
2892 HWND32 hwndNext;
2893 } MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
2895 typedef struct {
2896 WORD wYear;
2897 WORD wMonth;
2898 WORD wDayOfWeek;
2899 WORD wDay;
2900 WORD wHour;
2901 WORD wMinute;
2902 WORD wSecond;
2903 WORD wMilliseconds;
2904 } SYSTEMTIME, *LPSYSTEMTIME;
2907 /* Code page information.
2909 #define MAX_LEADBYTES 12
2910 #define MAX_DEFAULTCHAR 2
2912 typedef struct
2914 UINT32 MaxCharSize;
2915 BYTE DefaultChar[MAX_DEFAULTCHAR];
2916 BYTE LeadByte[MAX_LEADBYTES];
2917 } CPINFO, *LPCPINFO;
2919 /* The 'overlapped' data structure used by async I/O functions.
2921 typedef struct {
2922 DWORD Internal;
2923 DWORD InternalHigh;
2924 DWORD Offset;
2925 DWORD OffsetHigh;
2926 HANDLE32 hEvent;
2927 } OVERLAPPED, *LPOVERLAPPED;
2929 /* Process startup information.
2932 /* STARTUPINFO.dwFlags */
2933 #define STARTF_USESHOWWINDOW 0x00000001
2934 #define STARTF_USESIZE 0x00000002
2935 #define STARTF_USEPOSITION 0x00000004
2936 #define STARTF_USECOUNTCHARS 0x00000008
2937 #define STARTF_USEFILLATTRIBUTE 0x00000010
2938 #define STARTF_RUNFULLSCREEN 0x00000020
2939 #define STARTF_FORCEONFEEDBACK 0x00000040
2940 #define STARTF_FORCEOFFFEEDBACK 0x00000080
2941 #define STARTF_USESTDHANDLES 0x00000100
2942 #define STARTF_USEHOTKEY 0x00000200
2944 typedef struct {
2945 DWORD cb; /* 00: size of struct */
2946 LPSTR lpReserved; /* 04: */
2947 LPSTR lpDesktop; /* 08: */
2948 LPSTR lpTitle; /* 0c: */
2949 DWORD dwX; /* 10: */
2950 DWORD dwY; /* 14: */
2951 DWORD dwXSize; /* 18: */
2952 DWORD dwYSize; /* 1c: */
2953 DWORD dwXCountChars; /* 20: */
2954 DWORD dwYCountChars; /* 24: */
2955 DWORD dwFillAttribute; /* 28: */
2956 DWORD dwFlags; /* 2c: */
2957 WORD wShowWindow; /* 30: */
2958 WORD cbReserved2; /* 32: */
2959 BYTE *lpReserved2; /* 34: */
2960 HANDLE32 hStdInput; /* 38: */
2961 HANDLE32 hStdOutput; /* 3c: */
2962 HANDLE32 hStdError; /* 40: */
2963 } STARTUPINFO32A, *LPSTARTUPINFO32A;
2965 typedef struct {
2966 DWORD cb;
2967 LPWSTR lpReserved;
2968 LPWSTR lpDesktop;
2969 LPWSTR lpTitle;
2970 DWORD dwX;
2971 DWORD dwY;
2972 DWORD dwXSize;
2973 DWORD dwYSize;
2974 DWORD dwXCountChars;
2975 DWORD dwYCountChars;
2976 DWORD dwFillAttribute;
2977 DWORD dwFlags;
2978 WORD wShowWindow;
2979 WORD cbReserved2;
2980 BYTE *lpReserved2;
2981 HANDLE32 hStdInput;
2982 HANDLE32 hStdOutput;
2983 HANDLE32 hStdError;
2984 } STARTUPINFO32W, *LPSTARTUPINFO32W;
2986 DECL_WINELIB_TYPE_AW(STARTUPINFO)
2987 DECL_WINELIB_TYPE_AW(LPSTARTUPINFO)
2989 typedef struct {
2990 HANDLE32 hProcess;
2991 HANDLE32 hThread;
2992 DWORD dwProcessId;
2993 DWORD dwThreadId;
2994 } PROCESS_INFORMATION,*LPPROCESS_INFORMATION;
2996 typedef struct {
2997 LONG Bias;
2998 WCHAR StandardName[32];
2999 SYSTEMTIME StandardDate;
3000 LONG StandardBias;
3001 WCHAR DaylightName[32];
3002 SYSTEMTIME DaylightDate;
3003 LONG DaylightBias;
3004 } TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
3006 #define TIME_ZONE_ID_UNKNOWN 0
3007 #define TIME_ZONE_ID_STANDARD 1
3008 #define TIME_ZONE_ID_DAYLIGHT 2
3010 /* CreateProcess: dwCreationFlag values
3012 #define DEBUG_PROCESS 0x00000001
3013 #define DEBUG_ONLY_THIS_PROCESS 0x00000002
3014 #define CREATE_SUSPENDED 0x00000004
3015 #define DETACHED_PROCESS 0x00000008
3016 #define CREATE_NEW_CONSOLE 0x00000010
3017 #define NORMAL_PRIORITY_CLASS 0x00000020
3018 #define IDLE_PRIORITY_CLASS 0x00000040
3019 #define HIGH_PRIORITY_CLASS 0x00000080
3020 #define REALTIME_PRIORITY_CLASS 0x00000100
3021 #define CREATE_NEW_PROCESS_GROUP 0x00000200
3022 #define CREATE_UNICODE_ENVIRONMENT 0x00000400
3023 #define CREATE_SEPARATE_WOW_VDM 0x00000800
3024 #define CREATE_SHARED_WOW_VDM 0x00001000
3025 #define CREATE_DEFAULT_ERROR_MODE 0x04000000
3026 #define CREATE_NO_WINDOW 0x08000000
3027 #define PROFILE_USER 0x10000000
3028 #define PROFILE_KERNEL 0x20000000
3029 #define PROFILE_SERVER 0x40000000
3032 /* File object type definitions
3034 #define FILE_TYPE_UNKNOWN 0
3035 #define FILE_TYPE_DISK 1
3036 #define FILE_TYPE_CHAR 2
3037 #define FILE_TYPE_PIPE 3
3038 #define FILE_TYPE_REMOTE 32768
3040 /* File creation flags
3042 #define FILE_FLAG_WRITE_THROUGH 0x80000000UL
3043 #define FILE_FLAG_OVERLAPPED 0x40000000L
3044 #define FILE_FLAG_NO_BUFFERING 0x20000000L
3045 #define FILE_FLAG_RANDOM_ACCESS 0x10000000L
3046 #define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000L
3047 #define FILE_FLAG_DELETE_ON_CLOSE 0x04000000L
3048 #define FILE_FLAG_BACKUP_SEMANTICS 0x02000000L
3049 #define FILE_FLAG_POSIX_SEMANTICS 0x01000000L
3050 #define CREATE_NEW 1
3051 #define CREATE_ALWAYS 2
3052 #define OPEN_EXISTING 3
3053 #define OPEN_ALWAYS 4
3054 #define TRUNCATE_EXISTING 5
3056 /* Standard handle identifiers
3058 #define STD_INPUT_HANDLE ((DWORD) -10)
3059 #define STD_OUTPUT_HANDLE ((DWORD) -11)
3060 #define STD_ERROR_HANDLE ((DWORD) -12)
3062 typedef struct
3064 int dwFileAttributes;
3065 FILETIME ftCreationTime;
3066 FILETIME ftLastAccessTime;
3067 FILETIME ftLastWriteTime;
3068 int dwVolumeSerialNumber;
3069 int nFileSizeHigh;
3070 int nFileSizeLow;
3071 int nNumberOfLinks;
3072 int nFileIndexHigh;
3073 int nFileIndexLow;
3074 } BY_HANDLE_FILE_INFORMATION ;
3076 /* File attribute flags
3078 #define FILE_SHARE_READ 0x00000001L
3079 #define FILE_SHARE_WRITE 0x00000002L
3080 #define FILE_SHARE_DELETE 0x00000004L
3081 #define FILE_ATTRIBUTE_READONLY 0x00000001L
3082 #define FILE_ATTRIBUTE_HIDDEN 0x00000002L
3083 #define FILE_ATTRIBUTE_SYSTEM 0x00000004L
3084 #define FILE_ATTRIBUTE_LABEL 0x00000008L /* Not in Windows API */
3085 #define FILE_ATTRIBUTE_DIRECTORY 0x00000010L
3086 #define FILE_ATTRIBUTE_ARCHIVE 0x00000020L
3087 #define FILE_ATTRIBUTE_NORMAL 0x00000080L
3088 #define FILE_ATTRIBUTE_TEMPORARY 0x00000100L
3089 #define FILE_ATTRIBUTE_ATOMIC_WRITE 0x00000200L
3090 #define FILE_ATTRIBUTE_XACTION_WRITE 0x00000400L
3091 #define FILE_ATTRIBUTE_COMPRESSED 0x00000800L
3092 #define FILE_ATTRIBUTE_OFFLINE 0x00001000L
3094 /* File alignments (NT) */
3095 #define FILE_BYTE_ALIGNMENT 0x00000000
3096 #define FILE_WORD_ALIGNMENT 0x00000001
3097 #define FILE_LONG_ALIGNMENT 0x00000003
3098 #define FILE_QUAD_ALIGNMENT 0x00000007
3099 #define FILE_OCTA_ALIGNMENT 0x0000000f
3100 #define FILE_32_BYTE_ALIGNMENT 0x0000001f
3101 #define FILE_64_BYTE_ALIGNMENT 0x0000003f
3102 #define FILE_128_BYTE_ALIGNMENT 0x0000007f
3103 #define FILE_256_BYTE_ALIGNMENT 0x000000ff
3104 #define FILE_512_BYTE_ALIGNMENT 0x000001ff
3106 /* WinHelp internal structure */
3107 typedef struct {
3108 WORD size;
3109 WORD command;
3110 LONG data;
3111 LONG reserved;
3112 WORD ofsFilename;
3113 WORD ofsData;
3114 } WINHELP,*LPWINHELP;
3116 typedef struct
3118 UINT16 mkSize;
3119 BYTE mkKeyList;
3120 BYTE szKeyPhrase[1];
3121 } MULTIKEYHELP, *LPMULTIKEYHELP;
3123 typedef struct {
3124 WORD wStructSize;
3125 WORD x;
3126 WORD y;
3127 WORD dx;
3128 WORD dy;
3129 WORD wMax;
3130 char rgchMember[2];
3131 } HELPWININFO, *LPHELPWININFO;
3133 #define HELP_CONTEXT 0x0001
3134 #define HELP_QUIT 0x0002
3135 #define HELP_INDEX 0x0003
3136 #define HELP_CONTENTS 0x0003
3137 #define HELP_HELPONHELP 0x0004
3138 #define HELP_SETINDEX 0x0005
3139 #define HELP_SETCONTENTS 0x0005
3140 #define HELP_CONTEXTPOPUP 0x0008
3141 #define HELP_FORCEFILE 0x0009
3142 #define HELP_KEY 0x0101
3143 #define HELP_COMMAND 0x0102
3144 #define HELP_PARTIALKEY 0x0105
3145 #define HELP_MULTIKEY 0x0201
3146 #define HELP_SETWINPOS 0x0203
3147 #define HELP_CONTEXTMENU 0x000a
3148 #define HELP_FINDER 0x000b
3149 #define HELP_WM_HELP 0x000c
3150 #define HELP_SETPOPUP_POS 0x000d
3152 #define HELP_TCARD 0x8000
3153 #define HELP_TCARD_DATA 0x0010
3154 #define HELP_TCARD_OTHER_CALLER 0x0011
3157 /* ExitWindows() flags */
3158 #define EW_RESTARTWINDOWS 0x0042
3159 #define EW_REBOOTSYSTEM 0x0043
3160 #define EW_EXITANDEXECAPP 0x0044
3162 /* ExitWindowsEx() flags */
3163 #define EWX_LOGOFF 0
3164 #define EWX_SHUTDOWN 1
3165 #define EWX_REBOOT 2
3166 #define EWX_FORCE 4
3167 #define EWX_POWEROFF 8
3170 #define DM_UPDATE 1
3171 #define DM_COPY 2
3172 #define DM_PROMPT 4
3173 #define DM_MODIFY 8
3175 #define DM_IN_BUFFER DM_MODIFY
3176 #define DM_IN_PROMPT DM_PROMPT
3177 #define DM_OUT_BUFFER DM_COPY
3178 #define DM_OUT_DEFAULT DM_UPDATE
3180 #define DM_ORIENTATION 0x00000001L
3181 #define DM_PAPERSIZE 0x00000002L
3182 #define DM_PAPERLENGTH 0x00000004L
3183 #define DM_PAPERWIDTH 0x00000008L
3184 #define DM_SCALE 0x00000010L
3185 #define DM_COPIES 0x00000100L
3186 #define DM_DEFAULTSOURCE 0x00000200L
3187 #define DM_PRINTQUALITY 0x00000400L
3188 #define DM_COLOR 0x00000800L
3189 #define DM_DUPLEX 0x00001000L
3190 #define DM_YRESOLUTION 0x00002000L
3191 #define DM_TTOPTION 0x00004000L
3192 #define DM_BITSPERPEL 0x00040000L
3193 #define DM_PELSWIDTH 0x00080000L
3194 #define DM_PELSHEIGHT 0x00100000L
3195 #define DM_DISPLAYFLAGS 0x00200000L
3196 #define DM_DISPLAYFREQUENCY 0x00400000L
3198 /* etc.... */
3200 #define DMORIENT_PORTRAIT 1
3201 #define DMORIENT_LANDSCAPE 2
3203 #define DMPAPER_LETTER 1
3204 #define DMPAPER_LEGAL 5
3205 #define DMPAPER_EXECUTIVE 7
3206 #define DMPAPER_A3 8
3207 #define DMPAPER_A4 9
3208 #define DMPAPER_A5 11
3209 #define DMPAPER_ENV_10 20
3210 #define DMPAPER_ENV_DL 27
3211 #define DMPAPER_ENV_C5 28
3212 #define DMPAPER_ENV_B5 34
3213 #define DMPAPER_ENV_MONARCH 37
3215 #define DMBIN_UPPER 1
3216 #define DMBIN_LOWER 2
3217 #define DMBIN_MIDDLE 3
3218 #define DMBIN_MANUAL 4
3219 #define DMBIN_ENVELOPE 5
3220 #define DMBIN_ENVMANUAL 6
3221 #define DMBIN_AUTO 7
3222 #define DMBIN_LARGECAPACITY 11
3224 #define DMCOLOR_MONOCHROME 1
3225 #define DMCOLOR_COLOR 2
3227 #define DMTT_BITMAP 1
3228 #define DMTT_DOWNLOAD 2
3229 #define DMTT_SUBDEV 3
3232 #define DC_FIELDS 1
3233 #define DC_PAPERS 2
3234 #define DC_PAPERSIZE 3
3235 #define DC_MINEXTENT 4
3236 #define DC_MAXEXTENT 5
3237 #define DC_BINS 6
3238 #define DC_DUPLEX 7
3239 #define DC_SIZE 8
3240 #define DC_EXTRA 9
3241 #define DC_VERSION 10
3242 #define DC_DRIVER 11
3243 #define DC_BINNAMES 12
3244 #define DC_ENUMRESOLUTIONS 13
3245 #define DC_FILEDEPENDENCIES 14
3246 #define DC_TRUETYPE 15
3247 #define DC_PAPERNAMES 16
3248 #define DC_ORIENTATION 17
3249 #define DC_COPIES 18
3251 /* ChangeDisplaySettings return codes */
3253 #define DISP_CHANGE_SUCCESSFUL 0
3254 #define DISP_CHANGE_RESTART 1
3255 #define DISP_CHANGE_FAILED (-1)
3256 #define DISP_CHANGE_BADMODE (-2)
3257 #define DISP_CHANGE_NOTUPDATED (-3)
3258 #define DISP_CHANGE_BADFLAGS (-4)
3261 typedef struct _SYSTEM_POWER_STATUS
3263 BOOL16 ACLineStatus;
3264 BYTE BatteryFlag;
3265 BYTE BatteryLifePercent;
3266 BYTE reserved;
3267 DWORD BatteryLifeTime;
3268 DWORD BatteryFullLifeTime;
3269 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
3271 /* flags to FormatMessage */
3272 #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
3273 #define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200
3274 #define FORMAT_MESSAGE_FROM_STRING 0x00000400
3275 #define FORMAT_MESSAGE_FROM_HMODULE 0x00000800
3276 #define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000
3277 #define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
3278 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
3280 /* types of LoadImage */
3281 #define IMAGE_BITMAP 0
3282 #define IMAGE_ICON 1
3283 #define IMAGE_CURSOR 2
3284 #define IMAGE_ENHMETA 3
3286 /* loadflags to LoadImage */
3287 #define LR_DEFAULTCOLOR 0x0000
3288 #define LR_MONOCHROME 0x0001
3289 #define LR_COLOR 0x0002
3290 #define LR_COPYRETURNORG 0x0004
3291 #define LR_COPYDELETEORG 0x0008
3292 #define LR_LOADFROMFILE 0x0010
3293 #define LR_LOADTRANSPARENT 0x0020
3294 #define LR_DEFAULTSIZE 0x0040
3295 #define LR_VGA_COLOR 0x0080
3296 #define LR_LOADMAP3DCOLORS 0x1000
3297 #define LR_CREATEDIBSECTION 0x2000
3298 #define LR_COPYFROMRESOURCE 0x4000
3299 #define LR_SHARED 0x8000
3301 /* Flags for PolyDraw and GetPath */
3302 #define PT_CLOSEFIGURE 0x0001
3303 #define PT_LINETO 0x0002
3304 #define PT_BEZIERTO 0x0004
3305 #define PT_MOVETO 0x0006
3307 typedef struct _LARGE_INTEGER
3309 DWORD LowPart;
3310 LONG HighPart;
3311 } LARGE_INTEGER,*LPLARGE_INTEGER;
3313 typedef struct _ULARGE_INTEGER
3315 DWORD LowPart;
3316 DWORD HighPart;
3317 } ULARGE_INTEGER,*LPULARGE_INTEGER;
3319 typedef LARGE_INTEGER LUID,*LPLUID; /* locally unique ids */
3321 /* SetLastErrorEx types */
3322 #define SLE_ERROR 0x00000001
3323 #define SLE_MINORERROR 0x00000002
3324 #define SLE_WARNING 0x00000003
3326 /* Argument 1 passed to the DllEntryProc. */
3327 #define DLL_PROCESS_DETACH 0 /* detach process (unload library) */
3328 #define DLL_PROCESS_ATTACH 1 /* attach process (load library) */
3329 #define DLL_THREAD_ATTACH 2 /* attach new thread */
3330 #define DLL_THREAD_DETACH 3 /* detach thread */
3332 typedef struct _MEMORY_BASIC_INFORMATION
3334 LPVOID BaseAddress;
3335 LPVOID AllocationBase;
3336 DWORD AllocationProtect;
3337 DWORD RegionSize;
3338 DWORD State;
3339 DWORD Protect;
3340 DWORD Type;
3341 } MEMORY_BASIC_INFORMATION,*LPMEMORY_BASIC_INFORMATION;
3344 typedef BOOL32 (CALLBACK *CODEPAGE_ENUMPROC32A)(LPSTR);
3345 typedef BOOL32 (CALLBACK *CODEPAGE_ENUMPROC32W)(LPWSTR);
3346 DECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC)
3347 typedef BOOL32 (CALLBACK *LOCALE_ENUMPROC32A)(LPSTR);
3348 typedef BOOL32 (CALLBACK *LOCALE_ENUMPROC32W)(LPWSTR);
3349 DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC)
3351 typedef struct tagSYSTEM_INFO
3353 union {
3354 DWORD dwOemId;
3355 struct {
3356 WORD wProcessorArchitecture;
3357 WORD wReserved;
3358 } x;
3359 } u;
3360 DWORD dwPageSize;
3361 LPVOID lpMinimumApplicationAddress;
3362 LPVOID lpMaximumApplicationAddress;
3363 DWORD dwActiveProcessorMask;
3364 DWORD dwNumberOfProcessors;
3365 DWORD dwProcessorType;
3366 DWORD dwAllocationGranularity;
3367 WORD wProcessorLevel;
3368 WORD wProcessorRevision;
3369 } SYSTEM_INFO, *LPSYSTEM_INFO;
3371 /* u.x.wProcessorArchitecture (NT) */
3372 #define PROCESSOR_ARCHITECTURE_INTEL 0
3373 #define PROCESSOR_ARCHITECTURE_MIPS 1
3374 #define PROCESSOR_ARCHITECTURE_ALPHA 2
3375 #define PROCESSOR_ARCHITECTURE_PPC 3
3376 #define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
3378 /* dwProcessorType */
3379 #define PROCESSOR_INTEL_386 386
3380 #define PROCESSOR_INTEL_486 486
3381 #define PROCESSOR_INTEL_PENTIUM 586
3382 #define PROCESSOR_MIPS_R4000 4000
3383 #define PROCESSOR_ALPHA_21064 21064
3385 /* service main function prototype */
3386 typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTION32A)(DWORD,LPSTR);
3387 typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTION32W)(DWORD,LPWSTR);
3388 DECL_WINELIB_TYPE_AW(LPSERVICE_MAIN_FUNCTION)
3390 /* service start table */
3391 typedef struct
3393 LPSTR lpServiceName;
3394 LPSERVICE_MAIN_FUNCTION32A lpServiceProc;
3395 } *LPSERVICE_TABLE_ENTRY32A, SERVICE_TABLE_ENTRY32A;
3397 typedef struct
3399 LPWSTR lpServiceName;
3400 LPSERVICE_MAIN_FUNCTION32W lpServiceProc;
3401 } *LPSERVICE_TABLE_ENTRY32W, SERVICE_TABLE_ENTRY32W;
3403 DECL_WINELIB_TYPE_AW(SERVICE_TABLE_ENTRY)
3404 DECL_WINELIB_TYPE_AW(LPSERVICE_TABLE_ENTRY)
3406 /* Used by: ControlService */
3407 typedef struct _SERVICE_STATUS {
3408 DWORD dwServiceType;
3409 DWORD dwCurrentState;
3410 DWORD dwControlsAccepted;
3411 DWORD dwWin32ExitCode;
3412 DWORD dwServiceSpecificExitCode;
3413 DWORD dwCheckPoint;
3414 DWORD dwWaitHint;
3415 } SERVICE_STATUS, *LPSERVICE_STATUS;
3418 /* {G,S}etPriorityClass */
3419 #define NORMAL_PRIORITY_CLASS 0x00000020
3420 #define IDLE_PRIORITY_CLASS 0x00000040
3421 #define HIGH_PRIORITY_CLASS 0x00000080
3422 #define REALTIME_PRIORITY_CLASS 0x00000100
3424 /* GDI Escape commands */
3425 #define NEWFRAME 1
3426 #define ABORTDOC 2
3427 #define NEXTBAND 3
3428 #define SETCOLORTABLE 4
3429 #define GETCOLORTABLE 5
3430 #define FLUSHOUTPUT 6
3431 #define DRAFTMODE 7
3432 #define QUERYESCSUPPORT 8
3433 #define SETABORTPROC 9
3434 #define STARTDOC 10
3435 #define ENDDOC 11
3436 #define GETPHYSPAGESIZE 12
3437 #define GETPRINTINGOFFSET 13
3438 #define GETSCALINGFACTOR 14
3439 #define MFCOMMENT 15
3440 #define GETPENWIDTH 16
3441 #define SETCOPYCOUNT 17
3442 #define SELECTPAPERSOURCE 18
3443 #define DEVICEDATA 19
3444 #define PASSTHROUGH 19
3445 #define GETTECHNOLGY 20
3446 #define GETTECHNOLOGY 20 /* yes, both of them */
3447 #define SETLINECAP 21
3448 #define SETLINEJOIN 22
3449 #define SETMITERLIMIT 23
3450 #define BANDINFO 24
3451 #define DRAWPATTERNRECT 25
3452 #define GETVECTORPENSIZE 26
3453 #define GETVECTORBRUSHSIZE 27
3454 #define ENABLEDUPLEX 28
3455 #define GETSETPAPERBINS 29
3456 #define GETSETPRINTORIENT 30
3457 #define ENUMPAPERBINS 31
3458 #define SETDIBSCALING 32
3459 #define EPSPRINTING 33
3460 #define ENUMPAPERMETRICS 34
3461 #define GETSETPAPERMETRICS 35
3462 #define POSTSCRIPT_DATA 37
3463 #define POSTSCRIPT_IGNORE 38
3464 #define MOUSETRAILS 39
3465 #define GETDEVICEUNITS 42
3467 #define GETEXTENDEDTEXTMETRICS 256
3468 #define GETEXTENTTABLE 257
3469 #define GETPAIRKERNTABLE 258
3470 #define GETTRACKKERNTABLE 259
3471 #define EXTTEXTOUT 512
3472 #define GETFACENAME 513
3473 #define DOWNLOADFACE 514
3474 #define ENABLERELATIVEWIDTHS 768
3475 #define ENABLEPAIRKERNING 769
3476 #define SETKERNTRACK 770
3477 #define SETALLJUSTVALUES 771
3478 #define SETCHARSET 772
3480 #define STRETCHBLT 2048
3481 #define GETSETSCREENPARAMS 3072
3482 #define QUERYDIBSUPPORT 3073
3483 #define BEGIN_PATH 4096
3484 #define CLIP_TO_PATH 4097
3485 #define END_PATH 4098
3486 #define EXT_DEVICE_CAPS 4099
3487 #define RESTORE_CTM 4100
3488 #define SAVE_CTM 4101
3489 #define SET_ARC_DIRECTION 4102
3490 #define SET_BACKGROUND_COLOR 4103
3491 #define SET_POLY_MODE 4104
3492 #define SET_SCREEN_ANGLE 4105
3493 #define SET_SPREAD 4106
3494 #define TRANSFORM_CTM 4107
3495 #define SET_CLIP_BOX 4108
3496 #define SET_BOUNDS 4109
3497 #define SET_MIRROR_MODE 4110
3498 #define OPENCHANNEL 4110
3499 #define DOWNLOADHEADER 4111
3500 #define CLOSECHANNEL 4112
3501 #define POSTSCRIPT_PASSTHROUGH 4115
3502 #define ENCAPSULATED_POSTSCRIPT 4116
3504 /* Flag returned from Escape QUERYDIBSUPPORT */
3505 #define QDI_SETDIBITS 1
3506 #define QDI_GETDIBITS 2
3507 #define QDI_DIBTOSCREEN 4
3508 #define QDI_STRETCHDIB 8
3510 /* Spooler Error Codes */
3511 #define SP_NOTREPORTED 0x4000
3512 #define SP_ERROR (-1)
3513 #define SP_APPABORT (-2)
3514 #define SP_USERABORT (-3)
3515 #define SP_OUTOFDISK (-4)
3516 #define SP_OUTOFMEMORY (-5)
3518 #define PR_JOBSTATUS 0x0000
3520 typedef BOOL32 (CALLBACK *ENUMRESTYPEPROC32A)(HMODULE32,LPSTR,LONG);
3521 typedef BOOL32 (CALLBACK *ENUMRESTYPEPROC32W)(HMODULE32,LPWSTR,LONG);
3522 typedef BOOL32 (CALLBACK *ENUMRESNAMEPROC32A)(HMODULE32,LPCSTR,LPSTR,LONG);
3523 typedef BOOL32 (CALLBACK *ENUMRESNAMEPROC32W)(HMODULE32,LPCWSTR,LPWSTR,LONG);
3524 typedef BOOL32 (CALLBACK *ENUMRESLANGPROC32A)(HMODULE32,LPCSTR,LPCSTR,WORD,LONG);
3525 typedef BOOL32 (CALLBACK *ENUMRESLANGPROC32W)(HMODULE32,LPCWSTR,LPCWSTR,WORD,LONG);
3527 DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
3528 DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
3529 DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC)
3531 /* Character Type Flags */
3532 #define CT_CTYPE1 0x00000001 /* usual ctype */
3533 #define CT_CTYPE2 0x00000002 /* bidirectional layout info */
3534 #define CT_CTYPE3 0x00000004 /* textprocessing info */
3536 /* CType 1 Flag Bits */
3537 #define C1_UPPER 0x0001
3538 #define C1_LOWER 0x0002
3539 #define C1_DIGIT 0x0004
3540 #define C1_SPACE 0x0008
3541 #define C1_PUNCT 0x0010
3542 #define C1_CNTRL 0x0020
3543 #define C1_BLANK 0x0040
3544 #define C1_XDIGIT 0x0080
3545 #define C1_ALPHA 0x0100
3547 /* CType 2 Flag Bits */
3548 #define C2_LEFTTORIGHT 0x0001
3549 #define C2_RIGHTTOLEFT 0x0002
3550 #define C2_EUROPENUMBER 0x0003
3551 #define C2_EUROPESEPARATOR 0x0004
3552 #define C2_EUROPETERMINATOR 0x0005
3553 #define C2_ARABICNUMBER 0x0006
3554 #define C2_COMMONSEPARATOR 0x0007
3555 #define C2_BLOCKSEPARATOR 0x0008
3556 #define C2_SEGMENTSEPARATOR 0x0009
3557 #define C2_WHITESPACE 0x000A
3558 #define C2_OTHERNEUTRAL 0x000B
3559 #define C2_NOTAPPLICABLE 0x0000
3561 /* CType 3 Flag Bits */
3562 #define C3_NONSPACING 0x0001
3563 #define C3_DIACRITIC 0x0002
3564 #define C3_VOWELMARK 0x0004
3565 #define C3_SYMBOL 0x0008
3566 #define C3_KATAKANA 0x0010
3567 #define C3_HIRAGANA 0x0020
3568 #define C3_HALFWIDTH 0x0040
3569 #define C3_FULLWIDTH 0x0080
3570 #define C3_IDEOGRAPH 0x0100
3571 #define C3_KASHIDA 0x0200
3572 #define C3_LEXICAL 0x0400
3573 #define C3_ALPHA 0x8000
3574 #define C3_NOTAPPLICABLE 0x0000
3576 /* flags that can be passed to LoadLibraryEx */
3577 #define DONT_RESOLVE_DLL_REFERENCES 0x00000001
3578 #define LOAD_LIBRARY_AS_DATAFILE 0x00000002
3579 #define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
3582 typedef struct {
3583 DWORD dwScope;
3584 DWORD dwType;
3585 DWORD dwDisplayType;
3586 DWORD dwUsage;
3587 LPSTR lpLocalName;
3588 LPSTR lpRemoteName;
3589 LPSTR lpComment ;
3590 LPSTR lpProvider;
3591 } NETRESOURCE32A,*LPNETRESOURCE32A;
3593 typedef struct {
3594 DWORD dwScope;
3595 DWORD dwType;
3596 DWORD dwDisplayType;
3597 DWORD dwUsage;
3598 LPWSTR lpLocalName;
3599 LPWSTR lpRemoteName;
3600 LPWSTR lpComment ;
3601 LPWSTR lpProvider;
3602 } NETRESOURCE32W,*LPNETRESOURCE32W;
3604 DECL_WINELIB_TYPE_AW(NETRESOURCE)
3605 DECL_WINELIB_TYPE_AW(LPNETRESOURCE)
3607 typedef struct {
3608 DWORD cbStructure; /* size of this structure in bytes */
3609 HWND32 hwndOwner; /* owner window for the dialog */
3610 LPNETRESOURCE32A lpConnRes;/* Requested Resource info */
3611 DWORD dwFlags; /* flags (see below) */
3612 DWORD dwDevNum; /* number of devices connected to */
3613 } CONNECTDLGSTRUCT32A, *LPCONNECTDLGSTRUCT32A;
3614 typedef struct {
3615 DWORD cbStructure; /* size of this structure in bytes */
3616 HWND32 hwndOwner; /* owner window for the dialog */
3617 LPNETRESOURCE32W lpConnRes;/* Requested Resource info */
3618 DWORD dwFlags; /* flags (see below) */
3619 DWORD dwDevNum; /* number of devices connected to */
3620 } CONNECTDLGSTRUCT32W, *LPCONNECTDLGSTRUCT32W;
3622 DECL_WINELIB_TYPE_AW(CONNECTDLGSTRUCT)
3623 DECL_WINELIB_TYPE_AW(LPCONNECTDLGSTRUCT)
3625 /**/
3626 #define CONNDLG_RO_PATH 0x00000001 /* Resource path should be read-only */
3627 #define CONNDLG_CONN_POINT 0x00000002 /* Netware -style movable connection point enabled */
3628 #define CONNDLG_USE_MRU 0x00000004 /* Use MRU combobox */
3629 #define CONNDLG_HIDE_BOX 0x00000008 /* Hide persistent connect checkbox */
3630 #define CONNDLG_PERSIST 0x00000010 /* Force persistent connection */
3631 #define CONNDLG_NOT_PERSIST 0x00000020 /* Force connection NOT persistent */
3634 typedef struct {
3635 DWORD cbStructure;
3636 DWORD dwFlags;
3637 DWORD dwSpeed;
3638 DWORD dwDelay;
3639 DWORD dwOptDataSize;
3640 } NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
3643 typedef struct tagANIMATIONINFO
3645 UINT32 cbSize;
3646 INT32 iMinAnimate;
3647 } ANIMATIONINFO, *LPANIMATIONINFO;
3649 typedef struct tagNMHDR
3651 HWND32 hwndFrom;
3652 UINT32 idFrom;
3653 UINT32 code;
3654 } NMHDR, *LPNMHDR;
3656 typedef struct
3658 UINT32 cbSize;
3659 INT32 iTabLength;
3660 INT32 iLeftMargin;
3661 INT32 iRightMargin;
3662 UINT32 uiLengthDrawn;
3663 } DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
3665 /* ifdef _x86_ ... */
3666 typedef struct _LDT_ENTRY {
3667 WORD LimitLow;
3668 WORD BaseLow;
3669 union {
3670 struct {
3671 BYTE BaseMid;
3672 BYTE Flags1;/*Declare as bytes to avoid alignment problems */
3673 BYTE Flags2;
3674 BYTE BaseHi;
3675 } Bytes;
3676 struct {
3677 DWORD BaseMid : 8;
3678 DWORD Type : 5;
3679 DWORD Dpl : 2;
3680 DWORD Pres : 1;
3681 DWORD LimitHi : 4;
3682 DWORD Sys : 1;
3683 DWORD Reserved_0 : 1;
3684 DWORD Default_Big : 1;
3685 DWORD Granularity : 1;
3686 DWORD BaseHi : 8;
3687 } Bits;
3688 } HighWord;
3689 } LDT_ENTRY, *LPLDT_ENTRY;
3691 /* for WOWHandle{16,32} */
3692 typedef enum _WOW_HANDLE_TYPE { /* WOW */
3693 WOW_TYPE_HWND,
3694 WOW_TYPE_HMENU,
3695 WOW_TYPE_HDWP,
3696 WOW_TYPE_HDROP,
3697 WOW_TYPE_HDC,
3698 WOW_TYPE_HFONT,
3699 WOW_TYPE_HMETAFILE,
3700 WOW_TYPE_HRGN,
3701 WOW_TYPE_HBITMAP,
3702 WOW_TYPE_HBRUSH,
3703 WOW_TYPE_HPALETTE,
3704 WOW_TYPE_HPEN,
3705 WOW_TYPE_HACCEL,
3706 WOW_TYPE_HTASK,
3707 WOW_TYPE_FULLHWND
3708 } WOW_HANDLE_TYPE;
3710 /* WOWCallback16Ex defines */
3711 #define WCB16_MAX_CBARGS 16
3712 /* ... dwFlags */
3713 #define WCB16_PASCAL 0x0
3714 #define WCB16_CDECL 0x1
3716 typedef enum _GET_FILEEX_INFO_LEVELS {
3717 GetFileExInfoStandard
3718 } GET_FILEEX_INFO_LEVELS;
3720 typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
3721 DWORD dwFileAttributes;
3722 FILETIME ftCreationTime;
3723 FILETIME ftLastAccessTime;
3724 FILETIME ftLastWriteTime;
3725 DWORD nFileSizeHigh;
3726 DWORD nFileSizeLow;
3727 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
3729 typedef struct _DllVersionInfo {
3730 DWORD cbSize;
3731 DWORD dwMajorVersion;
3732 DWORD dwMinorVersion;
3733 DWORD dwBuildNumber;
3734 DWORD dwPlatformID;
3735 } DLLVERSIONINFO;
3737 typedef struct _SEGINFO {
3738 UINT16 offSegment;
3739 UINT16 cbSegment;
3740 UINT16 flags;
3741 UINT16 cbAlloc;
3742 HGLOBAL16 h;
3743 UINT16 alignShift;
3744 UINT16 reserved[2];
3745 } SEGINFO;
3747 typedef struct tagDLGTEMPLATE
3749 DWORD style;
3750 DWORD dwExtendedStyle;
3751 WORD cdit;
3752 short x;
3753 short y;
3754 short cx;
3755 short cy;
3756 }DLGTEMPLATE, *LPDLGTEMPLATE;
3757 typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
3758 /* Fixme: use this instaed of LPCVOID for CreateDialogIndirectParam and DialogBoxIndirectParam*/
3759 typedef struct tagDLGITEMTEMPLATE
3761 DWORD style;
3762 DWORD dwExtendedStyle;
3763 WORD cdit;
3764 short x;
3765 short y;
3766 short cx;
3767 short cy;
3768 WORD id;
3769 }DLGITEMTEMPLATE, *LPDLGITEMTEMPLATE;
3770 typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATE;
3773 * This one seems to be a Win32 only definition. It also is defined with
3774 * WINAPI instead of CALLBACK in the windows headers.
3776 typedef DWORD (WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
3777 LARGE_INTEGER, DWORD, DWORD, HANDLE32,
3778 HANDLE32, LPVOID);
3780 #pragma pack(4)
3782 /* Declarations for functions that exist only in Win16 */
3784 #ifdef __WINE__
3785 typedef VOID (*SYSTEMTIMERPROC)(WORD);
3787 WORD WINAPI AllocCStoDSAlias(WORD);
3788 WORD WINAPI AllocDStoCSAlias(WORD);
3789 HGLOBAL16 WINAPI AllocResource(HINSTANCE16,HRSRC16,DWORD);
3790 WORD WINAPI AllocSelector(WORD);
3791 WORD WINAPI AllocSelectorArray(WORD);
3792 WORD WINAPI CreateSystemTimer(WORD,SYSTEMTIMERPROC);
3793 VOID WINAPI DirectedYield(HTASK16);
3794 HGLOBAL16 WINAPI DirectResAlloc(HINSTANCE16,WORD,UINT16);
3795 VOID WINAPI DisableSystemTimers(void);
3796 VOID WINAPI EnableSystemTimers(void);
3797 HANDLE16 WINAPI FarGetOwner(HGLOBAL16);
3798 VOID WINAPI FarSetOwner(HGLOBAL16,HANDLE16);
3799 FARPROC16 WINAPI FileCDR(FARPROC16);
3800 WORD WINAPI FreeSelector(WORD);
3801 HANDLE16 WINAPI GetAtomHandle(ATOM);
3802 HANDLE16 WINAPI GetCodeHandle(FARPROC16);
3803 VOID WINAPI GetCodeInfo(FARPROC16,SEGINFO*);
3804 DWORD WINAPI GetCurrentPDB(void);
3805 HTASK16 WINAPI GetCurrentTask(void);
3806 SEGPTR WINAPI GetDOSEnvironment(void);
3807 HMODULE16 WINAPI GetExePtr(HANDLE16);
3808 WORD WINAPI GetExeVersion(void);
3809 WORD WINAPI GetExpWinVer(HMODULE16);
3810 DWORD WINAPI GetFileResourceSize(LPCSTR,SEGPTR,SEGPTR,LPDWORD);
3811 DWORD WINAPI GetFileResource(LPCSTR,SEGPTR,SEGPTR,DWORD,DWORD,LPVOID);
3812 DWORD WINAPI GetHeapSpaces(HMODULE16);
3813 INT16 WINAPI GetInstanceData(HINSTANCE16,WORD,INT16);
3814 BOOL16 WINAPI GetModuleName(HINSTANCE16,LPSTR,INT16);
3815 INT16 WINAPI GetModuleUsage(HINSTANCE16);
3816 UINT16 WINAPI GetNumTasks(void);
3817 DWORD WINAPI GetSelectorBase(WORD);
3818 DWORD WINAPI GetSelectorLimit(WORD);
3819 FARPROC16 WINAPI GetSetKernelDOSProc(FARPROC16 DosProc);
3820 HINSTANCE16 WINAPI GetTaskDS(void);
3821 HQUEUE16 WINAPI GetTaskQueue(HTASK16);
3822 BYTE WINAPI GetTempDrive(BYTE);
3823 BOOL16 WINAPI GetWinDebugInfo(LPWINDEBUGINFO,UINT16);
3824 DWORD WINAPI GetWinFlags(void);
3825 DWORD WINAPI GlobalDOSAlloc(DWORD);
3826 WORD WINAPI GlobalDOSFree(WORD);
3827 void WINAPI GlobalFreeAll(HGLOBAL16);
3828 DWORD WINAPI GlobalHandleNoRIP(WORD);
3829 HGLOBAL16 WINAPI GlobalLRUNewest(HGLOBAL16);
3830 HGLOBAL16 WINAPI GlobalLRUOldest(HGLOBAL16);
3831 VOID WINAPI GlobalNotify(FARPROC16);
3832 WORD WINAPI GlobalPageLock(HGLOBAL16);
3833 WORD WINAPI GlobalPageUnlock(HGLOBAL16);
3834 BOOL16 WINAPI IsSharedSelector(HANDLE16);
3835 BOOL16 WINAPI IsTask(HTASK16);
3836 HTASK16 WINAPI IsTaskLocked(void);
3837 VOID WINAPI LogError(UINT16, LPVOID);
3838 VOID WINAPI LogParamError(UINT16,FARPROC16,LPVOID);
3839 WORD WINAPI LocalCountFree(void);
3840 WORD WINAPI LocalHandleDelta(WORD);
3841 WORD WINAPI LocalHeapSize(void);
3842 BOOL16 WINAPI LocalInit(HANDLE16,WORD,WORD);
3843 HMODULE32 WINAPI LoadLibraryEx32W16(LPCSTR,HANDLE16,DWORD);
3844 FARPROC16 WINAPI LocalNotify(FARPROC16);
3845 HTASK16 WINAPI LockCurrentTask(BOOL16);
3846 VOID WINAPI OldYield(void);
3847 VOID WINAPI PostEvent(HTASK16);
3848 WORD WINAPI PrestoChangoSelector(WORD,WORD);
3849 BOOL32 WINAPI RegisterShellHook(HWND16,UINT16);
3850 /* NOTE: This is SYSTEM.3, not USER.182, which is also named KillSystemTimer */
3851 WORD WINAPI SYSTEM_KillSystemTimer( WORD );
3852 WORD WINAPI SelectorAccessRights(WORD,WORD,WORD);
3853 VOID WINAPI SetPriority(HTASK16,INT16);
3854 FARPROC16 WINAPI SetResourceHandler(HINSTANCE16,SEGPTR,FARPROC16);
3855 WORD WINAPI SetSelectorBase(WORD,DWORD);
3856 WORD WINAPI SetSelectorLimit(WORD,DWORD);
3857 HQUEUE16 WINAPI SetTaskQueue(HTASK16,HQUEUE16);
3858 FARPROC16 WINAPI SetTaskSignalProc(HTASK16,FARPROC16);
3859 BOOL16 WINAPI SetWinDebugInfo(LPWINDEBUGINFO);
3860 VOID WINAPI SwitchStackTo(WORD,WORD,WORD);
3861 BOOL16 WINAPI WaitEvent(HTASK16);
3862 VOID WINAPI WriteOutProfiles(VOID);
3863 VOID WINAPI hmemcpy(LPVOID,LPCVOID,LONG);
3864 #endif /* __WINE__ */
3866 /* Declarations for functions that exist only in Win32 */
3868 BOOL32 WINAPI AllocConsole(void);
3869 BOOL32 WINAPI AreFileApisANSI(void);
3870 BOOL32 WINAPI Beep(DWORD,DWORD);
3871 BOOL32 WINAPI CloseHandle(HANDLE32);
3872 BOOL32 WINAPI CloseServiceHandle(HANDLE32);
3873 HANDLE32 WINAPI ConvertToGlobalHandle(HANDLE32 hSrc);
3874 BOOL32 WINAPI CopyFile32A(LPCSTR,LPCSTR,BOOL32);
3875 BOOL32 WINAPI CopyFile32W(LPCWSTR,LPCWSTR,BOOL32);
3876 #define CopyFile WINELIB_NAME_AW(CopyFile)
3877 BOOL32 WINAPI CopyFileEx32A(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL32, DWORD);
3878 BOOL32 WINAPI CopyFileEx32W(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL32, DWORD);
3879 #define CopyFileEx WINELIB_NAME_AW(CopyFileEx)
3880 INT32 WINAPI CompareFileTime(LPFILETIME,LPFILETIME);
3881 BOOL32 WINAPI ControlService(HANDLE32,DWORD,LPSERVICE_STATUS);
3882 HANDLE32 WINAPI CreateEvent32A(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCSTR);
3883 HANDLE32 WINAPI CreateEvent32W(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCWSTR);
3884 #define CreateEvent WINELIB_NAME_AW(CreateEvent)
3885 HFILE32 WINAPI CreateFile32A(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
3886 DWORD,DWORD,HANDLE32);
3887 HFILE32 WINAPI CreateFile32W(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
3888 DWORD,DWORD,HANDLE32);
3889 #define CreateFile WINELIB_NAME_AW(CreateFile)
3890 HANDLE32 WINAPI CreateFileMapping32A(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,
3891 DWORD,DWORD,LPCSTR);
3892 HANDLE32 WINAPI CreateFileMapping32W(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,
3893 DWORD,DWORD,LPCWSTR);
3894 #define CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
3895 HANDLE32 WINAPI CreateMutex32A(LPSECURITY_ATTRIBUTES,BOOL32,LPCSTR);
3896 HANDLE32 WINAPI CreateMutex32W(LPSECURITY_ATTRIBUTES,BOOL32,LPCWSTR);
3897 #define CreateMutex WINELIB_NAME_AW(CreateMutex)
3898 BOOL32 WINAPI CreateProcess32A(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,
3899 LPSECURITY_ATTRIBUTES,BOOL32,DWORD,LPVOID,LPCSTR,
3900 LPSTARTUPINFO32A,LPPROCESS_INFORMATION);
3901 BOOL32 WINAPI CreateProcess32W(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,
3902 LPSECURITY_ATTRIBUTES,BOOL32,DWORD,LPVOID,LPCWSTR,
3903 LPSTARTUPINFO32W,LPPROCESS_INFORMATION);
3904 #define CreateProcess WINELIB_NAME_AW(CreateProcess)
3905 HANDLE32 WINAPI CreateSemaphore32A(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
3906 HANDLE32 WINAPI CreateSemaphore32W(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
3907 #define CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
3908 HANDLE32 WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
3909 BOOL32 WINAPI DeleteService(HANDLE32);
3910 BOOL32 WINAPI DeregisterEventSource(HANDLE32);
3911 BOOL32 WINAPI DisableThreadLibraryCalls(HMODULE32);
3912 BOOL32 WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
3913 BOOL32 WINAPI DuplicateHandle(HANDLE32,HANDLE32,HANDLE32,HANDLE32*,DWORD,BOOL32,DWORD);
3914 BOOL32 WINAPI EnumDateFormats32A(DATEFMT_ENUMPROC32A lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
3915 BOOL32 WINAPI EnumDateFormats32W(DATEFMT_ENUMPROC32W lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
3916 #define EnumDateFormats WINELIB_NAME_AW(EnumDateFormats)
3917 BOOL32 WINAPI EnumResourceLanguages32A(HMODULE32,LPCSTR,LPCSTR,
3918 ENUMRESLANGPROC32A,LONG);
3919 BOOL32 WINAPI EnumResourceLanguages32W(HMODULE32,LPCWSTR,LPCWSTR,
3920 ENUMRESLANGPROC32W,LONG);
3921 #define EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
3922 BOOL32 WINAPI EnumResourceNames32A(HMODULE32,LPCSTR,ENUMRESNAMEPROC32A,
3923 LONG);
3924 BOOL32 WINAPI EnumResourceNames32W(HMODULE32,LPCWSTR,ENUMRESNAMEPROC32W,
3925 LONG);
3926 #define EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
3927 BOOL32 WINAPI EnumResourceTypes32A(HMODULE32,ENUMRESTYPEPROC32A,LONG);
3928 BOOL32 WINAPI EnumResourceTypes32W(HMODULE32,ENUMRESTYPEPROC32W,LONG);
3929 #define EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
3930 BOOL32 WINAPI EnumSystemCodePages32A(CODEPAGE_ENUMPROC32A,DWORD);
3931 BOOL32 WINAPI EnumSystemCodePages32W(CODEPAGE_ENUMPROC32W,DWORD);
3932 #define EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages)
3933 BOOL32 WINAPI EnumSystemLocales32A(LOCALE_ENUMPROC32A,DWORD);
3934 BOOL32 WINAPI EnumSystemLocales32W(LOCALE_ENUMPROC32W,DWORD);
3935 #define EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales)
3936 BOOL32 WINAPI EnumTimeFormats32A(TIMEFMT_ENUMPROC32A lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
3937 BOOL32 WINAPI EnumTimeFormats32W(TIMEFMT_ENUMPROC32W lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
3938 #define EnumTimeFormats WINELIB_NAME_AW(EnumTimeFormats)
3939 VOID WINAPI ExitProcess(DWORD);
3940 VOID WINAPI ExitThread(DWORD);
3941 DWORD WINAPI ExpandEnvironmentStrings32A(LPCSTR,LPSTR,DWORD);
3942 DWORD WINAPI ExpandEnvironmentStrings32W(LPCWSTR,LPWSTR,DWORD);
3943 #define ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
3944 BOOL32 WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
3945 BOOL32 WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
3946 BOOL32 WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
3947 HANDLE32 WINAPI FindFirstChangeNotification32A(LPCSTR,BOOL32,DWORD);
3948 HANDLE32 WINAPI FindFirstChangeNotification32W(LPCWSTR,BOOL32,DWORD);
3949 #define FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
3950 BOOL32 WINAPI FindNextChangeNotification(HANDLE32);
3951 BOOL32 WINAPI FindCloseChangeNotification(HANDLE32);
3952 HRSRC32 WINAPI FindResourceEx32A(HMODULE32,LPCSTR,LPCSTR,WORD);
3953 HRSRC32 WINAPI FindResourceEx32W(HMODULE32,LPCWSTR,LPCWSTR,WORD);
3954 #define FindResourceEx WINELIB_NAME_AW(FindResourceEx)
3955 BOOL32 WINAPI FlushConsoleInputBuffer(HANDLE32);
3956 BOOL32 WINAPI FlushFileBuffers(HFILE32);
3957 BOOL32 WINAPI FlushViewOfFile(LPCVOID, DWORD);
3958 DWORD WINAPI FormatMessage32A(DWORD,LPCVOID,DWORD,DWORD,LPSTR,
3959 DWORD,LPDWORD);
3960 #define FormatMessage WINELIB_NAME_AW(FormatMessage)
3961 BOOL32 WINAPI FreeConsole(void);
3962 BOOL32 WINAPI FreeEnvironmentStrings32A(LPSTR);
3963 BOOL32 WINAPI FreeEnvironmentStrings32W(LPWSTR);
3964 #define FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
3965 UINT32 WINAPI GetACP(void);
3966 LPCSTR WINAPI GetCommandLine32A(void);
3967 LPCWSTR WINAPI GetCommandLine32W(void);
3968 #define GetCommandLine WINELIB_NAME_AW(GetCommandLine)
3969 BOOL32 WINAPI GetComputerName32A(LPSTR,LPDWORD);
3970 BOOL32 WINAPI GetComputerName32W(LPWSTR,LPDWORD);
3971 #define GetComputerName WINELIB_NAME_AW(GetComputerName)
3972 UINT32 WINAPI GetConsoleCP(void);
3973 BOOL32 WINAPI GetConsoleMode(HANDLE32,LPDWORD);
3974 UINT32 WINAPI GetConsoleOutputCP(void);
3975 DWORD WINAPI GetConsoleTitle32A(LPSTR,DWORD);
3976 DWORD WINAPI GetConsoleTitle32W(LPWSTR,DWORD);
3977 #define GetConsoleTitle WINELIB_NAME_AW(GetConsoleTitle)
3978 BOOL32 WINAPI GetCPInfo(UINT32,LPCPINFO);
3979 BOOL32 WINAPI GetCommMask(HANDLE32, LPDWORD);
3980 BOOL32 WINAPI GetCommModemStatus(HANDLE32, LPDWORD);
3981 HANDLE32 WINAPI GetCurrentProcess(void);
3982 DWORD WINAPI GetCurrentProcessId(void);
3983 HANDLE32 WINAPI GetCurrentThread(void);
3984 DWORD WINAPI GetCurrentThreadId(void);
3985 INT32 WINAPI GetDateFormat32A(LCID,DWORD,LPSYSTEMTIME,LPCSTR,LPSTR,INT32);
3986 INT32 WINAPI GetDateFormat32W(LCID,DWORD,LPSYSTEMTIME,LPCWSTR,LPWSTR,INT32);
3987 #define GetDateFormat WINELIB_NAME_AW(GetDateFormat)
3988 LPSTR WINAPI GetEnvironmentStrings32A(void);
3989 LPWSTR WINAPI GetEnvironmentStrings32W(void);
3990 #define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
3991 DWORD WINAPI GetEnvironmentVariable32A(LPCSTR,LPSTR,DWORD);
3992 DWORD WINAPI GetEnvironmentVariable32W(LPCWSTR,LPWSTR,DWORD);
3993 #define GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
3994 BOOL32 WINAPI GetFileAttributesEx32A(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
3995 BOOL32 WINAPI GetFileAttributesEx32W(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
3996 #define GetFileattributesEx WINELIB_NAME_AW(GetFileAttributesEx)
3997 DWORD WINAPI GetFileInformationByHandle(HFILE32,BY_HANDLE_FILE_INFORMATION*);
3998 BOOL32 WINAPI GetFileSecurity32A(LPCSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
3999 BOOL32 WINAPI GetFileSecurity32W(LPCWSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
4000 #define GetFileSecurity WINELIB_NAME_AW(GetFileSecurity)
4001 DWORD WINAPI GetFileSize(HFILE32,LPDWORD);
4002 BOOL32 WINAPI GetFileTime(HFILE32,LPFILETIME,LPFILETIME,LPFILETIME);
4003 DWORD WINAPI GetFileType(HFILE32);
4004 DWORD WINAPI GetFullPathName32A(LPCSTR,DWORD,LPSTR,LPSTR*);
4005 DWORD WINAPI GetFullPathName32W(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
4006 #define GetFullPathName WINELIB_NAME_AW(GetFullPathName)
4007 BOOL32 WINAPI GetHandleInformation(HANDLE32,LPDWORD);
4008 DWORD WINAPI GetLargestConsoleWindowSize(HANDLE32);
4009 VOID WINAPI GetLocalTime(LPSYSTEMTIME);
4010 DWORD WINAPI GetLogicalDrives(void);
4011 DWORD WINAPI GetLongPathName32A(LPCSTR,LPSTR,DWORD);
4012 DWORD WINAPI GetLongPathName32W(LPCWSTR,LPWSTR,DWORD);
4013 #define GetLongPathName WINELIB_NAME_AW(GetLongPathName)
4014 BOOL32 WINAPI GetNumberOfConsoleInputEvents(HANDLE32,LPDWORD);
4015 BOOL32 WINAPI GetNumberOfConsoleMouseButtons(LPDWORD);
4016 UINT32 WINAPI GetOEMCP(void);
4017 DWORD WINAPI GetPriorityClass(HANDLE32);
4018 HANDLE32 WINAPI GetProcessHeap(void);
4019 DWORD WINAPI GetProcessVersion(DWORD);
4020 DWORD WINAPI GetShortPathName32A(LPCSTR,LPSTR,DWORD);
4021 DWORD WINAPI GetShortPathName32W(LPCWSTR,LPWSTR,DWORD);
4022 #define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
4023 HFILE32 WINAPI GetStdHandle(DWORD);
4024 BOOL32 WINAPI GetStringTypeEx32A(LCID,DWORD,LPCSTR,INT32,LPWORD);
4025 BOOL32 WINAPI GetStringTypeEx32W(LCID,DWORD,LPCWSTR,INT32,LPWORD);
4026 #define GetStringTypeEx WINELIB_NAME_AW(GetStringTypeEx)
4027 VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
4028 BOOL32 WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
4029 VOID WINAPI GetSystemTime(LPSYSTEMTIME);
4030 INT32 WINAPI GetTimeFormat32A(LCID,DWORD,LPSYSTEMTIME,LPCSTR,LPSTR,INT32);
4031 INT32 WINAPI GetTimeFormat32W(LCID,DWORD,LPSYSTEMTIME,LPCWSTR,LPWSTR,INT32);
4032 #define GetTimeFormat WINELIB_NAME_AW(GetTimeFormat)
4033 LCID WINAPI GetThreadLocale(void);
4034 INT32 WINAPI GetThreadPriority(HANDLE32);
4035 BOOL32 WINAPI GetThreadSelectorEntry(HANDLE32,DWORD,LPLDT_ENTRY);
4036 BOOL32 WINAPI GetUserName32A(LPSTR,LPDWORD);
4037 BOOL32 WINAPI GetUserName32W(LPWSTR,LPDWORD);
4038 #define GetUserName WINELIB_NAME_AW(GetUserName)
4039 VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
4040 LPVOID WINAPI HeapAlloc(HANDLE32,DWORD,DWORD);
4041 DWORD WINAPI HeapCompact(HANDLE32,DWORD);
4042 HANDLE32 WINAPI HeapCreate(DWORD,DWORD,DWORD);
4043 BOOL32 WINAPI HeapDestroy(HANDLE32);
4044 BOOL32 WINAPI HeapFree(HANDLE32,DWORD,LPVOID);
4045 BOOL32 WINAPI HeapLock(HANDLE32);
4046 LPVOID WINAPI HeapReAlloc(HANDLE32,DWORD,LPVOID,DWORD);
4047 DWORD WINAPI HeapSize(HANDLE32,DWORD,LPVOID);
4048 BOOL32 WINAPI HeapUnlock(HANDLE32);
4049 BOOL32 WINAPI HeapValidate(HANDLE32,DWORD,LPCVOID);
4050 LONG WINAPI InterlockedDecrement(LPLONG);
4051 LONG WINAPI InterlockedExchange(LPLONG,LONG);
4052 LONG WINAPI InterlockedIncrement(LPLONG);
4053 BOOL32 WINAPI IsDBCSLeadByteEx(UINT32,BYTE);
4054 BOOL32 WINAPI IsProcessorFeaturePresent(DWORD);
4055 BOOL32 WINAPI IsValidLocale(DWORD,DWORD);
4056 BOOL32 WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
4057 BOOL32 WINAPI LockFile(HFILE32,DWORD,DWORD,DWORD,DWORD);
4058 BOOL32 WINAPI LookupPrivilegeValue32A(LPCSTR,LPCSTR,LPVOID);
4059 BOOL32 WINAPI LookupPrivilegeValue32W(LPCWSTR,LPCWSTR,LPVOID);
4060 #define LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
4061 HMODULE32 WINAPI MapHModuleSL(HMODULE16);
4062 HMODULE16 WINAPI MapHModuleLS(HMODULE32);
4063 SEGPTR WINAPI MapLS(LPVOID);
4064 LPVOID WINAPI MapSL(SEGPTR);
4065 LPVOID WINAPI MapViewOfFile(HANDLE32,DWORD,DWORD,DWORD,DWORD);
4066 LPVOID WINAPI MapViewOfFileEx(HANDLE32,DWORD,DWORD,DWORD,DWORD,LPVOID);
4067 BOOL32 WINAPI MoveFile32A(LPCSTR,LPCSTR);
4068 BOOL32 WINAPI MoveFile32W(LPCWSTR,LPCWSTR);
4069 #define MoveFile WINELIB_NAME_AW(MoveFile)
4070 BOOL32 WINAPI MoveFileEx32A(LPCSTR,LPCSTR,DWORD);
4071 BOOL32 WINAPI MoveFileEx32W(LPCWSTR,LPCWSTR,DWORD);
4072 #define MoveFileEx WINELIB_NAME_AW(MoveFileEx)
4073 INT32 WINAPI MultiByteToWideChar(UINT32,DWORD,LPCSTR,INT32,LPWSTR,INT32);
4074 INT32 WINAPI WideCharToMultiByte(UINT32,DWORD,LPCWSTR,INT32,LPSTR,INT32,LPCSTR,BOOL32*);
4075 HANDLE32 WINAPI OpenEvent32A(DWORD,BOOL32,LPCSTR);
4076 HANDLE32 WINAPI OpenEvent32W(DWORD,BOOL32,LPCWSTR);
4077 #define OpenEvent WINELIB_NAME_AW(OpenEvent)
4078 HANDLE32 WINAPI OpenFileMapping32A(DWORD,BOOL32,LPCSTR);
4079 HANDLE32 WINAPI OpenFileMapping32W(DWORD,BOOL32,LPCWSTR);
4080 #define OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
4081 HANDLE32 WINAPI OpenMutex32A(DWORD,BOOL32,LPCSTR);
4082 HANDLE32 WINAPI OpenMutex32W(DWORD,BOOL32,LPCWSTR);
4083 #define OpenMutex WINELIB_NAME_AW(OpenMutex)
4084 HANDLE32 WINAPI OpenProcess(DWORD,BOOL32,DWORD);
4085 BOOL32 WINAPI OpenProcessToken(HANDLE32,DWORD,HANDLE32*);
4086 HANDLE32 WINAPI OpenSCManager32A(LPCSTR,LPCSTR,DWORD);
4087 HANDLE32 WINAPI OpenSCManager32W(LPCWSTR,LPCWSTR,DWORD);
4088 #define OpenSCManager WINELIB_NAME_AW(OpenSCManager)
4089 HANDLE32 WINAPI OpenSemaphore32A(DWORD,BOOL32,LPCSTR);
4090 HANDLE32 WINAPI OpenSemaphore32W(DWORD,BOOL32,LPCWSTR);
4091 #define OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
4092 HANDLE32 WINAPI OpenService32A(HANDLE32,LPCSTR,DWORD);
4093 HANDLE32 WINAPI OpenService32W(HANDLE32,LPCWSTR,DWORD);
4094 #define OpenService WINELIB_NAME_AW(OpenService)
4095 BOOL32 WINAPI PulseEvent(HANDLE32);
4096 BOOL32 WINAPI PurgeComm(HANDLE32,DWORD);
4097 DWORD WINAPI QueryDosDevice32A(LPCSTR,LPSTR,DWORD);
4098 DWORD WINAPI QueryDosDevice32W(LPCWSTR,LPWSTR,DWORD);
4099 #define QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
4100 BOOL32 WINAPI QueryPerformanceCounter(LPLARGE_INTEGER);
4101 BOOL32 WINAPI ReadConsole32A(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
4102 BOOL32 WINAPI ReadConsole32W(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
4103 #define ReadConsole WINELIB_NAME_AW(ReadConsole)
4104 BOOL32 WINAPI ReadConsoleOutputCharacter32A(HANDLE32,LPSTR,DWORD,
4105 COORD,LPDWORD);
4106 #define ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter)
4107 BOOL32 WINAPI ReadFile(HANDLE32,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
4108 LONG WINAPI RegConnectRegistry32A(LPCSTR,HKEY,LPHKEY);
4109 LONG WINAPI RegConnectRegistry32W(LPCWSTR,HKEY,LPHKEY);
4110 #define RegConnectRegistry WINELIB_NAME_AW(RegConnectRegistry)
4111 DWORD WINAPI RegCreateKeyEx32A(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,
4112 LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
4113 DWORD WINAPI RegCreateKeyEx32W(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,
4114 LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
4115 #define RegCreateKeyEx WINELIB_NAME_AW(RegCreateKeyEx)
4116 DWORD WINAPI RegEnumKeyEx32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPSTR,
4117 LPDWORD,LPFILETIME);
4118 DWORD WINAPI RegEnumKeyEx32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPWSTR,
4119 LPDWORD,LPFILETIME);
4120 #define RegEnumKeyEx WINELIB_NAME_AW(RegEnumKeyEx)
4121 LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,LPDWORD);
4122 HANDLE32 WINAPI RegisterEventSource32A(LPCSTR,LPCSTR);
4123 HANDLE32 WINAPI RegisterEventSource32W(LPCWSTR,LPCWSTR);
4124 #define RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
4125 LONG WINAPI RegLoadKey32A(HKEY,LPCSTR,LPCSTR);
4126 LONG WINAPI RegLoadKey32W(HKEY,LPCWSTR,LPCWSTR);
4127 #define RegLoadKey WINELIB_NAME_AW(RegLoadKey)
4128 LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL32,DWORD,HANDLE32,BOOL32);
4129 DWORD WINAPI RegOpenKeyEx32W(HKEY,LPCWSTR,DWORD,REGSAM,LPHKEY);
4130 DWORD WINAPI RegOpenKeyEx32A(HKEY,LPCSTR,DWORD,REGSAM,LPHKEY);
4131 #define RegOpenKeyEx WINELIB_NAME_AW(RegOpenKeyEx)
4132 DWORD WINAPI RegQueryInfoKey32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPDWORD,
4133 LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
4134 LPDWORD,LPFILETIME);
4135 DWORD WINAPI RegQueryInfoKey32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPDWORD,
4136 LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
4137 LPDWORD,LPFILETIME);
4138 #define RegQueryInfoKey WINELIB_NAME_AW(RegQueryInfoKey)
4139 LONG WINAPI RegReplaceKey32A(HKEY,LPCSTR,LPCSTR,LPCSTR);
4140 LONG WINAPI RegReplaceKey32W(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
4141 #define RegReplaceKey WINELIB_NAME_AW(RegReplaceKey)
4142 LONG WINAPI RegRestoreKey32A(HKEY,LPCSTR,DWORD);
4143 LONG WINAPI RegRestoreKey32W(HKEY,LPCWSTR,DWORD);
4144 #define RegRestoreKey WINELIB_NAME_AW(RegRestoreKey)
4145 LONG WINAPI RegSaveKey32A(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
4146 LONG WINAPI RegSaveKey32W(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
4147 #define RegSaveKey WINELIB_NAME_AW(RegSaveKey)
4148 LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
4149 LONG WINAPI RegUnLoadKey32A(HKEY,LPCSTR);
4150 LONG WINAPI RegUnLoadKey32W(HKEY,LPCWSTR);
4151 #define RegUnLoadKey WINELIB_NAME_AW(RegUnLoadKey)
4152 BOOL32 WINAPI ReleaseMutex(HANDLE32);
4153 BOOL32 WINAPI ReleaseSemaphore(HANDLE32,LONG,LPLONG);
4154 BOOL32 WINAPI ResetEvent(HANDLE32);
4155 DWORD WINAPI ResumeThread(HANDLE32);
4156 VOID WINAPI RtlFillMemory(LPVOID,UINT32,UINT32);
4157 VOID WINAPI RtlMoveMemory(LPVOID,LPCVOID,UINT32);
4158 VOID WINAPI RtlZeroMemory(LPVOID,UINT32);
4159 DWORD WINAPI SearchPath32A(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
4160 DWORD WINAPI SearchPath32W(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
4161 #define SearchPath WINELIB_NAME(SearchPath)
4162 BOOL32 WINAPI SetCommMask(INT32,DWORD);
4163 BOOL32 WINAPI SetComputerName32A(LPCSTR);
4164 BOOL32 WINAPI SetComputerName32W(LPCWSTR);
4165 #define SetComputerName WINELIB_NAME_AW(SetComputerName)
4166 BOOL32 WINAPI SetConsoleCursorPosition(HANDLE32,COORD);
4167 BOOL32 WINAPI SetConsoleMode(HANDLE32,DWORD);
4168 BOOL32 WINAPI SetConsoleTitle32A(LPCSTR);
4169 BOOL32 WINAPI SetConsoleTitle32W(LPCWSTR);
4170 #define SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
4171 BOOL32 WINAPI SetEndOfFile(HFILE32);
4172 BOOL32 WINAPI SetEnvironmentVariable32A(LPCSTR,LPCSTR);
4173 BOOL32 WINAPI SetEnvironmentVariable32W(LPCWSTR,LPCWSTR);
4174 #define SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
4175 BOOL32 WINAPI SetEvent(HANDLE32);
4176 VOID WINAPI SetFileApisToANSI(void);
4177 VOID WINAPI SetFileApisToOEM(void);
4178 DWORD WINAPI SetFilePointer(HFILE32,LONG,LPLONG,DWORD);
4179 BOOL32 WINAPI SetFileSecurity32A(LPCSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
4180 BOOL32 WINAPI SetFileSecurity32W(LPCWSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
4181 #define SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
4182 BOOL32 WINAPI SetFileTime(HFILE32,const FILETIME*,const FILETIME*,
4183 const FILETIME*);
4184 BOOL32 WINAPI SetHandleInformation(HANDLE32,DWORD,DWORD);
4185 BOOL32 WINAPI SetPriorityClass(HANDLE32,DWORD);
4186 BOOL32 WINAPI SetStdHandle(DWORD,HANDLE32);
4187 BOOL32 WINAPI SetSystemPowerState(BOOL32,BOOL32);
4188 BOOL32 WINAPI SetSystemTime(const SYSTEMTIME*);
4189 DWORD WINAPI SetThreadAffinityMask(HANDLE32,DWORD);
4190 BOOL32 WINAPI SetThreadLocale(LCID);
4191 BOOL32 WINAPI SetThreadPriority(HANDLE32,INT32);
4192 BOOL32 WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
4193 VOID WINAPI Sleep(DWORD);
4194 DWORD WINAPI SleepEx(DWORD,BOOL32);
4195 BOOL32 WINAPI StartService32A(HANDLE32,DWORD,LPCSTR*);
4196 BOOL32 WINAPI StartService32W(HANDLE32,DWORD,LPCWSTR*);
4197 #define StartService WINELIB_NAME_AW(StartService)
4198 DWORD WINAPI SuspendThread(HANDLE32);
4199 BOOL32 WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
4200 DWORD WINAPI TlsAlloc(void);
4201 BOOL32 WINAPI TlsFree(DWORD);
4202 LPVOID WINAPI TlsGetValue(DWORD);
4203 BOOL32 WINAPI TlsSetValue(DWORD,LPVOID);
4204 VOID WINAPI UnMapLS(SEGPTR);
4205 BOOL32 WINAPI UnlockFile(HFILE32,DWORD,DWORD,DWORD,DWORD);
4206 BOOL32 WINAPI UnmapViewOfFile(LPVOID);
4207 LPVOID WINAPI VirtualAlloc(LPVOID,DWORD,DWORD,DWORD);
4208 BOOL32 WINAPI VirtualFree(LPVOID,DWORD,DWORD);
4209 BOOL32 WINAPI VirtualLock(LPVOID,DWORD);
4210 BOOL32 WINAPI VirtualProtect(LPVOID,DWORD,DWORD,LPDWORD);
4211 BOOL32 WINAPI VirtualProtectEx(HANDLE32,LPVOID,DWORD,DWORD,LPDWORD);
4212 DWORD WINAPI VirtualQuery(LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
4213 DWORD WINAPI VirtualQueryEx(HANDLE32,LPCVOID,LPMEMORY_BASIC_INFORMATION,DWORD);
4214 BOOL32 WINAPI VirtualUnlock(LPVOID,DWORD);
4215 BOOL32 WINAPI WaitCommEvent(HANDLE32,LPDWORD,LPOVERLAPPED);
4216 BOOL32 WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
4217 DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE32*,BOOL32,DWORD);
4218 DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE32*,BOOL32,DWORD,BOOL32);
4219 DWORD WINAPI WaitForSingleObject(HANDLE32,DWORD);
4220 DWORD WINAPI WaitForSingleObjectEx(HANDLE32,DWORD,BOOL32);
4221 UINT32 WINAPI WNetAddConnection2_32A(LPNETRESOURCE32A,LPCSTR,LPCSTR,DWORD);
4222 UINT32 WINAPI WNetAddConnection2_32W(LPNETRESOURCE32W,LPCWSTR,LPCWSTR,DWORD);
4223 #define WNetAddConnection2 WINELIB_NAME_AW(WNetAddConnection2_)
4224 UINT32 WINAPI WNetAddConnection3_32A(HWND32,LPNETRESOURCE32A,LPCSTR,LPCSTR,DWORD);
4225 UINT32 WINAPI WNetAddConnection3_32W(HWND32,LPNETRESOURCE32W,LPCWSTR,LPCWSTR,DWORD);
4226 #define WNetAddConnection3 WINELIB_NAME_AW(WNetAddConnection3_)
4227 UINT32 WINAPI WNetConnectionDialog1_32(HWND32,DWORD);
4228 UINT32 WINAPI WNetConnectionDialog1_32A(LPCONNECTDLGSTRUCT32A);
4229 UINT32 WINAPI WNetConnectionDialog1_32W(LPCONNECTDLGSTRUCT32W);
4230 #define WNetConnectionDialog1 WINELIB_NAME_AW(WNetConnectionDialog1_)
4231 UINT32 WINAPI MultinetGetErrorText32A(DWORD,DWORD,DWORD);
4232 UINT32 WINAPI MultinetGetErrorText32W(DWORD,DWORD,DWORD);
4233 #define MultinetGetErrorText WINELIB_NAME_AW(MultinetGetErrorText_)
4234 SEGPTR WINAPI WOWGlobalAllocLock16(DWORD,DWORD,HGLOBAL16*);
4235 DWORD WINAPI WOWCallback16(FARPROC16,DWORD);
4236 BOOL32 WINAPI WOWCallback16Ex(FARPROC16,DWORD,DWORD,LPVOID,LPDWORD);
4237 HANDLE32 WINAPI WOWHandle32(WORD,WOW_HANDLE_TYPE);
4238 WORD WINAPI WOWHandle16(HANDLE32,WOW_HANDLE_TYPE);
4239 BOOL32 WINAPI WriteConsole32A(HANDLE32,LPCVOID,DWORD,LPDWORD,LPVOID);
4240 BOOL32 WINAPI WriteConsole32W(HANDLE32,LPCVOID,DWORD,LPDWORD,LPVOID);
4241 #define WriteConsole WINELIB_NAME_AW(WriteConsole)
4242 BOOL32 WINAPI WriteFile(HANDLE32,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
4243 VOID WINAPI ZeroMemory(LPVOID,UINT32);
4244 #define ZeroMemory RtlZeroMemory
4246 /* Declarations for functions that are the same in Win16 and Win32 */
4248 VOID WINAPI CloseSound(VOID);
4249 DWORD WINAPI GetLastError(void);
4250 LANGID WINAPI GetSystemDefaultLangID(void);
4251 LCID WINAPI GetSystemDefaultLCID(void);
4252 LANGID WINAPI GetUserDefaultLangID(void);
4253 LCID WINAPI GetUserDefaultLCID(void);
4254 VOID WINAPI LZDone(void);
4255 VOID WINAPI ScreenSwitchEnable(WORD);
4256 DWORD WINAPI RegCloseKey(HKEY);
4257 DWORD WINAPI RegFlushKey(HKEY);
4258 VOID WINAPI SetLastError(DWORD);
4261 /* Declarations for functions that change between Win16 and Win32 */
4263 BOOL16 WINAPI AboutDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
4264 BOOL32 WINAPI AboutDlgProc32(HWND32,UINT32,WPARAM32,LPARAM);
4265 #define AboutDlgProc WINELIB_NAME(AboutDlgProc)
4266 INT16 WINAPI AccessResource16(HINSTANCE16,HRSRC16);
4267 INT32 WINAPI AccessResource32(HMODULE32,HRSRC32);
4268 #define AccessResource WINELIB_NAME(AccessResource)
4269 ATOM WINAPI AddAtom16(SEGPTR);
4270 ATOM WINAPI AddAtom32A(LPCSTR);
4271 ATOM WINAPI AddAtom32W(LPCWSTR);
4272 #define AddAtom WINELIB_NAME_AW(AddAtom)
4273 INT16 WINAPI AnsiToOem16(LPCSTR,LPSTR);
4274 #define AnsiToOem32A CharToOem32A
4275 #define AnsiToOem32W CharToOem32W
4276 #define AnsiToOem WINELIB_NAME_AW(AnsiToOem)
4277 VOID WINAPI AnsiToOemBuff16(LPCSTR,LPSTR,UINT16);
4278 #define AnsiToOemBuff32A CharToOemBuff32A
4279 #define AnsiToOemBuff32W CharToOemBuff32W
4280 #define AnsiToOemBuff WINELIB_NAME_AW(AnsiToOemBuff)
4281 BOOL16 WINAPI CheckMenuRadioButton16(HMENU16,UINT16,UINT16,UINT16,BOOL16);
4282 BOOL32 WINAPI CheckMenuRadioButton32(HMENU32,UINT32,UINT32,UINT32,BOOL32);
4283 #define CheckMenuRadioButton WINELIB_NAME(CheckMenuRadioButton)
4284 UINT16 WINAPI CompareString16(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
4285 UINT32 WINAPI CompareString32A(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
4286 UINT32 WINAPI CompareString32W(DWORD,DWORD,LPCWSTR,DWORD,LPCWSTR,DWORD);
4287 #define CompareString WINELIB_NAME_AW(CompareString)
4288 LONG WINAPI CopyLZFile16(HFILE16,HFILE16);
4289 LONG WINAPI CopyLZFile32(HFILE32,HFILE32);
4290 #define CopyLZFile WINELIB_NAME(CopyLZFile)
4291 INT16 WINAPI CountVoiceNotes16(INT16);
4292 DWORD WINAPI CountVoiceNotes32(DWORD);
4293 #define CountVoiceNotes WINELIB_NAME(CountVoiceNotes)
4294 BOOL16 WINAPI CreateDirectory16(LPCSTR,LPVOID);
4295 BOOL32 WINAPI CreateDirectory32A(LPCSTR,LPSECURITY_ATTRIBUTES);
4296 BOOL32 WINAPI CreateDirectory32W(LPCWSTR,LPSECURITY_ATTRIBUTES);
4297 #define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
4298 BOOL32 WINAPI CreateDirectoryEx32A(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
4299 BOOL32 WINAPI CreateDirectoryEx32W(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
4300 #define CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
4301 BOOL16 WINAPI DefineHandleTable16(WORD);
4302 #define DefineHandleTable32(w) ((w),TRUE)
4303 #define DefineHandleTable WINELIB_NAME(DefineHandleTable)
4304 ATOM WINAPI DeleteAtom16(ATOM);
4305 ATOM WINAPI DeleteAtom32(ATOM);
4306 #define DeleteAtom WINELIB_NAME(DeleteAtom)
4307 BOOL16 WINAPI DeleteFile16(LPCSTR);
4308 BOOL32 WINAPI DeleteFile32A(LPCSTR);
4309 BOOL32 WINAPI DeleteFile32W(LPCWSTR);
4310 #define DeleteFile WINELIB_NAME_AW(DeleteFile)
4311 BOOL16 WINAPI EnumTaskWindows16(HTASK16,WNDENUMPROC16,LPARAM);
4312 #define EnumTaskWindows32(handle,proc,lparam) \
4313 EnumThreadWindows(handle,proc,lparam)
4314 #define EnumTaskWindows WINELIB_NAME(EnumTaskWindows)
4315 HICON16 WINAPI ExtractIcon16(HINSTANCE16,LPCSTR,UINT16);
4316 HICON32 WINAPI ExtractIcon32A(HINSTANCE32,LPCSTR,UINT32);
4317 HICON32 WINAPI ExtractIcon32W(HINSTANCE32,LPCWSTR,UINT32);
4318 #define ExtractIcon WINELIB_NAME_AW(ExtractIcon)
4319 HICON16 WINAPI ExtractAssociatedIcon16(HINSTANCE16,LPSTR,LPWORD);
4320 HICON32 WINAPI ExtractAssociatedIcon32A(HINSTANCE32,LPSTR,LPWORD);
4321 HICON32 WINAPI ExtractAssociatedIcon32W(HINSTANCE32,LPWSTR,LPWORD);
4322 #define ExtractAssociatedIcon WINELIB_NAME_AW(ExtractAssociatedIcon)
4323 void WINAPI FatalAppExit16(UINT16,LPCSTR);
4324 void WINAPI FatalAppExit32A(UINT32,LPCSTR);
4325 void WINAPI FatalAppExit32W(UINT32,LPCWSTR);
4326 #define FatalAppExit WINELIB_NAME_AW(FatalAppExit)
4327 ATOM WINAPI FindAtom16(SEGPTR);
4328 ATOM WINAPI FindAtom32A(LPCSTR);
4329 ATOM WINAPI FindAtom32W(LPCWSTR);
4330 #define FindAtom WINELIB_NAME_AW(FindAtom)
4331 BOOL16 WINAPI FindClose16(HANDLE16);
4332 BOOL32 WINAPI FindClose32(HANDLE32);
4333 #define FindClose WINELIB_NAME(FindClose)
4334 HINSTANCE16 WINAPI FindExecutable16(LPCSTR,LPCSTR,LPSTR);
4335 HINSTANCE32 WINAPI FindExecutable32A(LPCSTR,LPCSTR,LPSTR);
4336 HINSTANCE32 WINAPI FindExecutable32W(LPCWSTR,LPCWSTR,LPWSTR);
4337 #define FindExecutable WINELIB_NAME_AW(FindExecutable)
4338 HANDLE16 WINAPI FindFirstFile16(LPCSTR,LPWIN32_FIND_DATA32A);
4339 HANDLE32 WINAPI FindFirstFile32A(LPCSTR,LPWIN32_FIND_DATA32A);
4340 HANDLE32 WINAPI FindFirstFile32W(LPCWSTR,LPWIN32_FIND_DATA32W);
4341 #define FindFirstFile WINELIB_NAME_AW(FindFirstFile)
4342 BOOL16 WINAPI FindNextFile16(HANDLE16,LPWIN32_FIND_DATA32A);
4343 BOOL32 WINAPI FindNextFile32A(HANDLE32,LPWIN32_FIND_DATA32A);
4344 BOOL32 WINAPI FindNextFile32W(HANDLE32,LPWIN32_FIND_DATA32W);
4345 #define FindNextFile WINELIB_NAME_AW(FindNextFile)
4346 HRSRC16 WINAPI FindResource16(HINSTANCE16,SEGPTR,SEGPTR);
4347 HRSRC32 WINAPI FindResource32A(HMODULE32,LPCSTR,LPCSTR);
4348 HRSRC32 WINAPI FindResource32W(HMODULE32,LPCWSTR,LPCWSTR);
4349 #define FindResource WINELIB_NAME_AW(FindResource)
4350 VOID WINAPI FreeLibrary16(HINSTANCE16);
4351 BOOL32 WINAPI FreeLibrary32(HMODULE32);
4352 #define FreeLibrary WINELIB_NAME(FreeLibrary)
4353 BOOL16 WINAPI FreeModule16(HMODULE16);
4354 #define FreeModule32(handle) FreeLibrary32(handle)
4355 #define FreeModule WINELIB_NAME(FreeModule)
4356 void WINAPI FreeProcInstance16(FARPROC16);
4357 #define FreeProcInstance32(proc) /*nothing*/
4358 #define FreeProcInstance WINELIB_NAME(FreeProcInstance)
4359 BOOL16 WINAPI FreeResource16(HGLOBAL16);
4360 BOOL32 WINAPI FreeResource32(HGLOBAL32);
4361 #define FreeResource WINELIB_NAME(FreeResource)
4362 UINT16 WINAPI GetAtomName16(ATOM,LPSTR,INT16);
4363 UINT32 WINAPI GetAtomName32A(ATOM,LPSTR,INT32);
4364 UINT32 WINAPI GetAtomName32W(ATOM,LPWSTR,INT32);
4365 #define GetAtomName WINELIB_NAME_AW(GetAtomName)
4366 UINT16 WINAPI GetCurrentDirectory16(UINT16,LPSTR);
4367 UINT32 WINAPI GetCurrentDirectory32A(UINT32,LPSTR);
4368 UINT32 WINAPI GetCurrentDirectory32W(UINT32,LPWSTR);
4369 #define GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
4370 BOOL16 WINAPI GetDiskFreeSpace16(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
4371 BOOL32 WINAPI GetDiskFreeSpace32A(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
4372 BOOL32 WINAPI GetDiskFreeSpace32W(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
4373 #define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
4374 BOOL32 WINAPI GetDiskFreeSpaceEx32A(LPCSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
4375 BOOL32 WINAPI GetDiskFreeSpaceEx32W(LPCWSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
4376 #define GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
4377 UINT16 WINAPI GetDriveType16(UINT16); /* yes, the arguments differ */
4378 UINT32 WINAPI GetDriveType32A(LPCSTR);
4379 UINT32 WINAPI GetDriveType32W(LPCWSTR);
4380 #define GetDriveType WINELIB_NAME_AW(GetDriveType)
4381 INT16 WINAPI GetExpandedName16(LPCSTR,LPSTR);
4382 INT32 WINAPI GetExpandedName32A(LPCSTR,LPSTR);
4383 INT32 WINAPI GetExpandedName32W(LPCWSTR,LPWSTR);
4384 #define GetExpandedName WINELIB_NAME_AW(GetExpandedName)
4385 DWORD WINAPI GetFileAttributes16(LPCSTR);
4386 DWORD WINAPI GetFileAttributes32A(LPCSTR);
4387 DWORD WINAPI GetFileAttributes32W(LPCWSTR);
4388 #define GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
4389 DWORD WINAPI GetFileVersionInfoSize16(LPCSTR,LPDWORD);
4390 DWORD WINAPI GetFileVersionInfoSize32A(LPCSTR,LPDWORD);
4391 DWORD WINAPI GetFileVersionInfoSize32W(LPCWSTR,LPDWORD);
4392 #define GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
4393 DWORD WINAPI GetFileVersionInfo16(LPCSTR,DWORD,DWORD,LPVOID);
4394 DWORD WINAPI GetFileVersionInfo32A(LPCSTR,DWORD,DWORD,LPVOID);
4395 DWORD WINAPI GetFileVersionInfo32W(LPCWSTR,DWORD,DWORD,LPVOID);
4396 #define GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)
4397 DWORD WINAPI GetFreeSpace16(UINT16);
4398 #define GetFreeSpace32(w) (0x100000L)
4399 #define GetFreeSpace WINELIB_NAME(GetFreeSpace)
4400 UINT32 WINAPI GetLogicalDriveStrings32A(UINT32,LPSTR);
4401 UINT32 WINAPI GetLogicalDriveStrings32W(UINT32,LPWSTR);
4402 #define GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
4403 INT16 WINAPI GetLocaleInfo16(LCID,LCTYPE,LPSTR,INT16);
4404 INT32 WINAPI GetLocaleInfo32A(LCID,LCTYPE,LPSTR,INT32);
4405 INT32 WINAPI GetLocaleInfo32W(LCID,LCTYPE,LPWSTR,INT32);
4406 #define GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
4407 INT16 WINAPI GetModuleFileName16(HINSTANCE16,LPSTR,INT16);
4408 DWORD WINAPI GetModuleFileName32A(HMODULE32,LPSTR,DWORD);
4409 DWORD WINAPI GetModuleFileName32W(HMODULE32,LPWSTR,DWORD);
4410 #define GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
4411 HMODULE16 WINAPI GetModuleHandle16(LPCSTR);
4412 HMODULE32 WINAPI GetModuleHandle32A(LPCSTR);
4413 HMODULE32 WINAPI GetModuleHandle32W(LPCWSTR);
4414 #define GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
4415 UINT16 WINAPI GetPrivateProfileInt16(LPCSTR,LPCSTR,INT16,LPCSTR);
4416 UINT32 WINAPI GetPrivateProfileInt32A(LPCSTR,LPCSTR,INT32,LPCSTR);
4417 UINT32 WINAPI GetPrivateProfileInt32W(LPCWSTR,LPCWSTR,INT32,LPCWSTR);
4418 #define GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
4419 INT16 WINAPI GetPrivateProfileSection16(LPCSTR,LPSTR,UINT16,LPCSTR);
4420 INT32 WINAPI GetPrivateProfileSection32A(LPCSTR,LPSTR,DWORD,LPCSTR);
4421 INT32 WINAPI GetPrivateProfileSection32W(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
4422 #define GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
4423 WORD WINAPI GetPrivateProfileSectionNames16(LPSTR,UINT16,LPCSTR);
4424 DWORD WINAPI GetPrivateProfileSectionNames32A(LPSTR,DWORD,LPCSTR);
4425 DWORD WINAPI GetPrivateProfileSectionNames32W(LPWSTR,DWORD,LPCWSTR);
4426 #define GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
4427 INT16 WINAPI GetPrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16,LPCSTR);
4428 INT32 WINAPI GetPrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32,LPCSTR);
4429 INT32 WINAPI GetPrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32,LPCWSTR);
4430 #define GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
4431 BOOL16 WINAPI GetPrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
4432 BOOL32 WINAPI GetPrivateProfileStruct32A(LPCSTR,LPCSTR,LPVOID,UINT32,LPCSTR);
4433 BOOL32 WINAPI GetPrivateProfileStruct32W(LPCWSTR,LPCWSTR,LPVOID,UINT32,LPCWSTR);
4434 #define GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
4435 FARPROC16 WINAPI GetProcAddress16(HMODULE16,SEGPTR);
4436 FARPROC32 WINAPI GetProcAddress32(HMODULE32,LPCSTR);
4437 #define GetProcAddress WINELIB_NAME(GetProcAddress)
4438 UINT16 WINAPI GetProfileInt16(LPCSTR,LPCSTR,INT16);
4439 UINT32 WINAPI GetProfileInt32A(LPCSTR,LPCSTR,INT32);
4440 UINT32 WINAPI GetProfileInt32W(LPCWSTR,LPCWSTR,INT32);
4441 #define GetProfileInt WINELIB_NAME_AW(GetProfileInt)
4442 INT16 WINAPI GetProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16);
4443 INT32 WINAPI GetProfileSection32A(LPCSTR,LPSTR,DWORD);
4444 INT32 WINAPI GetProfileSection32W(LPCWSTR,LPWSTR,DWORD);
4445 #define GetProfileSection WINELIB_NAME_AW(GetProfileSection)
4446 INT32 WINAPI GetProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32);
4447 INT32 WINAPI GetProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32);
4448 #define GetProfileString WINELIB_NAME_AW(GetProfileString)
4449 BOOL16 WINAPI GetStringType16(LCID,DWORD,LPCSTR,INT16,LPWORD);
4450 BOOL32 WINAPI GetStringType32A(LCID,DWORD,LPCSTR,INT32,LPWORD);
4451 BOOL32 WINAPI GetStringType32W(DWORD,LPCWSTR,INT32,LPWORD);
4452 #define GetStringType WINELIB_NAME_AW(GetStringType)
4453 UINT16 WINAPI GetSystemDirectory16(LPSTR,UINT16);
4454 UINT32 WINAPI GetSystemDirectory32A(LPSTR,UINT32);
4455 UINT32 WINAPI GetSystemDirectory32W(LPWSTR,UINT32);
4456 #define GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
4457 UINT16 WINAPI GetTempFileName16(BYTE,LPCSTR,UINT16,LPSTR);
4458 UINT32 WINAPI GetTempFileName32A(LPCSTR,LPCSTR,UINT32,LPSTR);
4459 UINT32 WINAPI GetTempFileName32W(LPCWSTR,LPCWSTR,UINT32,LPWSTR);
4460 #define GetTempFileName WINELIB_NAME_AW(GetTempFileName)
4461 UINT32 WINAPI GetTempPath32A(UINT32,LPSTR);
4462 UINT32 WINAPI GetTempPath32W(UINT32,LPWSTR);
4463 #define GetTempPath WINELIB_NAME_AW(GetTempPath)
4464 LPINT16 WINAPI GetThresholdEvent16(void);
4465 LPDWORD WINAPI GetThresholdEvent32(void);
4466 #define GetThresholdEvent WINELIB_NAME(GetThresholdEvent)
4467 INT16 WINAPI GetThresholdStatus16(void);
4468 DWORD WINAPI GetThresholdStatus32(void);
4469 #define GetThresholdStatus WINELIB_NAME(GetThresholdStatus)
4470 LONG WINAPI GetVersion16(void);
4471 LONG WINAPI GetVersion32(void);
4472 #define GetVersion WINELIB_NAME(GetVersion)
4473 BOOL32 WINAPI GetExitCodeProcess(HANDLE32,LPDWORD);
4474 BOOL32 WINAPI GetVolumeInformation32A(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
4475 BOOL32 WINAPI GetVolumeInformation32W(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
4476 #define GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
4477 UINT16 WINAPI GetWindowsDirectory16(LPSTR,UINT16);
4478 UINT32 WINAPI GetWindowsDirectory32A(LPSTR,UINT32);
4479 UINT32 WINAPI GetWindowsDirectory32W(LPWSTR,UINT32);
4480 #define GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
4481 HGLOBAL16 WINAPI GlobalAlloc16(UINT16,DWORD);
4482 HGLOBAL32 WINAPI GlobalAlloc32(UINT32,DWORD);
4483 #define GlobalAlloc WINELIB_NAME(GlobalAlloc)
4484 DWORD WINAPI GlobalCompact16(DWORD);
4485 DWORD WINAPI GlobalCompact32(DWORD);
4486 #define GlobalCompact WINELIB_NAME(GlobalCompact)
4487 UINT16 WINAPI GlobalFlags16(HGLOBAL16);
4488 UINT32 WINAPI GlobalFlags32(HGLOBAL32);
4489 #define GlobalFlags WINELIB_NAME(GlobalFlags)
4490 HGLOBAL16 WINAPI GlobalFree16(HGLOBAL16);
4491 HGLOBAL32 WINAPI GlobalFree32(HGLOBAL32);
4492 #define GlobalFree WINELIB_NAME(GlobalFree)
4493 DWORD WINAPI GlobalHandle16(WORD);
4494 HGLOBAL32 WINAPI GlobalHandle32(LPCVOID);
4495 #define GlobalHandle WINELIB_NAME(GlobalHandle)
4496 WORD WINAPI GlobalFix16(HGLOBAL16);
4497 VOID WINAPI GlobalFix32(HGLOBAL32);
4498 #define GlobalFix WINELIB_NAME(GlobalFix)
4499 LPVOID WINAPI GlobalLock16(HGLOBAL16);
4500 LPVOID WINAPI GlobalLock32(HGLOBAL32);
4501 #define GlobalLock WINELIB_NAME(GlobalLock)
4502 HGLOBAL16 WINAPI GlobalReAlloc16(HGLOBAL16,DWORD,UINT16);
4503 HGLOBAL32 WINAPI GlobalReAlloc32(HGLOBAL32,DWORD,UINT32);
4504 #define GlobalReAlloc WINELIB_NAME(GlobalReAlloc)
4505 DWORD WINAPI GlobalSize16(HGLOBAL16);
4506 DWORD WINAPI GlobalSize32(HGLOBAL32);
4507 #define GlobalSize WINELIB_NAME(GlobalSize)
4508 VOID WINAPI GlobalUnfix16(HGLOBAL16);
4509 VOID WINAPI GlobalUnfix32(HGLOBAL32);
4510 #define GlobalUnfix WINELIB_NAME(GlobalUnfix)
4511 BOOL16 WINAPI GlobalUnlock16(HGLOBAL16);
4512 BOOL32 WINAPI GlobalUnlock32(HGLOBAL32);
4513 #define GlobalUnlock WINELIB_NAME(GlobalUnlock)
4514 BOOL16 WINAPI GlobalUnWire16(HGLOBAL16);
4515 BOOL32 WINAPI GlobalUnWire32(HGLOBAL32);
4516 #define GlobalUnWire WINELIB_NAME(GlobalUnWire)
4517 SEGPTR WINAPI GlobalWire16(HGLOBAL16);
4518 LPVOID WINAPI GlobalWire32(HGLOBAL32);
4519 #define GlobalWire WINELIB_NAME(GlobalWire)
4520 BOOL16 WINAPI GrayString16(HDC16,HBRUSH16,GRAYSTRINGPROC16,LPARAM,
4521 INT16,INT16,INT16,INT16,INT16);
4522 WORD WINAPI InitAtomTable16(WORD);
4523 BOOL32 WINAPI InitAtomTable32(DWORD);
4524 #define InitAtomTable WINELIB_NAME(InitAtomTable)
4525 BOOL16 WINAPI IsBadCodePtr16(SEGPTR);
4526 BOOL32 WINAPI IsBadCodePtr32(FARPROC32);
4527 #define IsBadCodePtr WINELIB_NAME(IsBadCodePtr)
4528 BOOL16 WINAPI IsBadHugeReadPtr16(SEGPTR,DWORD);
4529 BOOL32 WINAPI IsBadHugeReadPtr32(LPCVOID,UINT32);
4530 #define IsBadHugeReadPtr WINELIB_NAME(IsBadHugeReadPtr)
4531 BOOL16 WINAPI IsBadHugeWritePtr16(SEGPTR,DWORD);
4532 BOOL32 WINAPI IsBadHugeWritePtr32(LPVOID,UINT32);
4533 #define IsBadHugeWritePtr WINELIB_NAME(IsBadHugeWritePtr)
4534 BOOL16 WINAPI IsBadReadPtr16(SEGPTR,UINT16);
4535 BOOL32 WINAPI IsBadReadPtr32(LPCVOID,UINT32);
4536 #define IsBadReadPtr WINELIB_NAME(IsBadReadPtr)
4537 BOOL16 WINAPI IsBadStringPtr16(SEGPTR,UINT16);
4538 BOOL32 WINAPI IsBadStringPtr32A(LPCSTR,UINT32);
4539 BOOL32 WINAPI IsBadStringPtr32W(LPCWSTR,UINT32);
4540 #define IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
4541 BOOL16 WINAPI IsBadWritePtr16(SEGPTR,UINT16);
4542 BOOL32 WINAPI IsBadWritePtr32(LPVOID,UINT32);
4543 #define IsBadWritePtr WINELIB_NAME(IsBadWritePtr)
4544 BOOL16 WINAPI IsDBCSLeadByte16(BYTE);
4545 BOOL32 WINAPI IsDBCSLeadByte32(BYTE);
4546 #define IsDBCSLeadByte WINELIB_NAME(IsDBCSLeadByte)
4547 HFILE16 WINAPI LZOpenFile16(LPCSTR,LPOFSTRUCT,UINT16);
4548 HFILE32 WINAPI LZOpenFile32A(LPCSTR,LPOFSTRUCT,UINT32);
4549 HFILE32 WINAPI LZOpenFile32W(LPCWSTR,LPOFSTRUCT,UINT32);
4550 #define LZOpenFile WINELIB_NAME_AW(LZOpenFile)
4551 INT16 WINAPI LZRead16(HFILE16,LPVOID,UINT16);
4552 INT32 WINAPI LZRead32(HFILE32,LPVOID,UINT32);
4553 #define LZRead WINELIB_NAME(LZRead)
4554 INT16 WINAPI LZStart16(void);
4555 INT32 WINAPI LZStart32(void);
4556 #define LZStart WINELIB_NAME(LZStart)
4557 HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
4558 HMODULE32 WINAPI LoadLibrary32A(LPCSTR);
4559 HMODULE32 WINAPI LoadLibrary32W(LPCWSTR);
4560 #define LoadLibrary WINELIB_NAME_AW(LoadLibrary)
4561 HMODULE32 WINAPI LoadLibraryEx32A(LPCSTR,HFILE32,DWORD);
4562 HMODULE32 WINAPI LoadLibraryEx32W(LPCWSTR,HFILE32,DWORD);
4563 #define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
4564 HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
4565 HINSTANCE32 WINAPI LoadModule32(LPCSTR,LPVOID);
4566 #define LoadModule WINELIB_NAME(LoadModule)
4567 HGLOBAL16 WINAPI LoadResource16(HINSTANCE16,HRSRC16);
4568 HGLOBAL32 WINAPI LoadResource32(HMODULE32,HRSRC32);
4569 #define LoadResource WINELIB_NAME(LoadResource)
4570 HLOCAL16 WINAPI LocalAlloc16(UINT16,WORD);
4571 HLOCAL32 WINAPI LocalAlloc32(UINT32,DWORD);
4572 #define LocalAlloc WINELIB_NAME(LocalAlloc)
4573 UINT16 WINAPI LocalCompact16(UINT16);
4574 UINT32 WINAPI LocalCompact32(UINT32);
4575 #define LocalCompact WINELIB_NAME(LocalCompact)
4576 UINT16 WINAPI LocalFlags16(HLOCAL16);
4577 UINT32 WINAPI LocalFlags32(HLOCAL32);
4578 #define LocalFlags WINELIB_NAME(LocalFlags)
4579 HLOCAL16 WINAPI LocalFree16(HLOCAL16);
4580 HLOCAL32 WINAPI LocalFree32(HLOCAL32);
4581 #define LocalFree WINELIB_NAME(LocalFree)
4582 HLOCAL16 WINAPI LocalHandle16(WORD);
4583 HLOCAL32 WINAPI LocalHandle32(LPCVOID);
4584 #define LocalHandle WINELIB_NAME(LocalHandle)
4585 SEGPTR WINAPI LocalLock16(HLOCAL16);
4586 LPVOID WINAPI LocalLock32(HLOCAL32);
4587 #define LocalLock WINELIB_NAME(LocalLock)
4588 HLOCAL16 WINAPI LocalReAlloc16(HLOCAL16,WORD,UINT16);
4589 HLOCAL32 WINAPI LocalReAlloc32(HLOCAL32,DWORD,UINT32);
4590 #define LocalReAlloc WINELIB_NAME(LocalReAlloc)
4591 UINT16 WINAPI LocalShrink16(HGLOBAL16,UINT16);
4592 UINT32 WINAPI LocalShrink32(HGLOBAL32,UINT32);
4593 #define LocalShrink WINELIB_NAME(LocalShrink)
4594 UINT16 WINAPI LocalSize16(HLOCAL16);
4595 UINT32 WINAPI LocalSize32(HLOCAL32);
4596 #define LocalSize WINELIB_NAME(LocalSize)
4597 BOOL16 WINAPI LocalUnlock16(HLOCAL16);
4598 BOOL32 WINAPI LocalUnlock32(HLOCAL32);
4599 #define LocalUnlock WINELIB_NAME(LocalUnlock)
4600 LPVOID WINAPI LockResource16(HGLOBAL16);
4601 LPVOID WINAPI LockResource32(HGLOBAL32);
4602 #define LockResource WINELIB_NAME(LockResource)
4603 HGLOBAL16 WINAPI LockSegment16(HGLOBAL16);
4604 #define LockSegment32(handle) GlobalFix32((HANDLE32)(handle))
4605 #define LockSegment WINELIB_NAME(LockSegment)
4606 void WINAPI LZClose16(HFILE16);
4607 void WINAPI LZClose32(HFILE32);
4608 #define LZClose WINELIB_NAME(LZClose)
4609 LONG WINAPI LZCopy16(HFILE16,HFILE16);
4610 LONG WINAPI LZCopy32(HFILE32,HFILE32);
4611 #define LZCopy WINELIB_NAME(LZCopy)
4612 HFILE16 WINAPI LZInit16(HFILE16);
4613 HFILE32 WINAPI LZInit32(HFILE32);
4614 #define LZInit WINELIB_NAME(LZInit)
4615 LONG WINAPI LZSeek16(HFILE16,LONG,INT16);
4616 LONG WINAPI LZSeek32(HFILE32,LONG,INT32);
4617 #define LZSeek WINELIB_NAME(LZSeek)
4618 FARPROC16 WINAPI MakeProcInstance16(FARPROC16,HANDLE16);
4619 #define MakeProcInstance32(proc,inst) (proc)
4620 #define MakeProcInstance WINELIB_NAME(MakeProcInstance)
4621 INT16 WINAPI OemToAnsi16(LPCSTR,LPSTR);
4622 #define OemToAnsi32A OemToChar32A
4623 #define OemToAnsi32W OemToChar32W
4624 #define OemToAnsi WINELIB_NAME_AW(OemToAnsi)
4625 VOID WINAPI OemToAnsiBuff16(LPCSTR,LPSTR,UINT16);
4626 #define OemToAnsiBuff32A OemToCharBuff32A
4627 #define OemToAnsiBuff32W OemToCharBuff32W
4628 #define OemToAnsiBuff WINELIB_NAME_AW(OemToAnsiBuff)
4629 INT16 WINAPI WideCharToLocal16(LPSTR,LPWSTR,INT16);
4630 INT32 WINAPI WideCharToLocal32(LPSTR,LPWSTR,INT32);
4631 #define WideCharToLocal WINELIB_NAME(WideCharToLocal)
4632 INT16 WINAPI LocalToWideChar16(LPWSTR,LPSTR,INT16);
4633 INT32 WINAPI LocalToWideChar32(LPWSTR,LPSTR,INT32);
4634 #define LocalToWideChar WINELIB_NAME(LocalToWideChar)
4635 HFILE16 WINAPI OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
4636 HFILE32 WINAPI OpenFile32(LPCSTR,OFSTRUCT*,UINT32);
4637 #define OpenFile WINELIB_NAME(OpenFile)
4638 INT16 WINAPI OpenSound16(void);
4639 VOID WINAPI OpenSound32(void);
4640 #define OpenSound WINELIB_NAME(OpenSound)
4641 VOID WINAPI OutputDebugString16(LPCSTR);
4642 VOID WINAPI OutputDebugString32A(LPCSTR);
4643 VOID WINAPI OutputDebugString32W(LPCWSTR);
4644 #define OutputDebugString WINELIB_NAME_AW(OutputDebugString)
4645 DWORD WINAPI RegCreateKey16(HKEY,LPCSTR,LPHKEY);
4646 DWORD WINAPI RegCreateKey32A(HKEY,LPCSTR,LPHKEY);
4647 DWORD WINAPI RegCreateKey32W(HKEY,LPCWSTR,LPHKEY);
4648 #define RegCreateKey WINELIB_NAME_AW(RegCreateKey)
4649 DWORD WINAPI RegDeleteKey16(HKEY,LPCSTR);
4650 DWORD WINAPI RegDeleteKey32A(HKEY,LPCSTR);
4651 DWORD WINAPI RegDeleteKey32W(HKEY,LPWSTR);
4652 #define RegDeleteKey WINELIB_NAME_AW(RegDeleteKey)
4653 DWORD WINAPI RegDeleteValue16(HKEY,LPSTR);
4654 DWORD WINAPI RegDeleteValue32A(HKEY,LPSTR);
4655 DWORD WINAPI RegDeleteValue32W(HKEY,LPWSTR);
4656 #define RegDeleteValue WINELIB_NAME_AW(RegDeleteValue)
4657 DWORD WINAPI RegEnumKey16(HKEY,DWORD,LPSTR,DWORD);
4658 DWORD WINAPI RegEnumKey32A(HKEY,DWORD,LPSTR,DWORD);
4659 DWORD WINAPI RegEnumKey32W(HKEY,DWORD,LPWSTR,DWORD);
4660 #define RegEnumKey WINELIB_NAME_AW(RegEnumKey)
4661 DWORD WINAPI RegEnumValue16(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
4662 DWORD WINAPI RegEnumValue32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
4663 DWORD WINAPI RegEnumValue32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
4664 #define RegEnumValue WINELIB_NAME_AW(RegEnumValue)
4665 HRESULT WINAPI RegisterDragDrop16(HWND16,LPVOID);
4666 HRESULT WINAPI RegisterDragDrop32(HWND32,LPVOID);
4667 #define RegisterDragDrop WINELIB_NAME(RegisterDragDrop)
4668 DWORD WINAPI RegOpenKey16(HKEY,LPCSTR,LPHKEY);
4669 DWORD WINAPI RegOpenKey32A(HKEY,LPCSTR,LPHKEY);
4670 DWORD WINAPI RegOpenKey32W(HKEY,LPCWSTR,LPHKEY);
4671 #define RegOpenKey WINELIB_NAME_AW(RegOpenKey)
4672 DWORD WINAPI RegQueryValue16(HKEY,LPSTR,LPSTR,LPDWORD);
4673 DWORD WINAPI RegQueryValue32A(HKEY,LPSTR,LPSTR,LPDWORD);
4674 DWORD WINAPI RegQueryValue32W(HKEY,LPWSTR,LPWSTR,LPDWORD);
4675 #define RegQueryValue WINELIB_NAME_AW(RegQueryValue)
4676 DWORD WINAPI RegQueryValueEx16(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
4677 DWORD WINAPI RegQueryValueEx32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
4678 DWORD WINAPI RegQueryValueEx32W(HKEY,LPWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
4679 #define RegQueryValueEx WINELIB_NAME_AW(RegQueryValueEx)
4680 DWORD WINAPI RegSetValue16(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
4681 DWORD WINAPI RegSetValue32A(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
4682 DWORD WINAPI RegSetValue32W(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
4683 #define RegSetValue WINELIB_NAME_AW(RegSetValue)
4684 DWORD WINAPI RegSetValueEx16(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
4685 DWORD WINAPI RegSetValueEx32A(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
4686 DWORD WINAPI RegSetValueEx32W(HKEY,LPWSTR,DWORD,DWORD,LPBYTE,DWORD);
4687 #define RegSetValueEx WINELIB_NAME_AW(RegSetValueEx)
4688 BOOL16 WINAPI RemoveDirectory16(LPCSTR);
4689 BOOL32 WINAPI RemoveDirectory32A(LPCSTR);
4690 BOOL32 WINAPI RemoveDirectory32W(LPCWSTR);
4691 #define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
4692 HRESULT WINAPI RevokeDragDrop16(HWND16);
4693 HRESULT WINAPI RevokeDragDrop32(HWND32);
4694 #define RevokeDragDrop WINELIB_NAME(RevokeDragDrop)
4695 BOOL16 WINAPI SetCurrentDirectory16(LPCSTR);
4696 BOOL32 WINAPI SetCurrentDirectory32A(LPCSTR);
4697 BOOL32 WINAPI SetCurrentDirectory32W(LPCWSTR);
4698 #define SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
4699 UINT16 WINAPI SetErrorMode16(UINT16);
4700 UINT32 WINAPI SetErrorMode32(UINT32);
4701 #define SetErrorMode WINELIB_NAME(SetErrorMode)
4702 BOOL16 WINAPI SetFileAttributes16(LPCSTR,DWORD);
4703 BOOL32 WINAPI SetFileAttributes32A(LPCSTR,DWORD);
4704 BOOL32 WINAPI SetFileAttributes32W(LPCWSTR,DWORD);
4705 #define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
4706 UINT16 WINAPI SetHandleCount16(UINT16);
4707 UINT32 WINAPI SetHandleCount32(UINT32);
4708 #define SetHandleCount WINELIB_NAME(SetHandleCount)
4709 INT16 WINAPI SetSoundNoise16(INT16,INT16);
4710 DWORD WINAPI SetSoundNoise32(DWORD,DWORD);
4711 #define SetSoundNoise WINELIB_NAME(SetSoundNoise)
4712 LONG WINAPI SetSwapAreaSize16(WORD);
4713 #define SetSwapAreaSize32(w) (w)
4714 #define SetSwapAreaSize WINELIB_NAME(SetSwapAreaSize)
4715 INT16 WINAPI SetVoiceAccent16(INT16,INT16,INT16,INT16,INT16);
4716 DWORD WINAPI SetVoiceAccent32(DWORD,DWORD,DWORD,DWORD,DWORD);
4717 #define SetVoiceAccent WINELIB_NAME(SetVoiceAccent)
4718 INT16 WINAPI SetVoiceEnvelope16(INT16,INT16,INT16);
4719 DWORD WINAPI SetVoiceEnvelope32(DWORD,DWORD,DWORD);
4720 #define SetVoiceEnvelope WINELIB_NAME(SetVoiceEnvelope)
4721 INT16 WINAPI SetVoiceNote16(INT16,INT16,INT16,INT16);
4722 DWORD WINAPI SetVoiceNote32(DWORD,DWORD,DWORD,DWORD);
4723 #define SetVoiceNote WINELIB_NAME(SetVoiceNote)
4724 INT16 WINAPI SetVoiceQueueSize16(INT16,INT16);
4725 DWORD WINAPI SetVoiceQueueSize32(DWORD,DWORD);
4726 #define SetVoiceQueueSize WINELIB_NAME(SetVoiceQueueSize)
4727 INT16 WINAPI SetVoiceSound16(INT16,DWORD,INT16);
4728 DWORD WINAPI SetVoiceSound32(DWORD,DWORD,DWORD);
4729 #define SetVoiceSound WINELIB_NAME(SetVoiceSound)
4730 INT16 WINAPI SetVoiceThreshold16(INT16,INT16);
4731 DWORD WINAPI SetVoiceThreshold32(DWORD,DWORD);
4732 #define SetVoiceThreshold WINELIB_NAME(SetVoiceThreshold)
4733 BOOL16 WINAPI ShellAbout16(HWND16,LPCSTR,LPCSTR,HICON16);
4734 BOOL32 WINAPI ShellAbout32A(HWND32,LPCSTR,LPCSTR,HICON32);
4735 BOOL32 WINAPI ShellAbout32W(HWND32,LPCWSTR,LPCWSTR,HICON32);
4736 #define ShellAbout WINELIB_NAME_AW(ShellAbout)
4737 HINSTANCE16 WINAPI ShellExecute16(HWND16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT16);
4738 HINSTANCE32 WINAPI ShellExecute32A(HWND32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT32);
4739 HINSTANCE32 WINAPI ShellExecute32W(HWND32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT32);
4740 #define ShellExecute WINELIB_NAME_AW(ShellExecute)
4741 DWORD WINAPI SizeofResource16(HMODULE16,HRSRC16);
4742 DWORD WINAPI SizeofResource32(HMODULE32,HRSRC32);
4743 #define SizeofResource WINELIB_NAME(SizeofResource)
4744 INT16 WINAPI StartSound16(void);
4745 VOID WINAPI StartSound32(void);
4746 #define StartSound WINELIB_NAME(StartSound)
4747 INT16 WINAPI StopSound16(void);
4748 VOID WINAPI StopSound32(void);
4749 #define StopSound WINELIB_NAME(StopSound)
4750 INT16 WINAPI SyncAllVoices16(void);
4751 DWORD WINAPI SyncAllVoices32(void);
4752 #define SyncAllVoices WINELIB_NAME(SyncAllVoices)
4753 void WINAPI UnlockSegment16(HGLOBAL16);
4754 #define UnlockSegment32(handle) GlobalUnfix((HANDLE32)(handle))
4755 #define UnlockSegment WINELIB_NAME(UnlockSegment)
4756 DWORD WINAPI VerFindFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*,LPSTR,UINT16*);
4757 DWORD WINAPI VerFindFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*,LPSTR,UINT32*);
4758 DWORD WINAPI VerFindFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*,LPWSTR,UINT32*);
4759 #define VerFindFile WINELIB_NAME_AW(VerFindFile)
4760 DWORD WINAPI VerInstallFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*);
4761 DWORD WINAPI VerInstallFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*);
4762 DWORD WINAPI VerInstallFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*);
4763 #define VerInstallFile WINELIB_NAME_AW(VerInstallFile)
4764 DWORD WINAPI VerLanguageName16(UINT16,LPSTR,UINT16);
4765 DWORD WINAPI VerLanguageName32A(UINT32,LPSTR,UINT32);
4766 DWORD WINAPI VerLanguageName32W(UINT32,LPWSTR,UINT32);
4767 #define VerLanguageName WINELIB_NAME_AW(VerLanguageName)
4768 DWORD WINAPI VerQueryValue16(SEGPTR,LPCSTR,SEGPTR*,UINT16*);
4769 DWORD WINAPI VerQueryValue32A(LPVOID,LPCSTR,LPVOID*,UINT32*);
4770 DWORD WINAPI VerQueryValue32W(LPVOID,LPCWSTR,LPVOID*,UINT32*);
4771 #define VerQueryValue WINELIB_NAME_AW(VerQueryValue)
4772 INT16 WINAPI WaitSoundState16(INT16);
4773 DWORD WINAPI WaitSoundState32(DWORD);
4774 #define WaitSoundState WINELIB_NAME(WaitSoundState)
4775 BOOL16 WINAPI WritePrivateProfileSection16(LPCSTR,LPCSTR,LPCSTR);
4776 BOOL32 WINAPI WritePrivateProfileSection32A(LPCSTR,LPCSTR,LPCSTR);
4777 BOOL32 WINAPI WritePrivateProfileSection32W(LPCWSTR,LPCWSTR,LPCWSTR);
4778 #define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
4779 BOOL16 WINAPI WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
4780 BOOL32 WINAPI WritePrivateProfileString32A(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
4781 BOOL32 WINAPI WritePrivateProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
4782 BOOL32 WINAPI WriteProfileSection32A(LPCSTR,LPCSTR);
4783 BOOL32 WINAPI WriteProfileSection32W(LPCWSTR,LPCWSTR);
4784 #define WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
4785 BOOL16 WINAPI WritePrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
4786 BOOL32 WINAPI WritePrivateProfileStruct32A(LPCSTR,LPCSTR,LPVOID,UINT32,LPCSTR);
4787 BOOL32 WINAPI WritePrivateProfileStruct32W(LPCWSTR,LPCWSTR,LPVOID,UINT32,LPCWSTR);
4788 #define WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
4789 BOOL16 WINAPI WriteProfileString16(LPCSTR,LPCSTR,LPCSTR);
4790 BOOL32 WINAPI WriteProfileString32A(LPCSTR,LPCSTR,LPCSTR);
4791 BOOL32 WINAPI WriteProfileString32W(LPCWSTR,LPCWSTR,LPCWSTR);
4792 #define WriteProfileString WINELIB_NAME_AW(WriteProfileString)
4793 VOID WINAPI Yield16(void);
4794 #define Yield32()
4795 #define Yield WINELIB_NAME(Yield)
4796 SEGPTR WINAPI lstrcat16(SEGPTR,LPCSTR);
4797 LPSTR WINAPI lstrcat32A(LPSTR,LPCSTR);
4798 LPWSTR WINAPI lstrcat32W(LPWSTR,LPCWSTR);
4799 #define lstrcat WINELIB_NAME_AW(lstrcat)
4800 SEGPTR WINAPI lstrcatn16(SEGPTR,LPCSTR,INT16);
4801 LPSTR WINAPI lstrcatn32A(LPSTR,LPCSTR,INT32);
4802 LPWSTR WINAPI lstrcatn32W(LPWSTR,LPCWSTR,INT32);
4803 #define lstrcatn WINELIB_NAME_AW(lstrcatn)
4804 SEGPTR WINAPI lstrcpy16(SEGPTR,LPCSTR);
4805 LPSTR WINAPI lstrcpy32A(LPSTR,LPCSTR);
4806 LPWSTR WINAPI lstrcpy32W(LPWSTR,LPCWSTR);
4807 #define lstrcpy WINELIB_NAME_AW(lstrcpy)
4808 SEGPTR WINAPI lstrcpyn16(SEGPTR,LPCSTR,INT16);
4809 LPSTR WINAPI lstrcpyn32A(LPSTR,LPCSTR,INT32);
4810 LPWSTR WINAPI lstrcpyn32W(LPWSTR,LPCWSTR,INT32);
4811 #define lstrcpyn WINELIB_NAME_AW(lstrcpyn)
4812 INT16 WINAPI lstrlen16(LPCSTR);
4813 INT32 WINAPI lstrlen32A(LPCSTR);
4814 INT32 WINAPI lstrlen32W(LPCWSTR);
4815 #define lstrlen WINELIB_NAME_AW(lstrlen)
4816 HINSTANCE16 WINAPI WinExec16(LPCSTR,UINT16);
4817 HINSTANCE32 WINAPI WinExec32(LPCSTR,UINT32);
4818 #define WinExec WINELIB_NAME(WinExec)
4819 LONG WINAPI _hread16(HFILE16,LPVOID,LONG);
4820 LONG WINAPI _hread32(HFILE32,LPVOID,LONG);
4821 #define _hread WINELIB_NAME(_hread)
4822 LONG WINAPI _hwrite16(HFILE16,LPCSTR,LONG);
4823 LONG WINAPI _hwrite32(HFILE32,LPCSTR,LONG);
4824 #define _hwrite WINELIB_NAME(_hwrite)
4825 HFILE16 WINAPI _lcreat16(LPCSTR,INT16);
4826 HFILE32 WINAPI _lcreat32(LPCSTR,INT32);
4827 #define _lcreat WINELIB_NAME(_lcreat)
4828 HFILE16 WINAPI _lclose16(HFILE16);
4829 HFILE32 WINAPI _lclose32(HFILE32);
4830 #define _lclose WINELIB_NAME(_lclose)
4831 LONG WINAPI _llseek16(HFILE16,LONG,INT16);
4832 LONG WINAPI _llseek32(HFILE32,LONG,INT32);
4833 #define _llseek WINELIB_NAME(_llseek)
4834 HFILE16 WINAPI _lopen16(LPCSTR,INT16);
4835 HFILE32 WINAPI _lopen32(LPCSTR,INT32);
4836 #define _lopen WINELIB_NAME(_lopen)
4837 UINT16 WINAPI _lread16(HFILE16,LPVOID,UINT16);
4838 UINT32 WINAPI _lread32(HFILE32,LPVOID,UINT32);
4839 #define _lread WINELIB_NAME(_lread)
4840 UINT16 WINAPI _lwrite16(HFILE16,LPCSTR,UINT16);
4841 UINT32 WINAPI _lwrite32(HFILE32,LPCSTR,UINT32);
4842 #define _lwrite WINELIB_NAME(_lwrite)
4844 /* Extra functions that don't exist in the Windows API */
4846 HPEN16 WINAPI GetSysColorPen16(INT16);
4847 HPEN32 WINAPI GetSysColorPen32(INT32);
4848 INT32 WINAPI LoadMessage32A(HMODULE32,UINT32,WORD,LPSTR,INT32);
4849 INT32 WINAPI LoadMessage32W(HMODULE32,UINT32,WORD,LPWSTR,INT32);
4850 UINT32 WINAPI WIN16_GetTempDrive(BYTE);
4851 SEGPTR WINAPI WIN16_GlobalLock16(HGLOBAL16);
4852 SEGPTR WINAPI WIN16_LockResource16(HGLOBAL16);
4853 LONG WINAPI WIN16_hread(HFILE16,SEGPTR,LONG);
4854 UINT16 WINAPI WIN16_lread(HFILE16,SEGPTR,UINT16);
4855 INT32 WINAPI lstrncmp32A(LPCSTR,LPCSTR,INT32);
4856 INT32 WINAPI lstrncmp32W(LPCWSTR,LPCWSTR,INT32);
4857 INT32 WINAPI lstrncmpi32A(LPCSTR,LPCSTR,INT32);
4858 INT32 WINAPI lstrncmpi32W(LPCWSTR,LPCWSTR,INT32);
4859 LPWSTR WINAPI lstrcpyAtoW(LPWSTR,LPCSTR);
4860 LPSTR WINAPI lstrcpyWtoA(LPSTR,LPCWSTR);
4861 LPWSTR WINAPI lstrcpynAtoW(LPWSTR,LPCSTR,INT32);
4862 LPSTR WINAPI lstrcpynWtoA(LPSTR,LPCWSTR,INT32);
4863 INT16 WINAPI lstrcmp16(LPCSTR,LPCSTR);
4864 INT32 WINAPI lstrcmp32A(LPCSTR,LPCSTR);
4865 INT32 WINAPI lstrcmp32W(LPCWSTR,LPCWSTR);
4866 #define lstrcmp WINELIB_NAME_AW(lstrcmp)
4867 INT16 WINAPI lstrcmpi16(LPCSTR,LPCSTR);
4868 INT32 WINAPI lstrcmpi32A(LPCSTR,LPCSTR);
4869 INT32 WINAPI lstrcmpi32W(LPCWSTR,LPCWSTR);
4870 #define lstrcmpi WINELIB_NAME_AW(lstrcmpi)
4873 #ifdef __cplusplus
4875 #endif
4877 #endif /* __WINE_WINDOWS_H */