Release 960705

Fri Jul  5 16:27:43 1996  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [controls/desktop.c]
	Use Windows file I/O routines to load the desktop bitmap.

	* [files/file.c]
	Implemented RemoveDirectory* and DeleteFile*.

	* [include/wine.h]
	Added SIGCONTEXT typedef to replace #define sigcontext_struct.

	* [loader/task.c]
	Fixed initial breakpoint setting for Win32 tasks.

	* [misc/wsprintf.c]
	Ignore Unicode formats for wsprintf16().

	* [objects/font.c]
	Implemented Win32 version of GetTextMetrics.

	* [windows/winproc.c] [windows/win.c] [windows/class.c]
	  [windows/dialog.c]
	Modified windows procedures to use thunks, to ensure that the
	procedure can be called directly from the Windows program.

	* [windows/win.c]
	Added function WIN_BuildWinArray() to make it easier to enumerate
	windows. Implemented Win32 version of EnumWindows() and friends.

Fri Jul  5 11:56:22 1996  Andreas Kirschbaum <ank@rbg.informatik.th-darmstadt.de>

	* [controls/button.c] [windows/win.c]
	Operator precedence fixes.

	* [controls/edit.c]
	Implemented ES_PASSWORD, ES_LOWERCASE and ES_UPPERCASE styles.
	Fixed word wrap with long words.

	* [debugger/debug.l]
	New alias "where" for command "backtrace".

	* [if1632/gdi.spec]
	Corrected parameter of ExtTextOut.

	* [loader/module.c]
	Corrected printing of table of modules.

	* [misc/spy.c]
	Removed superfluous \n in message name.

	* [windows/message.c]
	Declared MSG_SendMessage as static.
	Changed parameter of DirectedYield() from queue handle to task handle.
	Removed warning mesages for argument of printf.

	* [windows/nonclient.c]
	Added the flag DT_NOPREFIX when drawing window titles.

	* [windows/win.c]
	WIN_WalkWindows now prints the invalid window handle.
	Added a warning if Get-/SetWindowWord/-Long gets an invalid offset.

	* [windows/winproc.c]
	Allows creating dialog windows with NULL as dialog function.

Wed Jul  3 09:26:41 1996  Andrew Lewycky <plewycky@oise.utoronto.ca>

	* [windows/event.c]
	EVENT_key: Fixes to VK_ code generation for space bar and
	punctuation.

	* [files/file.c]
	GetTempFileName: first character in temporary name is "~".

	* [memory/heap.c]
	HEAP_MakeInUseBlockFree now frees the whole subheap if possible.

	* [objects/text.c]
	ExtTextOut16(): handle NULL lpRect and ETO_OPAQUE.

	* [misc/driver.c]
	Removed some bugs and reformatted. Actually loads drivers now.

	* [include/callback.h]
	Added CallDriverProc() and CallWindowsExitProc().

	* [loader/module.c]
	MODULE_CallWEP(): new function.

	* [misc/lzexpand.c]
	LZSeek(): return new pointer, not old one.

	* [misc/ver.c]
	find_ne_resource(): fixed dependence on LZSeek() bug.
	GetFileResource(): initialize reslen before using it.

	* [windows/class.c]
	SetClassWord(): add missing else.

	* [objects/font.c]
	lpFontList is now MAX_FONTS+1. It used to overwrite the array.
	InitFontList: allocate one huge array of structures.
	FONT_MatchFont: uppercase the face name.

Thu Jun 27 12:41:40 1996  Bruce Milner <bruce@genetics.utah.edu>

	* [memory/heap.c]
	Fixed a typo in HeapReAlloc().

