+/*
+ * Copyright (C) the Wine project
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
#ifndef _WINUSER_
#define _WINUSER_
extern "C" {
#endif
-#include "pshpack1.h"
+/* Define a bunch of callback types */
+
+#if defined(STRICT) || defined(__WINE__)
+typedef BOOL (CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
+typedef BOOL (CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
+typedef INT (CALLBACK *EDITWORDBREAKPROCA)(LPSTR,INT,INT,INT);
+typedef INT (CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,INT,INT,INT);
+typedef BOOL (CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,INT);
+typedef LRESULT (CALLBACK *HOOKPROC)(INT,WPARAM,LPARAM);
+typedef BOOL (CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
+typedef BOOL (CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
+typedef BOOL (CALLBACK *PROPENUMPROCA)(HWND,LPCSTR,HANDLE);
+typedef BOOL (CALLBACK *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE);
+typedef BOOL (CALLBACK *PROPENUMPROCEXA)(HWND,LPCSTR,HANDLE,ULONG_PTR);
+typedef BOOL (CALLBACK *PROPENUMPROCEXW)(HWND,LPCWSTR,HANDLE,ULONG_PTR);
+typedef VOID (CALLBACK *SENDASYNCPROC)(HWND,UINT,ULONG_PTR,LRESULT);
+typedef VOID (CALLBACK *TIMERPROC)(HWND,UINT,UINT,DWORD);
+typedef VOID (CALLBACK *WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,
+ DWORD,DWORD);
+typedef BOOL (CALLBACK *WNDENUMPROC)(HWND,LPARAM);
+
+#else
+typedef FARPROC DLGPROC;
+typedef FARPROC DRAWSTATEPROC;
+typedef FARPROC EDITWORDBREAKPROCA;
+typedef FARPROC EDITWORDBREAKPROCW;
+typedef FARPROC GRAYSTRINGPROC;
+typedef FARPROC HOOKPROC;
+typedef FARPROC NAMEENUMPROCA;
+typedef FARPROC NAMEENUMPROCW;
+typedef FARPROC PROPENUMPROCA;
+typedef FARPROC PROPENUMPROCW;
+typedef FARPROC PROPENUMPROCEXA;
+typedef FARPROC PROPENUMPROCEXW;
+typedef FARPROC SENDASYNCPROC;
+typedef FARPROC TIMERPROC;
+typedef FARPROC WINEVENTPROC;
+typedef FARPROC WNDENUMPROC;
+#endif /* STRICT || __WINE__ */
+
+typedef NAMEENUMPROCA WINSTAENUMPROCA;
+typedef NAMEENUMPROCA DESKTOPENUMPROCA;
+typedef NAMEENUMPROCW WINSTAENUMPROCW;
+typedef NAMEENUMPROCW DESKTOPENUMPROCW;
+
+typedef LRESULT (CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
+
+DECL_WINELIB_TYPE_AW(DESKTOPENUMPROC)
+DECL_WINELIB_TYPE_AW(EDITWORDBREAKPROC)
+DECL_WINELIB_TYPE_AW(NAMEENUMPROC)
+DECL_WINELIB_TYPE_AW(PROPENUMPROC)
+DECL_WINELIB_TYPE_AW(PROPENUMPROCEX)
+DECL_WINELIB_TYPE_AW(WINSTAENUMPROC)
+
+
+typedef HANDLE HDWP;
+
+/* flags for FILTERKEYS dwFlags field */
+#define FKF_AVAILABLE 0x00000002
+#define FKF_CLICKON 0x00000040
+#define FKF_FILTERKEYSON 0x00000001
+#define FKF_HOTKEYACTIVE 0x00000004
+#define FKF_HOTKEYSOUND 0x00000010
+#define FKF_CONFIRMHOTKEY 0x00000008
+#define FKF_INDICATOR 0x00000020
+
+typedef struct tagFILTERKEYS
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iWaitMSec;
+ DWORD iDelayMSec;
+ DWORD iRepeatMSec;
+ DWORD iBounceMSec;
+} FILTERKEYS, *PFILTERKEYS, *LPFILTERKEYS;
+
+/* flags for TOGGLEKEYS dwFlags field */
+#define TKF_AVAILABLE 0x00000002
+#define TKF_CONFIRMHOTKEY 0x00000008
+#define TKF_HOTKEYACTIVE 0x00000004
+#define TKF_HOTKEYSOUND 0x00000010
+#define TKF_TOGGLEKEYSON 0x00000001
+
+typedef struct tagTOGGLEKEYS
+{
+ DWORD cbSize;
+ DWORD dwFlags;
+} TOGGLEKEYS, *PTOGGLEKEYS, *LPTOGGLEKEYS;
+
+/* flags for MOUSEKEYS dwFlags field */
+#define MKF_AVAILABLE 0x00000002
+#define MKF_CONFIRMHOTKEY 0x00000008
+#define MKF_HOTKEYACTIVE 0x00000004
+#define MKF_HOTKEYSOUND 0x00000010
+#define MKF_INDICATOR 0x00000020
+#define MKF_MOUSEKEYSON 0x00000001
+#define MKF_MODIFIERS 0x00000040
+#define MKF_REPLACENUMBERS 0x00000080
+
+typedef struct tagMOUSEKEYS
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iMaxSpeed;
+ DWORD iTimeToMaxSpeed;
+ DWORD iCtrlSpeed;
+ DWORD dwReserved1;
+ DWORD dwReserved2;
+} MOUSEKEYS, *PMOUSEKEYS, *LPMOUSEKEYS;
+
+/* flags for STICKYKEYS dwFlags field */
+#define SKF_AUDIBLEFEEDBACK 0x00000040
+#define SKF_AVAILABLE 0x00000002
+#define SKF_CONFIRMHOTKEY 0x00000008
+#define SKF_HOTKEYACTIVE 0x00000004
+#define SKF_HOTKEYSOUND 0x00000010
+#define SKF_INDICATOR 0x00000020
+#define SKF_STICKYKEYSON 0x00000001
+#define SKF_TRISTATE 0x00000080
+#define SKF_TWOKEYSOFF 0x00000100
+
+typedef struct tagSTICKYKEYS
+{
+ DWORD cbSize;
+ DWORD dwFlags;
+} STICKYKEYS, *PSTICKYKEYS, *LPSTICKYKEYS;
+
+/* flags for ACCESSTIMEOUT dwFlags field */
+#define ATF_ONOFFFEEDBACK 0x00000002
+#define ATF_AVAILABLE 0x00000004
+#define ATF_TIMEOUTON 0x00000001
+
+typedef struct tagACCESSTIMEOUT
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iTimeOutMSec;
+} ACCESSTIMEOUT, *PACCESSTIMEOUT, *LPACCESSTIMEOUT;
+
+/* flags for SERIALKEYS dwFlags field */
+#define SERKF_ACTIVE 0x00000008
+#define SERKF_AVAILABLE 0x00000002
+#define SERKF_INDICATOR 0x00000004
+#define SERKF_SERIALKEYSON 0x00000001
+
+typedef struct tagSERIALKEYSA
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ LPSTR lpszActivePort;
+ LPSTR lpszPort;
+ UINT iBaudRate;
+ UINT iPortState;
+ UINT iActive;
+} SERIALKEYSA, *LPSERIALKEYSA;
+
+typedef struct tagSERIALKEYSW {
+ UINT cbSize;
+ DWORD dwFlags;
+ LPWSTR lpszActivePort;
+ LPWSTR lpszPort;
+ UINT iBaudRate;
+ UINT iPortState;
+ UINT iActive;
+} SERIALKEYSW,*LPSERIALKEYSW;
+
+DECL_WINELIB_TYPE_AW(SERIALKEYS)
+DECL_WINELIB_TYPE_AW(LPSERIALKEYS)
+
+/* flags for SOUNDSENTRY dwFlags field */
+#define SSF_AVAILABLE 0x00000002
+#define SSF_SOUNDSENTRYON 0x00000001
+
+#define SSTF_BORDER 0x00000002
+#define SSTF_CHARS 0x00000001
+#define SSTF_DISPLAY 0x00000003
+#define SSTF_NONE 0x00000000
+
+#define SSGF_DISPLAY 0x00000003
+#define SSGF_NONE 0x00000000
+
+#define SSWF_DISPLAY 0x00000003
+#define SSWF_NONE 0x00000000
+#define SSWF_TITLE 0x00000001
+#define SSWF_WINDOW 0x00000002
+
+typedef struct tagSOUNDSENTRYA
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iFSTextEffect;
+ DWORD iFSTextEffectMSec;
+ DWORD iFSTextEffectColorBits;
+ DWORD iFSGrafEffect;
+ DWORD iFSGrafEffectMSec;
+ DWORD iFSGrafEffectColor;
+ DWORD iWindowsEffect;
+ DWORD iWindowsEffectMSec;
+ LPSTR lpszWindowsEffectDLL;
+ DWORD iWindowsEffectOrdinal;
+} SOUNDSENTRYA, *LPSOUNDSENTRYA;
+
+typedef struct tagSOUNDSENTRYW
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iFSTextEffect;
+ DWORD iFSTextEffectMSec;
+ DWORD iFSTextEffectColorBits;
+ DWORD iFSGrafEffect;
+ DWORD iFSGrafEffectMSec;
+ DWORD iFSGrafEffectColor;
+ DWORD iWindowsEffect;
+ DWORD iWindowsEffectMSec;
+ LPWSTR lpszWindowsEffectDLL;
+ DWORD iWindowsEffectOrdinal;
+} SOUNDSENTRYW, *LPSOUNDSENTRYW;
+
+DECL_WINELIB_TYPE_AW(SOUNDSENTRY)
+DECL_WINELIB_TYPE_AW(LPSOUNDSENTRY)
/* flags for HIGHCONTRAST dwFlags field */
#define HCF_HIGHCONTRASTON 0x00000001
UINT paramH;
DWORD time;
HWND hwnd;
-} EVENTMSG, *LPEVENTMSG;
+} EVENTMSG, *PEVENTMSG, *LPEVENTMSG;
+
+/* WH_KEYBOARD_LL structure */
+typedef struct tagKBDLLHOOKSTRUCT
+{
+ DWORD vkCode;
+ DWORD scanCode;
+ DWORD flags;
+ DWORD time;
+ ULONG_PTR dwExtraInfo;
+} KBDLLHOOKSTRUCT, *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
+
+#define LLKHF_EXTENDED (KF_EXTENDED >> 8)
+#define LLKHF_INJECTED 0x00000010
+#define LLKHF_ALTDOWN (KF_ALTDOWN >> 8)
+#define LLKHF_UP (KF_UP >> 8)
+
+/* WH_MOUSE_LL structure */
+typedef struct tagMSLLHOOKSTRUCT
+{
+ POINT pt;
+ DWORD mouseData;
+ DWORD flags;
+ DWORD time;
+ ULONG_PTR dwExtraInfo;
+} MSLLHOOKSTRUCT, *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
+#define LLMHF_INJECTED 0x00000001
/* Mouse hook structure */
UINT wMessage;
WPARAM wParam;
LPARAM lParam;
-} HARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT;
+} HARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT;
/* Debug hook structure */
LPARAM lParam;
WPARAM wParam;
INT code;
-} DEBUGHOOKINFO, *LPDEBUGHOOKINFO;
+} DEBUGHOOKINFO, *PDEBUGHOOKINFO, *LPDEBUGHOOKINFO;
#define HKL_PREV 0
#define HKL_NEXT 1
#define KL_NAMELENGTH 9
- /***** Dialogs *****/
-#ifdef FSHIFT
-/* Gcc on Solaris has a version of this that we don't care about. */
+typedef struct tagMOUSEINPUT
+{
+ LONG dx;
+ LONG dy;
+ DWORD mouseData;
+ DWORD dwFlags;
+ DWORD time;
+ ULONG_PTR dwExtraInfo;
+} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;
+
+typedef struct tagKEYBDINPUT
+{
+ WORD wVk;
+ WORD wScan;
+ DWORD dwFlags;
+ DWORD time;
+ ULONG_PTR dwExtraInfo;
+} KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;
+
+typedef struct tagHARDWAREINPUT
+{
+ DWORD uMsg;
+ WORD wParamL;
+ WORD wParamH;
+} HARDWAREINPUT, *PHARDWAREINPUT, *LPHARDWAREINPUT;
+
+#define INPUT_MOUSE 0
+#define INPUT_KEYBOARD 1
+#define INPUT_HARDWARE 2
+
+typedef struct tagINPUT
+{
+ DWORD type;
+ union
+ {
+ MOUSEINPUT mi;
+ KEYBDINPUT ki;
+ HARDWAREINPUT hi;
+ } DUMMYUNIONNAME;
+} INPUT, *PINPUT, *LPINPUT;
+
+
+/***** Dialogs *****/
+
+/* Gcc on Solaris has a version of this that we don't care about */
#undef FSHIFT
-#endif
#define FVIRTKEY TRUE /* Assumed to be == TRUE */
#define FNOINVERT 0x02
#define DT_RTLREADING 0x00020000
#define DT_WORD_ELLIPSIS 0x00040000
-typedef struct
-{
- LPARAM lParam;
- WPARAM16 wParam;
- UINT16 message;
- HWND16 hwnd;
-} CWPSTRUCT16, *LPCWPSTRUCT16;
-
typedef struct
{
LPARAM lParam;
WPARAM wParam;
UINT message;
HWND hwnd;
-} CWPSTRUCT, *LPCWPSTRUCT;
-
-
-
-typedef struct
-{
- LRESULT lResult;
- LPARAM lParam;
- WPARAM16 wParam;
- DWORD message;
- HWND16 hwnd;
-} CWPRETSTRUCT16, *LPCWPRETSTRUCT16;
+} CWPSTRUCT, *PCWPSTRUCT, *LPCWPSTRUCT;
typedef struct
{
WPARAM wParam;
DWORD message;
HWND hwnd;
-} CWPRETSTRUCT, *LPCWPRETSTRUCT;
+} CWPRETSTRUCT, *PCWPRETSTRUCT, *LPCWPRETSTRUCT;
typedef struct
{
POINT ptMinPosition WINE_PACKED;
POINT ptMaxPosition WINE_PACKED;
RECT rcNormalPosition WINE_PACKED;
-} WINDOWPLACEMENT, *LPWINDOWPLACEMENT;
+} WINDOWPLACEMENT, *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;
/* WINDOWPLACEMENT flags */
/***** Dialogs *****/
+#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
+#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
+#define MAKEINTRESOURCE WINELIB_NAME_AW(MAKEINTRESOURCE)
+
+/* Predefined resource types */
+#define RT_CURSORA MAKEINTRESOURCEA(1)
+#define RT_CURSORW MAKEINTRESOURCEW(1)
+#define RT_CURSOR WINELIB_NAME_AW(RT_CURSOR)
+#define RT_BITMAPA MAKEINTRESOURCEA(2)
+#define RT_BITMAPW MAKEINTRESOURCEW(2)
+#define RT_BITMAP WINELIB_NAME_AW(RT_BITMAP)
+#define RT_ICONA MAKEINTRESOURCEA(3)
+#define RT_ICONW MAKEINTRESOURCEW(3)
+#define RT_ICON WINELIB_NAME_AW(RT_ICON)
+#define RT_MENUA MAKEINTRESOURCEA(4)
+#define RT_MENUW MAKEINTRESOURCEW(4)
+#define RT_MENU WINELIB_NAME_AW(RT_MENU)
+#define RT_DIALOGA MAKEINTRESOURCEA(5)
+#define RT_DIALOGW MAKEINTRESOURCEW(5)
+#define RT_DIALOG WINELIB_NAME_AW(RT_DIALOG)
+#define RT_STRINGA MAKEINTRESOURCEA(6)
+#define RT_STRINGW MAKEINTRESOURCEW(6)
+#define RT_STRING WINELIB_NAME_AW(RT_STRING)
+#define RT_FONTDIRA MAKEINTRESOURCEA(7)
+#define RT_FONTDIRW MAKEINTRESOURCEW(7)
+#define RT_FONTDIR WINELIB_NAME_AW(RT_FONTDIR)
+#define RT_FONTA MAKEINTRESOURCEA(8)
+#define RT_FONTW MAKEINTRESOURCEW(8)
+#define RT_FONT WINELIB_NAME_AW(RT_FONT)
+#define RT_ACCELERATORA MAKEINTRESOURCEA(9)
+#define RT_ACCELERATORW MAKEINTRESOURCEW(9)
+#define RT_ACCELERATOR WINELIB_NAME_AW(RT_ACCELERATOR)
+#define RT_RCDATAA MAKEINTRESOURCEA(10)
+#define RT_RCDATAW MAKEINTRESOURCEW(10)
+#define RT_RCDATA WINELIB_NAME_AW(RT_RCDATA)
+#define RT_MESSAGETABLEA MAKEINTRESOURCEA(11)
+#define RT_MESSAGETABLEW MAKEINTRESOURCEW(11)
+#define RT_MESSAGETABLE WINELIB_NAME_AW(RT_MESSAGETABLE)
+#define RT_GROUP_CURSORA MAKEINTRESOURCEA(12)
+#define RT_GROUP_CURSORW MAKEINTRESOURCEW(12)
+#define RT_GROUP_CURSOR WINELIB_NAME_AW(RT_GROUP_CURSOR)
+#define RT_GROUP_ICONA MAKEINTRESOURCEA(14)
+#define RT_GROUP_ICONW MAKEINTRESOURCEW(14)
+#define RT_GROUP_ICON WINELIB_NAME_AW(RT_GROUP_ICON)
+#define RT_VERSIONA MAKEINTRESOURCEA(16)
+#define RT_VERSIONW MAKEINTRESOURCEW(16)
+#define RT_VERSION WINELIB_NAME_AW(RT_VERSION)
+#define RT_DLGINCLUDEA MAKEINTRESOURCEA(17)
+#define RT_DLGINCLUDEW MAKEINTRESOURCEW(17)
+#define RT_DLGINCLUDE WINELIB_NAME_AW(RT_DLGINCLUDE)
+#define RT_PLUGPLAYA MAKEINTRESOURCEA(19)
+#define RT_PLUGPLAYW MAKEINTRESOURCEW(19)
+#define RT_PLUGPLAY WINELIB_NAME_AW(RT_PLUGPLAY)
+#define RT_VXDA MAKEINTRESOURCEA(20)
+#define RT_VXDW MAKEINTRESOURCEW(20)
+#define RT_VXD WINELIB_NAME_AW(RT_VXD)
+#define RT_ANICURSORA MAKEINTRESOURCEA(21)
+#define RT_ANICURSORW MAKEINTRESOURCEW(21)
+#define RT_ANICURSOR WINELIB_NAME_AW(RT_ANICURSOR)
+#define RT_ANIICONA MAKEINTRESOURCEA(22)
+#define RT_ANIICONW MAKEINTRESOURCEW(22)
+#define RT_ANIICON WINELIB_NAME_AW(RT_ANIICON)
+#define RT_HTMLA MAKEINTRESOURCEA(23)
+#define RT_HTMLW MAKEINTRESOURCEW(23)
+#define RT_HTML WINELIB_NAME_AW(RT_HTML)
+
+
/* cbWndExtra bytes for dialog class */
#define DLGWINDOWEXTRA 30
#define BS_AUTORADIOBUTTON 0x00000009L
#define BS_OWNERDRAW 0x0000000BL
#define BS_LEFTTEXT 0x00000020L
+#define BS_RIGHTBUTTON BS_LEFTTEXT
#define BS_TEXT 0x00000000L
#define BS_ICON 0x00000040L
/* Dialog messages */
#define DM_GETDEFID (WM_USER+0)
#define DM_SETDEFID (WM_USER+1)
+#define DM_REPOSITION (WM_USER+2)
#define DC_HASDEFID 0x534b
#define ES_AUTOVSCROLL 0x00000040
#define ES_AUTOHSCROLL 0x00000080
#define ES_NOHIDESEL 0x00000100
+#define ES_COMBO 0x00000200 /* Undocumented. Parent is a combobox */
#define ES_OEMCONVERT 0x00000400
#define ES_READONLY 0x00000800
#define ES_WANTRETURN 0x00001000
#define ES_NUMBER 0x00002000
/* OEM Resource Ordinal Numbers */
-#define OBM_CLOSED 32731
-#define OBM_RADIOCHECK 32732
-#define OBM_TRTYPE 32733
+#define OBM_TRTYPE 32732
#define OBM_LFARROWI 32734
#define OBM_RGARROWI 32735
#define OBM_DNARROWI 32736
#define OBM_SIZE 32766
#define OBM_OLD_CLOSE 32767
-#define OCR_BUMMER 100
-#define OCR_DRAGOBJECT 101
-
#define OCR_NORMAL 32512
#define OCR_IBEAM 32513
#define OCR_WAIT 32514
#define OCR_SIZEALL 32646
#define OCR_ICOCUR 32647
#define OCR_NO 32648
+#define OCR_HAND 32649
#define OCR_APPSTARTING 32650
-#define OCR_HELP 32651 /* only defined in wine */
+#define OCR_HELP 32651
+
+/* only defined in wine (FIXME) */
+#define OCR_DRAGOBJECT 32653
#define OIC_SAMPLE 32512
#define OIC_HAND 32513
#define OIC_QUES 32514
#define OIC_BANG 32515
#define OIC_NOTE 32516
-#define OIC_PORTRAIT 32517
-#define OIC_LANDSCAPE 32518
-#define OIC_WINEICON 32519
-#define OIC_FOLDER 32520
-#define OIC_FOLDER2 32521
-#define OIC_FLOPPY 32522
-#define OIC_CDROM 32523
-#define OIC_HDISK 32524
-#define OIC_NETWORK 32525
+#define OIC_WINLOGO 32517
+#define OIC_WARNING OIC_BANG
+#define OIC_ERROR OIC_HAND
+#define OIC_INFORMATION OIC_NOTE
+
+#ifndef NOCOLOR
#define COLOR_SCROLLBAR 0
#define COLOR_BACKGROUND 1
#define CTLCOLOR_SCROLLBAR 5
#define CTLCOLOR_STATIC 6
+COLORREF WINAPI GetSysColor(INT);
+BOOL WINAPI SetSysColors(INT,const INT*,const COLORREF*);
+
+#endif /* NOCOLOR */
+
/* Edit control messages */
#define EM_GETSEL 0x00b0
#define EM_SETSEL 0x00b1
#define EC_USEFONTINFO 0xffff
+ /* GetSystemMetrics() codes */
+#define SM_CXSCREEN 0
+#define SM_CYSCREEN 1
+#define SM_CXVSCROLL 2
+#define SM_CYHSCROLL 3
+#define SM_CYCAPTION 4
+#define SM_CXBORDER 5
+#define SM_CYBORDER 6
+#define SM_CXDLGFRAME 7
+#define SM_CYDLGFRAME 8
+#define SM_CYVTHUMB 9
+#define SM_CXHTHUMB 10
+#define SM_CXICON 11
+#define SM_CYICON 12
+#define SM_CXCURSOR 13
+#define SM_CYCURSOR 14
+#define SM_CYMENU 15
+#define SM_CXFULLSCREEN 16
+#define SM_CYFULLSCREEN 17
+#define SM_CYKANJIWINDOW 18
+#define SM_MOUSEPRESENT 19
+#define SM_CYVSCROLL 20
+#define SM_CXHSCROLL 21
+#define SM_DEBUG 22
+#define SM_SWAPBUTTON 23
+#define SM_RESERVED1 24
+#define SM_RESERVED2 25
+#define SM_RESERVED3 26
+#define SM_RESERVED4 27
+#define SM_CXMIN 28
+#define SM_CYMIN 29
+#define SM_CXSIZE 30
+#define SM_CYSIZE 31
+#define SM_CXFRAME 32
+#define SM_CYFRAME 33
+#define SM_CXMINTRACK 34
+#define SM_CYMINTRACK 35
+#define SM_CXDOUBLECLK 36
+#define SM_CYDOUBLECLK 37
+#define SM_CXICONSPACING 38
+#define SM_CYICONSPACING 39
+#define SM_MENUDROPALIGNMENT 40
+#define SM_PENWINDOWS 41
+#define SM_DBCSENABLED 42
+#define SM_CMOUSEBUTTONS 43
+#define SM_CXFIXEDFRAME SM_CXDLGFRAME
+#define SM_CYFIXEDFRAME SM_CYDLGFRAME
+#define SM_CXSIZEFRAME SM_CXFRAME
+#define SM_CYSIZEFRAME SM_CYFRAME
+#define SM_SECURE 44
+#define SM_CXEDGE 45
+#define SM_CYEDGE 46
+#define SM_CXMINSPACING 47
+#define SM_CYMINSPACING 48
+#define SM_CXSMICON 49
+#define SM_CYSMICON 50
+#define SM_CYSMCAPTION 51
+#define SM_CXSMSIZE 52
+#define SM_CYSMSIZE 53
+#define SM_CXMENUSIZE 54
+#define SM_CYMENUSIZE 55
+#define SM_ARRANGE 56
+#define SM_CXMINIMIZED 57
+#define SM_CYMINIMIZED 58
+#define SM_CXMAXTRACK 59
+#define SM_CYMAXTRACK 60
+#define SM_CXMAXIMIZED 61
+#define SM_CYMAXIMIZED 62
+#define SM_NETWORK 63
+#define SM_CLEANBOOT 67
+#define SM_CXDRAG 68
+#define SM_CYDRAG 69
+#define SM_SHOWSOUNDS 70
+#define SM_CXMENUCHECK 71
+#define SM_CYMENUCHECK 72
+#define SM_SLOWMACHINE 73
+#define SM_MIDEASTENABLED 74
+#define SM_MOUSEWHEELPRESENT 75
+#define SM_XVIRTUALSCREEN 76
+#define SM_YVIRTUALSCREEN 77
+#define SM_CXVIRTUALSCREEN 78
+#define SM_CYVIRTUALSCREEN 79
+#define SM_CMONITORS 80
+#define SM_SAMEDISPLAYFORMAT 81
+#define SM_CMETRICS 83
+
+
/* Messages */
/* WM_GETDLGCODE values */
#define WM_COPYDATA 0x004a
#define WM_CANCELJOURNAL 0x004b
#define WM_NOTIFY 0x004e
+#define WM_INPUTLANGCHANGEREQUEST 0x0050
+#define WM_INPUTLANGCHANGE 0x0051
+#define WM_TCARD 0x0052
#define WM_HELP 0x0053
+#define WM_USERCHANGED 0x0054
#define WM_NOTIFYFORMAT 0x0055
#define WM_CONTEXTMENU 0x007b
#define WM_NCMBUTTONUP 0x00a8
#define WM_NCMBUTTONDBLCLK 0x00a9
+#define WM_NCXBUTTONDOWN 0x00ab
+#define WM_NCXBUTTONUP 0x00ac
+#define WM_NCXBUTTONDBLCLK 0x00ad
+
/* Keyboard messages */
#define WM_KEYDOWN 0x0100
#define WM_KEYUP 0x0101
#define WM_IME_COMPOSITION 0x010f
#define WM_IME_KEYLAST 0x010f
-#define WM_INITDIALOG 0x0110
+#define WM_INITDIALOG 0x0110
#define WM_COMMAND 0x0111
#define WM_SYSCOMMAND 0x0112
#define WM_TIMER 0x0113
#define WM_MENUCHAR 0x0120
#define WM_ENTERIDLE 0x0121
+#define WM_MENURBUTTONUP 0x0122
+#define WM_MENUDRAG 0x0123
+#define WM_MENUGETOBJECT 0x0124
+#define WM_UNINITMENUPOPUP 0x0125
+#define WM_MENUCOMMAND 0x0126
+
+#define WM_CHANGEUISTATE 0x0127
+#define WM_UPDATEUISTATE 0x0128
+#define WM_QUERYUISTATE 0x0129
+
#define WM_LBTRACKPOINT 0x0131
/* Win32 CTLCOLOR messages */
#define WM_MBUTTONDOWN 0x0207
#define WM_MBUTTONUP 0x0208
#define WM_MBUTTONDBLCLK 0x0209
-#define WM_MOUSEFIRST WM_MOUSEMOVE
-#define WM_MOUSELAST WM_MBUTTONDBLCLK
+#define WM_MOUSEWHEEL 0x020A
+#define WM_XBUTTONDOWN 0x020B
+#define WM_XBUTTONUP 0x020C
+#define WM_XBUTTONDBLCLK 0x020D
+
+#define WM_MOUSEFIRST 0x0200
+#define WM_MOUSELAST 0x020D
+#define WHEEL_DELTA 120
+#define WHEEL_PAGESCROLL (UINT_MAX)
#define WM_PARENTNOTIFY 0x0210
#define WM_ENTERMENULOOP 0x0211
#define WM_EXITMENULOOP 0x0212
#define WM_SIZING 0x0214
#define WM_CAPTURECHANGED 0x0215
#define WM_MOVING 0x0216
+#define WM_POWERBROADCAST 0x0218
+#define WM_DEVICECHANGE 0x0219
+
+/* wParam for WM_SIZING message */
+#define WMSZ_LEFT 1
+#define WMSZ_RIGHT 2
+#define WMSZ_TOP 3
+#define WMSZ_TOPLEFT 4
+#define WMSZ_TOPRIGHT 5
+#define WMSZ_BOTTOM 6
+#define WMSZ_BOTTOMLEFT 7
+#define WMSZ_BOTTOMRIGHT 8
/* MDI messages */
#define WM_MDICREATE 0x0220
#define WM_PRINT 0x0317
#define WM_PRINTCLIENT 0x0318
- /* FIXME: This does not belong to any libwine interface header */
- /* MFC messages [360-38f] */
-
-#define WM_QUERYAFXWNDPROC 0x0360
-#define WM_SIZEPARENT 0x0361
-#define WM_SETMESSAGESTRING 0x0362
-#define WM_IDLEUPDATECMDUI 0x0363
-#define WM_INITIALUPDATE 0x0364
-#define WM_COMMANDHELP 0x0365
-#define WM_HELPHITTEST 0x0366
-#define WM_EXITHELPMODE 0x0367
-#define WM_RECALCPARENT 0x0368
-#define WM_SIZECHILD 0x0369
-#define WM_KICKIDLE 0x036A
-#define WM_QUERYCENTERWND 0x036B
-#define WM_DISABLEMODAL 0x036C
-#define WM_FLOATSTATUS 0x036D
-#define WM_ACTIVATETOPLEVEL 0x036E
-#define WM_QUERY3DCONTROLS 0x036F
-#define WM_SOCKET_NOTIFY 0x0373
-#define WM_SOCKET_DEAD 0x0374
-#define WM_POPMESSAGESTRING 0x0375
-#define WM_OCC_LOADFROMSTREAM 0x0376
-#define WM_OCC_LOADFROMSTORAGE 0x0377
-#define WM_OCC_INITNEW 0x0378
-#define WM_OCC_LOADFROMSTREAM_EX 0x037A
-#define WM_OCC_LOADFROMSTORAGE_EX 0x037B
-#define WM_QUEUE_SENTINEL 0x0379
-
#define WM_PENWINFIRST 0x0380
#define WM_PENWINLAST 0x038F
-/* end of MFC messages */
-
-/* FIXME: The following two lines do not belong to any libwine interface header */
-#define WM_COALESCE_FIRST 0x0390
-#define WM_COALESCE_LAST 0x039F
#define WM_APP 0x8000
+/* MsgWaitForMultipleObjectsEx flags */
+#define MWMO_WAITALL 0x0001
+#define MWMO_ALERTABLE 0x0002
+#define MWMO_INPUTAVAILABLE 0x0004
#define DLGC_WANTARROWS 0x0001
#define DLGC_WANTTAB 0x0002
#define IDYES 6
#define IDNO 7
#define IDCLOSE 8
-#define IDHELP 9
+#define IDHELP 9
/****** Window classes ******/
BYTE rgbReserved[32];
} PAINTSTRUCT, *PPAINTSTRUCT, *LPPAINTSTRUCT;
-typedef struct
+typedef struct
{
HMENU hWindowMenu;
UINT idFirstChild;
DECL_WINELIB_TYPE_AW(MDICREATESTRUCT)
DECL_WINELIB_TYPE_AW(LPMDICREATESTRUCT)
-#define MDITILE_VERTICAL 0x0000
+#define MDITILE_VERTICAL 0x0000
#define MDITILE_HORIZONTAL 0x0001
#define MDITILE_SKIPDISABLED 0x0002
DWORD styleNew;
} STYLESTRUCT, *LPSTYLESTRUCT;
+#define WC_DIALOGA MAKEINTATOMA(0x8002)
+#define WC_DIALOGW MAKEINTATOMW(0x8002)
+#define WC_DIALOG WINELIB_NAME_AW(WC_DIALOG)
+
/* Offsets for GetWindowLong() and GetWindowWord() */
#define GWL_USERDATA (-21)
#define GWL_EXSTYLE (-20)
#define GWL_STYLE (-16)
-#define GWW_ID (-12)
-#define GWL_ID GWW_ID
-#define GWW_HWNDPARENT (-8)
-#define GWL_HWNDPARENT GWW_HWNDPARENT
-#define GWW_HINSTANCE (-6)
-#define GWL_HINSTANCE GWW_HINSTANCE
+#define GWL_ID (-12)
+#define GWL_HWNDPARENT (-8)
+#define GWL_HINSTANCE (-6)
#define GWL_WNDPROC (-4)
#define DWL_MSGRESULT 0
#define DWL_DLGPROC 4
#define GW_OWNER 4
#define GW_CHILD 5
+/* GetAncestor() constants */
+#define GA_PARENT 1
+#define GA_ROOT 2
+#define GA_ROOTOWNER 3
+
/* WM_GETMINMAXINFO struct */
typedef struct
{
#define HTSIZEFIRST HTLEFT
#define HTSIZELAST HTBOTTOMRIGHT
+/* SendMessageTimeout flags */
+#define SMTO_NORMAL 0x0000
+#define SMTO_BLOCK 0x0001
+#define SMTO_ABORTIFHUNG 0x0002
+#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
+
/* WM_SYSCOMMAND parameters */
#ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */
#undef SC_SIZE
#define SC_TASKLIST 0xf130
#define SC_SCREENSAVE 0xf140
#define SC_HOTKEY 0xf150
+ /* Win32 4.0 */
+#define SC_DEFAULT 0xf160
+#define SC_MONITORPOWER 0xf170
+#define SC_CONTEXTHELP 0xf180
+#define SC_SEPARATOR 0xf00f
+
+/* obsolete names(SC_ICON and SC_ZOOM) */
+#define SC_ICON SC_MINIMIZE
+#define SC_ZOOM SC_MAXIMIZE
+
#define CS_VREDRAW 0x0001
#define CS_HREDRAW 0x0002
#define PRF_ERASEBKGND 0x00000008L
#define PRF_CHILDREN 0x00000010L
#define PRF_OWNED 0x00000020L
-
+
/* Offsets for GetClassLong() and GetClassWord() */
#define GCL_MENUNAME (-8)
-#define GCW_HBRBACKGROUND (-10)
-#define GCL_HBRBACKGROUND GCW_HBRBACKGROUND
-#define GCW_HCURSOR (-12)
-#define GCL_HCURSOR GCW_HCURSOR
-#define GCW_HICON (-14)
-#define GCL_HICON GCW_HICON
-#define GCW_HMODULE (-16)
-#define GCL_HMODULE GCW_HMODULE
-#define GCW_CBWNDEXTRA (-18)
-#define GCL_CBWNDEXTRA GCW_CBWNDEXTRA
-#define GCW_CBCLSEXTRA (-20)
-#define GCL_CBCLSEXTRA GCW_CBCLSEXTRA
+#define GCL_HBRBACKGROUND (-10)
+#define GCL_HCURSOR (-12)
+#define GCL_HICON (-14)
+#define GCL_HMODULE (-16)
+#define GCL_CBWNDEXTRA (-18)
+#define GCL_CBCLSEXTRA (-20)
#define GCL_WNDPROC (-24)
-#define GCW_STYLE (-26)
-#define GCL_STYLE GCW_STYLE
+#define GCL_STYLE (-26)
#define GCW_ATOM (-32)
-#define GCW_HICONSM (-34)
-#define GCL_HICONSM GCW_HICONSM
+#define GCL_HICONSM (-34)
+
+/* BroadcastSystemMessage flags */
+#define BSM_ALLCOMPONENTS 0x00000000
+#define BSM_VXDS 0x00000001
+#define BSM_NETDRIVER 0x00000002
+#define BSM_INSTALLABLEDRIVERS 0x00000004
+#define BSM_APPLICATIONS 0x00000008
+
+#define BSF_QUERY 0x00000001
+#define BSF_IGNORECURRENTTASK 0x00000002
+#define BSF_FLUSHDISK 0x00000004
+#define BSF_NOHANG 0x00000008
+#define BSF_POSTMESSAGE 0x00000010
+#define BSF_FORCEIFHUNG 0x00000020
+#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
+#define BSF_ALLOWSFW 0x00000080
+#define BSF_SENDNOTIFYMESSAGE 0x00000100
+#define BSF_RETURNHDESK 0x00000200
+#define BSF_LUID 0x00000400
/***** Window hooks *****/
#define WH_SHELL 10
#define WH_FOREGROUNDIDLE 11
#define WH_CALLWNDPROCRET 12
-#define WH_MAX 12
+#define WH_KEYBOARD_LL 13
+#define WH_MOUSE_LL 14
+#define WH_MAX 14
#define WH_MINHOOK WH_MIN
#define WH_MAXHOOK WH_MAX
-#define WH_NB_HOOKS (WH_MAXHOOK-WH_MINHOOK+1)
/* Hook action codes */
#define HC_ACTION 0
#define MSGF_SIZE 4
#define MSGF_SCROLLBAR 5
#define MSGF_NEXTWINDOW 6
-#define MSGF_MAINLOOP 8
-#define MSGF_USER 4096
+#define MSGF_MAX 8
+#define MSGF_USER 0x1000
+#define MSGF_DDEMGR 0x8001
typedef struct
{
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
-} WNDCLASSA, *LPWNDCLASSA;
+} WNDCLASSA, *PWNDCLASSA, *LPWNDCLASSA;
typedef struct
{
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
-} WNDCLASSW, *LPWNDCLASSW;
+} WNDCLASSW, *PWNDCLASSW, *LPWNDCLASSW;
DECL_WINELIB_TYPE_AW(WNDCLASS)
+DECL_WINELIB_TYPE_AW(PWNDCLASS)
DECL_WINELIB_TYPE_AW(LPWNDCLASS)
typedef struct {
DWORD dwData;
DWORD cbData;
LPVOID lpData;
-} COPYDATASTRUCT, *PCOPYDATASTRUCT, *LPCOPYDATASTRUCT;
+} COPYDATASTRUCT, *PCOPYDATASTRUCT;
typedef struct {
HMENU hmenuIn;
HWND hwndNext;
} MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
-/* WinHelp internal structure */
-typedef struct {
- WORD size;
- WORD command;
- LONG data;
- LONG reserved;
- WORD ofsFilename;
- WORD ofsData;
-} WINHELP,*LPWINHELP;
+typedef struct
+{
+ DWORD mkSize;
+ CHAR mkKeyList;
+ CHAR szKeyphrase[1];
+} MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
typedef struct
{
- UINT16 mkSize;
- BYTE mkKeyList;
- BYTE szKeyphrase[1];
-} MULTIKEYHELP, *LPMULTIKEYHELP;
+ DWORD mkSize;
+ WCHAR mkKeyList;
+ WCHAR szKeyphrase[1];
+} MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
+
+DECL_WINELIB_TYPE_AW(MULTIKEYHELP)
+DECL_WINELIB_TYPE_AW(PMULTIKEYHELP)
+DECL_WINELIB_TYPE_AW(LPMULTIKEYHELP)
+
+typedef struct {
+ int wStructSize;
+ int x;
+ int y;
+ int dx;
+ int dy;
+ int wMax;
+ CHAR rgchMember[2];
+} HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
typedef struct {
- WORD wStructSize;
- WORD x;
- WORD y;
- WORD dx;
- WORD dy;
- WORD wMax;
- char rgchMember[2];
-} HELPWININFO, *LPHELPWININFO;
+ int wStructSize;
+ int x;
+ int y;
+ int dx;
+ int dy;
+ int wMax;
+ WCHAR rgchMember[2];
+} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
+
+DECL_WINELIB_TYPE_AW(HELPWININFO)
+DECL_WINELIB_TYPE_AW(PHELPWININFO)
+DECL_WINELIB_TYPE_AW(LPHELPWININFO)
#define HELP_CONTEXT 0x0001
#define HELP_QUIT 0x0002
#define CDS_SETRECT 0x20000000
#define CDS_NORESET 0x10000000
-/* flags to FormatMessage */
-#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
-#define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200
-#define FORMAT_MESSAGE_FROM_STRING 0x00000400
-#define FORMAT_MESSAGE_FROM_HMODULE 0x00000800
-#define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000
-#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
-#define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
-
typedef struct
{
UINT cbSize;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
-} WNDCLASSEXA, *LPWNDCLASSEXA;
+} WNDCLASSEXA, *PWNDCLASSEXA, *LPWNDCLASSEXA;
typedef struct
{
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
HICON hIconSm;
-} WNDCLASSEXW, *LPWNDCLASSEXW;
+} WNDCLASSEXW, *PWNDCLASSEXW, *LPWNDCLASSEXW;
DECL_WINELIB_TYPE_AW(WNDCLASSEX)
+DECL_WINELIB_TYPE_AW(PWNDCLASSEX)
DECL_WINELIB_TYPE_AW(LPWNDCLASSEX)
typedef struct tagMSG
LPARAM lParam;
DWORD time;
POINT pt;
-} MSG, *LPMSG;
+} MSG, *PMSG, *LPMSG;
#define POINTSTOPOINT(pt, pts) \
{ (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts); \
- (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); }
+ (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); }
#define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y)))
DWORD yHotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
-} ICONINFO,*LPICONINFO;
+} ICONINFO, *PICONINFO;
/* this is the 6 byte accel struct used in Win32 when presented to the user */
WORD cmd;
} ACCEL, *LPACCEL;
-/* this is the 8 byte accel struct used in Win32 resources (internal only) */
-typedef struct
-{
- BYTE fVirt;
- BYTE pad0;
- WORD key;
- WORD cmd;
- WORD pad1;
-} PE_ACCEL, *LPPE_ACCEL;
-
/* Flags for TrackPopupMenu */
#define TPM_LEFTBUTTON 0x0000
#define TPM_NONOTIFY 0x0080
#define TPM_RETURNCMD 0x0100
-typedef struct
+typedef struct
{
UINT cbSize;
RECT rcExclude;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
- DWORD dwItemData;
- LPWSTR dwTypeData;
+ DWORD dwItemData;
+ LPWSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
} MENUITEMINFOW, *LPMENUITEMINFOW;
DECL_WINELIB_TYPE_AW(MENUITEMINFO)
DECL_WINELIB_TYPE_AW(LPMENUITEMINFO)
+typedef const MENUITEMINFOA *LPCMENUITEMINFOA;
+typedef const MENUITEMINFOW *LPCMENUITEMINFOW;
+DECL_WINELIB_TYPE_AW(LPCMENUITEMINFO)
typedef struct {
DWORD cbSize;
DWORD dwMenuData;
} MENUINFO, *LPMENUINFO;
-typedef MENUINFO const * LPCMENUINFO;
+typedef const MENUINFO *LPCMENUINFO;
#define MIM_MAXHEIGHT 0x00000001
#define MIM_BACKGROUND 0x00000002
#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10)
#define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11)
-/* DrawState defines ... */
-typedef BOOL (CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,INT,INT);
-
/* WM_H/VSCROLL commands */
#define SB_LINEUP 0
#define SB_LINELEFT 0
#define BN_UNHILITE 3
#define BN_DISABLE 4
#define BN_DOUBLECLICKED 5
+#define BN_DBLCLK BN_DOUBLECLICKED
/* Button states */
#define BST_UNCHECKED 0x0000
#define BST_CHECKED 0x0001
#define BST_INDETERMINATE 0x0002
#define BST_PUSHED 0x0004
-#define BST_FOCUS 0x0008
+#define BST_FOCUS 0x0008
/* Static Control Styles */
#define SS_LEFT 0x00000000L
#define STM_GETICON 0x0171
#define STM_SETIMAGE 0x0172
#define STM_GETIMAGE 0x0173
+#define STM_MSGMAX 0x0174
+
+#define STN_CLICKED 0
+#define STN_DBLCLK 1
+#define STN_ENABLE 2
+#define STN_DISABLE 3
/* Scrollbar messages */
#define SBM_SETPOS 0x00e0
INT nPos;
INT nTrackPos;
} SCROLLINFO, *LPSCROLLINFO;
-
-/* GetScrollInfo() flags */
+
+typedef const SCROLLINFO *LPCSCROLLINFO;
+
+/* GetScrollInfo() flags */
#define SIF_RANGE 0x0001
#define SIF_PAGE 0x0002
#define SIF_POS 0x0004
#define HELPINFO_MENUITEM 0x0002
/* Structure pointed to by lParam of WM_HELP */
-typedef struct
+typedef struct
{
UINT cbSize; /* Size in bytes of this struct */
INT iContextType; /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
DWORD dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
-} MSGBOXPARAMSA,*LPMSGBOXPARAMSA;
+} MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA;
typedef struct
{
DWORD dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
-} MSGBOXPARAMSW,*LPMSGBOXPARAMSW;
+} MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;
DECL_WINELIB_TYPE_AW(MSGBOXPARAMS)
+DECL_WINELIB_TYPE_AW(PMSGBOXPARAMS)
DECL_WINELIB_TYPE_AW(LPMSGBOXPARAMS)
-typedef struct _numberfmt32a {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPCSTR lpDecimalSep;
- LPCSTR lpThousandSep;
- UINT NegativeOrder;
-} NUMBERFMTA;
-
-typedef struct _numberfmt32w {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPCWSTR lpDecimalSep;
- LPCWSTR lpThousandSep;
- UINT NegativeOrder;
-} NUMBERFMTW;
-
#define MONITOR_DEFAULTTONULL 0x00000000
#define MONITOR_DEFAULTTOPRIMARY 0x00000001
#define MONITOR_DEFAULTTONEAREST 0x00000002
#define MONITORINFOF_PRIMARY 0x00000001
+#ifndef CCHDEVICENAME
+#define CCHDEVICENAME 32
+#endif
+
typedef struct tagMONITORINFO
{
DWORD cbSize;
typedef BOOL (CALLBACK *MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
+#include "pshpack2.h"
+
/* FIXME: use this instead of LPCVOID for CreateDialogIndirectParam
and DialogBoxIndirectParam */
typedef struct tagDLGTEMPLATE
typedef DLGTEMPLATE *LPDLGTEMPLATEA;
typedef DLGTEMPLATE *LPDLGTEMPLATEW;
-#define LPDLGTEMPLATE WINELIB_NAME_AW(LPDLGTEMPLATE)
+DECL_WINELIB_TYPE_AW(LPDLGTEMPLATE)
typedef const DLGTEMPLATE *LPCDLGTEMPLATEA;
typedef const DLGTEMPLATE *LPCDLGTEMPLATEW;
-#define LPCDLGTEMPLATE WINELIB_NAME_AW(LPCDLGTEMPLATE)
+DECL_WINELIB_TYPE_AW(LPCDLGTEMPLATE)
typedef struct tagDLGITEMTEMPLATE
{
WORD id;
} DLGITEMTEMPLATE;
+typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
+typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
+DECL_WINELIB_TYPE_AW(PDLGITEMTEMPLATE)
typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
-#define LPDLGITEMTEMPLATE WINELIB_NAME_AW(LPDLGITEMTEMPLATE)
-typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATEA;
-typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATEW;
-#define LPCDLGITEMTEMPLATE WINELIB_NAME_AW(LPCDLGITEMTEMPLATE)
+DECL_WINELIB_TYPE_AW(LPDLGITEMTEMPLATE)
+#include "poppack.h"
/* CBT hook values */
#define HCBT_MOVESIZE 0
/* keybd_event flags */
#define KEYEVENTF_EXTENDEDKEY 0x0001
#define KEYEVENTF_KEYUP 0x0002
-#define KEYEVENTF_WINE_FORCEEXTENDED 0x8000
/* mouse_event flags */
#define MOUSEEVENTF_MOVE 0x0001
#define MOUSEEVENTF_RIGHTUP 0x0010
#define MOUSEEVENTF_MIDDLEDOWN 0x0020
#define MOUSEEVENTF_MIDDLEUP 0x0040
+#define MOUSEEVENTF_WHEEL 0x0800
#define MOUSEEVENTF_ABSOLUTE 0x8000
/* ExitWindows() flags */
#define IDI_ASTERISKA MAKEINTRESOURCEA(32516)
#define IDI_ASTERISKW MAKEINTRESOURCEW(32516)
#define IDI_ASTERISK WINELIB_NAME_AW(IDI_ASTERISK)
+#define IDI_WINLOGOA MAKEINTRESOURCEA(32517)
+#define IDI_WINLOGOW MAKEINTRESOURCEW(32517)
+#define IDI_WINLOGO WINELIB_NAME_AW(IDI_WINLOGO)
+
+#define IDI_WARNING IDI_EXCLAMATION
+#define IDI_ERROR IDI_HAND
+#define IDI_INFORMATION IDI_ASTERISK
-#define IDC_BUMMERA MAKEINTRESOURCEA(100)
-#define IDC_BUMMERW MAKEINTRESOURCEW(100)
-#define IDC_BUMMER WINELIB_NAME_AW(IDC_BUMMER)
#define IDC_ARROWA MAKEINTRESOURCEA(32512)
#define IDC_ARROWW MAKEINTRESOURCEW(32512)
#define IDC_ARROW WINELIB_NAME_AW(IDC_ARROW)
#define IDC_NOA MAKEINTRESOURCEA(32648)
#define IDC_NOW MAKEINTRESOURCEW(32648)
#define IDC_NO WINELIB_NAME_AW(IDC_NO)
+#define IDC_HANDA MAKEINTRESOURCEA(32649)
+#define IDC_HANDW MAKEINTRESOURCEW(32649)
+#define IDC_HAND WINELIB_NAME_AW(IDC_HAND)
#define IDC_APPSTARTINGA MAKEINTRESOURCEA(32650)
#define IDC_APPSTARTINGW MAKEINTRESOURCEW(32650)
#define IDC_APPSTARTING WINELIB_NAME_AW(IDC_APPSTARTING)
#define MNC_IGNORE 0
#define MNC_CLOSE 1
#define MNC_EXECUTE 2
-#define MNC_SELECT 3
+#define MNC_SELECT 3
/* SystemParametersInfo */
/* defines below are for all win versions */
#define SPI_SETMOUSEHOVERTIME 103
#define SPI_GETWHEELSCROLLLINES 104
#define SPI_SETWHEELSCROLLLINES 105
+#define SPI_GETMENUSHOWDELAY 106
+#define SPI_SETMENUSHOWDELAY 107
#define SPI_GETSHOWIMEUI 110
#define SPI_SETSHOWIMEUI 111
#define SPI_GETMOUSESPEED 112
#define SPI_SETMOUSESPEED 113
#define SPI_GETSCREENSAVERRUNNING 114
+#define SPI_GETDESKWALLPAPER 115
#define SPI_GETACTIVEWINDOWTRACKING 0x1000
#define SPI_SETACTIVEWINDOWTRACKING 0x1001
#define SPIF_SENDWININICHANGE 2
#define SPIF_SENDCHANGE SPIF_SENDWININICHANGE
+#if defined(_WINGDI_) && !defined(NOGDI)
typedef struct {
UINT cbSize;
INT iBorderWidth;
LOGFONTA lfMenuFont;
LOGFONTA lfStatusFont;
LOGFONTA lfMessageFont;
-} NONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
+} NONCLIENTMETRICSA, *PNONCLIENTMETRICSA, *LPNONCLIENTMETRICSA;
typedef struct {
UINT cbSize;
LOGFONTW lfMenuFont;
LOGFONTW lfStatusFont;
LOGFONTW lfMessageFont;
-} NONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
+} NONCLIENTMETRICSW, *PNONCLIENTMETRICSW, *LPNONCLIENTMETRICSW;
DECL_WINELIB_TYPE_AW(NONCLIENTMETRICS)
+DECL_WINELIB_TYPE_AW(PNONCLIENTMETRICS)
DECL_WINELIB_TYPE_AW(LPNONCLIENTMETRICS)
typedef struct tagICONMETRICSA {
int iVertSpacing;
int iTitleWrap;
LOGFONTA lfFont;
-} ICONMETRICSA, *LPICONMETRICSA;
+} ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;
typedef struct tagICONMETRICSW {
UINT cbSize;
int iVertSpacing;
int iTitleWrap;
LOGFONTW lfFont;
-} ICONMETRICSW, *LPICONMETRICSW;
+} ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;
DECL_WINELIB_TYPE_AW(ICONMETRICS)
+DECL_WINELIB_TYPE_AW(PICONMETRICS)
DECL_WINELIB_TYPE_AW(LPICONMETRICS)
+#endif /* defined(_WINGDI_) && !defined(NOGDI) */
+
+#define ARW_BOTTOMLEFT 0x0000L
+#define ARW_BOTTOMRIGHT 0x0001L
+#define ARW_TOPLEFT 0x0002L
+#define ARW_TOPRIGHT 0x0003L
+#define ARW_STARTMASK 0x0003L
+#define ARW_STARTRIGHT 0x0001L
+#define ARW_STARTTOP 0x0002L
+
+#define ARW_LEFT 0x0000L
+#define ARW_RIGHT 0x0000L
+#define ARW_UP 0x0004L
+#define ARW_DOWN 0x0004L
+#define ARW_HIDE 0x0008L
+
+typedef struct tagMINIMIZEDMETRICS {
+ UINT cbSize;
+ int iWidth;
+ int iHorzGap;
+ int iVertGap;
+ int iArrange;
+} MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
/* Window Styles */
#define WS_OVERLAPPED 0x00000000L
#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
+/* New Win2000 styles */
+#define WS_EX_LAYERED 0x00080000L
+
/* WINE internal... */
#define WS_EX_TRAYWINDOW 0x80000000L
+#define WS_EX_MANAGED 0x40000000L /* Window managed by the window system */
/* Window scrolling */
#define SW_SCROLLCHILDREN 0x0001
#define PM_REMOVE 0x0001
#define PM_NOYIELD 0x0002
+/* AnimateWindow() flags */
+#define AW_SLIDE 0x00040000
+#define AW_ACTIVATE 0x00020000
+#define AW_BLEND 0x00080000
+#define AW_HIDE 0x00010000
+#define AW_CENTER 0x00000010
+#define AW_HOR_POSITIVE 0x00000001
+#define AW_HOR_NEGATIVE 0x00000002
+#define AW_VER_POSITIVE 0x00000004
+#define AW_VER_NEGATIVE 0x00000008
+
/* WM_SHOWWINDOW wParam codes */
#define SW_PARENTCLOSING 1
#define SW_OTHERMAXIMIZED 2
#define SW_SHOWNA 8
#define SW_RESTORE 9
#define SW_SHOWDEFAULT 10
-#define SW_MAX 10
+#define SW_FORCEMINIMIZE 11
+#define SW_MAX 11
#define SW_NORMALNA 0xCC /* undoc. flag in MinMaximize */
/* WM_SIZE message wParam values */
#define HWND_BOTTOM ((HWND)1)
#define HWND_TOPMOST ((HWND)-1)
#define HWND_NOTOPMOST ((HWND)-2)
+#define HWND_MESSAGE ((HWND)-3)
+
+/* GetDCEx flags */
+#define DCX_WINDOW 0x00000001
+#define DCX_CACHE 0x00000002
+#define DCX_NORESETATTRS 0x00000004
+#define DCX_CLIPCHILDREN 0x00000008
+#define DCX_CLIPSIBLINGS 0x00000010
+#define DCX_PARENTCLIP 0x00000020
+#define DCX_EXCLUDERGN 0x00000040
+#define DCX_INTERSECTRGN 0x00000080
+#define DCX_EXCLUDEUPDATE 0x00000100
+#define DCX_INTERSECTUPDATE 0x00000200
+#define DCX_LOCKWINDOWUPDATE 0x00000400
+#define DCX_USESTYLE 0x00010000
+#define DCX_NORECOMPUTE 0x00100000
+#define DCX_VALIDATE 0x00200000
#define MF_INSERT 0x0000
#define MF_CHANGE 0x0080
#define DFCS_INACTIVE 0x0100
#define DFCS_PUSHED 0x0200
#define DFCS_CHECKED 0x0400
+#define DFCS_TRANSPARENT 0x0800
+#define DFCS_HOT 0x1000
#define DFCS_ADJUSTRECT 0x2000 /* exclude surrounding edge */
#define DFCS_FLAT 0x4000
#define DFCS_MONO 0x8000
+
/* Image type */
#define DST_COMPLEX 0x0000
#define DST_TEXT 0x0001
UINT itemID;
HWND hwndItem;
DWORD itemData;
-} DELETEITEMSTRUCT, *LPDELETEITEMSTRUCT;
+} DELETEITEMSTRUCT, *PDELETEITEMSTRUCT, *LPDELETEITEMSTRUCT;
typedef struct
#define VK_RBUTTON 0x02
#define VK_CANCEL 0x03
#define VK_MBUTTON 0x04
-/* 0x05-0x07 Undefined */
+#define VK_XBUTTON1 0x05
+#define VK_XBUTTON2 0x06
+/* 0x07 Undefined */
#define VK_BACK 0x08
#define VK_TAB 0x09
/* 0x0A-0x0B Undefined */
#define VK_OEM_5 0xDC
#define VK_OEM_6 0xDD
#define VK_OEM_7 0xDE
-/* 0xDF-0xE4 OEM specific */
-
+#define VK_OEM_8 0xDF
+/* 0xE0 OEM specific */
+#define VK_OEM_AX 0xE1 /* "AX" key on Japanese AX keyboard */
+#define VK_OEM_102 0xE2 /* "<>" or "\|" on RT 102-key keyboard */
+#define VK_ICO_HELP 0xE3 /* Help key on ICO */
+#define VK_ICO_00 0xE4 /* 00 key on ICO */
#define VK_PROCESSKEY 0xE5
/* 0xE6 OEM specific */
#define VK_NONAME 0xFC
#define VK_PA1 0xFD
#define VK_OEM_CLEAR 0xFE
-
+
/* Key status flags for mouse events */
#define MK_LBUTTON 0x0001
#define MK_RBUTTON 0x0002
#define MK_SHIFT 0x0004
#define MK_CONTROL 0x0008
#define MK_MBUTTON 0x0010
+#define MK_XBUTTON1 0x0020
+#define MK_XBUTTON2 0x0040
+
+
+#define WM_MOUSEHOVER 0x02A1
+#define WM_MOUSELEAVE 0x02A3
+
+#define TME_HOVER 0x00000001
+#define TME_LEAVE 0x00000002
+#define TME_QUERY 0x40000000
+#define TME_CANCEL 0x80000000
+
+#define HOVER_DEFAULT 0xFFFFFFFF
+
+typedef struct tagTRACKMOUSEEVENT {
+ DWORD cbSize;
+ DWORD dwFlags;
+ HWND hwndTrack;
+ DWORD dwHoverTime;
+} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
/* Queue status flags */
#define QS_KEY 0x0001
#define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
#define QS_ALLINPUT (QS_ALLEVENTS | QS_SENDMESSAGE)
+/* Extra (undocumented) queue wake bits - see "Undoc. Windows" */
+#define QS_SMRESULT 0x8000
+
+/* InSendMessageEx flags */
+#define ISMEX_NOSEND 0x00000000
+#define ISMEX_SEND 0x00000001
+#define ISMEX_NOTIFY 0x00000002
+#define ISMEX_CALLBACK 0x00000004
+#define ISMEX_REPLIED 0x00000008
+
#define DDL_READWRITE 0x0000
#define DDL_READONLY 0x0001
#define DDL_HIDDEN 0x0002
#define CF_PENDATA 10
#define CF_RIFF 11
#define CF_WAVE 12
+#define CF_UNICODETEXT 13
#define CF_ENHMETAFILE 14
#define CF_HDROP 15
#define CF_LOCALE 16
-#define CF_MAX 17
+#define CF_DIBV5 17
+#define CF_MAX 18
#define CF_OWNERDISPLAY 0x0080
#define CF_DSPTEXT 0x0081
#define CF_DSPBITMAP 0x0082
#define CF_DSPMETAFILEPICT 0x0083
+#define CF_DSPENHMETAFILE 0x008E
/* "Private" formats don't get GlobalFree()'d */
#define CF_PRIVATEFIRST 0x0200
#define CF_GDIOBJLAST 0x03FF
-/* DragObject stuff */
-
-typedef struct
-{
- HWND16 hWnd;
- HANDLE16 hScope;
- WORD wFlags;
- HANDLE16 hList;
- HANDLE16 hOfStruct;
- POINT16 pt WINE_PACKED;
- LONG l WINE_PACKED;
-} DRAGINFO, *LPDRAGINFO;
-
-#define DRAGOBJ_PROGRAM 0x0001
-#define DRAGOBJ_DATA 0x0002
-#define DRAGOBJ_DIRECTORY 0x0004
-#define DRAGOBJ_MULTIPLE 0x0008
-#define DRAGOBJ_EXTERNAL 0x8000
-
-#define DRAG_PRINT 0x544E5250
-#define DRAG_FILE 0x454C4946
-
/* types of LoadImage */
#define IMAGE_BITMAP 0
#define IMAGE_ICON 1
#define DI_COMPAT 4
#define DI_DEFAULTSIZE 8
- /* misc messages */
-#define WM_CPL_LAUNCH (WM_USER + 1000)
-#define WM_CPL_LAUNCHED (WM_USER + 1001)
-
/* WM_NOTIFYFORMAT commands and return values */
#define NFR_ANSI 1
#define NFR_UNICODE 2
#define NF_QUERY 3
#define NF_REQUERY 4
-#include "poppack.h"
+/* RegisterDeviceNotification stuff */
+typedef PVOID HDEVNOTIFY;
+typedef HDEVNOTIFY *PHDEVNOTIFY;
+
+#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
+
+/* used for GetWindowInfo() */
+
+#define WS_ACTIVECAPTION 0x0001
+
+typedef struct tagWINDOWINFO {
+ DWORD cbSize;
+ RECT rcWindow;
+ RECT rcClient;
+ DWORD dwStyle;
+ DWORD dwExStyle;
+ DWORD dwWindowStatus;
+ UINT cxWindowBorders;
+ UINT cyWindowBorders;
+ ATOM atomWindowType;
+ WORD wCreatorVersion;
+} WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
+
+/* SetWinEventHook() flags */
+#define WINEVENT_OUTOFCONTEXT 0x0
+#define WINEVENT_SKIPOWNTHREAD 0x1
+#define WINEVENT_SKIPOWNPROCESS 0x2
+#define WINEVENT_INCONTEXT 0x4
+
+/* Object Id's */
+#define CHILDID_SELF 0
+#define INDEXID_OBJECT 0
+#define INDEXID_CONTAINER 0
+
+/* System object Id's */
+#define OBJID_WINDOW 0
+#define OBJID_SYSMENU -1
+#define OBJID_TITLEBAR -2
+#define OBJID_MENU -3
+#define OBJID_CLIENT -4
+#define OBJID_VSCROLL -5
+#define OBJID_HSCROLL -6
+#define OBJID_SIZEGRIP -7
+#define OBJID_CARET -8
+#define OBJID_CURSOR -9
+#define OBJID_ALERT -10
+#define OBJID_SOUND -11
+#define OBJID_QUERYCLASSNAMEIDX -12
+#define OBJID_NATIVEOM -16
+
+/* User event Id limits */
+#define EVENT_MIN 0x00000001
+#define EVENT_MAX 0x7FFFFFFF
+
+/* System events */
+#define EVENT_SYSTEM_SOUND 0x01
+#define EVENT_SYSTEM_ALERT 0x02
+#define EVENT_SYSTEM_FOREGROUND 0x03
+#define EVENT_SYSTEM_MENUSTART 0x04
+#define EVENT_SYSTEM_MENUEND 0x05
+#define EVENT_SYSTEM_MENUPOPUPSTART 0x06
+#define EVENT_SYSTEM_MENUPOPUPEND 0x07
+#define EVENT_SYSTEM_CAPTURESTART 0x08
+#define EVENT_SYSTEM_CAPTUREEND 0x09
+#define EVENT_SYSTEM_MOVESIZESTART 0x0A
+#define EVENT_SYSTEM_MOVESIZEEND 0x0B
+#define EVENT_SYSTEM_CONTEXTHELPSTART 0x0C
+#define EVENT_SYSTEM_CONTEXTHELPEND 0x0D
+#define EVENT_SYSTEM_DRAGDROPSTART 0x0E
+#define EVENT_SYSTEM_DRAGDROPEND 0x0F
+#define EVENT_SYSTEM_DIALOGSTART 0x10
+#define EVENT_SYSTEM_DIALOGEND 0x11
+#define EVENT_SYSTEM_SCROLLINGSTART 0x12
+#define EVENT_SYSTEM_SCROLLINGEND 0x13
+#define EVENT_SYSTEM_SWITCHSTART 0x14
+#define EVENT_SYSTEM_SWITCHEND 0x15
+#define EVENT_SYSTEM_MINIMIZESTART 0x16
+#define EVENT_SYSTEM_MINIMIZEEND 0x17
+
+/* Console events */
+#define EVENT_CONSOLE_CARET 0x4001
+#define EVENT_CONSOLE_UPDATE_REGION 0x4002
+#define EVENT_CONSOLE_UPDATE_SIMPLE 0x4003
+#define EVENT_CONSOLE_UPDATE_SCROLL 0x4004
+#define EVENT_CONSOLE_LAYOUT 0x4005
+#define EVENT_CONSOLE_START_APPLICATION 0x4006
+#define EVENT_CONSOLE_END_APPLICATION 0x4007
+
+#define CONSOLE_APPLICATION_16BIT 0x1
+#define CONSOLE_CARET_SELECTION 0x1
+#define CONSOLE_CARET_VISIBLE 0x2
+
+/* Object events */
+#define EVENT_OBJECT_CREATE 0x8000
+#define EVENT_OBJECT_DESTROY 0x8001
+#define EVENT_OBJECT_SHOW 0x8002
+#define EVENT_OBJECT_HIDE 0x8003
+#define EVENT_OBJECT_REORDER 0x8004
+#define EVENT_OBJECT_FOCUS 0x8005
+#define EVENT_OBJECT_SELECTION 0x8006
+#define EVENT_OBJECT_SELECTIONADD 0x8007
+#define EVENT_OBJECT_SELECTIONREMOVE 0x8008
+#define EVENT_OBJECT_SELECTIONWITHIN 0x8009
+#define EVENT_OBJECT_STATECHANGE 0x800A
+#define EVENT_OBJECT_LOCATIONCHANGE 0x800B
+#define EVENT_OBJECT_NAMECHANGE 0x800C
+#define EVENT_OBJECT_DESCRIPTIONCHANGE 0x800D
+#define EVENT_OBJECT_VALUECHANGE 0x800E
+#define EVENT_OBJECT_PARENTCHANGE 0x800F
+#define EVENT_OBJECT_HELPCHANGE 0x8010
+#define EVENT_OBJECT_DEFACTIONCHANGE 0x8011
+#define EVENT_OBJECT_ACCELERATORCHANGE 0x8012
+
+/* Sound events */
+#define SOUND_SYSTEM_STARTUP 1
+#define SOUND_SYSTEM_SHUTDOWN 2
+#define SOUND_SYSTEM_BEEP 3
+#define SOUND_SYSTEM_ERROR 4
+#define SOUND_SYSTEM_QUESTION 5
+#define SOUND_SYSTEM_WARNING 6
+#define SOUND_SYSTEM_INFORMATION 7
+#define SOUND_SYSTEM_MAXIMIZE 8
+#define SOUND_SYSTEM_MINIMIZE 9
+#define SOUND_SYSTEM_RESTOREUP 10
+#define SOUND_SYSTEM_RESTOREDOWN 11
+#define SOUND_SYSTEM_APPSTART 12
+#define SOUND_SYSTEM_FAULT 13
+#define SOUND_SYSTEM_APPEND 14
+#define SOUND_SYSTEM_MENUCOMMAND 15
+#define SOUND_SYSTEM_MENUPOPUP 16
+#define CSOUND_SYSTEM 16
+
+/* Alert events */
+#define ALERT_SYSTEM_INFORMATIONAL 1
+#define ALERT_SYSTEM_WARNING 2
+#define ALERT_SYSTEM_ERROR 3
+#define ALERT_SYSTEM_QUERY 4
+#define ALERT_SYSTEM_CRITICAL 5
+#define CALERT_SYSTEM 6
+
+
#define EnumTaskWindows(handle,proc,lparam) \
EnumThreadWindows(handle,proc,lparam)
#define OemToAnsiA OemToCharA
#define AnsiToOemBuffW CharToOemBuffW
#define AnsiToOemBuff WINELIB_NAME_AW(AnsiToOemBuff)
+#if defined(_WINGDI_) && !defined(NOGDI)
+LONG WINAPI ChangeDisplaySettingsA(LPDEVMODEA,DWORD);
+LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW,DWORD);
+#define ChangeDisplaySettings WINELIB_NAME_AW(ChangeDisplaySettings)
+LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPARAM);
+LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPARAM);
+#define ChangeDisplaySettingsEx WINELIB_NAME_AW(ChangeDisplaySettingsEx)
+BOOL WINAPI EnumDisplayDevicesA(LPVOID,DWORD,LPDISPLAY_DEVICEA,DWORD);
+BOOL WINAPI EnumDisplayDevicesW(LPVOID,DWORD,LPDISPLAY_DEVICEW,DWORD);
+#define EnumDisplayDevices WINELIB_NAME_AW(EnumDisplayDevices)
+BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,LPDEVMODEA);
+BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,LPDEVMODEW);
+#define EnumDisplaySettings WINELIB_NAME_AW(EnumDisplaySettings)
+#endif /* defined(_WINGDI_) && !defined(NOGDI) */
+
HKL WINAPI ActivateKeyboardLayout(HKL,UINT);
LONG WINAPI BroadcastSystemMessage(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
WORD WINAPI CascadeWindows(HWND, UINT, const LPRECT, UINT, const HWND *);
HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,INT);
HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,INT);
#define CreateAcceleratorTable WINELIB_NAME_AW(CreateAcceleratorTable)
-HICON WINAPI CreateIconIndirect(LPICONINFO);
+HICON WINAPI CreateIconIndirect(PICONINFO);
BOOL WINAPI DestroyAcceleratorTable(HACCEL);
+BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
+BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
+#define EnumDesktops WINELIB_NAME_AW(EnumDesktops)
BOOL WINAPI EnumDisplayMonitors(HDC,LPRECT,MONITORENUMPROC,LPARAM);
-BOOL WINAPI EnumDisplayDevicesA(LPVOID,DWORD,LPDISPLAY_DEVICEA,DWORD);
-BOOL WINAPI EnumDisplayDevicesW(LPVOID,DWORD,LPDISPLAY_DEVICEW,DWORD);
-#define EnumDisplayDevices WINELIB_NAME_AW(EnumDisplayDevices)
INT WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
INT WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM);
#define EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
BOOL WINAPI ExitWindowsEx(UINT,DWORD);
-BOOL WINAPI GetIconInfo(HICON,LPICONINFO);
+BOOL WINAPI GetIconInfo(HICON,PICONINFO);
HKL WINAPI GetKeyboardLayout(DWORD);
INT WINAPI GetKeyboardLayoutList(INT,HKL *);
DWORD WINAPI GetMenuContextHelpId(HMENU);
BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
#define GetMonitorInfo WINELIB_NAME_AW(GetMonitorInfo)
-INT WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
-INT WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
-#define GetNumberFormat WINELIB_NAME_AW(GetNumberFormat);
DWORD WINAPI GetWindowContextHelpId(HWND);
DWORD WINAPI GetWindowThreadProcessId(HWND,LPDWORD);
-BOOL WINAPI IsWindowUnicode(HWND);
-HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT);
-HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT);
+BOOL WINAPI IsWinEventHookInstalled(DWORD);
+BOOL WINAPI IsWindowUnicode(HWND);
+HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT);
+HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT);
#define LoadKeyboardLayout WINELIB_NAME_AW(LoadKeyboardLayout)
-INT WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
-INT WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD);
+INT WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
+INT WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD);
#define MessageBoxEx WINELIB_NAME_AW(MessageBoxEx)
HMONITOR WINAPI MonitorFromPoint(POINT,DWORD);
HMONITOR WINAPI MonitorFromRect(LPRECT,DWORD);
HMONITOR WINAPI MonitorFromWindow(HWND,DWORD);
-DWORD WINAPI MsgWaitForMultipleObjects(DWORD,HANDLE*,BOOL,DWORD,DWORD);
-BOOL WINAPI PaintDesktop(HDC);
-BOOL WINAPI PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM);
-BOOL WINAPI PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM);
+DWORD WINAPI MsgWaitForMultipleObjects(DWORD,CONST HANDLE*,BOOL,DWORD,DWORD);
+DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,CONST HANDLE*,DWORD,DWORD,DWORD);
+VOID WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
+BOOL WINAPI PaintDesktop(HDC);
+BOOL WINAPI PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM);
+BOOL WINAPI PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM);
#define PostThreadMessage WINELIB_NAME_AW(PostThreadMessage)
BOOL WINAPI RegisterHotKey(HWND,INT,UINT,UINT);
-UINT WINAPI ReuseDDElParam(UINT,UINT,UINT,UINT,UINT);
-BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,FARPROC,DWORD);
-BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,FARPROC,DWORD);
+HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD);
+HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
+#define RegisterDeviceNotification WINELIB_NAME_AW(RegisterDeviceNotification)
+BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,ULONG_PTR);
+BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,ULONG_PTR);
#define SendMessageCallback WINELIB_NAME_AW(SendMessageCallback)
-BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM);
+BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM);
+BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM);
#define SendNotifyMessage WINELIB_NAME_AW(SendNotifyMessage)
VOID WINAPI SetDebugErrorLevel(DWORD);
VOID WINAPI SetLastErrorEx(DWORD,DWORD);
BOOL WINAPI SetMenuItemInfoW(HMENU,UINT,BOOL,const MENUITEMINFOW*);
#define SetMenuItemInfo WINELIB_NAME_AW(SetMenuItemInfo)
BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
+HWINEVENTHOOK WINAPI SetWinEventHook(DWORD,DWORD,HMODULE,WINEVENTPROC,DWORD,DWORD,DWORD);
WORD WINAPI TileWindows (HWND, UINT, const LPRECT,
UINT, const HWND *);
INT WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT);
BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,INT,INT,HWND,
LPTPMPARAMS);
-UINT WINAPI UnpackDDElParam(UINT,UINT,UINT*,UINT*);
+BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
+BOOL WINAPI UnregisterDeviceNotification(HDEVNOTIFY);
BOOL WINAPI UnregisterHotKey(HWND,INT);
DWORD WINAPI WaitForInputIdle(HANDLE,DWORD);
VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
LONG WINAPI GetMessageExtraInfo(void);
DWORD WINAPI GetMessagePos(void);
LONG WINAPI GetMessageTime(void);
-DWORD WINAPI GetTickCount(void);
-ATOM WINAPI GlobalDeleteAtom(ATOM);
DWORD WINAPI OemKeyScan(WORD);
BOOL WINAPI ReleaseCapture(void);
BOOL WINAPI SetKeyboardState(LPBYTE);
-VOID WINAPI WaitMessage(void);
-
/* Declarations for functions that change between Win16 and Win32 */
-BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL);
-BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
+BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL);
+BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
+BOOL WINAPI AnimateWindow(HWND,DWORD,DWORD);
#define AnsiLowerA CharLowerA
#define AnsiLowerW CharLowerW
#define AnsiLower WINELIB_NAME_AW(AnsiLower)
HDWP WINAPI BeginDeferWindowPos(INT);
HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
BOOL WINAPI BringWindowToTop(HWND);
+void WINAPI CalcChildScroll(HWND, INT);
BOOL WINAPI CallMsgFilterA(LPMSG,INT);
BOOL WINAPI CallMsgFilterW(LPMSG,INT);
#define CallMsgFilter WINELIB_NAME_AW(CallMsgFilter)
LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
#define CallWindowProc WINELIB_NAME_AW(CallWindowProc)
BOOL WINAPI ChangeClipboardChain(HWND,HWND);
-LONG WINAPI ChangeDisplaySettingsA(LPDEVMODEA,DWORD);
-LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW,DWORD);
-#define ChangeDisplaySettings WINELIB_NAME_AW(ChangeDisplaySettings)
-LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPARAM);
-LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPARAM);
-#define ChangeDisplaySettingsEx WINELIB_NAME_AW(ChangeDisplaySettingsEx)
BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT);
BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT);
#define ChangeMenu WINELIB_NAME_AW(ChangeMenu)
LPWSTR WINAPI CharNextW(LPCWSTR);
#define CharNext WINELIB_NAME_AW(CharNext)
LPSTR WINAPI CharNextExA(WORD,LPCSTR,DWORD);
-LPWSTR WINAPI CharNextExW(WORD,LPCWSTR,DWORD);
-#define CharNextEx WINELIB_NAME_AW(CharNextEx)
+/* no CharNextExW (doesn't make sense) */
LPSTR WINAPI CharPrevA(LPCSTR,LPCSTR);
LPWSTR WINAPI CharPrevW(LPCWSTR,LPCWSTR);
#define CharPrev WINELIB_NAME_AW(CharPrev)
LPSTR WINAPI CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD);
-LPWSTR WINAPI CharPrevExW(WORD,LPCWSTR,LPCWSTR,DWORD);
-#define CharPrevEx WINELIB_NAME_AW(CharPrevEx)
+/* no CharPrevExW (doesn't make sense) */
LPSTR WINAPI CharUpperA(LPSTR);
LPWSTR WINAPI CharUpperW(LPWSTR);
#define CharUpper WINELIB_NAME_AW(CharUpper)
BOOL WINAPI CheckRadioButton(HWND,UINT,UINT,UINT);
HWND WINAPI ChildWindowFromPoint(HWND,POINT);
HWND WINAPI ChildWindowFromPointEx(HWND,POINT,UINT);
-BOOL WINAPI ClearCommBreak(HANDLE);
BOOL WINAPI ClientToScreen(HWND,LPPOINT);
BOOL WINAPI ClipCursor(const RECT*);
BOOL WINAPI CloseClipboard(void);
+BOOL WINAPI CloseDesktop(HDESK);
BOOL WINAPI CloseWindow(HWND);
+BOOL WINAPI CloseWindowStation(HWINSTA);
#define CopyCursor(cur) ((HCURSOR)CopyIcon((HICON)(cur)))
HICON WINAPI CopyIcon(HICON);
HICON WINAPI CopyImage(HANDLE,UINT,INT,INT,UINT);
HWND WINAPI CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,INT,INT,
INT,INT,HWND,HMENU,HINSTANCE,LPVOID);
#define CreateWindowEx WINELIB_NAME_AW(CreateWindowEx)
+HWINSTA WINAPI CreateWindowStationA(LPSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
+HWINSTA WINAPI CreateWindowStationW(LPWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
+#define CreateWindowStation WINELIB_NAME_AW(CreateWindowStation)
HWND WINAPI CreateMDIWindowA(LPCSTR,LPCSTR,DWORD,INT,INT,
INT,INT,HWND,HINSTANCE,LPARAM);
HWND WINAPI CreateMDIWindowW(LPCWSTR,LPCWSTR,DWORD,INT,INT,
BOOL WINAPI DrawCaptionTempA(HWND,HDC,const RECT*,HFONT,HICON,LPCSTR,UINT);
BOOL WINAPI DrawCaptionTempW(HWND,HDC,const RECT*,HFONT,HICON,LPCWSTR,UINT);
#define DrawCaptionTemp WINELIB_NAME_AW(DrawCaptionTemp)
-BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT);
-BOOL WINAPI DrawFocusRect(HDC,const RECT*);
-BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT);
-BOOL WINAPI DrawIcon(HDC,INT,INT,HICON);
-BOOL WINAPI DrawIconEx(HDC,INT,INT,HICON,INT,INT,
- UINT,HBRUSH,UINT);
-BOOL WINAPI DrawMenuBar(HWND);
-BOOL WINAPI DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,INT,INT,INT,INT,UINT);
-BOOL WINAPI DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,INT,INT,INT,INT,UINT);
+BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT);
+BOOL WINAPI DrawFocusRect(HDC,const RECT*);
+BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT);
+BOOL WINAPI DrawIcon(HDC,INT,INT,HICON);
+BOOL WINAPI DrawIconEx(HDC,INT,INT,HICON,INT,INT,UINT,HBRUSH,UINT);
+BOOL WINAPI DrawMenuBar(HWND);
+BOOL WINAPI DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,INT,INT,INT,INT,UINT);
+BOOL WINAPI DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,INT,INT,INT,INT,UINT);
#define DrawState WINELIB_NAME_AW(DrawState)
-INT WINAPI DrawTextA(HDC,LPCSTR,INT,LPRECT,UINT);
-INT WINAPI DrawTextW(HDC,LPCWSTR,INT,LPRECT,UINT);
+INT WINAPI DrawTextA(HDC,LPCSTR,INT,LPRECT,UINT);
+INT WINAPI DrawTextW(HDC,LPCWSTR,INT,LPRECT,UINT);
#define DrawText WINELIB_NAME_AW(DrawText)
-BOOL WINAPI EmptyClipboard(void);
-UINT WINAPI EnableMenuItem(HMENU,UINT,UINT);
-BOOL WINAPI EnableScrollBar(HWND,INT,UINT);
-BOOL WINAPI EnableWindow(HWND,BOOL);
-BOOL WINAPI EndDeferWindowPos(HDWP);
-BOOL WINAPI EndDialog(HWND,INT);
-BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
-BOOL WINAPI EnumChildWindows(HWND,WNDENUMPROC,LPARAM);
-UINT WINAPI EnumClipboardFormats(UINT);
-INT WINAPI EnumPropsA(HWND,PROPENUMPROCA);
-INT WINAPI EnumPropsW(HWND,PROPENUMPROCW);
+INT WINAPI DrawTextExA(HDC,LPSTR,INT,LPRECT,UINT,LPDRAWTEXTPARAMS);
+INT WINAPI DrawTextExW(HDC,LPWSTR,INT,LPRECT,UINT,LPDRAWTEXTPARAMS);
+#define DrawTextEx WINELIB_NAME_AW(DrawTextEx)
+BOOL WINAPI EmptyClipboard(void);
+UINT WINAPI EnableMenuItem(HMENU,UINT,UINT);
+BOOL WINAPI EnableScrollBar(HWND,INT,UINT);
+BOOL WINAPI EnableWindow(HWND,BOOL);
+BOOL WINAPI EndDeferWindowPos(HDWP);
+BOOL WINAPI EndDialog(HWND,INT);
+BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
+BOOL WINAPI EnumChildWindows(HWND,WNDENUMPROC,LPARAM);
+UINT WINAPI EnumClipboardFormats(UINT);
+INT WINAPI EnumPropsA(HWND,PROPENUMPROCA);
+INT WINAPI EnumPropsW(HWND,PROPENUMPROCW);
#define EnumProps WINELIB_NAME_AW(EnumProps)
BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM);
+BOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA,LPARAM);
+BOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW,LPARAM);
+#define EnumWindowStations WINELIB_NAME_AW(EnumWindowStations)
BOOL WINAPI EqualRect(const RECT*,const RECT*);
-BOOL WINAPI EscapeCommFunction(HANDLE,UINT);
INT WINAPI ExcludeUpdateRgn(HDC,HWND);
#define ExitWindows(a,b) ExitWindowsEx(EWX_LOGOFF,0xffffffff)
INT WINAPI FillRect(HDC,const RECT*,HBRUSH);
HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR);
HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR);
#define FindWindowEx WINELIB_NAME_AW(FindWindowEx)
-BOOL WINAPI FlashWindow(HWND,BOOL);
-INT WINAPI FrameRect(HDC,const RECT*,HBRUSH);
-HWND WINAPI GetActiveWindow(void);
+BOOL WINAPI FlashWindow(HWND,BOOL);
+INT WINAPI FrameRect(HDC,const RECT*,HBRUSH);
+HWND WINAPI GetActiveWindow(void);
+HWND WINAPI GetAncestor(HWND,UINT);
DWORD WINAPI GetAppCompatFlags(HTASK);
-WORD WINAPI GetAsyncKeyState(INT);
-HWND WINAPI GetCapture(void);
-UINT WINAPI GetCaretBlinkTime(void);
-BOOL WINAPI GetCaretPos(LPPOINT);
-BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,WNDCLASSA *);
-BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,WNDCLASSW *);
+SHORT WINAPI GetAsyncKeyState(INT);
+HWND WINAPI GetCapture(void);
+UINT WINAPI GetCaretBlinkTime(void);
+BOOL WINAPI GetCaretPos(LPPOINT);
+BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,WNDCLASSA *);
+BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,WNDCLASSW *);
#define GetClassInfo WINELIB_NAME_AW(GetClassInfo)
BOOL WINAPI GetClassInfoExA(HINSTANCE,LPCSTR,WNDCLASSEXA *);
BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,WNDCLASSEXW *);
HWND WINAPI GetClipboardOwner(void);
HWND WINAPI GetClipboardViewer(void);
BOOL WINAPI GetClipCursor(LPRECT);
-#define GetCurrentTime() GetTickCount()
HCURSOR WINAPI GetCursor(void);
BOOL WINAPI GetCursorPos(LPPOINT);
HDC WINAPI GetDC(HWND);
INT WINAPI GetKeyboardLayoutNameA(LPSTR);
INT WINAPI GetKeyboardLayoutNameW(LPWSTR);
#define GetKeyboardLayoutName WINELIB_NAME_AW(GetKeyboardLayoutName)
-INT16 WINAPI GetKeyState(INT);
+SHORT WINAPI GetKeyState(INT);
HWND WINAPI GetLastActivePopup(HWND);
HMENU WINAPI GetMenu(HWND);
INT WINAPI GetMenuItemCount(HMENU);
BOOL WINAPI GetScrollRange(HWND,INT,LPINT,LPINT);
HWND WINAPI GetShellWindow(void);
HMENU WINAPI GetSubMenu(HMENU,INT);
-COLORREF WINAPI GetSysColor(INT);
HBRUSH WINAPI GetSysColorBrush(INT);
#define GetSysModalWindow() ((HWND)0)
HMENU WINAPI GetSystemMenu(HWND,BOOL);
HWND WINAPI GetTopWindow(HWND);
BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL);
INT WINAPI GetUpdateRgn(HWND,HRGN,BOOL);
-HWND WINAPI GetWindow(HWND,WORD);
-HDC WINAPI GetWindowDC(HWND);
+BOOL WINAPI GetUserObjectInformationA(HANDLE,INT,LPVOID,DWORD,LPDWORD);
+BOOL WINAPI GetUserObjectInformationW(HANDLE,INT,LPVOID,DWORD,LPDWORD);
+#define GetUserObjectInformation WINELIB_NAME_AW(GetUserObjectInformation)
+HWND WINAPI GetWindow(HWND,UINT);
+HDC WINAPI GetWindowDC(HWND);
+BOOL WINAPI GetWindowInfo(HWND, PWINDOWINFO);
LONG WINAPI GetWindowLongA(HWND,INT);
LONG WINAPI GetWindowLongW(HWND,INT);
#define GetWindowLong WINELIB_NAME_AW(GetWindowLong)
-BOOL WINAPI GetWindowPlacement(HWND,LPWINDOWPLACEMENT);
-BOOL WINAPI GetWindowRect(HWND,LPRECT);
-INT WINAPI GetWindowRgn(HWND,HRGN);
+BOOL WINAPI GetWindowPlacement(HWND,LPWINDOWPLACEMENT);
+BOOL WINAPI GetWindowRect(HWND,LPRECT);
+INT WINAPI GetWindowRgn(HWND,HRGN);
+HWINSTA WINAPI GetProcessWindowStation(void);
#define GetWindowTask(hwnd) ((HTASK)GetWindowThreadProcessId(hwnd,NULL))
-INT WINAPI GetWindowTextA(HWND,LPSTR,INT);
-INT WINAPI GetWindowTextW(HWND,LPWSTR,INT);
+INT WINAPI GetWindowTextA(HWND,LPSTR,INT);
+INT WINAPI GetWindowTextW(HWND,LPWSTR,INT);
#define GetWindowText WINELIB_NAME_AW(GetWindowText)
-INT WINAPI GetWindowTextLengthA(HWND);
-INT WINAPI GetWindowTextLengthW(HWND);
+INT WINAPI GetWindowTextLengthA(HWND);
+INT WINAPI GetWindowTextLengthW(HWND);
#define GetWindowTextLength WINELIB_NAME_AW(GetWindowTextLength)
WORD WINAPI GetWindowWord(HWND,INT);
-ATOM WINAPI GlobalAddAtomA(LPCSTR);
-ATOM WINAPI GlobalAddAtomW(LPCWSTR);
-#define GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
-ATOM WINAPI GlobalFindAtomA(LPCSTR);
-ATOM WINAPI GlobalFindAtomW(LPCWSTR);
-#define GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
-UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,INT);
-UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,INT);
-#define GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
-BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,
- INT,INT,INT,INT,INT);
-BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,
- INT,INT,INT,INT,INT);
+BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,INT,INT,INT,INT,INT);
+BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,INT,INT,INT,INT,INT);
#define GrayString WINELIB_NAME_AW(GrayString)
-BOOL WINAPI HideCaret(HWND);
-BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
-BOOL WINAPI InflateRect(LPRECT,INT,INT);
-BOOL WINAPI InSendMessage(void);
-BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
-BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
+BOOL WINAPI HideCaret(HWND);
+BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
+BOOL WINAPI InflateRect(LPRECT,INT,INT);
+BOOL WINAPI InSendMessage(void);
+DWORD WINAPI InSendMessageEx(LPVOID);
+BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
+BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
#define InsertMenu WINELIB_NAME_AW(InsertMenu)
-BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,const MENUITEMINFOA*);
-BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,const MENUITEMINFOW*);
+BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,const MENUITEMINFOA*);
+BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,const MENUITEMINFOW*);
#define InsertMenuItem WINELIB_NAME_AW(InsertMenuItem)
-BOOL WINAPI IntersectRect(LPRECT,const RECT*,const RECT*);
-BOOL WINAPI InvalidateRect(HWND,const RECT*,BOOL);
-BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
-BOOL WINAPI InvertRect(HDC,const RECT*);
-BOOL WINAPI IsCharAlphaA(CHAR);
-BOOL WINAPI IsCharAlphaW(WCHAR);
+INT WINAPI InternalGetWindowText(HWND,LPWSTR,INT);
+BOOL WINAPI IntersectRect(LPRECT,const RECT*,const RECT*);
+BOOL WINAPI InvalidateRect(HWND,const RECT*,BOOL);
+BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
+BOOL WINAPI InvertRect(HDC,const RECT*);
+BOOL WINAPI IsCharAlphaA(CHAR);
+BOOL WINAPI IsCharAlphaW(WCHAR);
#define IsCharAlpha WINELIB_NAME_AW(IsCharAlpha)
BOOL WINAPI IsCharAlphaNumericA(CHAR);
BOOL WINAPI IsCharAlphaNumericW(WCHAR);
HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR);
HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR);
#define LoadAccelerators WINELIB_NAME_AW(LoadAccelerators)
-HBITMAP WINAPI LoadBitmapA(HANDLE,LPCSTR);
-HBITMAP WINAPI LoadBitmapW(HANDLE,LPCWSTR);
+HBITMAP WINAPI LoadBitmapA(HINSTANCE,LPCSTR);
+HBITMAP WINAPI LoadBitmapW(HINSTANCE,LPCWSTR);
#define LoadBitmap WINELIB_NAME_AW(LoadBitmap)
HCURSOR WINAPI LoadCursorA(HINSTANCE,LPCSTR);
HCURSOR WINAPI LoadCursorW(HINSTANCE,LPCWSTR);
UINT WINAPI MapVirtualKeyW(UINT,UINT);
#define MapVirtualKey WINELIB_NAME_AW(MapVirtualKey)
UINT WINAPI MapVirtualKeyExA(UINT,UINT,HKL);
+UINT WINAPI MapVirtualKeyExW(UINT,UINT,HKL);
#define MapVirtualKeyEx WINELIB_NAME_AW(MapVirtualKeyEx)
-BOOL WINAPI MapDialogRect(HWND,LPRECT);
-INT WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT);
-BOOL WINAPI MessageBeep(UINT);
-INT WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
-INT WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
+BOOL WINAPI MapDialogRect(HWND,LPRECT);
+INT WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT);
+UINT WINAPI MenuItemFromPoint(HWND,HMENU,POINT);
+BOOL WINAPI MessageBeep(UINT);
+INT WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
+INT WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
#define MessageBox WINELIB_NAME_AW(MessageBox)
INT WINAPI MessageBoxIndirectA(LPMSGBOXPARAMSA);
INT WINAPI MessageBoxIndirectW(LPMSGBOXPARAMSW);
BOOL WINAPI OffsetRect(LPRECT,INT,INT);
BOOL WINAPI OpenClipboard(HWND);
BOOL WINAPI OpenIcon(HWND);
+HWINSTA WINAPI OpenWindowStationA(LPSTR,BOOL,ACCESS_MASK);
+HWINSTA WINAPI OpenWindowStationW(LPWSTR,BOOL,ACCESS_MASK);
+#define OpenWindowStation WINELIB_NAME_AW(OpenWindowStation)
BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT);
BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT);
#define PeekMessage WINELIB_NAME_AW(PeekMessage)
HANDLE WINAPI RemovePropA(HWND,LPCSTR);
HANDLE WINAPI RemovePropW(HWND,LPCWSTR);
#define RemoveProp WINELIB_NAME_AW(RemoveProp)
-BOOL WINAPI ReplyMessage(LRESULT);
-BOOL WINAPI ScreenToClient(HWND,LPPOINT);
+BOOL WINAPI ReplyMessage(LRESULT);
+BOOL WINAPI ScreenToClient(HWND,LPPOINT);
VOID WINAPI ScrollChildren(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI ScrollDC(HDC,INT,INT,const RECT*,const RECT*,
- HRGN,LPRECT);
-BOOL WINAPI ScrollWindow(HWND,INT,INT,const RECT*,const RECT*);
-INT WINAPI ScrollWindowEx(HWND,INT,INT,const RECT*,
- const RECT*,HRGN,LPRECT,UINT);
+BOOL WINAPI ScrollDC(HDC,INT,INT,const RECT*,const RECT*,HRGN,LPRECT);
+BOOL WINAPI ScrollWindow(HWND,INT,INT,const RECT*,const RECT*);
+INT WINAPI ScrollWindowEx(HWND,INT,INT,const RECT*,const RECT*,HRGN,LPRECT,UINT);
LRESULT WINAPI SendDlgItemMessageA(HWND,INT,UINT,WPARAM,LPARAM);
LRESULT WINAPI SendDlgItemMessageW(HWND,INT,UINT,WPARAM,LPARAM);
#define SendDlgItemMessage WINELIB_NAME_AW(SendDlgItemMessage)
+UINT WINAPI SendInput(UINT,LPINPUT,int);
LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM);
LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM);
#define SendMessage WINELIB_NAME_AW(SendMessage)
-LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,
- UINT,LPDWORD);
-LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,
- UINT,LPDWORD);
+LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,LPDWORD);
+LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,LPDWORD);
#define SendMessageTimeout WINELIB_NAME_AW(SendMessageTimeout)
-HWND WINAPI SetActiveWindow(HWND);
-HWND WINAPI SetCapture(HWND);
-BOOL WINAPI SetCaretBlinkTime(UINT);
-BOOL WINAPI SetCaretPos(INT,INT);
+HWND WINAPI SetActiveWindow(HWND);
+HWND WINAPI SetCapture(HWND);
+BOOL WINAPI SetCaretBlinkTime(UINT);
+BOOL WINAPI SetCaretPos(INT,INT);
LONG WINAPI SetClassLongA(HWND,INT,LONG);
LONG WINAPI SetClassLongW(HWND,INT,LONG);
#define SetClassLong WINELIB_NAME_AW(SetClassLong)
WORD WINAPI SetClassWord(HWND,INT,WORD);
HANDLE WINAPI SetClipboardData(UINT,HANDLE);
HWND WINAPI SetClipboardViewer(HWND);
-BOOL WINAPI SetCommBreak(HANDLE);
HCURSOR WINAPI SetCursor(HCURSOR);
BOOL WINAPI SetCursorPos(INT,INT);
BOOL WINAPI SetDeskWallPaper(LPCSTR);
BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
BOOL WINAPI SetMessageQueue(INT);
BOOL WINAPI SetProcessDefaultLayout(DWORD);
+BOOL WINAPI SetProcessWindowStation(HWINSTA);
HWND WINAPI SetParent(HWND,HWND);
BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE);
BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE);
INT WINAPI SetScrollInfo(HWND,INT,const SCROLLINFO*,BOOL);
INT WINAPI SetScrollPos(HWND,INT,INT,BOOL);
BOOL WINAPI SetScrollRange(HWND,INT,INT,INT,BOOL);
-BOOL WINAPI SetSysColors(INT,const INT*,const COLORREF*);
#define SetSysModalWindow(hwnd) ((HWND)0)
BOOL WINAPI SetSystemCursor(HCURSOR,DWORD);
BOOL WINAPI SetSystemMenu(HWND,HMENU);
UINT WINAPI SetSystemTimer(HWND,UINT,UINT,TIMERPROC);
UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC);
+BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
LONG WINAPI SetWindowLongA(HWND,INT,LONG);
LONG WINAPI SetWindowLongW(HWND,INT,LONG);
#define SetWindowLong WINELIB_NAME_AW(SetWindowLong)
#define TabbedTextOut WINELIB_NAME_AW(TabbedTextOut)
INT WINAPI ToAscii(UINT,UINT,LPBYTE,LPWORD,UINT);
INT WINAPI ToAsciiEx(UINT,UINT,LPBYTE,LPWORD,UINT,HKL);
+BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT);
BOOL WINAPI TrackPopupMenu(HMENU,UINT,INT,INT,INT,HWND,const RECT*);
INT WINAPI TranslateAccelerator(HWND,HACCEL,LPMSG);
BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG);
BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
#define UnregisterClass WINELIB_NAME_AW(UnregisterClass)
VOID WINAPI UpdateWindow(HWND);
+UINT WINAPI UserRealizePalette(HDC);
VOID WINAPI ValidateRect(HWND,const RECT*);
VOID WINAPI ValidateRgn(HWND,HRGN);
WORD WINAPI VkKeyScanA(CHAR);
WORD WINAPI VkKeyScanExA(CHAR, HKL);
WORD WINAPI VkKeyScanExW(WCHAR, HKL);
#define VkKeyScanEx WINELIB_NAME_AW(VkKeyScanEx)
+BOOL WINAPI WaitMessage(void);
HWND WINAPI WindowFromDC(HDC);
HWND WINAPI WindowFromPoint(POINT);
BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD);
BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,DWORD);
#define WinHelp WINELIB_NAME_AW(WinHelp)
-INT WINAPIV wsnprintfA(LPSTR,UINT,LPCSTR,...);
-INT WINAPIV wsnprintfW(LPWSTR,UINT,LPCWSTR,...);
-#define wsnprintf WINELIB_NAME_AW(wsnprintf)
INT WINAPIV wsprintfA(LPSTR,LPCSTR,...);
INT WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
#define wsprintf WINELIB_NAME_AW(wsprintf)
-INT WINAPI wvsnprintfA(LPSTR,UINT,LPCSTR,va_list);
-INT WINAPI wvsnprintfW(LPWSTR,UINT,LPCWSTR,va_list);
-#define wvsnprintf WINELIB_NAME_AW(wvsnprintf)
INT WINAPI wvsprintfA(LPSTR,LPCSTR,va_list);
INT WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list);
#define wvsprintf WINELIB_NAME_AW(wvsprintf)
-BOOL WINAPI RegisterShellHook16(HWND16,UINT16);
+/* Undocumented functions */
+
/* NOTE: This is SYSTEM.3, not USER.182, which is also named KillSystemTimer */
WORD WINAPI SYSTEM_KillSystemTimer( WORD );
-/* Extra functions that don't exist in the Windows API */
-
-HPEN WINAPI GetSysColorPen(INT);
-INT WINAPI LoadMessageA(HMODULE,UINT,WORD,LPSTR,INT);
-INT WINAPI LoadMessageW(HMODULE,UINT,WORD,LPWSTR,INT);
-
-VOID WINAPI ScreenSwitchEnable16(WORD);
-
-#define WC_DIALOG (LPSTR)((DWORD)((WORD)( 0x8002)))
+HRESULT WINAPI PrivateExtractIconsA(LPCSTR,INT,DWORD,DWORD,HICON*,DWORD,UINT,DWORD);
+HRESULT WINAPI PrivateExtractIconsW(LPCWSTR,INT,DWORD,DWORD,HICON*,DWORD,UINT,DWORD);
#ifdef __cplusplus
}