Skip to content
Snippets Groups Projects
Forked from wine / wine
175892 commits behind the upstream repository.
  • Alexandre Julliard's avatar
    f90efa9c
    Release 980614 · f90efa9c
    Alexandre Julliard authored
    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 Strmberg <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.
    f90efa9c
    History
    Release 980614
    Alexandre Julliard authored
    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 Strmberg <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.
winbase.h 6.42 KiB
#ifndef __WINE_WINBASE_H
#define __WINE_WINBASE_H

#include "windows.h"

#define WAIT_FAILED		0xffffffff
#define WAIT_OBJECT_0		0
#define WAIT_ABANDONED		STATUS_ABANDONED_WAIT_0
#define WAIT_ABANDONED_0	STATUS_ABANDONED_WAIT_0
#define WAIT_TIMEOUT		STATUS_TIMEOUT

#define	PAGE_NOACCESS		0x01
#define	PAGE_READONLY		0x02
#define	PAGE_READWRITE		0x04
#define	PAGE_WRITECOPY		0x08
#define	PAGE_EXECUTE		0x10
#define	PAGE_EXECUTE_READ	0x20
#define	PAGE_EXECUTE_READWRITE	0x40
#define	PAGE_EXECUTE_WRITECOPY	0x80
#define	PAGE_GUARD		0x100
#define	PAGE_NOCACHE		0x200

#define MEM_COMMIT              0x00001000
#define MEM_RESERVE             0x00002000
#define MEM_DECOMMIT            0x00004000
#define MEM_RELEASE             0x00008000
#define MEM_FREE                0x00010000
#define MEM_PRIVATE             0x00020000
#define MEM_MAPPED              0x00040000
#define MEM_TOP_DOWN            0x00100000

#define SEC_FILE                0x00800000
#define SEC_IMAGE               0x01000000
#define SEC_RESERVE             0x04000000
#define SEC_COMMIT              0x08000000
#define SEC_NOCACHE             0x10000000

#define FILE_BEGIN              0
#define FILE_CURRENT            1
#define FILE_END                2

#define FILE_CASE_SENSITIVE_SEARCH      0x00000001
#define FILE_CASE_PRESERVED_NAMES       0x00000002
#define FILE_UNICODE_ON_DISK            0x00000004
#define FILE_PERSISTENT_ACLS            0x00000008

#define FILE_MAP_COPY                   0x00000001
#define FILE_MAP_WRITE                  0x00000002
#define FILE_MAP_READ                   0x00000004
#define FILE_MAP_ALL_ACCESS             0x000f001f

#define MOVEFILE_REPLACE_EXISTING       0x00000001
#define MOVEFILE_COPY_ALLOWED           0x00000002
#define MOVEFILE_DELAY_UNTIL_REBOOT     0x00000004

#define FS_CASE_SENSITIVE               FILE_CASE_SENSITIVE_SEARCH
#define FS_CASE_IS_PRESERVED            FILE_CASE_PRESERVED_NAMES
#define FS_UNICODE_STORED_ON_DISK       FILE_UNICODE_ON_DISK


#define STATUS_SUCCESS                   0x00000000
#define STATUS_WAIT_0                    0x00000000    
#define STATUS_ABANDONED_WAIT_0          0x00000080    
#define STATUS_USER_APC                  0x000000C0    
#define STATUS_TIMEOUT                   0x00000102    
#define STATUS_PENDING                   0x00000103    
#define STATUS_GUARD_PAGE_VIOLATION      0x80000001    
#define STATUS_DATATYPE_MISALIGNMENT     0x80000002    
#define STATUS_BREAKPOINT                0x80000003    
#define STATUS_SINGLE_STEP               0x80000004    
#define	STATUS_BUFFER_OVERFLOW           0x80000005
#define STATUS_ACCESS_VIOLATION          0xC0000005    
#define STATUS_IN_PAGE_ERROR             0xC0000006    
#define STATUS_INVALID_PARAMETER         0xC000000D
#define STATUS_NO_MEMORY                 0xC0000017    
#define STATUS_ILLEGAL_INSTRUCTION       0xC000001D    
#define	STATUS_BUFFER_TOO_SMALL          0xC0000023
#define STATUS_NONCONTINUABLE_EXCEPTION  0xC0000025    
#define STATUS_INVALID_DISPOSITION       0xC0000026    
#define	STATUS_UNKNOWN_REVISION          0xC0000058
#define	STATUS_INVALID_SECURITY_DESCR    0xC0000079
#define STATUS_ARRAY_BOUNDS_EXCEEDED     0xC000008C    
#define STATUS_FLOAT_DENORMAL_OPERAND    0xC000008D    
#define STATUS_FLOAT_DIVIDE_BY_ZERO      0xC000008E    
#define STATUS_FLOAT_INEXACT_RESULT      0xC000008F    
#define STATUS_FLOAT_INVALID_OPERATION   0xC0000090    
#define STATUS_FLOAT_OVERFLOW            0xC0000091    
#define STATUS_FLOAT_STACK_CHECK         0xC0000092    
#define STATUS_FLOAT_UNDERFLOW           0xC0000093    
#define STATUS_INTEGER_DIVIDE_BY_ZERO    0xC0000094    
#define STATUS_INTEGER_OVERFLOW          0xC0000095    
#define STATUS_PRIVILEGED_INSTRUCTION    0xC0000096    
#define	STATUS_INVALID_PARAMETER_2       0xC00000F0
#define STATUS_STACK_OVERFLOW            0xC00000FD    
#define STATUS_CONTROL_C_EXIT            0xC000013A    

#define DUPLICATE_CLOSE_SOURCE		0x00000001
#define DUPLICATE_SAME_ACCESS		0x00000002

#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;
} exception;

typedef struct 
{
  int pad[39];
  int edi;
  int esi;
  int ebx;
  int edx;
  int ecx;
  int eax;

  int ebp;
  int eip;
  int cs;
  int eflags;
  int esp;
  int ss;
} exception_info;

/* Could this type be considered opaque? */
typedef struct {
	LPVOID	DebugInfo;
	LONG LockCount;
	LONG RecursionCount;
	HANDLE32 OwningThread;
	HANDLE32 LockSemaphore;
	DWORD Reserved;
}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;
	DWORD dwBuildNumber;
	DWORD dwPlatformId;
	CHAR szCSDVersion[128];
} OSVERSIONINFO32A;

typedef struct {
	DWORD dwOSVersionInfoSize;
	DWORD dwMajorVersion;
	DWORD dwMinorVersion;
	DWORD dwBuildNumber;
	DWORD dwPlatformId;
	WCHAR szCSDVersion[128];
} OSVERSIONINFO32W;

DECL_WINELIB_TYPE_AW(OSVERSIONINFO)

#define VER_PLATFORM_WIN32s             0
#define VER_PLATFORM_WIN32_WINDOWS      1
#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)

/*int WinMain(HINSTANCE, HINSTANCE prev, char *cmd, int show);*/

void      WINAPI DeleteCriticalSection(CRITICAL_SECTION *lpCrit);
void      WINAPI EnterCriticalSection(CRITICAL_SECTION *lpCrit);
void      WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCrit);
void      WINAPI LeaveCriticalSection(CRITICAL_SECTION *lpCrit);
HANDLE32  WINAPI OpenProcess(DWORD access, BOOL32 inherit, DWORD id);
void      WINAPI RaiseException(DWORD,DWORD,DWORD,const LPDWORD);
int       WINAPI TerminateProcess(HANDLE32 h, int ret);

#endif  /* __WINE_WINBASE_H */