Release 980614
Sun Jun 15 10:30:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/dos_fs.c] [files/file.c] [if1632/wprocs.spec]
[misc/aspi.c]
Added support for scanners that need Adaptec's ASPI2DOS.
* [graphics/env.c] [misc/printerdrv.c] [graphics/win16drv/init.c]
[if1632/gdi.spec] [include/gdi.h]
Enhanced printer support (especially Win95):
Drv[GS]etPrinterData, [GS]etEnvironment; added AbortProc handling.
* [misc/tapi32.c] [relay32/tapi32.spec]
Added some stubs.
* [configure.in] [graphics/fontengine.c] [include/windows.h]
[misc/comm.c] [misc/w32skrnl.c] [misc/win32s16.c]
Made Wine compile on HP-UX (just for fun ;)
* [controls/menu.c] [include/windows.h]
Complete rewrite of EnableMenuItem32.
Free Agent 32 still doesn't work :(
* [misc/version.c] [if1632/kernel.spec] [include/winbase.h]
Implemented GetVersionEx16.
* [misc/network.c] [if1632/user.spec]
Fixed arguments of WNetGetPropertyText.
* [misc/version.c] [relay32/comctl32.spec] [relay32/oleaut32.spec]
Implemented COMCTL32_DllGetVersion, OaBuildVersion.
* [win32/file.c]
Fixed UNC handling of CreateFile32.
Sat Jun 13 22:35:12 1998 Douglas Ridgway <ridgway@winehq.com>
* [Makefile.in] [Make.rules.in]
Added pattern for CVS merge files to 'make clean'
* [ole/olecli.c] [windows/scroll.c] [windows/grahics.c]
Add some DC handle unlocking. (When hdc's are always unlocked,
they can be made moveable.)
* [documentation/wine.texinfo]
Started a Wine Design chapter with discussion of
graphics driver model.
Sat Jun 13 11:19:25 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [misc/main.c] [relay32/relay386.c]
Added new option -debugmsg +relay=.... or -debugmsg -relay=...
Fri Jun 12 22:56:09 1998 Marcus Meissner <marcus@jet.franken.de>
* [relay32/snoop.c][relay32/builtin.c][loader/pe_image.c]
Added inter win32 dll snooping. Use -debugmsg +snoop.
Number of arguments and string references are autodetected.
Some small bugfixes in the PE loader.
* [misc/system.c]
Disabled SystemTimers. They do not work with the current
%fs handling in the 32->16 relaycode. (helps labview)
* [msdos/dpmi.c][msdos/int2f.c][files/drive.c]
Added a monoton linear increasing memory allocator for DPMI (required
for LabView, HAFAS, ...)
mscdex handling in emulated realmode interrupts (for mcicda.drv)
allocate logical drives only once. (helps Myst)
* [files/profile.c]
Handle ^Z as space. Found on CDROMS (helps Myst Installer).
* [multimedia/mmio.c]
mmio* partially updated to win32. No funny additions.
* [windows/driver.c]
Added win32 driver handling (will be used for win32 multimedia/
msvideo drivers).
* [win32/device.c]
Added device handling (K32OBJ_DEVICE_IOCTL). Implemented
VTDAPI.5 (used by win95' WINMM.timeGetTime())
Fri Jun 12 18:01:18 1998 Rein Klazes <rklazes@casema.net>
* [ole/compobj.c relay32/ole32.spec]
Add a stub for CoLockObjectExternal32.
* [objects/clipping.c]
Fix in IntersectClipRect(), when there is no initial clipping
region.
* [graphics/x11drv/graphics.c]
Corrected several "one-off" errors for the Ellipse, Rectangle
and RoundRectangle (especially small ones) draw routines.
Arc and friends still have to be done.
Fri Jun 12 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/ntdll.c]
Fixed some of the parameter counts.
* [misc/registry.c]
General cleanup, documentation.
Standard keys are allowed to be 'closed' and succeed.
* [misc/shell.c]
Check for correct return values from Reg* functions.
* [win32/newfns.c]
Added stubs for OpenDesktopA, SetThreadDesktop, and
SetUserObjectInformationA.
Wed Jun 10 20:28:08 1998 James Juran <jrj120@psu.edu>
* [debugger/break.c]
Fixed bug introduced in 980503 that broke the -debug command
line option for PE executable files.
* [configure.in] [include/acconfig.h] [include/debugtools.h]
[documentation/debug-msgs]
Added 'configure' options to compile out debugging messages.
Use --disable-debug to disable all debugging messages, and
--disable-trace to just disable TRACE messages. This results
in a stripped executable that is 15-20% smaller. This option
is very much untested--don't expect it to work.
* [documentation/debug-msgs] [documentation/debugging]
Minor updates.
* [*/*.c]
Fixed some compile warnings. This also includes the
compile_warnings_trivial patch from WineHQ.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [windows/sysmetrics.c][include/sysmetrics.h]
Fixed some Win95 values.
* [windows/nonclient.c][include/windows.h]
Fixed some Win95 drawing bugs.
Added extended window style flags (WS_EX_xxx).
* [misc/printdrv.c][relay32/winspool.spec]
Added stubs for DeletePrinterDriver32A, DeleteMonitor32A
and DeletePort32A.
* [windows/mdi.c][include/windows.h][relay32/user32.spec]
Added stubs for CascadeWindows and TileWindows.
* [controls/toolbar.c][include/toolbar.h]
Fixed a few bugs and implemented new features.
* [misc/shellord.c][relay32/shell32.spec]
Added stubs for SHELL32_60, SHELL32_61 and SHELL32_184.
* [controls/comctl32undoc.c][relay32/comctl32.spec]
New file comctl32undoc.c. Contains undocumented functions
of COMCTL32.DLL. These functions are needed to run EXPLORER.EXE
IEXPLORE.EXE and TASKMAN.EXE.
* [controls/status.c]
Added text alignment.
Tue Jun 8 22:00:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [programs/*/Makefile.in]
Changed the rules to use wrc as resource compiler but
passing the source through gcc first for macro expansion.
* [programs/*/*.rc]
Added #include "windows.h" for the resource compiler in the
appropriate files.
* [tools/wrc/wrc.[ch]] [tools/wrc/writeres.c]
Added commandline option -A for autoregister code.
Corrected the underscore problem by checking the proper define
from config.h.
Sun Jun 7 22:09:29 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c] [memory/string.c]
Improved LCMapString32A, and changed CompareString32A,
lstrcmp, lstrcmpi to use it.
Sat Jun 6 19:00:50 1998 Martin Strömberg <ams@ludd.luth.se>
* [include/winnt.h]
Added typedefs for security and tokens.
Sat Jun 6 12:26:31 1998 Morten Welinder <terra@diku.dk>
* [objects/text.c]
Use debugstr_an in DrawText16.
* [loader/resource.c]
Use debugres_w in FindResourceEx32W. Avoid crashing during
debug when wm is NULL.
* [if1632/relay.c]
In RELAY_DebugCallTo16, send output to the right place and
avoid side effects in macro arguments.
Wed Jun 3 20:56:03 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [controls/scroll.c] [windows/nonclient.c]
Fix several off by one errors in scrollbar painting.
Tue Jun 2 23:58:59 1998 Insomnia (Stea Greene) <insomnia@core.binghamton.edu>
* [graphics/dsound.c]
Rewrote mixer code to handle panning and volume for 16->16, 16->8,
8->16, and 8->8 bit mixes. Conforms to DirectX's "logarithmic
hearing scale" as specified in M$VC docs. Still does not handle
mixing of different frequencies (I am still working on that).
Tested 16->16 extensively with StarCraft. Other mixing combinations
untested but should work fine. Still kind of a work in progress,
so be warned.
Tue Jun 2 03:31:33 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [tools/wrc/utils.c]
dup_basename: fix to strip directory.
Mon Jun 1 20:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [include/windows.h] [objects/cursoricon.c] [relay32/user32.spec]
Added stubs LoadCursorFromFileW and LoadCursorFromFileA.
diff --git a/include/acconfig.h b/include/acconfig.h
index 20faa2f..1fad5da 100644
--- a/include/acconfig.h
+++ b/include/acconfig.h
@@ -21,6 +21,12 @@
/* Define if X libraries are not reentrant (compiled without -D_REENTRANT). */
#undef NO_REENTRANT_X11
+/* Define if all debug messages are to be compiled out */
+#undef NO_DEBUG_MSGS
+
+/* Define if TRACE messages are to be compiled out */
+#undef NO_TRACE_MSGS
+
/* Define if the struct statfs has the member bavail */
#undef STATFS_HAS_BAVAIL
diff --git a/include/commctrl.h b/include/commctrl.h
index c57c992..ba94bfa 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -7,6 +7,9 @@
#include "windows.h"
+VOID WINAPI GetEffectiveClientRect (HWND32, LPRECT32, LPINT32);
+
+
void WINAPI InitCommonControls(void);
typedef struct tagINITCOMMONCONTROLSEX {
@@ -76,11 +79,17 @@
#define NM_TOOLTIPSCREATED (NM_FIRST-19)
+/* callback constants */
+#define LPSTR_TEXTCALLBACK32A ((LPSTR)-1L)
+#define LPSTR_TEXTCALLBACK32W ((LPWSTR)-1L)
+#define LPSTR_TEXTCALLBACK WINELIB_NAME_AW(LPSTR_TEXTCALLBACK)
+
+
/* StatusWindow */
#define STATUSCLASSNAME16 "msctls_statusbar"
#define STATUSCLASSNAME32A "msctls_statusbar32"
-#define STATUSCLASSNAME32W L"msctls_statusbar32" /*FIXME*/
+#define STATUSCLASSNAME32W L"msctls_statusbar32"
#define STATUSCLASSNAME WINELIB_NAME_AW(STATUSCLASSNAME)
#define SB_SETTEXT32A (WM_USER+1)
@@ -497,47 +506,46 @@
/* Toolbar */
-#define TOOLBARCLASSNAME16 "ToolbarWindow"
-#define TOOLBARCLASSNAME32W L"ToolbarWindow32"
-#define TOOLBARCLASSNAME32A "ToolbarWindow32"
+#define TOOLBARCLASSNAME16 "ToolbarWindow"
+#define TOOLBARCLASSNAME32W L"ToolbarWindow32"
+#define TOOLBARCLASSNAME32A "ToolbarWindow32"
#define TOOLBARCLASSNAME WINELIB_NAME_AW(TOOLBARCLASSNAME)
-
-#define CMB_MASKED 0x02
-
-#define TBSTATE_CHECKED 0x01
-#define TBSTATE_PRESSED 0x02
-#define TBSTATE_ENABLED 0x04
-#define TBSTATE_HIDDEN 0x08
-#define TBSTATE_INDETERMINATE 0x10
-#define TBSTATE_WRAP 0x20
+
+#define CMB_MASKED 0x02
+
+#define TBSTATE_CHECKED 0x01
+#define TBSTATE_PRESSED 0x02
+#define TBSTATE_ENABLED 0x04
+#define TBSTATE_HIDDEN 0x08
+#define TBSTATE_INDETERMINATE 0x10
+#define TBSTATE_WRAP 0x20
#define TBSTATE_ELLIPSES 0x40
-#define TBSTATE_MARKED 0x80
+#define TBSTATE_MARKED 0x80
+
+#define TBSTYLE_BUTTON 0x00
+#define TBSTYLE_SEP 0x01
+#define TBSTYLE_CHECK 0x02
+#define TBSTYLE_GROUP 0x04
+#define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP | TBSTYLE_CHECK)
+#define TBSTYLE_DROPDOWN 0x08
-
-#define TBSTYLE_BUTTON 0x00
-#define TBSTYLE_SEP 0x01
-#define TBSTYLE_CHECK 0x02
-#define TBSTYLE_GROUP 0x04
-#define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP | TBSTYLE_CHECK)
-#define TBSTYLE_DROPDOWN 0x08
-
-#define TBSTYLE_TOOLTIPS 0x0100
-#define TBSTYLE_WRAPABLE 0x0200
-#define TBSTYLE_ALTDRAG 0x0400
-#define TBSTYLE_FLAT 0x0800
-#define TBSTYLE_LIST 0x1000
-#define TBSTYLE_CUSTOMERASE 0x2000
-
+#define TBSTYLE_TOOLTIPS 0x0100
+#define TBSTYLE_WRAPABLE 0x0200
+#define TBSTYLE_ALTDRAG 0x0400
+#define TBSTYLE_FLAT 0x0800
+#define TBSTYLE_LIST 0x1000
+#define TBSTYLE_CUSTOMERASE 0x2000
+
#define TB_ENABLEBUTTON (WM_USER+1)
#define TB_CHECKBUTTON (WM_USER+2)
#define TB_PRESSBUTTON (WM_USER+3)
#define TB_HIDEBUTTON (WM_USER+4)
#define TB_INDETERMINATE (WM_USER+5)
-#define TB_ISBUTTONENABLED (WM_USER+9)
-#define TB_ISBUTTONCHECKED (WM_USER+10)
-#define TB_ISBUTTONPRESSED (WM_USER+11)
-#define TB_ISBUTTONHIDDEN (WM_USER+12)
+#define TB_ISBUTTONENABLED (WM_USER+9)
+#define TB_ISBUTTONCHECKED (WM_USER+10)
+#define TB_ISBUTTONPRESSED (WM_USER+11)
+#define TB_ISBUTTONHIDDEN (WM_USER+12)
#define TB_ISBUTTONINDETERMINATE (WM_USER+13)
#define TB_ISBUTTONHIGHLIGHTED (WM_USER+14)
#define TB_SETSTATE (WM_USER+17)
@@ -558,8 +566,8 @@
#define TB_SAVERESTORE32W (WM_USER+76)
#define TB_SAVERESTORE WINELIB_NAME_AW(TB_SAVERESTORE)
#define TB_CUSTOMIZE (WM_USER+27)
-#define TB_ADDSTRING32A (WM_USER+28)
-#define TB_ADDSTRING32W (WM_USER+77)
+#define TB_ADDSTRING32A (WM_USER+28)
+#define TB_ADDSTRING32W (WM_USER+77)
#define TB_ADDSTRING WINELIB_NAME_AW(TB_ADDSTRING)
#define TB_GETITEMRECT (WM_USER+29)
#define TB_BUTTONSTRUCTSIZE (WM_USER+30)
@@ -571,6 +579,7 @@
#define TB_SETPARENT (WM_USER+37)
#define TB_SETROWS (WM_USER+39)
#define TB_GETROWS (WM_USER+40)
+#define TB_GETBITMAPFLAGS (WM_USER+41)
#define TB_SETCMDID (WM_USER+42)
#define TB_CHANGEBITMAP (WM_USER+43)
#define TB_GETBITMAP (WM_USER+44)
@@ -594,6 +603,10 @@
#define TB_SETMAXTEXTROWS (WM_USER+60)
#define TB_GETTEXTROWS (WM_USER+61)
+#define TB_MAPACCELERATOR32A (WM_USER+78)
+#define TB_MAPACCELERATOR32W (WM_USER+90)
+#define TB_MAPACCELERATOR WINELIB_NAME_AW(TB_MAPACCELERATOR)
+
/* This is just for old CreateToolbar. */
/* Don't use it in new programs. */
@@ -633,18 +646,12 @@
#define HINST_COMMCTRL ((HINSTANCE32)-1)
-HWND32 WINAPI
-CreateToolbar(HWND32, DWORD, UINT32, INT32, HINSTANCE32,
- UINT32, LPCOLDTBBUTTON, INT32);
-
-HWND32 WINAPI
-CreateToolbarEx(HWND32, DWORD, UINT32, INT32,
- HINSTANCE32, UINT32, LPCTBBUTTON,
- INT32, INT32, INT32, INT32, INT32, UINT32);
-
-HBITMAP32 WINAPI
-CreateMappedBitmap (HINSTANCE32, INT32, UINT32, LPCOLORMAP, INT32);
-
-
+HWND32 WINAPI CreateToolbar(HWND32, DWORD, UINT32, INT32, HINSTANCE32,
+ UINT32, LPCOLDTBBUTTON, INT32);
+HWND32 WINAPI CreateToolbarEx(HWND32, DWORD, UINT32, INT32, HINSTANCE32,
+ UINT32, LPCTBBUTTON, INT32, INT32, INT32,
+ INT32, INT32, UINT32);
+HBITMAP32 WINAPI CreateMappedBitmap (HINSTANCE32, INT32, UINT32,
+ LPCOLORMAP, INT32);
#endif /* __WINE_COMMCTRL_H */
diff --git a/include/commdlg.h b/include/commdlg.h
index a54499d..1bf5d2f 100644
--- a/include/commdlg.h
+++ b/include/commdlg.h
@@ -485,6 +485,76 @@
#define CDERR_NOHOOK 0x000B
#define CDERR_REGISTERMSGFAIL 0x000C
+/* PageSetupDlg stuff ... */
+#define WM_PSD_PAGESETUPDLG (WM_USER )
+#define WM_PSD_FULLPAGERECT (WM_USER+1)
+#define WM_PSD_MINMARGINRECT (WM_USER+2)
+#define WM_PSD_MARGINRECT (WM_USER+3)
+#define WM_PSD_GREEKTEXTRECT (WM_USER+4)
+#define WM_PSD_ENVSTAMPRECT (WM_USER+5)
+#define WM_PSD_YAFULLPAGERECT (WM_USER+6)
+
+typedef UINT32 (CALLBACK* LPPAGEPAINTHOOK)( HWND32, UINT32, WPARAM32, LPARAM );
+typedef UINT32 (CALLBACK* LPPAGESETUPHOOK)( HWND32, UINT32, WPARAM32, LPARAM );
+
+typedef struct tagPSD32A
+{
+ DWORD lStructSize;
+ HWND32 hwndOwner;
+ HGLOBAL32 hDevMode;
+ HGLOBAL32 hDevNames;
+ DWORD Flags;
+ POINT32 ptPaperSize;
+ RECT32 rtMinMargin;
+ RECT32 rtMargin;
+ HINSTANCE32 hInstance;
+ LPARAM lCustData;
+ LPPAGESETUPHOOK lpfnPageSetupHook;
+ LPPAGEPAINTHOOK lpfnPagePaintHook;
+ LPCSTR lpPageSetupTemplateName;
+ HGLOBAL32 hPageSetupTemplate;
+} PAGESETUPDLG32A,*LPPAGESETUPDLG32A;
+
+typedef struct tagPSD32W
+{
+ DWORD lStructSize;
+ HWND32 hwndOwner;
+ HGLOBAL32 hDevMode;
+ HGLOBAL32 hDevNames;
+ DWORD Flags;
+ POINT32 ptPaperSize;
+ RECT32 rtMinMargin;
+ RECT32 rtMargin;
+ HINSTANCE32 hInstance;
+ LPARAM lCustData;
+ LPPAGESETUPHOOK lpfnPageSetupHook;
+ LPPAGEPAINTHOOK lpfnPagePaintHook;
+ LPCWSTR lpPageSetupTemplateName;
+ HGLOBAL32 hPageSetupTemplate;
+} PAGESETUPDLG32W,*LPPAGESETUPDLG32W;
+DECL_WINELIB_TYPE_AW(PAGESETUPDLG)
+DECL_WINELIB_TYPE_AW(LPPAGESETUPDLG)
+
+#define PSD_DEFAULTMINMARGINS 0x00000000
+#define PSD_INWININIINTLMEASURE 0x00000000
+
+#define PSD_MINMARGINS 0x00000001
+#define PSD_MARGINS 0x00000002
+#define PSD_INTHOUSANDTHSOFINCHES 0x00000004
+#define PSD_INHUNDREDTHSOFMILLIMETERS 0x00000008
+#define PSD_DISABLEMARGINS 0x00000010
+#define PSD_DISABLEPRINTER 0x00000020
+#define PSD_NOWARNING 0x00000080
+#define PSD_DISABLEORIENTATION 0x00000100
+#define PSD_RETURNDEFAULT 0x00000400
+#define PSD_DISABLEPAPER 0x00000200
+#define PSD_SHOWHELP 0x00000800
+#define PSD_ENABLEPAGESETUPHOOK 0x00002000
+#define PSD_ENABLEPAGESETUPTEMPLATE 0x00008000
+#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x00020000
+#define PSD_ENABLEPAGEPAINTHOOK 0x00040000
+#define PSD_DISABLEPAGEPAINTING 0x00080000
+
BOOL16 WINAPI ChooseColor16(LPCHOOSECOLOR16 lpChCol);
BOOL32 WINAPI ChooseColor32A(LPCHOOSECOLOR32A lpChCol);
BOOL32 WINAPI ChooseColor32W(LPCHOOSECOLOR32W lpChCol);
@@ -506,6 +576,9 @@
BOOL32 WINAPI GetSaveFileName32A(LPOPENFILENAME32A ofn);
BOOL32 WINAPI GetSaveFileName32W(LPOPENFILENAME32W ofn);
#define GetSaveFileName WINELIB_NAME_AW(GetSaveFileName)
+BOOL32 WINAPI PageSetupDlg32A( LPPAGESETUPDLG32A );
+BOOL32 WINAPI PageSetupDlg32W( LPPAGESETUPDLG32W );
+#define PageSetupDlg WINELIB_NAME_AW(PageSetupDlg)
BOOL16 WINAPI PrintDlg( SEGPTR print);
HWND16 WINAPI ReplaceText16( SEGPTR find);
HWND32 WINAPI ReplaceText32A( LPFINDREPLACE32A lpFind);
diff --git a/include/config.h.in b/include/config.h.in
index 6a7a4c1..e57a78e 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -33,6 +33,12 @@
/* Define if X libraries are not reentrant (compiled without -D_REENTRANT). */
#undef NO_REENTRANT_X11
+/* Define if all debug messages are to be compiled out */
+#undef NO_DEBUG_MSGS
+
+/* Define if TRACE messages are to be compiled out */
+#undef NO_TRACE_MSGS
+
/* Define if the struct statfs has the member bavail */
#undef STATFS_HAS_BAVAIL
@@ -96,12 +102,18 @@
/* Define if you have the <machine/soundcard.h> header file. */
#undef HAVE_MACHINE_SOUNDCARD_H
+/* Define if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
/* Define if you have the <sys/cdio.h> header file. */
#undef HAVE_SYS_CDIO_H
/* Define if you have the <sys/filio.h> header file. */
#undef HAVE_SYS_FILIO_H
+/* Define if you have the <sys/modem.h> header file. */
+#undef HAVE_SYS_MODEM_H
+
/* Define if you have the <sys/mount.h> header file. */
#undef HAVE_SYS_MOUNT_H
@@ -114,6 +126,9 @@
/* Define if you have the <sys/statfs.h> header file. */
#undef HAVE_SYS_STATFS_H
+/* Define if you have the <sys/strtio.h> header file. */
+#undef HAVE_SYS_STRTIO_H
+
/* Define if you have the <sys/syscall.h> header file. */
#undef HAVE_SYS_SYSCALL_H
diff --git a/include/debug.h b/include/debug.h
index 3d1702a..ff4b508 100644
--- a/include/debug.h
+++ b/include/debug.h
@@ -94,33 +94,34 @@
#define dbch_sendmsg 86
#define dbch_shell 87
#define dbch_shm 88
-#define dbch_sound 89
-#define dbch_static 90
-#define dbch_stress 91
-#define dbch_string 92
-#define dbch_syscolor 93
-#define dbch_system 94
-#define dbch_task 95
-#define dbch_text 96
-#define dbch_thread 97
-#define dbch_thunk 98
-#define dbch_timer 99
-#define dbch_toolbar 100
-#define dbch_toolhelp 101
-#define dbch_tweak 102
-#define dbch_uitools 103
-#define dbch_updown 104
-#define dbch_ver 105
-#define dbch_virtual 106
-#define dbch_vxd 107
-#define dbch_win 108
-#define dbch_win16drv 109
-#define dbch_win32 110
-#define dbch_wing 111
-#define dbch_winsock 112
-#define dbch_wnet 113
-#define dbch_x11 114
-#define dbch_x11drv 115
+#define dbch_snoop 89
+#define dbch_sound 90
+#define dbch_static 91
+#define dbch_stress 92
+#define dbch_string 93
+#define dbch_syscolor 94
+#define dbch_system 95
+#define dbch_task 96
+#define dbch_text 97
+#define dbch_thread 98
+#define dbch_thunk 99
+#define dbch_timer 100
+#define dbch_toolbar 101
+#define dbch_toolhelp 102
+#define dbch_tweak 103
+#define dbch_uitools 104
+#define dbch_updown 105
+#define dbch_ver 106
+#define dbch_virtual 107
+#define dbch_vxd 108
+#define dbch_win 109
+#define dbch_win16drv 110
+#define dbch_win32 111
+#define dbch_wing 112
+#define dbch_winsock 113
+#define dbch_wnet 114
+#define dbch_x11 115
+#define dbch_x11drv 116
/* Definitions for classes identifiers */
#define dbcl_fixme 0
#define dbcl_err 1
diff --git a/include/debugdefs.h b/include/debugdefs.h
index 96704c8..6aae49f 100644
--- a/include/debugdefs.h
+++ b/include/debugdefs.h
@@ -4,7 +4,7 @@
#include "debugtools.h"
#endif
-#define DEBUG_CHANNEL_COUNT 116
+#define DEBUG_CHANNEL_COUNT 117
#ifdef DEBUG_RUNTIME
short debug_msg_enabled[][DEBUG_CLASS_COUNT] = {
{1, 1, 0, 0},
@@ -123,6 +123,7 @@
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
+{1, 1, 0, 0},
};
const char* debug_ch_name[] = {
"accel",
@@ -214,6 +215,7 @@
"sendmsg",
"shell",
"shm",
+"snoop",
"sound",
"static",
"stress",
diff --git a/include/debugtools.h b/include/debugtools.h
index b6b50d8..40fcb1e 100644
--- a/include/debugtools.h
+++ b/include/debugtools.h
@@ -5,6 +5,7 @@
#ifdef __WINE__ /* Debugging interface is internal to Wine */
#include <stdio.h>
+#include "config.h"
#include "debugstr.h"
#define DEBUG_RUNTIME
@@ -39,18 +40,44 @@
if(!DEBUGGING(cl, ch)) ; \
else DPRINTF(# cl ":" # ch ":%s " format, __FUNCTION__ , ## args)
+/* use configure to allow user to compile out debugging messages */
+
+#ifndef NO_TRACE_MSGS
#define TRACE(ch, fmt, args...) DPRINTF_(trace, ch, fmt, ## args)
+#else
+#define TRACE(ch, fmt, args...)
+#endif /* NO_TRACE_MSGS */
+
+#ifndef NO_DEBUG_MSGS
#define WARN(ch, fmt, args...) DPRINTF_(warn, ch, fmt, ## args)
#define FIXME(ch, fmt, args...) DPRINTF_(fixme, ch, fmt, ## args)
-#define ERR(ch, fmt, args...) DPRINTF_(err, ch, fmt, ## args)
-
#define DUMP(format, args...) DPRINTF(format, ## args)
+#else
+#define WARN(ch, fmt, args...)
+#define FIXME(ch, fmt, args...)
+#define DUMP(format, args...)
+#endif /* NO_DEBUG_MSGS */
+
+/* define error macro regardless of what is configured */
+#define ERR(ch, fmt, args...) DPRINTF_(err, ch, fmt, ## args)
#define MSG(format, args...) fprintf(stderr, format, ## args)
-#define FIXME_ON(ch) DEBUGGING(fixme, ch)
-#define ERR_ON(ch) DEBUGGING(err, ch)
-#define WARN_ON(ch) DEBUGGING(warn, ch)
+/* if the debug message is compiled out, make these return false */
+#ifndef NO_TRACE_MSGS
#define TRACE_ON(ch) DEBUGGING(trace, ch)
+#else
+#define TRACE_ON(ch) 0
+#endif /* NO_TRACE_MSGS */
+
+#ifndef NO_DEBUG_MSGS
+#define WARN_ON(ch) DEBUGGING(warn, ch)
+#define FIXME_ON(ch) DEBUGGING(fixme, ch)
+#else
+#define WARN_ON(ch) 0
+#define FIXME_ON(ch) 0
+#endif /* NO_DEBUG_MSGS */
+
+#define ERR_ON(ch) DEBUGGING(err, ch)
#endif /* __WINE__ */
diff --git a/include/device.h b/include/device.h
new file mode 100644
index 0000000..b7a88fb
--- /dev/null
+++ b/include/device.h
@@ -0,0 +1,4 @@
+#ifndef __WINE_DEVICE_H
+#define __WINE_DEVICE_H
+extern HANDLE32 DEVICE_Open( LPCSTR name, DWORD flags);
+#endif
diff --git a/include/driver.h b/include/driver.h
index 54fed12..f40c29c 100644
--- a/include/driver.h
+++ b/include/driver.h
@@ -34,12 +34,16 @@
#define GND_FORWARD 0x00000000
#define GND_REVERSE 0x00000002
+/* FIXME: unused? */
typedef struct {
DWORD dwDCISize;
LPCSTR lpszDCISectionName;
LPCSTR lpszDCIAliasName;
-} DRVCONFIGINFO, *LPDRVCONFIGINFO;
+} xDRVCONFIGINFO, *xLPDRVCONFIGINFO;
+/* GetDriverInfo16 references this structure, so this a struct defined
+ * in the Win16 API.
+ */
typedef struct
{
UINT16 length;
@@ -48,6 +52,7 @@
CHAR szAliasName[128];
} DRIVERINFOSTRUCT16, *LPDRIVERINFOSTRUCT16;
+/* FIXME: Is this a WINE internal struct? */
typedef struct tagDRIVERITEM
{
DRIVERINFOSTRUCT16 dis;
@@ -57,14 +62,45 @@
DRIVERPROC16 lpDrvProc;
} DRIVERITEM, *LPDRIVERITEM;
+/* internal */
+typedef struct
+{
+ UINT32 length;
+ HDRVR32 hDriver;
+ HMODULE32 hModule;
+ CHAR szAliasName[128];
+} DRIVERINFOSTRUCT32A, *LPDRIVERINFOSTRUCT32A;
+
+/* internal */
+typedef struct tagDRIVERITEM32A {
+ DRIVERINFOSTRUCT32A dis;
+ DWORD count;
+ struct tagDRIVERITEM32A *next;
+ DRIVERPROC32 driverproc;
+} DRIVERITEM32A,*LPDRIVERITEM32A;
+
LRESULT WINAPI DefDriverProc(DWORD dwDevID, HDRVR16 hDriv, UINT16 wMsg,
LPARAM dwParam1, LPARAM dwParam2);
-HDRVR16 WINAPI OpenDriver(LPSTR szDriverName, LPSTR szSectionName,
- LPARAM lParam2);
-LRESULT WINAPI CloseDriver(HDRVR16 hDriver, LPARAM lParam1, LPARAM lParam2);
-LRESULT WINAPI SendDriverMessage( HDRVR16 hDriver, UINT16 message,
- LPARAM lParam1, LPARAM lParam2 );
-HMODULE16 WINAPI GetDriverModuleHandle(HDRVR16 hDriver);
+HDRVR16 WINAPI OpenDriver16(LPCSTR szDriverName, LPCSTR szSectionName,
+ LPARAM lParam2);
+HDRVR32 WINAPI OpenDriver32A(LPCSTR szDriverName, LPCSTR szSectionName,
+ LPARAM lParam2);
+HDRVR32 WINAPI OpenDriver32W(LPCWSTR szDriverName, LPCWSTR szSectionName,
+ LPARAM lParam2);
+#define OpenDriver WINELIB_NAME_AW(OpenDriver)
+LRESULT WINAPI CloseDriver16(HDRVR16 hDriver, LPARAM lParam1, LPARAM lParam2);
+LRESULT WINAPI CloseDriver32(HDRVR32 hDriver, LPARAM lParam1, LPARAM lParam2);
+#define CloseDriver WINELIB_NAME(CloseDriver)
+LRESULT WINAPI SendDriverMessage16( HDRVR16 hDriver, UINT16 message,
+ LPARAM lParam1, LPARAM lParam2 );
+LRESULT WINAPI SendDriverMessage32( HDRVR32 hDriver, UINT32 message,
+ LPARAM lParam1, LPARAM lParam2 );
+#define SendDriverMessage WINELIB_NAME(SendDriverMessage)
+HMODULE16 WINAPI GetDriverModuleHandle16(HDRVR16 hDriver);
+HMODULE32 WINAPI GetDriverModuleHandle32(HDRVR32 hDriver);
+#define GetDriverModuleHandle WINELIB_NAME(GetDriverModuleHandle)
+
+/* only win31 version for those below ? */
HDRVR16 WINAPI GetNextDriver(HDRVR16, DWORD);
BOOL16 WINAPI GetDriverInfo(HDRVR16, DRIVERINFOSTRUCT16 *);
diff --git a/include/file.h b/include/file.h
index 7ba0c0b..9c2abea 100644
--- a/include/file.h
+++ b/include/file.h
@@ -35,6 +35,8 @@
/* files/file.c */
+extern FILE_OBJECT *FILE_GetFile( HFILE32 handle );
+extern HFILE32 FILE_Alloc( FILE_OBJECT **file );
extern void FILE_SetDosError(void);
extern HFILE32 FILE_DupUnixHandle( int fd );
extern BOOL32 FILE_Stat( LPCSTR unixName, BY_HANDLE_FILE_INFORMATION *info );
diff --git a/include/gdi.h b/include/gdi.h
index ae40bd1..723aa2f 100644
--- a/include/gdi.h
+++ b/include/gdi.h
@@ -130,6 +130,7 @@
INT32 GraphicsMode; /* Graphics mode */
INT32 DCOrgX; /* DC origin */
INT32 DCOrgY;
+ FARPROC16 lpfnPrint; /* AbortProc for Printing */
INT32 CursPosX; /* Current position */
INT32 CursPosY;
INT32 ArcDirection;
diff --git a/include/global.h b/include/global.h
index 5c8cc9b..56be65b 100644
--- a/include/global.h
+++ b/include/global.h
@@ -25,7 +25,8 @@
extern HGLOBAL16 GLOBAL_Alloc( WORD flags, DWORD size, HGLOBAL16 hOwner,
BOOL16 isCode, BOOL16 is32Bit,
BOOL16 isReadOnly );
-extern WORD GlobalHandleToSel( HGLOBAL16 handle );
+
+extern WORD WINAPI GlobalHandleToSel( HGLOBAL16 handle );
/* memory/virtual.c */
extern BOOL32 VIRTUAL_Init( void );
diff --git a/include/miscemu.h b/include/miscemu.h
index 3d58a6c..46f232d 100644
--- a/include/miscemu.h
+++ b/include/miscemu.h
@@ -43,6 +43,9 @@
/* if1632/signal.c */
extern BOOL32 SIGNAL_InitEmulator(void);
+/* misc/aspi.c */
+extern void ASPI_DOS_HandleInt(CONTEXT *context);
+
#define INT_BARF(context,num) \
fprintf( stderr, "int%x: unknown/not implemented parameters:\n" \
"int%x: AX %04x, BX %04x, CX %04x, DX %04x, " \
diff --git a/include/mmsystem.h b/include/mmsystem.h
index c2011bf..502fb36 100644
--- a/include/mmsystem.h
+++ b/include/mmsystem.h
@@ -1580,54 +1580,64 @@
LPMMIOPROC32 WINAPI mmioInstallIOProc32W(FOURCC,LPMMIOPROC32,DWORD);
#define mmioInstallIOPro WINELIB_NAME_AW(mmioInstallIOProc)
-FOURCC WINAPI mmioStringToFOURCC16(LPCSTR sz, UINT16 uFlags);
-FOURCC WINAPI mmioStringToFOURCC32A(LPCSTR sz, UINT32 uFlags);
-FOURCC WINAPI mmioStringToFOURCC32W(LPCWSTR sz, UINT32 uFlags);
+FOURCC WINAPI mmioStringToFOURCC16(LPCSTR,UINT16);
+FOURCC WINAPI mmioStringToFOURCC32A(LPCSTR,UINT32);
+FOURCC WINAPI mmioStringToFOURCC32W(LPCWSTR,UINT32);
#define mmioStringToFOURCC WINELIB_NAME_AW(mmioStringToFOURCC)
-HMMIO16 WINAPI mmioOpen16(LPSTR szFileName, MMIOINFO16 * lpmmioinfo, DWORD dwOpenFlags);
-HMMIO32 WINAPI mmioOpen32A(LPSTR szFileName, MMIOINFO32 * lpmmioinfo, DWORD dwOpenFlags);
-HMMIO32 WINAPI mmioOpen32W(LPWSTR szFileName, MMIOINFO32 * lpmmioinfo, DWORD dwOpenFlags);
-#define mmioOpen WINELIB_NAME_AW(mmioOpen)
+HMMIO16 WINAPI mmioOpen16 (LPSTR ,MMIOINFO16*,DWORD);
+HMMIO32 WINAPI mmioOpen32A(LPSTR ,MMIOINFO32*,DWORD);
+HMMIO32 WINAPI mmioOpen32W(LPWSTR,MMIOINFO32*,DWORD);
+#define mmioOpen WINELIB_NAME_AW(mmioOpen)
-UINT16 WINAPI mmioRename(LPCSTR szFileName, LPCSTR szNewFileName,
+UINT16 WINAPI mmioRename(LPCSTR szFileName, LPCSTR szNewFileName,
MMIOINFO16 * lpmmioinfo, DWORD dwRenameFlags);
-UINT16 WINAPI mmioClose(HMMIO16 hmmio, UINT16 uFlags);
-LONG WINAPI mmioRead(HMMIO16 hmmio, HPSTR pch, LONG cch);
-LONG WINAPI mmioWrite(HMMIO16 hmmio, HPCSTR pch, LONG cch);
-LONG WINAPI mmioSeek(HMMIO16 hmmio, LONG lOffset, int iOrigin);
-UINT16 WINAPI mmioGetInfo(HMMIO16 hmmio, MMIOINFO16 * lpmmioinfo, UINT16 uFlags);
-UINT16 WINAPI mmioSetInfo(HMMIO16 hmmio, const MMIOINFO16 * lpmmioinfo, UINT16 uFlags);
-UINT16 WINAPI mmioSetBuffer(HMMIO16 hmmio, LPSTR pchBuffer, LONG cchBuffer,
- UINT16 uFlags);
-UINT16 WINAPI mmioFlush(HMMIO16 hmmio, UINT16 uFlags);
-UINT16 WINAPI mmioAdvance(HMMIO16 hmmio, MMIOINFO16 * lpmmioinfo, UINT16 uFlags);
-LONG WINAPI mmioSendMessage(HMMIO16 hmmio, UINT16 uMessage,
- LPARAM lParam1, LPARAM lParam2);
-UINT16 WINAPI mmioDescend(HMMIO16 hmmio, MMCKINFO * lpck,
- const MMCKINFO * lpckParent, UINT16 uFlags);
-UINT16 WINAPI mmioAscend(HMMIO16 hmmio, MMCKINFO * lpck, UINT16 uFlags);
-UINT16 WINAPI mmioCreateChunk(HMMIO16 hmmio, MMCKINFO * lpck, UINT16 uFlags);
+MMRESULT16 WINAPI mmioClose16(HMMIO16,UINT16);
+MMRESULT32 WINAPI mmioClose32(HMMIO32,UINT32);
+#define mmioClose WINELIB_NAME(mmioClose)
+LONG WINAPI mmioRead16(HMMIO16,HPSTR,LONG);
+LONG WINAPI mmioRead32(HMMIO32,HPSTR,LONG);
+#define mmioRead WINELIB_NAME(mmioRead)
+LONG WINAPI mmioWrite16(HMMIO16,HPCSTR,LONG);
+LONG WINAPI mmioWrite32(HMMIO32,HPCSTR,LONG);
+#define mmioWrite WINELIB_NAME(mmioWrite)
+LONG WINAPI mmioSeek16(HMMIO16,LONG,INT16);
+LONG WINAPI mmioSeek32(HMMIO32,LONG,INT32);
+#define mmioSeek WINELIB_NAME(mmioSeek)
-typedef UINT16 (CALLBACK *YIELDPROC) (UINT16 uDeviceID, DWORD dwYieldData);
+MMRESULT16 WINAPI mmioGetInfo16(HMMIO16,MMIOINFO16*,UINT16);
+MMRESULT32 WINAPI mmioGetInfo32(HMMIO32,MMIOINFO32*,UINT32);
+#define mmioGetInfo WINELIB_NAME(mmioGetInfo)
+MMRESULT16 WINAPI mmioSetInfo(HMMIO16,const MMIOINFO16*,UINT16);
+UINT16 WINAPI mmioSetBuffer(HMMIO16,LPSTR,LONG,UINT16);
+UINT16 WINAPI mmioFlush16(HMMIO16,UINT16);
+UINT32 WINAPI mmioFlush32(HMMIO32,UINT32);
+#define mmioFlush WINELIB_NAME(mmioFlush)
-DWORD WINAPI mciSendCommand (UINT16 uDeviceID, UINT16 uMessage,
- DWORD dwParam1, DWORD dwParam2);
-DWORD WINAPI mciSendString (LPCSTR lpstrCommand,
- LPSTR lpstrReturnString, UINT16 uReturnLength,
- HWND16 hwndCallback);
-UINT16 WINAPI mciGetDeviceID (LPCSTR lpstrName);
-UINT16 WINAPI mciGetDeviceIDFromElementID (DWORD dwElementID,
- LPCSTR lpstrType);
+UINT16 WINAPI mmioAdvance16(HMMIO16,MMIOINFO16*,UINT16);
+UINT32 WINAPI mmioAdvance32(HMMIO32,MMIOINFO32*,UINT32);
+#define mmioAdvance WINELIB_NAME(mmioAdvance)
+LONG WINAPI mmioSendMessage(HMMIO16,UINT16,LPARAM,LPARAM);
+UINT16 WINAPI mmioDescend(HMMIO16,MMCKINFO*,const MMCKINFO*,UINT16);
+UINT16 WINAPI mmioAscend16(HMMIO16,MMCKINFO*,UINT16);
+UINT32 WINAPI mmioAscend32(HMMIO32,MMCKINFO*,UINT32);
+#define mmioAscend WINELIB_NAME(mmioAscend)
+UINT16 WINAPI mmioCreateChunk(HMMIO16,MMCKINFO*,UINT16);
+
+typedef UINT16 (CALLBACK *YIELDPROC)(UINT16,DWORD);
+
+DWORD WINAPI mciSendCommand (UINT16,UINT16,DWORD,DWORD);
+DWORD WINAPI mciSendString (LPCSTR,LPSTR,UINT16,HWND16);
+UINT16 WINAPI mciGetDeviceID(LPCSTR);
+UINT16 WINAPI mciGetDeviceIDFromElementID(DWORD,LPCSTR);
BOOL16 WINAPI mciGetErrorString16 (DWORD,LPSTR,UINT16);
BOOL32 WINAPI mciGetErrorString32A(DWORD,LPSTR,UINT32);
BOOL32 WINAPI mciGetErrorString32W(DWORD,LPWSTR,UINT32);
#define mciGetErrorString WINELIB_NAME_AW(mciGetErrorString)
-BOOL16 WINAPI mciSetYieldProc (UINT16 uDeviceID, YIELDPROC fpYieldProc,
- DWORD dwYieldData);
+BOOL16 WINAPI mciSetYieldProc (UINT16,YIELDPROC,DWORD);
-HTASK16 WINAPI mciGetCreatorTask(UINT16 uDeviceID);
-YIELDPROC WINAPI mciGetYieldProc (UINT16 uDeviceID, DWORD * lpdwYieldData);
+HTASK16 WINAPI mciGetCreatorTask(UINT16);
+YIELDPROC WINAPI mciGetYieldProc(UINT16,DWORD*);
#define MCIERR_INVALID_DEVICE_ID (MCIERR_BASE + 1)
#define MCIERR_UNRECOGNIZED_KEYWORD (MCIERR_BASE + 3)
diff --git a/include/msdos.h b/include/msdos.h
index ba86fe6..f8276ac 100644
--- a/include/msdos.h
+++ b/include/msdos.h
@@ -193,6 +193,6 @@
#define EL_Memory 0x05
void WINAPI DOS3Call( CONTEXT *context );
-void do_mscdex( CONTEXT *context );
+void do_mscdex( CONTEXT *context, int dorealmode );
#endif /* __WINE_MSDOS_H */
diff --git a/include/snoop.h b/include/snoop.h
new file mode 100644
index 0000000..0c5fd5f
--- /dev/null
+++ b/include/snoop.h
@@ -0,0 +1,8 @@
+/*
+ * Definitions for inter-win32-dll snooping
+ */
+#ifndef __WINE_SNOOP_H
+#define __WINE_SNOOP_H
+extern void SNOOP_RegisterDLL(HMODULE32 hmod,LPCSTR name,DWORD nrofordinals);
+extern FARPROC32 SNOOP_GetProcAddress32(HMODULE32 hmod,LPCSTR name,DWORD ordinal,FARPROC32 origfun);
+#endif
diff --git a/include/status.h b/include/status.h
index a53ceae..7bf2b4c 100644
--- a/include/status.h
+++ b/include/status.h
@@ -25,6 +25,7 @@
UINT32 height;
BOOL32 simple;
HFONT32 hFont;
+ HFONT32 hDefaultFont;
COLORREF clrBk; /* background color */
STATUSWINDOWPART part0; /* simple window */
STATUSWINDOWPART *parts;
diff --git a/include/sysmetrics.h b/include/sysmetrics.h
index a398235..101f317 100644
--- a/include/sysmetrics.h
+++ b/include/sysmetrics.h
@@ -13,8 +13,8 @@
/* Constant system metrics */
#if 0
#ifdef WIN_95_LOOK
-#define SYSMETRICS_CXDLGFRAME 2
-#define SYSMETRICS_CYDLGFRAME 2
+#define SYSMETRICS_CXDLGFRAME 3
+#define SYSMETRICS_CYDLGFRAME 3
#define SYSMETRICS_CYVTHUMB 13
#define SYSMETRICS_CXHTHUMB 13
#else
@@ -123,8 +123,8 @@
/* Use the following instead of sysMetrics[SM_CXMENUCHECK] GetMenuCheckMarkDimensions()! */
#define SYSMETRICS_CXMENUCHECK sysMetrics[SM_CXMENUCHECK] /* 71 */
-
#define SYSMETRICS_CYMENUCHECK sysMetrics[SM_CYMENUCHECK] /* 72 */
+
#define SYSMETRICS_SLOWMACHINE sysMetrics[SM_SLOWMACHINE] /* 73 */
#define SYSMETRICS_MIDEASTENABLED sysMetrics[SM_MIDEASTENABLED] /* 74 */
#define SYSMETRICS_MOUSEWHEELPRESENT sysMetrics[SM_MOUSEWHEELPRESENT] /* 75 */
diff --git a/include/toolbar.h b/include/toolbar.h
index 0cad32a..14ecd84 100644
--- a/include/toolbar.h
+++ b/include/toolbar.h
@@ -24,19 +24,20 @@
typedef struct tagTOOLBAR_INFO
{
- DWORD dwStructSize; /* Size of TBBUTTON-Struct */
- INT32 nHeight; /* Height of the Toolbar */
- INT32 nWidth; /* Width of the Toolbar */
+ DWORD dwStructSize; /* size of TBBUTTON struct */
+ INT32 nHeight; /* height of the toolbar */
+ INT32 nWidth; /* width of the toolbar */
INT32 nButtonTop; /* top of the button rectangle */
INT32 nButtonHeight;
INT32 nButtonWidth;
INT32 nBitmapHeight;
INT32 nBitmapWidth;
INT32 nIndent;
+ INT32 nMaxRows; /* maximum number of rows */
- INT32 nNumButtons; /* Number of buttons */
- INT32 nNumBitmaps;
- INT32 nNumStrings;
+ INT32 nNumButtons; /* number of buttons */
+ INT32 nNumBitmaps; /* number of bitmaps */
+ INT32 nNumStrings; /* number of strings */
BOOL32 bCaptured;
INT32 nButtonDown;
@@ -45,8 +46,11 @@
HIMAGELIST himlDef; /* default image list */
HIMAGELIST himlHot; /* hot image list */
HIMAGELIST himlDis; /* disabled image list */
+ HWND32 hwndToolTip; /* handle to tool tip control */
+ HWND32 hwndNotify; /* handle to the window that gets notifications */
TBUTTON_INFO *buttons;
+ CHAR **strings;
} TOOLBAR_INFO;
diff --git a/include/version.h b/include/version.h
index 0cc36b3..5a092e3 100644
--- a/include/version.h
+++ b/include/version.h
@@ -1 +1 @@
-#define WINE_RELEASE_INFO "Wine release 980601"
+#define WINE_RELEASE_INFO "Wine release 980614"
diff --git a/include/winbase.h b/include/winbase.h
index 22dc183..b4cc236 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -143,6 +143,15 @@
}CRITICAL_SECTION;
typedef struct {
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ CHAR szCSDVersion[128];
+} OSVERSIONINFO16;
+
+typedef struct {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
@@ -167,6 +176,7 @@
#define VER_PLATFORM_WIN32_NT 2
/*DWORD WINAPI GetVersion( void );*/
+BOOL16 WINAPI GetVersionEx16(OSVERSIONINFO16*);
BOOL32 WINAPI GetVersionEx32A(OSVERSIONINFO32A*);
BOOL32 WINAPI GetVersionEx32W(OSVERSIONINFO32W*);
#define GetVersionEx WINELIB_NAME_AW(GetVersionEx)
diff --git a/include/windows.h b/include/windows.h
index e28a171..9119e41 100644
--- a/include/windows.h
+++ b/include/windows.h
@@ -467,6 +467,9 @@
#define HTZOOM HTMAXBUTTON
/* WM_SYSCOMMAND parameters */
+#ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */
+#undef SC_SIZE
+#endif
#define SC_SIZE 0xf000
#define SC_MOVE 0xf010
#define SC_MINIMIZE 0xf020
@@ -3611,6 +3614,25 @@
#define WS_EX_ACCEPTFILES 0x00000010L
#define WS_EX_TRANSPARENT 0x00000020L
+/* New Win95/WinNT4 styles */
+#define WS_EX_MDICHILD 0x00000040L
+#define WS_EX_TOOLWINDOW 0x00000080L
+#define WS_EX_WINDOWEDGE 0x00000100L
+#define WS_EX_CLIENTEDGE 0x00000200L
+#define WS_EX_CONTEXTHELP 0x00000400L
+#define WS_EX_RIGHT 0x00001000L
+#define WS_EX_LEFT 0x00000000L
+#define WS_EX_RTLREADING 0x00002000L
+#define WS_EX_LTRREADING 0x00000000L
+#define WS_EX_LEFTSCROLLBAR 0x00004000L
+#define WS_EX_RIGHTSCROLLBAR 0x00000000L
+#define WS_EX_CONTROLPARENT 0x00010000L
+#define WS_EX_STATICEDGE 0x00020000L
+#define WS_EX_APPWINDOW 0x00040000L
+
+#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
+#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
+
/* Window scrolling */
#define SW_SCROLLCHILDREN 0x0001
#define SW_INVALIDATE 0x0002
@@ -6046,6 +6068,13 @@
DWORD nFileSizeLow;
} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
+typedef struct _DllVersionInfo {
+ DWORD cbSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformID;
+} DLLVERSIONINFO;
@@ -6213,6 +6242,8 @@
BOOL32 WINAPI AllocConsole(void);
BOOL32 WINAPI AreFileApisANSI(void);
BOOL32 WINAPI Beep(DWORD,DWORD);
+WORD WINAPI CascadeWindows (HWND32, UINT32, const LPRECT32,
+ UINT32, const HWND32 *);
BOOL32 WINAPI ClearCommError(INT32,LPDWORD,LPCOMSTAT);
BOOL32 WINAPI CloseHandle(HANDLE32);
BOOL32 WINAPI CloseServiceHandle(HANDLE32);
@@ -6341,6 +6372,8 @@
BOOL32 WINAPI GetFileAttributesEx32W(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
#define GetFileattributesEx WINELIB_NAME_AW(GetFileAttributesEx)
DWORD WINAPI GetFileInformationByHandle(HFILE32,BY_HANDLE_FILE_INFORMATION*);
+BOOL32 WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
+BOOL32 WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
DWORD WINAPI GetFileSize(HFILE32,LPDWORD);
BOOL32 WINAPI GetFileTime(HFILE32,LPFILETIME,LPFILETIME,LPFILETIME);
DWORD WINAPI GetFileType(HFILE32);
@@ -6566,6 +6599,8 @@
BOOL32 WINAPI StartService32W(HANDLE32,DWORD,LPCWSTR*);
#define StartService WINELIB_NAME_AW(StartService)
BOOL32 WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
+WORD WINAPI TileWindows (HWND32, UINT32, const LPRECT32,
+ UINT32, const HWND32 *);
BOOL32 WINAPI TrackPopupMenuEx(HMENU32,UINT32,INT32,INT32,HWND32,
LPTPMPARAMS);
DWORD WINAPI TlsAlloc(void);
@@ -7150,8 +7185,8 @@
BOOL16 WINAPI EmptyClipboard16(void);
BOOL32 WINAPI EmptyClipboard32(void);
#define EmptyClipboard WINELIB_NAME(EmptyClipboard)
-BOOL16 WINAPI EnableMenuItem16(HMENU16,UINT16,UINT16);
-BOOL32 WINAPI EnableMenuItem32(HMENU32,UINT32,UINT32);
+UINT16 WINAPI EnableMenuItem16(HMENU16,UINT16,UINT16);
+UINT32 WINAPI EnableMenuItem32(HMENU32,UINT32,UINT32);
#define EnableMenuItem WINELIB_NAME(EnableMenuItem)
BOOL16 WINAPI EnableScrollBar16(HWND16,INT16,UINT16);
BOOL32 WINAPI EnableScrollBar32(HWND32,INT32,UINT32);
@@ -8019,6 +8054,9 @@
HCURSOR32 WINAPI LoadCursor32A(HINSTANCE32,LPCSTR);
HCURSOR32 WINAPI LoadCursor32W(HINSTANCE32,LPCWSTR);
#define LoadCursor WINELIB_NAME_AW(LoadCursor)
+HCURSOR32 WINAPI LoadCursorFromFile32A(LPCSTR);
+HCURSOR32 WINAPI LoadCursorFromFile32W(LPCWSTR);
+#define LoadCursorFromFile WINELIB_NAME_AW(LoadCursorFromFile)
HICON16 WINAPI LoadIcon16(HINSTANCE16,SEGPTR);
HICON32 WINAPI LoadIcon32A(HINSTANCE32,LPCSTR);
HICON32 WINAPI LoadIcon32W(HINSTANCE32,LPCWSTR);
diff --git a/include/winerror.h b/include/winerror.h
index 34ae239..d5b2cfc 100644
--- a/include/winerror.h
+++ b/include/winerror.h
@@ -31,6 +31,7 @@
#define ERROR_NOT_ENOUGH_MEMORY 8
#define ERROR_BAD_FORMAT 11
#define ERROR_INVALID_ACCESS 12
+#define ERROR_INVALID_DATA 13
#define ERROR_OUTOFMEMORY 14
#define ERROR_NO_MORE_FILES 18
#define ERROR_SHARING_VIOLATION 32
@@ -57,6 +58,7 @@
#define ERROR_INVALID_ADDRESS 487
#define ERROR_CAN_NOT_COMPLETE 1003
#define ERROR_BADKEY 1010 /* Config reg key invalid */
+#define ERROR_CANTREAD 1012 /* Config reg key couldn't be read */
#define ERROR_CANTWRITE 1013 /* Config reg key couldn't be written */
#define ERROR_IO_DEVICE 1117
#define ERROR_POSSIBLE_DEADLOCK 1131
@@ -65,6 +67,7 @@
#define ERROR_ALREADY_INITIALIZED 1247
#define ERROR_PRIVILEGE_NOT_HELD 1314
#define ERROR_COMMITMENT_LIMIT 1455
+#define ERROR_INVALID_PRINTER_NAME 1801
/* HRESULT values for OLE, SHELL and other Interface stuff */
#define NOERROR 0
diff --git a/include/winnt.h b/include/winnt.h
index 641df93..44fc732 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -8,6 +8,7 @@
#define __WINE_WINNT_H
#include "wintypes.h"
+#include "windows.h"
/* Heap flags */
@@ -97,6 +98,7 @@
DWORD SegSs;
} CONTEXT, *PCONTEXT;
+typedef HANDLE32 *PHANDLE;
#ifdef __WINE__
@@ -272,6 +274,164 @@
LPTOP_LEVEL_EXCEPTION_FILTER
WINAPI SetUnhandledExceptionFilter( LPTOP_LEVEL_EXCEPTION_FILTER filter );
+/*
+ * Here follows typedefs for security and tokens.
+ */
+
+/*
+ * First a constant for the following typdefs.
+ */
+
+#define ANYSIZE_ARRAY 1
+
+/*
+ * TOKEN_INFORMATION_CLASS
+ */
+
+typedef enum _TOKEN_INFORMATION_CLASS {
+ TokenUser = 1,
+ TokenGroups,
+ TokenPrivileges,
+ TokenOwner,
+ TokenPrimaryGroup,
+ TokenDefaultDacl,
+ TokenSource,
+ TokenType,
+ TokenImpersonationLevel,
+ TokenStatistics
+} TOKEN_INFORMATION_CLASS;
+
+/*
+ * SID_AND_ATTRIBUTES
+ */
+
+typedef struct _SID_AND_ATTRIBUTES {
+ PSID Sid;
+ DWORD Attributes;
+} SID_AND_ATTRIBUTES ;
+
+/*
+ * TOKEN_USER
+ */
+
+typedef struct _TOKEN_USER {
+ SID_AND_ATTRIBUTES User;
+} TOKEN_USER;
+
+/*
+ * TOKEN_GROUPS
+ */
+
+typedef struct _TOKEN_GROUPS {
+ DWORD GroupCount;
+ SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
+} TOKEN_GROUPS;
+
+/*
+ * LUID_AND_ATTRIBUTES
+ */
+
+typedef struct _LUID_AND_ATTRIBUTES {
+ LUID Luid;
+ DWORD Attributes;
+} LUID_AND_ATTRIBUTES;
+
+/*
+ * TOKEN_PRIVILEGES
+ */
+
+typedef struct _TOKEN_PRIVILEGES {
+ DWORD PrivilegeCount;
+ LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
+} TOKEN_PRIVILEGES;
+
+/*
+ * TOKEN_OWNER
+ */
+
+typedef struct _TOKEN_OWNER {
+ PSID Owner;
+} TOKEN_OWNER;
+
+/*
+ * TOKEN_PRIMARY_GROUP
+ */
+
+typedef struct _TOKEN_PRIMARY_GROUP {
+ PSID PrimaryGroup;
+} TOKEN_PRIMARY_GROUP;
+
+
+/*
+ * ACL (and PACL LPACL?).
+ */
+/*
+
+are defined in ntddl.h.
+typedef struct _ACL {
+ BYTE AclRevision;
+ BYTE Sbz1;
+ WORD AclSize;
+ WORD AceCount;
+ WORD Sbz2;
+} ACL, *PACL; PACL <=> LPACL? */
+
+/*
+ * TOKEN_DEFAULT_DACL
+ */
+
+typedef struct _TOKEN_DEFAULT_DACL {
+ LPACL DefaultDacl;
+} TOKEN_DEFAULT_DACL;
+
+/*
+ * TOKEN_SOURCEL
+ */
+
+typedef struct _TOKEN_SOURCE {
+ char Sourcename[8];
+ LUID SourceIdentifier;
+} TOKEN_SOURCE;
+
+/*
+ * TOKEN_TYPE
+ */
+
+typedef enum tagTOKEN_TYPE {
+ TokenPrimary = 1,
+ TokenImpersonation
+} TOKEN_TYPE;
+
+/*
+ * SECURITY_IMPERSONATION_LEVEL
+ */
+
+typedef enum _SECURITY_IMPERSONATION_LEVEL {
+ SecurityAnonymous,
+ SecurityIdentification,
+ SecurityImpersonation,
+ SecurityDelegation
+} SECURITY_IMPERSONATION_LEVEL;
+
+
+/*
+ * TOKEN_STATISTICS
+ */
+
+typedef struct _TOKEN_STATISTICS {
+ LUID TokenId;
+ LUID AuthenticationId;
+ LARGE_INTEGER ExpirationTime;
+ TOKEN_TYPE TokenType;
+ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
+ DWORD DynamicCharged;
+ DWORD DynamicAvailable;
+ DWORD GroupCount;
+ DWORD PrivilegeCount;
+ LUID ModifiedId;
+} TOKEN_STATISTICS;
+
+
/* I moved the Language IDs to winnls.h (David Lee Lambert) */
diff --git a/include/winreg.h b/include/winreg.h
index 66c8fc4..b594c4a 100644
--- a/include/winreg.h
+++ b/include/winreg.h
@@ -53,11 +53,12 @@
#define HKEY_CURRENT_CONFIG 0x80000005
#define HKEY_DYN_DATA 0x80000006
-#define REG_OPTION_RESERVED 0x00000000
-#define REG_OPTION_NON_VOLATILE 0x00000000
-#define REG_OPTION_VOLATILE 0x00000001
-#define REG_OPTION_CREATE_LINK 0x00000002
-#define REG_OPTION_TAINTED 0x80000000
+#define REG_OPTION_RESERVED 0x00000000
+#define REG_OPTION_NON_VOLATILE 0x00000000
+#define REG_OPTION_VOLATILE 0x00000001
+#define REG_OPTION_CREATE_LINK 0x00000002
+#define REG_OPTION_BACKUP_RESTORE 0x00000004 /* FIXME */
+#define REG_OPTION_TAINTED 0x80000000 /* Internal? */
#define REG_CREATED_NEW_KEY 0x00000001
#define REG_OPENED_EXISTING_KEY 0x00000002