Release 980413
Sun Apr 12 12:22:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/drive.c]
Fixed "no free space" problem with partition sizes between 1 and 2 GB
(cluster_sectors may not exceed 0x40).
* [windows/msgbox.c] [if1632/user.spec] [include/windows.h]
Implemented MessageBoxIndirect16, corrected MSGBOXPARAMS16.
* [loader/task.c]
DOS environment strings may never exceed 127 chars
-> truncate Unix environment strings if necessary.
Sun Apr 12 02:51:44 1998 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [files/*.c]
All fprintf statements were converted to appropriate debug
messages.
* [tools/find_debug_channels]
Updated comments at the beginning of the file.
Sat Apr 11 15:27:21 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/module.c] [loader/task.c] [scheduler/process.c]
Moved some code around to prepare the ground for CreateProcess().
* [memory/environ.c] [loader/task.c]
Moved Win32 environment strings functions to environ.c.
Unified Win16 and Win32 environment management.
* [scheduler/handle.c] [scheduler/k32obj.c] [scheduler/*.c]
Implemented handle inheritance and DuplicateHandle().
* [scheduler/thread.c]
Create a 16-bit stack for all threads.
* [windows/dialog.c]
Implemented DIALOGEX resource format.
Fri Apr 10 20:21:51 1998 Marcus Meissner <marcus@mud.de>
* [configure.in][include/acconfig.h][*/*][multimedia/*]
Cleaned up the OSS detection stuff, added some more checks for
headerfiles/functions.
Removed a lot of OS specific #ifdefs.
Lots of dependend multimedia cleanups.
* [loader/pe_image.c]
Enhanced comment, added missing reference count increase.
* [ole/compobj.c]
Replaced broken StringFromGUID2 by working one.
* [misc/winsock.c]
SO_LINGER uses unsigned 16 bit in Win16 and Win32, but unsigned
int (32bit) for UNIX.
* [memory/global.c]
Allow realloc for lockcount 1 too.
Fri Apr 10 15:27:34 1998 Morten Welinder <terra@diku.dk>
* [graphics/x11drv/text.c]
Handle control characters in trace. Ignore terminating newline.
* [multimedia/init.c]
(MULTIMEDIA_Init): Correct allocations.
* [tools/examine-relay]
Tidy up.
* [windows/syscolor.c]
Change highlight colour from lightblue to lightgray. This
looks correct for menus.
Fri Apr 10 01:49:58 1998 Douglas Ridgway <ridgway@winehq.com>
* [configure.in] [Make.rules.in]
Add check for c2man before using it.
Fri Apr 10 02:59:21 1998 Douglas Ridgway <ridgway@winehq.com>
* [DEVELOPERS-HINTS]
Simple description of adding API calls.
* [include/wintypes.h] [include/windows.h]
Get rid of Winelib16, avoid declaring some illegal functions in
Winelib, add prototypes for some enhanced metafile functions, fix
GetTextExtentPoint32 declarations.
* [relay32/gdi32.spec] [objects/enhmetafile.c]
Cosmetic and functional improvements.
* [include/wincon.h] [programs/view/*]
Fixes, improved compatibility with native compilers.
Thu Apr 9 15:48:49 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [win32/kernel32.c]
Implemented FT_Thunk / FT_Prolog / FT_Exit / FT_PrologPrime.
Fixed Common32ThkLS thunk function.
* [tools/build.c] [relay32/relay386.c] [if1632/relay.c]
Changed relay code to allow register functions to modify stack layout.
* [memory/selector.c]
Implemented AllocMappedBuffer / FreeMappedBuffer.
* [relay32/kernel32.spec] [if1632/kernel.spec] [win32/ordinals.c]
Added names for undocumented functions.
* [loader/module.c]
Bugfix: LoadLibrary16 should *not* silently load 32-bit DLL.
Thu Apr 9 03:54:58 1998 Jim Peterson <jspeter@birch.ee.vt.edu>
* [windows/keyboard.c]
Fix an erroneous test in TranslateAccelerator{16,32} for the end
of the accelerator table.
Thu Apr 8 20:36:28 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [misc/crtdll.c]
Implement getenv.
* [misc/commdlg.c]
Make Get[Save/Open]FileName work in most situations.
* [misc/lstr.c]
Use wvsprintf32A instead of vsprintf in FormatMessage32X
* [misc/version]
Make NT3.50 a recognised version
* [graphics/x11drv/graphics.c]
Change the algorithme to draw arcs
* [loader/resource.c]
Return an empty buffer in LoadString32A if no resource found.
* [win32/code_page.c]
Try harder to get the right size in MultiByteToWideChar.
* [win32/process.c]
Call WinExec32 for CreateProcess32A.
* [windows/user.c]
Install default Int0 Handler in InitApp().
Thu Apr 8 19:29:48 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [misc/imagelist.c]
Preliminary fix for drawing selected images.
Various improvements.
* [controls/progress.c][include/progress.c][include/commctrl.h]
Added progress bar messages and styles for IE4.01 (dll version 4.72)
compatibility.
Fixed led size problem.
* [controls/updown.c][include/commctrl.h]
Added UDM_GETRANGE32 and UDM_SETRANGE32.
* [objects/oembitmaps.c][include/windows.h][include/bitmaps/*]
Added Win95 icons and fixed Win95 cursor and restore button bug.
Now they should be visible. Sorry!!!
* [relay32/comctl32.spec]
Added most missing function names.
Tue Apr 6 18:48:36 1998 Matthew Becker <mbecker@glasscity.net>
* [objects/font.c] [if1632/gdi.spec]
GetOutlineTextMetrics: stub
* [objects/text.c]
GetTextCharset should just call GetTextCharsetInfo.
* [misc/mpr.c] [relay32/mpr.spec]
WNetCachePassword: stub
* [scheduler/thread.c] [relay32/user32.spec]
AttachThreadInput: stub
Updated documentation.
* [objects/palette.c]
Updated documentation.
Tue Mar 31 17:06:30 1998 James Juran <jrj120@psu.edu>
* [*/*.c]
Finished fixing USER32 ordinal numbers in function documentation.
Mon Mar 30 20:27:38 1998 Morten Welinder <terra@diku.dk>
* [misc/debugstr.c] [include/debugstr.h]
Moved _dumpstr from relay32/relay386.c. Improved control
character handling.
* [msdos/int21.c]
Implement 215E00 -- get machine name.
* [windows/winpos.c]
SetWindowPos32: Make an extra sync when mapping managed
windows. This makes sure the reconfigure event has been
handled. See Mshearts' what's-your-name window.
Mon Mar 30 01:13:50 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [Makefile.in]
Install includes from TOPSRCDIR.
diff --git a/include/acconfig.h b/include/acconfig.h
index 512364b..45489fd 100644
--- a/include/acconfig.h
+++ b/include/acconfig.h
@@ -21,5 +21,8 @@
/* Define if X libraries are not reentrant (compiled without -D_REENTRANT). */
#undef NO_REENTRANT_X11
-/* Define if you have machine/soundcard.h instead of sys/soundcard.h. */
-#undef HAVE_MACHINE_SOUNDCARD_H
+/* Define if the struct statfs has the member bavail */
+#undef STATFS_HAS_BAVAIL
+
+/* Define if the struct statfs has the member bfree */
+#undef STATFS_HAS_BFREE
diff --git a/include/bitmaps/oic_bang_95 b/include/bitmaps/oic_bang_95
new file mode 100644
index 0000000..2233cf3
--- /dev/null
+++ b/include/bitmaps/oic_bang_95
@@ -0,0 +1,41 @@
+/* XPM */
+static char * oic_bang_95[] = {
+"32 32 6 1",
+" s None c None",
+". s black c black",
+"X s yellow c yellow",
+"x s dkgreen c #008000",
+"o s ltgray c #c0c0c0",
+"O s dkgray c #808080",
+" xxx ",
+" xXXo. ",
+" xXXXXo.O ",
+" xXXXXX.OO ",
+" xXXXXXXo.OO ",
+" xXXXXXXX.OO ",
+" xXXXXXXXXo.OO ",
+" xXXXXXXXXX.OO ",
+" xXXXXXXXXXXo.OO ",
+" xXXXo...oXXX.OO ",
+" xXXXX.....XXXo.OO ",
+" xXXXX.....XXXX.OO ",
+" xXXXXX.....XXXXo.OO ",
+" xXXXXX.....XXXXX.OO ",
+" xXXXXXX.....XXXXXo.OO ",
+" xXXXXXXx...xXXXXXX.OO ",
+" xXXXXXXXo...oXXXXXXo.OO ",
+" xXXXXXXXX...XXXXXXXX.OO ",
+" xXXXXXXXXXx.xXXXXXXXXo.OO ",
+" xXXXXXXXXXo.oXXXXXXXXX.OO ",
+" xXXXXXXXXXXX.XXXXXXXXXXo.OO ",
+" xXXXXXXXXXXXXXXXXXXXXXXX.OO ",
+" xXXXXXXXXXXXo..oXXXXXXXXXo.OO ",
+" xXXXXXXXXXXX....XXXXXXXXXX.OO ",
+"xXXXXXXXXXXXX....XXXXXXXXXXo.OO ",
+"xXXXXXXXXXXXXo..oXXXXXXXXXXX.OO ",
+"xXXXXXXXXXXXXXXXXXXXXXXXXXXX.OOO",
+"xXXXXXXXXXXXXXXXXXXXXXXXXXXo.OOO",
+" xXXXXXXXXXXXXXXXXXXXXXXXXo.OOOO",
+" x........................OOOOO",
+" OOOOOOOOOOOOOOOOOOOOOOOOOOO ",
+" OOOOOOOOOOOOOOOOOOOOOOOOO "};
diff --git a/include/bitmaps/oic_hand_95 b/include/bitmaps/oic_hand_95
new file mode 100644
index 0000000..9265a66
--- /dev/null
+++ b/include/bitmaps/oic_hand_95
@@ -0,0 +1,40 @@
+/* XPM */
+static char * oic_hand_95[] = {
+"32 32 5 1",
+" s None c None",
+"o s white c white",
+"O s dkgray c #808080",
+"+ s dkred c #800000",
+"X s red c red",
+" ++++++++ ",
+" +++XXXXXXXX+++ ",
+" +XXXXXXXXXXXXXX+ ",
+" ++XXXXXXXXXXXXXXXX++ ",
+" +XXXXXXXXXXXXXXXXXXXX+ ",
+" +XXXXXXXXXXXXXXXXXXXXXX+ ",
+" +XXXXXXXXXXXXXXXXXXXXXX+O ",
+" +XXXXXXoXXXXXXXXXXoXXXXXX+O ",
+" +XXXXXXoooXXXXXXXXoooXXXXXX+ ",
+" +XXXXXoooooXXXXXXoooooXXXXX+O ",
+" +XXXXXXoooooXXXXoooooXXXXXX+OO ",
+"+XXXXXXXXoooooXXoooooXXXXXXXX+O ",
+"+XXXXXXXXXooooooooooXXXXXXXXX+O ",
+"+XXXXXXXXXXooooooooXXXXXXXXXX+OO",
+"+XXXXXXXXXXXooooooXXXXXXXXXXX+OO",
+"+XXXXXXXXXXXooooooXXXXXXXXXXX+OO",
+"+XXXXXXXXXXooooooooXXXXXXXXXX+OO",
+"+XXXXXXXXXooooooooooXXXXXXXXX+OO",
+"+XXXXXXXXoooooXXoooooXXXXXXXX+OO",
+" +XXXXXXoooooXXXXoooooXXXXXX+OOO",
+" +XXXXXoooooXXXXXXoooooXXXXX+OOO",
+" +XXXXXXoooXXXXXXXXoooXXXXXX+OO ",
+" +XXXXXXoXXXXXXXXXXoXXXXXX+OOO ",
+" +XXXXXXXXXXXXXXXXXXXXXX+OOOO ",
+" +XXXXXXXXXXXXXXXXXXXXXX+OOO ",
+" +XXXXXXXXXXXXXXXXXXXX+OOO ",
+" ++XXXXXXXXXXXXXXXX++OOOO ",
+" O+XXXXXXXXXXXXXX+OOOOO ",
+" O+++XXXXXXXX+++OOOOO ",
+" OO++++++++OOOOOO ",
+" OOOOOOOOOOOOOO ",
+" OOOOOOOO "};
diff --git a/include/bitmaps/oic_note_95 b/include/bitmaps/oic_note_95
new file mode 100644
index 0000000..4b80207
--- /dev/null
+++ b/include/bitmaps/oic_note_95
@@ -0,0 +1,41 @@
+/* XPM */
+static char * oic_note_95[] = {
+"32 32 6 1",
+" s None c None",
+". s black c black",
+"X s white c white",
+"o s ltgray c #c0c0c0",
+"O s dkgray c #808080",
+"x s blue c blue",
+" OOOOOOOO ",
+" OOOoXXXXXXoOOO ",
+" OOoXXXXXXXXXXXXoOO ",
+" OoXXXXXXXXXXXXXXXXoO ",
+" OXXXXXXXXXXXXXXXXXXXX. ",
+" OXXXXXXXXoxxxxoXXXXXXXX. ",
+" OXXXXXXXXXxxxxxxXXXXXXXXX. ",
+" OoXXXXXXXXXxxxxxxXXXXXXXXXo. ",
+" OXXXXXXXXXXoxxxxoXXXXXXXXXX.O ",
+"OoXXXXXXXXXXXXXXXXXXXXXXXXXXo.O ",
+"OXXXXXXXXXXXXXXXXXXXXXXXXXXXX.O ",
+"OXXXXXXXXXXxxxxxxxXXXXXXXXXXX.OO",
+"OXXXXXXXXXXXXxxxxxXXXXXXXXXXX.OO",
+"OXXXXXXXXXXXXxxxxxXXXXXXXXXXX.OO",
+"OXXXXXXXXXXXXxxxxxXXXXXXXXXXX.OO",
+"OXXXXXXXXXXXXxxxxxXXXXXXXXXXo.OO",
+" OXXXXXXXXXXXxxxxxXXXXXXXXXX.OOO",
+" OoXXXXXXXXXXxxxxxXXXXXXXXXo.OOO",
+" OXXXXXXXXXXxxxxxXXXXXXXXX.OOO ",
+" .XXXXXXXxxxxxxxxxXXXXXX.OOOO ",
+" .XXXXXXXXXXXXXXXXXXXX.OOOO ",
+" .oXXXXXXXXXXXXXXXXo.OOOO ",
+" ..oXXXXXXXXXXXXo..OOOO ",
+" O...oXXXXXXo...OOOO ",
+" OOO...oXXX.OOOOOO ",
+" OOOO.XXX.OOOOO ",
+" O.XXX.OO ",
+" .XX.OO ",
+" .X.OO ",
+" ..OO ",
+" OOO ",
+" OO "};
diff --git a/include/bitmaps/oic_ques_95 b/include/bitmaps/oic_ques_95
new file mode 100644
index 0000000..6aa874d
--- /dev/null
+++ b/include/bitmaps/oic_ques_95
@@ -0,0 +1,41 @@
+/* XPM */
+static char * oic_ques_95[] = {
+"32 32 6 1",
+" s None c None",
+". s black c black",
+"X s white c white",
+"o s ltgray c #c0c0c0",
+"O s dkgray c #808080",
+"x s blue c blue",
+" OOOOOOOO ",
+" OOOoXXXXXXoOOO ",
+" OOoXXXXXXXXXXXXoOO ",
+" OoXXXXXXXXXXXXXXXXoO ",
+" OXXXXXXXXXXXXXXXXXXXX. ",
+" OXXXXXXXoxxxxxxoXXXXXXX. ",
+" OXXXXXXXoxoXXxxxxoXXXXXXX. ",
+" OoXXXXXXXxxXXXXxxxxXXXXXXXo. ",
+" OXXXXXXXXxxxxXXxxxxXXXXXXXX.O ",
+"OoXXXXXXXXxxxxXXxxxxXXXXXXXXo.O ",
+"OXXXXXXXXXoxxoXxxxxXXXXXXXXXX.O ",
+"OXXXXXXXXXXXXXoxxxXXXXXXXXXXX.OO",
+"OXXXXXXXXXXXXXxxxXXXXXXXXXXXX.OO",
+"OXXXXXXXXXXXXXxxoXXXXXXXXXXXX.OO",
+"OXXXXXXXXXXXXXxxXXXXXXXXXXXXX.OO",
+"OXXXXXXXXXXXXXXXXXXXXXXXXXXXo.OO",
+" OXXXXXXXXXXXoxxoXXXXXXXXXXX.OOO",
+" OoXXXXXXXXXXxxxxXXXXXXXXXXo.OOO",
+" OXXXXXXXXXXxxxxXXXXXXXXXX.OOO ",
+" .XXXXXXXXXoxxoXXXXXXXXX.OOOO ",
+" .XXXXXXXXXXXXXXXXXXXX.OOOO ",
+" .oXXXXXXXXXXXXXXXXo.OOOO ",
+" ..oXXXXXXXXXXXXo..OOOO ",
+" O...oXXXXXXo...OOOO ",
+" OOO...oXXX.OOOOOO ",
+" OOOO.XXX.OOOOO ",
+" O.XXX.OO ",
+" .XX.OO ",
+" .X.OO ",
+" ..OO ",
+" OOO ",
+" OO "};
diff --git a/include/commctrl.h b/include/commctrl.h
index 33404f5..2ed95f6 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -24,6 +24,13 @@
#define CCS_NOMOVEX (CCS_VERT|CCS_NOMOVEY)
+/* common control shared messages */
+
+#define CCM_FIRST 0x2000
+
+#define CCM_SETBKCOLOR (CCM_FIRST+1) // lParam = bkColor
+
+
/* StatusWindow */
#define STATUSCLASSNAME16 "msctls_statusbar"
@@ -93,6 +100,9 @@
#define UDM_GETACCEL (WM_USER+108)
#define UDM_SETBASE (WM_USER+109)
#define UDM_GETBASE (WM_USER+110)
+#define UDM_SETRANGE32 (WM_USER+111)
+#define UDM_GETRANGE32 (WM_USER+112)
+
/* Progress Bar */
@@ -107,6 +117,21 @@
#define PBM_DELTAPOS (WM_USER+3)
#define PBM_SETSTEP (WM_USER+4)
#define PBM_STEPIT (WM_USER+5)
+#define PBM_SETRANGE32 (WM_USER+6)
+#define PBM_GETRANGE (WM_USER+7)
+#define PBM_GETPOS (WM_USER+8)
+#define PBM_SETBARCOLOR (WM_USER+9)
+#define PBM_SETBKCOLOR CCM_SETBKCOLOR
+
+#define PBS_SMOOTH 0x01
+#define PBS_VERTICAL 0x04
+
+typedef struct
+{
+ INT32 iLow;
+ INT32 iHigh;
+} PBRANGE, *PPBRANGE;
+
/* Functions prototypes */
diff --git a/include/commdlg.h b/include/commdlg.h
index e5ca4f6..126b940 100644
--- a/include/commdlg.h
+++ b/include/commdlg.h
@@ -150,9 +150,41 @@
LPARAM lCustData; /* data passed to hook fn. */
WNDPROC16 lpfnHook;
SEGPTR lpTemplateName; /* custom template name */
- } FINDREPLACE;
-typedef FINDREPLACE *LPFINDREPLACE;
+ } FINDREPLACE16, *LPFINDREPLACE16;
+typedef struct {
+ DWORD lStructSize;
+ HWND32 hwndOwner;
+ HINSTANCE32 hInstance;
+
+ DWORD Flags;
+ LPSTR lpstrFindWhat;
+ LPSTR lpstrReplaceWith;
+ WORD wFindWhatLen;
+ WORD wReplaceWithLen;
+ LPARAM lCustData;
+ WNDPROC32 lpfnHook;
+ LPCSTR lpTemplateName;
+ } FINDREPLACE32A, *LPFINDREPLACE32A;
+
+typedef struct {
+ DWORD lStructSize;
+ HWND32 hwndOwner;
+ HINSTANCE32 hInstance;
+
+ DWORD Flags;
+ LPWSTR lpstrFindWhat;
+ LPWSTR lpstrReplaceWith;
+ WORD wFindWhatLen;
+ WORD wReplaceWithLen;
+ LPARAM lCustData;
+ WNDPROC32 lpfnHook;
+ LPCWSTR lpTemplateName;
+ } FINDREPLACE32W, *LPFINDREPLACE32W;
+
+DECL_WINELIB_TYPE_AW(FINDREPLACE);
+DECL_WINELIB_TYPE_AW(LPFINDREPLACE);
+
#define FR_DOWN 0x00000001
#define FR_WHOLEWORD 0x00000002
#define FR_MATCHCASE 0x00000004
@@ -393,7 +425,10 @@
BOOL16 WINAPI ChooseColor(LPCHOOSECOLOR lpChCol);
DWORD WINAPI CommDlgExtendedError(void);
-HWND16 WINAPI FindText( SEGPTR find);
+HWND16 WINAPI FindText16( SEGPTR find);
+HWND32 WINAPI FindText32A(LPFINDREPLACE32A lpFind);
+HWND32 WINAPI FindText32W(LPFINDREPLACE32W lpFind);
+#define FindText WINELIB_NAME_AW(FindText)
INT16 WINAPI GetFileTitle16(LPCSTR lpFile, LPSTR lpTitle, UINT16 cbBuf);
INT16 WINAPI GetFileTitle32A(LPCSTR lpFile, LPSTR lpTitle, UINT32 cbBuf);
INT16 WINAPI GetFileTitle32W(LPCWSTR lpFile, LPWSTR lpTitle, UINT32 cbBuf);
@@ -407,13 +442,22 @@
BOOL32 WINAPI GetSaveFileName32W(LPOPENFILENAME32W ofn);
#define GetSaveFileName WINELIB_NAME_AW(GetSaveFileName)
BOOL16 WINAPI PrintDlg( SEGPTR print);
-HWND16 WINAPI ReplaceText( SEGPTR find);
+HWND16 WINAPI ReplaceText16( SEGPTR find);
+HWND32 WINAPI ReplaceText32A( LPFINDREPLACE32A lpFind);
+HWND32 WINAPI ReplaceText32W( LPFINDREPLACE32W lpFind);
+#define ReplaceText WINELIB_NAME_AW(ReplaceText)
BOOL16 WINAPI ChooseFont(LPCHOOSEFONT lpChFont);
LRESULT WINAPI FileOpenDlgProc(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
LRESULT WINAPI FileSaveDlgProc(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
LRESULT WINAPI ColorDlgProc(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
-LRESULT WINAPI FindTextDlgProc(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
-LRESULT WINAPI ReplaceTextDlgProc(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
+LRESULT WINAPI FindTextDlgProc16(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
+LRESULT WINAPI FindTextDlgProc32A(HWND32 hWnd, UINT32 wMsg, WPARAM32 wParam, LPARAM lParam);
+LRESULT WINAPI FindTextDlgProc32W(HWND32 hWnd, UINT32 wMsg, WPARAM32 wParam, LPARAM lParam);
+#define FindTextDlgProc WINELIB_NAME_AW(FindTextDlgProc)
+LRESULT WINAPI ReplaceTextDlgProc16(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
+LRESULT WINAPI ReplaceTextDlgProc32A(HWND32 hWnd, UINT32 wMsg, WPARAM32 wParam, LPARAM lParam);
+LRESULT WINAPI ReplaceTextDlgProc32W(HWND32 hWnd, UINT32 wMsg, WPARAM32 wParam, LPARAM lParam);
+#define ReplaceTextProc WINELIB_NAME_AW(ReplaceTextDlgProc)
LRESULT WINAPI PrintDlgProc(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
LRESULT WINAPI PrintSetupDlgProc(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
LRESULT WINAPI FormatCharDlgProc(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
diff --git a/include/compobj.h b/include/compobj.h
index 6925b1e..ecd57eb 100644
--- a/include/compobj.h
+++ b/include/compobj.h
@@ -24,8 +24,7 @@
OLESTATUS WINAPI WINE_StringFromCLSID(const CLSID *id, LPSTR);
-OLESTATUS WINAPI StringFromGUID2(const REFGUID *id, LPOLESTR32 *str, INT32 cmax);
-// #define StringFromGUID2 WINELIB_NAME(StringFromGUID2)
+INT32 WINAPI StringFromGUID2(REFGUID id, LPOLESTR32 str, INT32 cmax);
#ifdef INITGUID
diff --git a/include/config.h.in b/include/config.h.in
index de3ec65..26f0a8f 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -33,15 +33,27 @@
/* Define if X libraries are not reentrant (compiled without -D_REENTRANT). */
#undef NO_REENTRANT_X11
-/* Define if you have machine/soundcard.h instead of sys/soundcard.h. */
-#undef HAVE_MACHINE_SOUNDCARD_H
+/* Define if the struct statfs has the member bavail */
+#undef STATFS_HAS_BAVAIL
+
+/* Define if the struct statfs has the member bfree */
+#undef STATFS_HAS_BFREE
+
+/* The number of bytes in a long long. */
+#undef SIZEOF_LONG_LONG
/* Define if you have the clone function. */
#undef HAVE_CLONE
+/* Define if you have the getpagesize function. */
+#undef HAVE_GETPAGESIZE
+
/* Define if you have the memmove function. */
#undef HAVE_MEMMOVE
+/* Define if you have the sigaltstack function. */
+#undef HAVE_SIGALTSTACK
+
/* Define if you have the strerror function. */
#undef HAVE_STRERROR
@@ -60,6 +72,42 @@
/* Define if you have the waitpid function. */
#undef HAVE_WAITPID
+/* Define if you have the <float.h> header file. */
+#undef HAVE_FLOAT_H
+
+/* Define if you have the <linux/cdrom.h> header file. */
+#undef HAVE_LINUX_CDROM_H
+
+/* Define if you have the <machine/soundcard.h> header file. */
+#undef HAVE_MACHINE_SOUNDCARD_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/mount.h> header file. */
+#undef HAVE_SYS_MOUNT_H
+
+/* Define if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define if you have the <sys/soundcard.h> header file. */
+#undef HAVE_SYS_SOUNDCARD_H
+
+/* Define if you have the <sys/statfs.h> header file. */
+#undef HAVE_SYS_STATFS_H
+
+/* Define if you have the <sys/syscall.h> header file. */
+#undef HAVE_SYS_SYSCALL_H
+
+/* Define if you have the <sys/vfs.h> header file. */
+#undef HAVE_SYS_VFS_H
+
+/* Define if you have the <syscall.h> header file. */
+#undef HAVE_SYSCALL_H
+
/* Define if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H
diff --git a/include/ddraw.h b/include/ddraw.h
index f22fb36..f17f035 100644
--- a/include/ddraw.h
+++ b/include/ddraw.h
@@ -1049,48 +1049,49 @@
typedef struct IDirectDrawSurface3_VTable {
/*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
+/*00*/STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
+/*04*/STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+/*08*/STDMETHOD_(ULONG,Release) (THIS) PURE;
/*** IDirectDrawSurface methods ***/
- STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3) PURE;
- STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT32) PURE;
- STDMETHOD(Blt)(THIS_ LPRECT32,LPDIRECTDRAWSURFACE3, LPRECT32,DWORD, LPDDBLTFX) PURE;
- STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT32,DWORD) PURE;
- STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE3) PURE;
- STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE; STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3, DWORD) PURE;
- STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
- STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
- STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(GetDC)(THIS_ HDC32 FAR *) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
- STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
- STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
- STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ LPRECT32,LPDDSURFACEDESC,DWORD,HANDLE32) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC32) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
- STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ LPRECT32, LPDIRECTDRAWSURFACE3,LPRECT32,DWORD, LPDDOVERLAYFX) PURE;
- STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE3) PURE;
+/*0c*/STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3) PURE;
+/*10*/STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT32) PURE;
+/*14*/STDMETHOD(Blt)(THIS_ LPRECT32,LPDIRECTDRAWSURFACE3, LPRECT32,DWORD, LPDDBLTFX) PURE;
+/*18*/STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
+/*1c*/STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT32,DWORD) PURE;
+/*20*/STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE3) PURE;
+/*24*/STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
+/*28*/STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
+/*2c*/STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3, DWORD) PURE;
+/*30*/STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *) PURE;
+/*34*/STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
+/*38*/STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
+/*3c*/STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
+/*40*/STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
+/*44*/STDMETHOD(GetDC)(THIS_ HDC32 FAR *) PURE;
+/*48*/STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
+/*4c*/STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
+/*50*/STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
+/*54*/STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
+/*58*/STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
+/*5c*/STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
+/*60*/STDMETHOD(IsLost)(THIS) PURE;
+/*64*/STDMETHOD(Lock)(THIS_ LPRECT32,LPDDSURFACEDESC,DWORD,HANDLE32) PURE;
+/*68*/STDMETHOD(ReleaseDC)(THIS_ HDC32) PURE;
+/*6c*/STDMETHOD(Restore)(THIS) PURE;
+/*70*/STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
+/*74*/STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
+/*78*/STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
+/*7c*/STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
+/*80*/STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
+/*84*/STDMETHOD(UpdateOverlay)(THIS_ LPRECT32, LPDIRECTDRAWSURFACE3,LPRECT32,DWORD, LPDDOVERLAYFX) PURE;
+/*88*/STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
+/*8c*/STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE3) PURE;
/*** Added in the v2 interface ***/
- STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
- STDMETHOD(PageLock)(THIS_ DWORD) PURE;
- STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
+/*90*/STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
+/*94*/STDMETHOD(PageLock)(THIS_ DWORD) PURE;
+/*98*/STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
/*** Added in the V3 interface ***/
- STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC, DWORD) PURE;
+/*9c*/STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC, DWORD) PURE;
} *LPDIRECTDRAWSURFACE3_VTABLE,IDirectDrawSurface3_VTable;
struct IDirectDrawSurface3 {
diff --git a/include/debugstr.h b/include/debugstr.h
index 7bb3996..4483283 100644
--- a/include/debugstr.h
+++ b/include/debugstr.h
@@ -11,8 +11,8 @@
LPSTR debugstr_a (LPCSTR s);
LPSTR debugstr_wn (LPCWSTR s, int n);
LPSTR debugstr_w (LPCWSTR s);
-LPSTR debugres (const void *res);
+LPSTR debugres_a (LPCSTR res);
+LPSTR debugres_w (LPCWSTR res);
+void debug_dumpstr (LPCSTR s);
#endif /* __WINE_DEBUGSTR_H */
-
-
diff --git a/include/debugtools.h b/include/debugtools.h
index 8dec4ac..b6b50d8 100644
--- a/include/debugtools.h
+++ b/include/debugtools.h
@@ -2,6 +2,8 @@
#ifndef __WINE_DEBUGTOOLS_H
#define __WINE_DEBUGTOOLS_H
+#ifdef __WINE__ /* Debugging interface is internal to Wine */
+
#include <stdio.h>
#include "debugstr.h"
@@ -50,4 +52,6 @@
#define WARN_ON(ch) DEBUGGING(warn, ch)
#define TRACE_ON(ch) DEBUGGING(trace, ch)
+#endif /* __WINE__ */
+
#endif /* __WINE_DEBUGTOOLS_H */
diff --git a/include/file.h b/include/file.h
index 7b9c6e4..7ba0c0b 100644
--- a/include/file.h
+++ b/include/file.h
@@ -58,9 +58,6 @@
extern int DIR_Init(void);
extern UINT32 DIR_GetWindowsUnixDir( LPSTR path, UINT32 count );
extern UINT32 DIR_GetSystemUnixDir( LPSTR path, UINT32 count );
-extern UINT32 DIR_GetTempUnixDir( LPSTR path, UINT32 count );
-extern UINT32 DIR_GetDosPath( INT32 element, LPSTR path, UINT32 count );
-extern UINT32 DIR_GetUnixPath( INT32 element, LPSTR path, UINT32 count );
extern DWORD DIR_SearchPath( LPCSTR path, LPCSTR name, LPCSTR ext,
DOS_FULL_NAME *full_name, BOOL32 win32 );
diff --git a/include/global.h b/include/global.h
index dc8c939..7acb6a7 100644
--- a/include/global.h
+++ b/include/global.h
@@ -16,6 +16,7 @@
int shmid;
} SHMDATA;
+/* memory/global.c */
extern HGLOBAL16 GLOBAL_CreateBlock( UINT16 flags, const void *ptr, DWORD size,
HGLOBAL16 hOwner, BOOL16 isCode,
BOOL16 is32Bit, BOOL16 isReadOnly,
@@ -26,4 +27,8 @@
BOOL16 isReadOnly );
extern WORD GlobalHandleToSel( HGLOBAL16 handle );
+/* memory/virtual.c */
+extern DWORD VIRTUAL_GetPageSize(void);
+extern DWORD VIRTUAL_GetGranularity(void);
+
#endif /* __WINE_GLOBAL_H */
diff --git a/include/imagelist.h b/include/imagelist.h
index 362ce4b..ce07a6e 100644
--- a/include/imagelist.h
+++ b/include/imagelist.h
@@ -11,8 +11,8 @@
{
HBITMAP32 hbmImage;
HBITMAP32 hbmMask;
- HBRUSH32 hbrushBlend25;
- HBRUSH32 hbrushBlend50;
+ HBRUSH32 hbrBlend25;
+ HBRUSH32 hbrBlend50;
COLORREF clrBk;
INT32 cInitial;
INT32 cGrow;
diff --git a/include/k32obj.h b/include/k32obj.h
index 3e4dc28..0e1dad3 100644
--- a/include/k32obj.h
+++ b/include/k32obj.h
@@ -62,7 +62,8 @@
extern BOOL32 K32OBJ_IsValid( K32OBJ *ptr, K32OBJ_TYPE type );
extern BOOL32 K32OBJ_AddName( K32OBJ *obj, LPCSTR name );
extern K32OBJ *K32OBJ_Create( K32OBJ_TYPE type, DWORD size, LPCSTR name,
- DWORD access, HANDLE32 *handle );
+ DWORD access, SECURITY_ATTRIBUTES *sa,
+ HANDLE32 *handle );
extern K32OBJ *K32OBJ_FindName( LPCSTR name );
extern K32OBJ *K32OBJ_FindNameType( LPCSTR name, K32OBJ_TYPE type );
diff --git a/include/module.h b/include/module.h
index e79aa47..017b3c2 100644
--- a/include/module.h
+++ b/include/module.h
@@ -11,7 +11,7 @@
#include "pe_image.h"
/* In-memory module structure. See 'Windows Internals' p. 219 */
-typedef struct
+typedef struct _NE_MODULE
{
WORD magic; /* 00 'NE' signature */
WORD count; /* 02 Usage count */
@@ -128,10 +128,11 @@
extern LPSTR MODULE_GetModuleName( HMODULE32 hModule );
extern void MODULE_RegisterModule( NE_MODULE *pModule );
extern HMODULE32 MODULE_FindModule( LPCSTR path );
-extern HINSTANCE16 MODULE_CreateInstance( HMODULE16 hModule, LOADPARAMS* paramBlock );
+extern HINSTANCE16 MODULE_CreateInstance( HMODULE16 hModule, BOOL32 lib_only );
extern HINSTANCE16 MODULE_GetInstance( HMODULE32 hModule );
extern HMODULE32 MODULE_CreateDummyModule( const OFSTRUCT *ofs );
-extern HINSTANCE16 MODULE_Load( LPCSTR name, LPVOID paramBlock, UINT16 flags );
+extern HINSTANCE16 MODULE_Load( LPCSTR name, UINT16 uFlags, LPCSTR cmd_line,
+ LPCSTR env, UINT32 show_cmd );
extern WORD MODULE_GetOrdinal( HMODULE32 hModule, const char *name );
extern FARPROC16 MODULE_GetEntryPoint( HMODULE32 hModule, WORD ordinal );
extern BOOL16 MODULE_SetEntryPoint( HMODULE32 hModule, WORD ordinal,
diff --git a/include/multimedia.h b/include/multimedia.h
index 8c62070..cb70d5c 100644
--- a/include/multimedia.h
+++ b/include/multimedia.h
@@ -20,18 +20,16 @@
#define MAX_MIDIOUTDRV (16)
#define MAX_MCIMIDIDRV (1)
-#if defined (linux)
-#define __HAS_SOUNDCARD_H__
-#include <sys/soundcard.h>
-#elif defined (__FreeBSD__)
-#define __HAS_SOUNDCARD_H__
-#include <machine/soundcard.h>
-#include <sys/errno.h>
+#ifdef HAVE_SYS_SOUNDCARD_H
+# include <sys/soundcard.h>
+#endif
+#ifdef HAVE_MACHINE_SOUNDCARD_H
+# include <machine/soundcard.h>
#endif
-#if defined (__HAS_SOUNDCARD_H__)
+#include <sys/errno.h>
-#define MIDI_DEV "/dev/sequencer"
+#define MIDI_DEV "/dev/midi"
#ifdef SOUND_VERSION
#define IOCTL(a,b,c) ioctl(a,b,&c)
@@ -75,7 +73,4 @@
HLOCAL16 hMidiHdr;
WORD dwStatus;
} LINUX_MCIMIDI;
-
-#endif
-
#endif /* __WINE_MULTIMEDIA_H */
diff --git a/include/pe_image.h b/include/pe_image.h
index ceab086..61c5912 100644
--- a/include/pe_image.h
+++ b/include/pe_image.h
@@ -42,6 +42,8 @@
extern DWORD PE_SizeofResource32(HINSTANCE32,HRSRC32);
extern HMODULE32 PE_LoadLibraryEx32A(LPCSTR,struct _PDB32*,HFILE32,DWORD);
extern HGLOBAL32 PE_LoadResource32(HINSTANCE32,HRSRC32);
+extern HINSTANCE16 PE_LoadModule( HFILE32 hFile, OFSTRUCT *ofs,
+ LPCSTR cmd_line, LPCSTR env, UINT16 showCmd);
struct _PDB32; /* forward definition */
struct _THDB; /* forward definition */
diff --git a/include/process.h b/include/process.h
index 0323a98..54c699f 100644
--- a/include/process.h
+++ b/include/process.h
@@ -12,7 +12,8 @@
#include "winnt.h"
#include "k32obj.h"
#include "pe_image.h"
-#include "task.h"
+
+struct _NE_MODULE;
/* Process handle entry */
typedef struct
@@ -31,21 +32,25 @@
/* Win32 process environment database */
typedef struct
{
- LPSTR environ; /* 00 Process environment strings */
- DWORD env_size; /* 04 Environment size (was: Unknown) */
- LPSTR cmd_line; /* 08 Command line */
- LPSTR cur_dir; /* 0c Current directory */
- STARTUPINFO32A *startup_info; /* 10 Startup information */
- HANDLE32 hStdin; /* 14 Handle for standard input */
- HANDLE32 hStdout; /* 18 Handle for standard output */
- HANDLE32 hStderr; /* 1c Handle for standard error */
- DWORD unknown2; /* 20 Unknown */
- DWORD inherit_console; /* 24 Inherit console flag */
- DWORD break_type; /* 28 Console events flag */
- K32OBJ *break_sem; /* 2c SetConsoleCtrlHandler semaphore */
- K32OBJ *break_event; /* 30 SetConsoleCtrlHandler event */
- K32OBJ *break_thread; /* 34 SetConsoleCtrlHandler thread */
- void *break_handlers; /* 38 List of console handlers */
+ LPSTR environ; /* 00 Process environment strings */
+ DWORD unknown1; /* 04 Unknown */
+ LPSTR cmd_line; /* 08 Command line */
+ LPSTR cur_dir; /* 0c Current directory */
+ STARTUPINFO32A *startup_info; /* 10 Startup information */
+ HANDLE32 hStdin; /* 14 Handle for standard input */
+ HANDLE32 hStdout; /* 18 Handle for standard output */
+ HANDLE32 hStderr; /* 1c Handle for standard error */
+ DWORD unknown2; /* 20 Unknown */
+ DWORD inherit_console; /* 24 Inherit console flag */
+ DWORD break_type; /* 28 Console events flag */
+ K32OBJ *break_sem; /* 2c SetConsoleCtrlHandler semaphore */
+ K32OBJ *break_event; /* 30 SetConsoleCtrlHandler event */
+ K32OBJ *break_thread; /* 34 SetConsoleCtrlHandler thread */
+ void *break_handlers; /* 38 List of console handlers */
+ /* The following are Wine-specific fields */
+ CRITICAL_SECTION section; /* 3c Env DB critical section */
+ LPWSTR cmd_lineW; /* 40 Unicode command line */
+ WORD env_sel; /* 44 Environment strings selector */
} ENVDB;
/* Win32 process database */
@@ -103,17 +108,27 @@
#define PROCESS_ID_TO_PDB(id) ((PDB32 *)((id) ^ PROCESS_OBFUSCATOR))
#define PDB_TO_PROCESS_ID(pdb) ((DWORD)(pdb) ^ PROCESS_OBFUSCATOR)
+/* scheduler/environ.c */
+extern BOOL32 ENV_BuildEnvironment( PDB32 *pdb );
+extern BOOL32 ENV_InheritEnvironment( PDB32 *pdb, LPCSTR env );
+extern void ENV_FreeEnvironment( PDB32 *pdb );
+
/* scheduler/handle.c */
-extern HANDLE_TABLE *HANDLE_AllocTable( PDB32 *process );
-extern HANDLE32 HANDLE_Alloc( K32OBJ *ptr, DWORD access, BOOL32 inherit );
-extern K32OBJ *HANDLE_GetObjPtr( HANDLE32 handle, K32OBJ_TYPE type,
- DWORD access );
-extern BOOL32 HANDLE_SetObjPtr( HANDLE32 handle, K32OBJ *ptr, DWORD access );
+extern BOOL32 HANDLE_CreateTable( PDB32 *pdb, BOOL32 inherit );
+extern HANDLE32 HANDLE_Alloc( PDB32 *pdb, K32OBJ *ptr, DWORD access,
+ BOOL32 inherit );
+extern K32OBJ *HANDLE_GetObjPtr( PDB32 *pdb, HANDLE32 handle,
+ K32OBJ_TYPE type, DWORD access );
+extern BOOL32 HANDLE_SetObjPtr( PDB32 *pdb, HANDLE32 handle,
+ K32OBJ *ptr, DWORD access );
+extern void HANDLE_CloseAll( PDB32 *pdb, K32OBJ *ptr );
/* scheduler/process.c */
extern PDB32 *PROCESS_Current(void);
extern PDB32 *PROCESS_GetPtr( HANDLE32 handle, DWORD access );
extern PDB32 *PROCESS_IdToPDB( DWORD id );
-extern PDB32 *PROCESS_Create( TDB *pTask, LPCSTR cmd_line );
-extern void PROCESS_CloseObjHandles(PDB32 *pdb, K32OBJ *ptr);
+extern PDB32 *PROCESS_Create( struct _NE_MODULE *pModule, LPCSTR cmd_line,
+ LPCSTR env, HINSTANCE16 hInstance,
+ HINSTANCE16 hPrevInstance, UINT32 cmdShow );
+
#endif /* __WINE_PROCESS_H */
diff --git a/include/progress.h b/include/progress.h
index 0aadb15..36b7063 100644
--- a/include/progress.h
+++ b/include/progress.h
@@ -16,6 +16,8 @@
INT32 MinVal; /* Minimum progress value */
INT32 MaxVal; /* Maximum progress value */
INT32 Step; /* Step to use on PMB_STEPIT */
+ COLORREF ColorBar; /* Bar color */
+ COLORREF ColorBk; /* Background color */
} PROGRESS_INFO;
LRESULT WINAPI ProgressWindowProc(HWND32, UINT32, WPARAM32, LPARAM);
diff --git a/include/selectors.h b/include/selectors.h
index 8ca897f..a203354 100644
--- a/include/selectors.h
+++ b/include/selectors.h
@@ -16,6 +16,7 @@
extern WORD SELECTOR_ReallocBlock( WORD sel, const void *base, DWORD size,
enum seg_type type, BOOL32 is32bit,
BOOL32 readonly );
+extern void SELECTOR_MoveBlock( WORD sel, const void *new_base );
extern void SELECTOR_FreeBlock( WORD sel, WORD count );
#ifdef __i386__
diff --git a/include/task.h b/include/task.h
index 460f5de..0a3cc86 100644
--- a/include/task.h
+++ b/include/task.h
@@ -50,6 +50,7 @@
struct _THDB;
struct _WSINFO;
+struct _NE_MODULE;
/* signal proc typedef */
typedef void (CALLBACK *USERSIGNALPROC)(HANDLE16, UINT16, UINT16,
@@ -124,11 +125,9 @@
#pragma pack(4)
-extern BOOL32 TASK_Init(void);
-extern HTASK16 TASK_CreateTask( HMODULE16 hModule, HINSTANCE16 hInstance,
- HINSTANCE16 hPrevInstance,
- HANDLE16 hEnvironment, LPCSTR cmdLine,
- UINT16 cmdShow );
+extern HTASK16 TASK_Create( struct _THDB *thdb, struct _NE_MODULE *pModule,
+ HINSTANCE16 hInstance, HINSTANCE16 hPrevInstance,
+ UINT16 cmdShow );
extern void TASK_KillCurrentTask( INT16 exitCode );
extern HTASK16 TASK_GetNextTask( HTASK16 hTask );
extern void TASK_Reschedule(void);
diff --git a/include/thread.h b/include/thread.h
index 84d5dae..090ce62 100644
--- a/include/thread.h
+++ b/include/thread.h
@@ -121,6 +121,7 @@
/* scheduler/thread.c */
extern THDB *THREAD_Create( struct _PDB32 *pdb, DWORD stack_size,
+ BOOL32 alloc_stack16,
LPTHREAD_START_ROUTINE start_addr, LPVOID param );
extern THDB *THREAD_Current(void);
extern THDB *THREAD_GetPtr( HANDLE32 handle, DWORD access );
diff --git a/include/ver.h b/include/ver.h
index 60d0dee..5f5dd97 100644
--- a/include/ver.h
+++ b/include/ver.h
@@ -8,9 +8,9 @@
#include "windows.h"
/* resource ids for different version infos */
-#define VS_FILE_INFO MAKEINTRESOURCE(16)
-#define VS_VERSION_INFO MAKEINTRESOURCE(1)
-#define VS_USER_INFO MAKEINTRESOURCE(100)
+#define VS_FILE_INFO MAKEINTRESOURCE16(16)
+#define VS_VERSION_INFO MAKEINTRESOURCE16(1)
+#define VS_USER_INFO MAKEINTRESOURCE16(100)
#define VS_FFI_SIGNATURE 0xfeef04bdL /* FileInfo Magic */
#define VS_FFI_STRUCVERSION 0x00010000L /* struc version 1.0 */
diff --git a/include/version.h b/include/version.h
index 4fcacf6..c098d61 100644
--- a/include/version.h
+++ b/include/version.h
@@ -1 +1 @@
-#define WINE_RELEASE_INFO "Wine release 980329"
+#define WINE_RELEASE_INFO "Wine release 980413"
diff --git a/include/win.h b/include/win.h
index c1f9186..ebe47ce 100644
--- a/include/win.h
+++ b/include/win.h
@@ -76,6 +76,7 @@
DWORD dwStyle; /* Window style (from CreateWindow) */
DWORD dwExStyle; /* Extended style (from CreateWindowEx) */
UINT32 wIDmenu; /* ID or hmenu (from CreateWindow) */
+ DWORD helpContext; /* Help context ID */
WORD flags; /* Misc. flags (see below) */
Window window; /* X window (only for top-level windows) */
HMENU16 hSysMenu; /* window's copy of System Menu */
diff --git a/include/winbase.h b/include/winbase.h
index d1c3004..0983276 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -100,6 +100,15 @@
#define HANDLE_FLAG_INHERIT 0x00000001
#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x00000002
+#define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
+#define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
+#define THREAD_PRIORITY_NORMAL 0
+#define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
+#define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
+#define THREAD_PRIORITY_ERROR_RETURN (0x7fffffff)
+#define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
+#define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
+
typedef struct
{
int type;
diff --git a/include/wincon.h b/include/wincon.h
index b7c46e5..da8b20e 100644
--- a/include/wincon.h
+++ b/include/wincon.h
@@ -40,8 +40,8 @@
typedef struct tagSMALL_RECT
{
INT16 Left;
- INT16 Right;
INT16 Top;
+ INT16 Right;
INT16 Bottom;
} SMALL_RECT,*LPSMALL_RECT;
diff --git a/include/windows.h b/include/windows.h
index 21bf27d..e1861ae 100644
--- a/include/windows.h
+++ b/include/windows.h
@@ -2461,45 +2461,147 @@
#define WF_WIN32WOW 0x4000 /* undoc */
#define WF_WLO 0x8000
-#define MAKEINTRESOURCE(i) (SEGPTR)((DWORD)((WORD)(i)))
+#define MAKEINTRESOURCE16(i) (SEGPTR)((DWORD)((WORD)(i)))
+#define MAKEINTRESOURCE32A(i) (LPSTR)((DWORD)((WORD)(i)))
+#define MAKEINTRESOURCE32W(i) (LPWSTR)((DWORD)((WORD)(i)))
+#define MAKEINTRESOURCE WINELIB_NAME_AW(MAKEINTRESOURCE)
/* Predefined resource types */
-#define RT_CURSOR MAKEINTRESOURCE(1)
-#define RT_BITMAP MAKEINTRESOURCE(2)
-#define RT_ICON MAKEINTRESOURCE(3)
-#define RT_MENU MAKEINTRESOURCE(4)
-#define RT_DIALOG MAKEINTRESOURCE(5)
-#define RT_STRING MAKEINTRESOURCE(6)
-#define RT_FONTDIR MAKEINTRESOURCE(7)
-#define RT_FONT MAKEINTRESOURCE(8)
-#define RT_ACCELERATOR MAKEINTRESOURCE(9)
-#define RT_RCDATA MAKEINTRESOURCE(10)
-#define RT_MESSAGELIST MAKEINTRESOURCE(11)
-#define RT_GROUP_CURSOR MAKEINTRESOURCE(12)
-#define RT_GROUP_ICON MAKEINTRESOURCE(14)
+#define RT_CURSOR16 MAKEINTRESOURCE16(1)
+#define RT_CURSOR32A MAKEINTRESOURCE32A(1)
+#define RT_CURSOR32W MAKEINTRESOURCE32W(1)
+#define RT_CURSOR WINELIB_NAME_AW(RT_CURSOR)
+#define RT_BITMAP16 MAKEINTRESOURCE16(2)
+#define RT_BITMAP32A MAKEINTRESOURCE32A(2)
+#define RT_BITMAP32W MAKEINTRESOURCE32W(2)
+#define RT_BITMAP WINELIB_NAME_AW(RT_BITMAP)
+#define RT_ICON16 MAKEINTRESOURCE16(3)
+#define RT_ICON32A MAKEINTRESOURCE32A(3)
+#define RT_ICON32W MAKEINTRESOURCE32W(3)
+#define RT_ICON WINELIB_NAME_AW(RT_ICON)
+#define RT_MENU16 MAKEINTRESOURCE16(4)
+#define RT_MENU32A MAKEINTRESOURCE32A(4)
+#define RT_MENU32W MAKEINTRESOURCE32W(4)
+#define RT_MENU WINELIB_NAME_AW(RT_MENU)
+#define RT_DIALOG16 MAKEINTRESOURCE16(5)
+#define RT_DIALOG32A MAKEINTRESOURCE32A(5)
+#define RT_DIALOG32W MAKEINTRESOURCE32W(5)
+#define RT_DIALOG WINELIB_NAME_AW(RT_DIALOG)
+#define RT_STRING16 MAKEINTRESOURCE16(6)
+#define RT_STRING32A MAKEINTRESOURCE32A(6)
+#define RT_STRING32W MAKEINTRESOURCE32W(6)
+#define RT_STRING WINELIB_NAME_AW(RT_STRING)
+#define RT_FONTDIR16 MAKEINTRESOURCE16(7)
+#define RT_FONTDIR32A MAKEINTRESOURCE32A(7)
+#define RT_FONTDIR32W MAKEINTRESOURCE32W(7)
+#define RT_FONTDIR WINELIB_NAME_AW(RT_FONTDIR)
+#define RT_FONT16 MAKEINTRESOURCE16(8)
+#define RT_FONT32A MAKEINTRESOURCE32A(8)
+#define RT_FONT32W MAKEINTRESOURCE32W(8)
+#define RT_FONT WINELIB_NAME_AW(RT_FONT)
+#define RT_ACCELERATOR16 MAKEINTRESOURCE16(9)
+#define RT_ACCELERATOR32A MAKEINTRESOURCE32A(9)
+#define RT_ACCELERATOR32W MAKEINTRESOURCE32W(9)
+#define RT_ACCELERATOR WINELIB_NAME_AW(RT_ACCELERATOR)
+#define RT_RCDATA16 MAKEINTRESOURCE16(10)
+#define RT_RCDATA32A MAKEINTRESOURCE32A(10)
+#define RT_RCDATA32W MAKEINTRESOURCE32W(10)
+#define RT_RCDATA WINELIB_NAME_AW(RT_RCDATA)
+#define RT_MESSAGELIST16 MAKEINTRESOURCE16(11)
+#define RT_MESSAGELIST32A MAKEINTRESOURCE32A(11)
+#define RT_MESSAGELIST32W MAKEINTRESOURCE32W(11)
+#define RT_MESSAGELIST WINELIB_NAME_AW(RT_MESSAGELIST)
+#define RT_GROUP_CURSOR16 MAKEINTRESOURCE16(12)
+#define RT_GROUP_CURSOR32A MAKEINTRESOURCE32A(12)
+#define RT_GROUP_CURSOR32W MAKEINTRESOURCE32W(12)
+#define RT_GROUP_CURSOR WINELIB_NAME_AW(RT_GROUP_CURSOR)
+#define RT_GROUP_ICON16 MAKEINTRESOURCE16(14)
+#define RT_GROUP_ICON32A MAKEINTRESOURCE32A(14)
+#define RT_GROUP_ICON32W MAKEINTRESOURCE32W(14)
+#define RT_GROUP_ICON WINELIB_NAME_AW(RT_GROUP_ICON)
/* Predefined resources */
-#define IDI_APPLICATION MAKEINTRESOURCE(32512)
-#define IDI_HAND MAKEINTRESOURCE(32513)
-#define IDI_QUESTION MAKEINTRESOURCE(32514)
-#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
-#define IDI_ASTERISK MAKEINTRESOURCE(32516)
+#define IDI_APPLICATION16 MAKEINTRESOURCE16(32512)
+#define IDI_APPLICATION32A MAKEINTRESOURCE32A(32512)
+#define IDI_APPLICATION32W MAKEINTRESOURCE32W(32512)
+#define IDI_APPLICATION WINELIB_NAME_AW(IDI_APPLICATION)
+#define IDI_HAND16 MAKEINTRESOURCE16(32513)
+#define IDI_HAND32A MAKEINTRESOURCE32A(32513)
+#define IDI_HAND32W MAKEINTRESOURCE32W(32513)
+#define IDI_HAND WINELIB_NAME_AW(IDI_HAND)
+#define IDI_QUESTION16 MAKEINTRESOURCE16(32514)
+#define IDI_QUESTION32A MAKEINTRESOURCE32A(32514)
+#define IDI_QUESTION32W MAKEINTRESOURCE32W(32514)
+#define IDI_QUESTION WINELIB_NAME_AW(IDI_QUESTION)
+#define IDI_EXCLAMATION16 MAKEINTRESOURCE16(32515)
+#define IDI_EXCLAMATION32A MAKEINTRESOURCE32A(32515)
+#define IDI_EXCLAMATION32W MAKEINTRESOURCE32W(32515)
+#define IDI_EXCLAMATION WINELIB_NAME_AW(IDI_EXCLAMATION)
+#define IDI_ASTERISK16 MAKEINTRESOURCE16(32516)
+#define IDI_ASTERISK32A MAKEINTRESOURCE32A(32516)
+#define IDI_ASTERISK32W MAKEINTRESOURCE32W(32516)
+#define IDI_ASTERISK WINELIB_NAME_AW(IDI_ASTERISK)
-#define IDC_BUMMER MAKEINTRESOURCE(100)
-#define IDC_ARROW MAKEINTRESOURCE(32512)
-#define IDC_IBEAM MAKEINTRESOURCE(32513)
-#define IDC_WAIT MAKEINTRESOURCE(32514)
-#define IDC_CROSS MAKEINTRESOURCE(32515)
-#define IDC_UPARROW MAKEINTRESOURCE(32516)
-#define IDC_SIZE MAKEINTRESOURCE(32640)
-#define IDC_ICON MAKEINTRESOURCE(32641)
-#define IDC_SIZENWSE MAKEINTRESOURCE(32642)
-#define IDC_SIZENESW MAKEINTRESOURCE(32643)
-#define IDC_SIZEWE MAKEINTRESOURCE(32644)
-#define IDC_SIZENS MAKEINTRESOURCE(32645)
-#define IDC_NO MAKEINTRESOURCE(32648)
-#define IDC_APPSTARTING MAKEINTRESOURCE(32650)
-#define IDC_HELP MAKEINTRESOURCE(32651)
+#define IDC_BUMMER16 MAKEINTRESOURCE16(100)
+#define IDC_BUMMER32A MAKEINTRESOURCE32A(100)
+#define IDC_BUMMER32W MAKEINTRESOURCE32W(100)
+#define IDC_BUMMER WINELIB_NAME_AW(IDC_BUMMER)
+#define IDC_ARROW16 MAKEINTRESOURCE16(32512)
+#define IDC_ARROW32A MAKEINTRESOURCE32A(32512)
+#define IDC_ARROW32W MAKEINTRESOURCE32W(32512)
+#define IDC_ARROW WINELIB_NAME_AW(IDC_ARROW)
+#define IDC_IBEAM16 MAKEINTRESOURCE16(32513)
+#define IDC_IBEAM32A MAKEINTRESOURCE32A(32513)
+#define IDC_IBEAM32W MAKEINTRESOURCE32W(32513)
+#define IDC_IBEAM WINELIB_NAME_AW(IDC_IBEAM)
+#define IDC_WAIT16 MAKEINTRESOURCE16(32514)
+#define IDC_WAIT32A MAKEINTRESOURCE32A(32514)
+#define IDC_WAIT32W MAKEINTRESOURCE32W(32514)
+#define IDC_WAIT WINELIB_NAME_AW(IDC_WAIT)
+#define IDC_CROSS16 MAKEINTRESOURCE16(32515)
+#define IDC_CROSS32A MAKEINTRESOURCE32A(32515)
+#define IDC_CROSS32W MAKEINTRESOURCE32W(32515)
+#define IDC_CROSS WINELIB_NAME_AW(IDC_CROSS)
+#define IDC_UPARROW16 MAKEINTRESOURCE16(32516)
+#define IDC_UPARROW32A MAKEINTRESOURCE32A(32516)
+#define IDC_UPARROW32W MAKEINTRESOURCE32W(32516)
+#define IDC_UPARROW WINELIB_NAME_AW(IDC_UPARROW)
+#define IDC_SIZE16 MAKEINTRESOURCE16(32640)
+#define IDC_SIZE32A MAKEINTRESOURCE32A(32640)
+#define IDC_SIZE32W MAKEINTRESOURCE32W(32640)
+#define IDC_SIZE WINELIB_NAME_AW(IDC_SIZE)
+#define IDC_ICON16 MAKEINTRESOURCE16(32641)
+#define IDC_ICON32A MAKEINTRESOURCE32A(32641)
+#define IDC_ICON32W MAKEINTRESOURCE32W(32641)
+#define IDC_ICON WINELIB_NAME_AW(IDC_ICON)
+#define IDC_SIZENWSE16 MAKEINTRESOURCE16(32642)
+#define IDC_SIZENWSE32A MAKEINTRESOURCE32A(32642)
+#define IDC_SIZENWSE32W MAKEINTRESOURCE32W(32642)
+#define IDC_SIZENWSE WINELIB_NAME_AW(IDC_SIZENWSE)
+#define IDC_SIZENESW16 MAKEINTRESOURCE16(32643)
+#define IDC_SIZENESW32A MAKEINTRESOURCE32A(32643)
+#define IDC_SIZENESW32W MAKEINTRESOURCE32W(32643)
+#define IDC_SIZENESW WINELIB_NAME_AW(IDC_SIZENESW)
+#define IDC_SIZEWE16 MAKEINTRESOURCE16(32644)
+#define IDC_SIZEWE32A MAKEINTRESOURCE32A(32644)
+#define IDC_SIZEWE32W MAKEINTRESOURCE32W(32644)
+#define IDC_SIZEWE WINELIB_NAME_AW(IDC_SIZEWE)
+#define IDC_SIZENS16 MAKEINTRESOURCE16(32645)
+#define IDC_SIZENS32A MAKEINTRESOURCE32A(32645)
+#define IDC_SIZENS32W MAKEINTRESOURCE32W(32645)
+#define IDC_SIZENS WINELIB_NAME_AW(IDC_SIZENS)
+#define IDC_NO16 MAKEINTRESOURCE16(32648)
+#define IDC_NO32A MAKEINTRESOURCE32A(32648)
+#define IDC_NO32W MAKEINTRESOURCE32W(32648)
+#define IDC_NO WINELIB_NAME_AW(IDC_NO)
+#define IDC_APPSTARTING16 MAKEINTRESOURCE16(32650)
+#define IDC_APPSTARTING32A MAKEINTRESOURCE32A(32650)
+#define IDC_APPSTARTING32W MAKEINTRESOURCE32W(32650)
+#define IDC_APPSTARTING WINELIB_NAME_AW(IDC_APPSTARTING)
+#define IDC_HELP16 MAKEINTRESOURCE16(32651)
+#define IDC_HELP32A MAKEINTRESOURCE32A(32651)
+#define IDC_HELP32W MAKEINTRESOURCE32W(32651)
+#define IDC_HELP WINELIB_NAME_AW(IDC_HELP)
/* OEM Resource Ordinal Numbers */
#define OBM_CLOSE 32754
@@ -4259,6 +4361,7 @@
#define CF_PENDATA 10
#define CF_RIFF 11
#define CF_WAVE 12
+#define CF_ENHMETAFILE 14
#define CF_OWNERDISPLAY 0x0080
#define CF_DSPTEXT 0x0081
@@ -4430,6 +4533,7 @@
#define META_CREATEBITMAPINDIRECT 0x02FD
#define META_CREATEBITMAP 0x06FE
#define META_CREATEREGION 0x06FF
+#define META_UNKNOWN 0x0529 /* FIXME: unknown meta magic */
typedef INT16 (CALLBACK *MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,
INT16,LPARAM);
@@ -5587,13 +5691,13 @@
typedef struct /* not sure if the 16bit version is correct */
{
- UINT16 cbSize;
+ UINT32 cbSize;
HWND16 hwndOwner;
HINSTANCE16 hInstance;
- LPCSTR lpszText;
- LPCSTR lpszCaption;
+ SEGPTR lpszText;
+ SEGPTR lpszCaption;
DWORD dwStyle;
- LPCSTR lpszIcon;
+ SEGPTR lpszIcon;
DWORD dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
@@ -5659,6 +5763,7 @@
/* Declarations for functions that exist only in Win16 */
+#ifndef WINELIB
WORD WINAPI AllocCStoDSAlias(WORD);
WORD WINAPI AllocDStoCSAlias(WORD);
WORD WINAPI AllocSelector(WORD);
@@ -5811,7 +5916,7 @@
INT16 WINAPI WriteComm(INT16,LPSTR,INT16);
VOID WINAPI WriteOutProfiles(VOID);
VOID WINAPI hmemcpy(LPVOID,LPCVOID,LONG);
-
+#endif /* WINELIB */
/* Declarations for functions that exist only in Win32 */
@@ -5823,6 +5928,8 @@
INT32 WINAPI CopyAcceleratorTable32A(HACCEL32,LPACCEL32,INT32);
INT32 WINAPI CopyAcceleratorTable32W(HACCEL32,LPACCEL32,INT32);
#define CopyAcceleratorTable WINELIB_NAME_AW(CopyAcceleratorTable)
+HENHMETAFILE32 WINAPI CopyEnhMetaFile32A(HENHMETAFILE32,LPCSTR);
+#define CopyEnhMetaFile WINELIB_NAME_AW(CopyEnhMetaFile)
BOOL32 WINAPI CopyFile32A(LPCSTR,LPCSTR,BOOL32);
BOOL32 WINAPI CopyFile32W(LPCWSTR,LPCWSTR,BOOL32);
#define CopyFile WINELIB_NAME_AW(CopyFile)
@@ -5849,9 +5956,11 @@
HANDLE32 WINAPI CreateSemaphore32W(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
#define CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
HANDLE32 WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
+BOOL32 WINAPI DeleteEnhMetaFile(HENHMETAFILE32);
BOOL32 WINAPI DestroyAcceleratorTable(HACCEL32);
BOOL32 WINAPI DisableThreadLibraryCalls(HMODULE32);
BOOL32 WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
+BOOL32 WINAPI DuplicateHandle(HANDLE32,HANDLE32,HANDLE32,HANDLE32*,DWORD,BOOL32,DWORD);
INT32 WINAPI EnumPropsEx32A(HWND32,PROPENUMPROCEX32A,LPARAM);
INT32 WINAPI EnumPropsEx32W(HWND32,PROPENUMPROCEX32W,LPARAM);
#define EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
@@ -5921,6 +6030,10 @@
INT32 WINAPI GetDateFormat32W(LCID,DWORD,LPSYSTEMTIME,LPCWSTR,LPWSTR,INT32);
#define GetDateFormat WINELIB_NAME_AW(GetDateFormat)
BOOL32 WINAPI GetDCOrgEx(HDC32,LPPOINT32);
+HENHMETAFILE32 WINAPI GetEnhMetaFile32A(LPCSTR);
+HENHMETAFILE32 WINAPI GetEnhMetaFile32W(LPCWSTR);
+#define GetEnhMetaFile WINELIB_NAME_AW(GetEnhMetaFile)
+UINT32 WINAPI GetEnhMetaFileHeader(HENHMETAFILE32,UINT32,LPENHMETAHEADER);
LPSTR WINAPI GetEnvironmentStrings32A(void);
LPWSTR WINAPI GetEnvironmentStrings32W(void);
#define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
@@ -5976,6 +6089,7 @@
BOOL32 WINAPI GetUserName32A(LPSTR,LPDWORD);
BOOL32 WINAPI GetUserName32W(LPWSTR,LPDWORD);
#define GetUserName WINELIB_NAME_AW(GetUserName)
+DWORD WINAPI GetWindowContextHelpId(HWND32);
DWORD WINAPI GetWindowThreadProcessId(HWND32,LPDWORD);
BOOL32 WINAPI GetWorldTransform(HDC32,LPXFORM);
VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
@@ -6027,6 +6141,8 @@
HANDLE32 WINAPI OpenSemaphore32A(DWORD,BOOL32,LPCSTR);
HANDLE32 WINAPI OpenSemaphore32W(DWORD,BOOL32,LPCWSTR);
#define OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
+BOOL32 WINAPI PlayEnhMetaFile(HDC32,HENHMETAFILE32,const RECT32*);
+BOOL32 WINAPI PlayEnhMetaFileRecord(HDC32,LPHANDLETABLE32,const ENHMETARECORD*,UINT32);
BOOL32 WINAPI PulseEvent(HANDLE32);
DWORD WINAPI QueryDosDevice32A(LPCSTR,LPSTR,DWORD);
DWORD WINAPI QueryDosDevice32W(LPCWSTR,LPWSTR,DWORD);
@@ -6087,12 +6203,14 @@
BOOL32 WINAPI SetMenuItemInfo32A(HMENU32,UINT32,BOOL32,const MENUITEMINFO32A*);
BOOL32 WINAPI SetMenuItemInfo32W(HMENU32,UINT32,BOOL32,const MENUITEMINFO32W*);
#define SetMenuItemInfo WINELIB_NAME_AW(SetMenuItemInfo)
+HMETAFILE32 WINAPI SetMetaFileBitsEx(UINT32,const BYTE*);
BOOL32 WINAPI SetPriorityClass(HANDLE32,DWORD);
BOOL32 WINAPI SetStdHandle(DWORD,HANDLE32);
BOOL32 WINAPI SetSystemPowerState(BOOL32,BOOL32);
BOOL32 WINAPI SetSystemTime(const SYSTEMTIME*);
BOOL32 WINAPI SetThreadPriority(HANDLE32,INT32);
BOOL32 WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
+BOOL32 WINAPI SetWindowContextHelpId(HWND32,DWORD);
BOOL32 WINAPI SetWorldTransform(HDC32,const XFORM*);
VOID WINAPI Sleep(DWORD);
BOOL32 WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
@@ -6126,6 +6244,8 @@
BOOL32 WINAPI WriteConsole32W(HANDLE32,LPCVOID,DWORD,LPDWORD,LPVOID);
#define WriteConsole WINELIB_NAME_AW(WriteConsole)
BOOL32 WINAPI WriteFile(HANDLE32,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
+VOID WINAPI ZeroMemory(LPVOID,UINT32);
+#define ZeroMemory RtlZeroMemory
/* Declarations for functions that are the same in Win16 and Win32 */
@@ -7240,10 +7360,21 @@
COLORREF WINAPI GetTextColor16(HDC16);
COLORREF WINAPI GetTextColor32(HDC32);
#define GetTextColor WINELIB_NAME(GetTextColor)
+/* this one is different, because Win32 has *both*
+ * GetTextExtentPoint and GetTextExtentPoint32 !
+ */
BOOL16 WINAPI GetTextExtentPoint16(HDC16,LPCSTR,INT16,LPSIZE16);
BOOL32 WINAPI GetTextExtentPoint32A(HDC32,LPCSTR,INT32,LPSIZE32);
BOOL32 WINAPI GetTextExtentPoint32W(HDC32,LPCWSTR,INT32,LPSIZE32);
-#define GetTextExtentPoint WINELIB_NAME_AW(GetTextExtentPoint)
+BOOL32 WINAPI GetTextExtentPoint32ABuggy(HDC32,LPCSTR,INT32,LPSIZE32);
+BOOL32 WINAPI GetTextExtentPoint32WBuggy(HDC32,LPCWSTR,INT32,LPSIZE32);
+#ifdef UNICODE
+#define GetTextExtentPoint GetTextExtentPoint32WBuggy
+#define GetTextExtentPoint32 GetTextExtentPoint32W
+#else
+#define GetTextExtentPoint GetTextExtentPoint32ABuggy
+#define GetTextExtentPoint32 GetTextExtentPoint32A
+#endif
INT16 WINAPI GetTextFace16(HDC16,INT16,LPSTR);
INT32 WINAPI GetTextFace32A(HDC32,INT32,LPSTR);
INT32 WINAPI GetTextFace32W(HDC32,INT32,LPWSTR);
diff --git a/include/wintypes.h b/include/wintypes.h
index 3dac52d..3586b4a 100644
--- a/include/wintypes.h
+++ b/include/wintypes.h
@@ -10,38 +10,29 @@
#ifdef __WINE__
# include "config.h"
# undef WINELIB
-# undef WINELIB16
-# undef WINELIB32
# undef UNICODE
#else /* __WINE__ */
# ifndef WINELIB
# define WINELIB
# endif
-# ifdef WINELIB16
-# undef WINELIB32
-# else
-# define WINELIB32
-# endif
#endif /* __WINE__ */
/* Macros to map Winelib names to the correct implementation name */
-/* depending on WINELIB16, WINELIB32 and UNICODE macros. */
+/* depending on WINELIB and UNICODE macros. */
+/* Note that WINELIB is purely Win32. */
#ifdef __WINE__
# define WINELIB_NAME(func) this is a syntax error
# define WINELIB_NAME_AW(func) this is a syntax error
#else /* __WINE__ */
-# ifdef WINELIB32
+# ifdef WINELIB
# define WINELIB_NAME(func) func##32
# ifdef UNICODE
# define WINELIB_NAME_AW(func) func##32W
# else
# define WINELIB_NAME_AW(func) func##32A
# endif /* UNICODE */
-# else /* WINELIB32 */
-# define WINELIB_NAME(func) func##16
-# define WINELIB_NAME_AW(func) func##16
-# endif /* WINELIB32 */
+# endif /* WINELIB */
#endif /* __WINE__ */
#ifdef __WINE__