Tue Jun 25 22:22:03 1996  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [files/directory.c] [files/drive.c] [if1632/kernel.spec]
	  [if1632/kernel32.spec] [if1632/shell.spec] [include/windows.h]
	GetTempPath* added
	GetDriveType* fixed, updated to NewNameStandard.
	GetCurrentDirectory* fixed (needs to prepend X:\).

	* [controls/listbox.c]
	Missing NULL check added.

	* [if1632/winmm.spec] [loader/builtin.c]
	winmm.dll (32bit mmsystem equivalent) specs added.

	* [memory/string.c] [if1632/kernel32.spec] [include/windows.h]
	Rtl{Move,Zero,Fill}Memory added.

	* [misc/registry.c]
	Some NULL ptr dereference bugs fixed.

	* [multimedia/mcicda.c][multimedia/mcistring.c][multimedia/mmsystem.c]
	Check for NULL ptr.
	Fill mciOpenDrv when mixing mciOpen and mciSendString("open ..").
	Aliasing should work for all MCI devices.

	* [windows/win.c]
	Allow passing invalid window handles to CloseWindow().

Tue Jun 25 20:02:15 1996  Jukka Iivonen <iivonen@cc.helsinki.fi>

	* [files/directory.c] [if1632/kernel32.spec]
	GetSystemDirectory32A and GetSystemDirectory32W added.

	* [misc/main.c] [if1632/kernel32.spec]
	Beep and SetEnvironmentVariable32W added.
diff --git a/include/toolhelp.h b/include/toolhelp.h
index e161101..c1d9836 100644
--- a/include/toolhelp.h
+++ b/include/toolhelp.h
@@ -20,19 +20,19 @@
 
 typedef struct
 {
-    DWORD   dwSize;
-    DWORD   dwAddress;
-    DWORD   dwBlockSize;
-    HGLOBAL hBlock;
-    WORD    wcLock;
-    WORD    wcPageLock;
-    WORD    wFlags;
-    BOOL    wHeapPresent;
-    HGLOBAL hOwner;
-    WORD    wType;
-    WORD    wData;
-    DWORD   dwNext;
-    DWORD   dwNextAlt;
+    DWORD     dwSize;
+    DWORD     dwAddress;
+    DWORD     dwBlockSize;
+    HGLOBAL16 hBlock;
+    WORD      wcLock;
+    WORD      wcPageLock;
+    WORD      wFlags;
+    BOOL16    wHeapPresent;
+    HGLOBAL16 hOwner;
+    WORD      wType;
+    WORD      wData;
+    DWORD     dwNext;
+    DWORD     dwNextAlt;
 } GLOBALENTRY;
 
   /* GlobalFirst()/GlobalNext() flags */
@@ -74,11 +74,11 @@
 /* wFlags values */
 #define GF_PDB_OWNER        0x0100      /* Low byte is KERNEL flags */
 
-BOOL GlobalInfo( GLOBALINFO *pInfo );
-BOOL GlobalFirst( GLOBALENTRY *pGlobal, WORD wFlags );
-BOOL GlobalNext( GLOBALENTRY *pGlobal, WORD wFlags) ;
-BOOL GlobalEntryHandle( GLOBALENTRY *pGlobal, HGLOBAL16 hItem );
-BOOL GlobalEntryModule( GLOBALENTRY *pGlobal, HMODULE16 hModule, WORD wSeg );
+BOOL16 GlobalInfo( GLOBALINFO *pInfo );
+BOOL16 GlobalFirst( GLOBALENTRY *pGlobal, WORD wFlags );
+BOOL16 GlobalNext( GLOBALENTRY *pGlobal, WORD wFlags) ;
+BOOL16 GlobalEntryHandle( GLOBALENTRY *pGlobal, HGLOBAL16 hItem );
+BOOL16 GlobalEntryModule( GLOBALENTRY *pGlobal, HMODULE16 hModule, WORD wSeg );
 
 /* Local heap */
 
@@ -152,55 +152,55 @@
 #define LT_USER_HANDLETABLE         32
 #define LT_USER_MAX                 LT_USER_HANDLETABLE
 
-BOOL LocalInfo( LOCALINFO *pLocalInfo, HGLOBAL handle );
-BOOL LocalFirst( LOCALENTRY *pLocalEntry, HGLOBAL handle );
-BOOL LocalNext( LOCALENTRY *pLocalEntry );
+BOOL16 LocalInfo( LOCALINFO *pLocalInfo, HGLOBAL16 handle );
+BOOL16 LocalFirst( LOCALENTRY *pLocalEntry, HGLOBAL16 handle );
+BOOL16 LocalNext( LOCALENTRY *pLocalEntry );
 
 
 /* modules */
 
-typedef struct {
-    DWORD dwSize;
-    char szModule[MAX_MODULE_NAME + 1];
-    HMODULE hModule;
-    WORD wcUsage;
-    char szExePath[MAX_PATH + 1];
-    HANDLE wNext;
-} MODULEENTRY;
-typedef MODULEENTRY *LPMODULEENTRY;
+typedef struct
+{
+    DWORD      dwSize;
+    char       szModule[MAX_MODULE_NAME + 1];
+    HMODULE16  hModule;
+    WORD       wcUsage;
+    char       szExePath[MAX_PATH + 1];
+    HANDLE16   wNext;
+} MODULEENTRY, *LPMODULEENTRY;
 
-BOOL	ModuleFirst(MODULEENTRY *lpModule);
-BOOL	ModuleNext(MODULEENTRY *lpModule);
-BOOL    ModuleFindName(MODULEENTRY *lpModule, LPCSTR lpstrName);
-BOOL    ModuleFindHandle(MODULEENTRY *lpModule, HMODULE hModule);
+BOOL16 ModuleFirst(MODULEENTRY *lpModule);
+BOOL16 ModuleNext(MODULEENTRY *lpModule);
+BOOL16 ModuleFindName(MODULEENTRY *lpModule, LPCSTR lpstrName);
+BOOL16 ModuleFindHandle(MODULEENTRY *lpModule, HMODULE16 hModule);
 
 /* tasks */
 
-typedef struct tagTASKENTRY {
-	DWORD dwSize;
-	HTASK hTask;
-	HTASK hTaskParent;
-	HINSTANCE hInst;
-	HMODULE hModule;
-	WORD wSS;
-	WORD wSP;
-	WORD wStackTop;
-	WORD wStackMinimum;
-	WORD wStackBottom;
-	WORD wcEvents;
-	HGLOBAL hQueue;
-	char szModule[MAX_MODULE_NAME + 1];
-	WORD wPSPOffset;
-	HANDLE hNext;
-} TASKENTRY;
-typedef TASKENTRY *LPTASKENTRY;
+typedef struct
+{
+    DWORD        dwSize;
+    HTASK16      hTask;
+    HTASK16      hTaskParent;
+    HINSTANCE16  hInst;
+    HMODULE16    hModule;
+    WORD         wSS;
+    WORD         wSP;
+    WORD         wStackTop;
+    WORD         wStackMinimum;
+    WORD         wStackBottom;
+    WORD         wcEvents;
+    HGLOBAL16    hQueue;
+    char         szModule[MAX_MODULE_NAME + 1];
+    WORD         wPSPOffset;
+    HANDLE16     hNext;
+} TASKENTRY, *LPTASKENTRY;
 
-BOOL	TaskFirst(LPTASKENTRY lpTask);
-BOOL	TaskNext(LPTASKENTRY lpTask);
-BOOL	TaskFindHandle(LPTASKENTRY lpTask, HTASK hTask);
-DWORD	TaskSetCSIP(HTASK hTask, WORD wCS, WORD wIP);
-DWORD	TaskGetCSIP(HTASK hTask);
-BOOL	TaskSwitch(HTASK hTask, DWORD dwNewCSIP);
+BOOL16 TaskFirst(LPTASKENTRY lpTask);
+BOOL16 TaskNext(LPTASKENTRY lpTask);
+BOOL16 TaskFindHandle(LPTASKENTRY lpTask, HTASK16 hTask);
+DWORD TaskSetCSIP(HTASK16 hTask, WORD wCS, WORD wIP);
+DWORD TaskGetCSIP(HTASK16 hTask);
+BOOL16 TaskSwitch(HTASK16 hTask, DWORD dwNewCSIP);
 
 /* mem info */
 
@@ -221,15 +221,15 @@
 
 typedef struct
 {
-    DWORD   dwSize;
-    WORD    wUserFreePercent;
-    WORD    wGDIFreePercent;
-    HGLOBAL hUserSegment;
-    HGLOBAL hGDISegment;
+    DWORD     dwSize;
+    WORD      wUserFreePercent;
+    WORD      wGDIFreePercent;
+    HGLOBAL16 hUserSegment;
+    HGLOBAL16 hGDISegment;
 } SYSHEAPINFO;
 
-BOOL MemManInfo(LPMEMMANINFO lpEnhMode);
-BOOL SystemHeapInfo( SYSHEAPINFO *pHeapInfo );
+BOOL16 MemManInfo(LPMEMMANINFO lpEnhMode);
+BOOL16 SystemHeapInfo( SYSHEAPINFO *pHeapInfo );
 
 /* timer info */
 
@@ -239,20 +239,20 @@
 	DWORD dwmsThisVM;
 } TIMERINFO;
 
-BOOL TimerCount( TIMERINFO *pTimerInfo );
+BOOL16 TimerCount( TIMERINFO *pTimerInfo );
 
 /* Window classes */
 
 typedef struct
 {
     DWORD     dwSize;
-    HMODULE   hInst;              /* This is really an hModule */
+    HMODULE16 hInst;              /* This is really an hModule */
     char      szClassName[MAX_CLASSNAME + 1];
-    HANDLE    wNext;
+    HANDLE16  wNext;
 } CLASSENTRY;
 
-BOOL ClassFirst( CLASSENTRY *pClassEntry );
-BOOL ClassNext( CLASSENTRY *pClassEntry );
+BOOL16 ClassFirst( CLASSENTRY *pClassEntry );
+BOOL16 ClassNext( CLASSENTRY *pClassEntry );
 
 
 /* Memory read/write */
@@ -267,7 +267,7 @@
 #define NF_TASKSWITCH	1	/* get taskswitch information */
 #define NF_RIP		2	/* get debugerrors of system */
 
-BOOL NotifyRegister(HTASK htask,FARPROC lpfnCallback,WORD wFlags);
+BOOL16 NotifyRegister(HTASK16 htask,FARPROC16 lpfnCallback,WORD wFlags);
 
 #define NFY_UNKNOWN	0
 #define NFY_LOADSEG	1
@@ -285,10 +285,10 @@
 /* called when loading/starting a DLL */
 #define NFY_STARTDLL	3
 struct {
-	DWORD	dwSize;
-	HMODULE	hModule;
-	WORD	wCS;
-	WORD	wIP;
+    DWORD      dwSize;
+    HMODULE16  hModule;
+    WORD       wCS;
+    WORD       wIP;
 } NFYSTARTDLL;
 
 /* called when starting a task. dwData is CS:IP */
@@ -331,16 +331,16 @@
 #define NFY_LOGERROR	12
 struct {
 	DWORD	dwSize;
-	UINT	wErrCode;
+	UINT16	wErrCode;
 	VOID   *lpInfo; /* depends on wErrCode */
 } NFYLOGERROR;
 
 /* called for parameter errors? */
 #define NFY_LOGPARAMERROR	13
 struct {
-	DWORD	dwSize;
-	UINT	wErrCode;
-	FARPROC	lpfnErrorAddr;
-	void  **lpBadParam;
+    DWORD       dwSize;
+    UINT16      wErrCode;
+    FARPROC16   lpfnErrorAddr;
+    void      **lpBadParam;
 } NFYLOGPARAMERROR;
 #endif /* __TOOLHELP_H */