Skip to content
Snippets Groups Projects
Commit 2ace16ac authored by Alexandre Julliard's avatar Alexandre Julliard
Browse files

Release 960428

Sun Apr 28 14:32:43 1996  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [Makefile.in]
	Subdir memory is now also compiled for Winelib, in order to get
	the Win32 heap functions.

	* [if1632/Makefile.in]
	Renamed winprocs and winprocs32 to wprocs and wprocs32 to avoid
	DLL names > 8 characters.

	* [loader/builtin.c] (New file)
	Grouped all built-in DLLs code in a single file.

	* [memory/global.c]
	Use the Win32 heap code instead of malloc() to allocate linear
	memory. This will help test the heap code.

	* [memory/local.c]
	Fixed FreeSelector() to clear DS and ES correctly for huge blocks.

	* [tools/build.c] [if1632/relay.c]
	Removed 'id' directive in spec files. For relay debugging, the DLL
	entry point is now computed from the CS:IP entry point address.
	Added 'heap' directive to specifiy a local heap for the DLL. USER
	and GDI heap are now created this way.

	* [windows/class.c] [include/class.h]
	Changed the class structure to use pointers instead of handles.
	Changed Get/SetClassWord/Long to use a switch statement; this
	allows changing the layout of the CLASS structure.

	* [windows/win.c] [include/win.h]
	Use a CLASS * instead of a handle for the window class.

Sat Apr 27 18:10:11 Martin von Loewis <loewis@informatik.hu-berlin.de>

	* [if1632/kernel32.spec] [memory/global.c]
	  [win32/memory.c] [win32/process.c]
	GetProcessAffinityMask,GlobalLock,IsBadReadPtr,IsBadWritePtr,
	LocalLock,SetThreadAffinityMask: new relays.

	* [win32/cursoricon32.c]
	Return same handle if a cursor is loaded multiple times.

Sat Apr 27 15:13:37 1996  Bang Jun Young <bangjy@nownuri.nowcom.co.kr>

	* [resources/sysres_Ko.rc]
        Added support for Korean [Ko] language.

Fri Apr 26 00:49:05 1996  Huw D. M. Davies <h.davies1@physics.oxford.ac.uk>

	* [objects/dc.c] [objects/font.c]
	Fixed problem with SaveDC()/RestoreDC() and font cache 'used' count.

	* [objects/metafile.c] [objects/dcvalues.c]
	Fixed broken SetTextAlign() on metafiles.

	* [objects/metafile.c]
	Delete objects in handle table at end of PlayMetaFile().

Wed Apr 24 19:21:01  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [if1632/ver.spec] [misc/ver.c] [include/ver.h] (New files)
	VER.DLL (partially) implemented (VerFindFile,VerInstallFile)
	[If it doesn't work for you, use -dll -ver and report it to me]

	* [if1632/user32.spec] [if1632/kernel32.spec] [if1632/shell.spec]
	  [if1632/shell32.spec] [misc/ole2nls.c] [windows/message.c]
	  [windows/graphics.c]
	Simple win32 functions, where we can just use the win16 counterpart.
	Misc. stubs. 

	* [misc/lstr.c]
	Someone reported a _lstrlen(NULL). NULL is a valid argument. Fixed.

	* [misc/registry.c]
	Some alloclens were off by 1, one double fclose() fixed.
	Requesting value 0 of a key with no values returns an error 
	(should we always return a made up value NULL? what does win3.1?)

Tue Apr 23 17:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>

	* [misc/shell.c]
	Implemented FindEnvironmentString(), DoEnvironmentSubst(),
	ExtractIcon(), InternalExtractIcon() and ExtractAssociatedIcon().

	* [misc/user.c]
	Do extensive cleanup on application exit.

	* [windows/hook.c] [windows/win.c] [windows/class.c]
	Added miscellaneous cleanup routines.

	* [controls/menu.c]
	More efficient popup menu window handling.

Mon Apr 22 21:35:22 1996  Albrecht Kleine  <kleine@ak.sax.de>

	* [include/windows.h][objects/oembitmap.c][include/bitmaps/obm_trtype]
	Added "TT-bitmap" for later usage in a ChooseFont() ownerdraw combobox.
parent cdcdede2
No related merge requests found
This is release 960421 of Wine the MS Windows emulator. This is still a This is release 960428 of Wine the MS Windows emulator. This is still a
developer's only release. There are many bugs and many unimplemented API developer's only release. There are many bugs and many unimplemented API
features. Most applications still do not work. features. Most applications still do not work.
Patches should be submitted to "julliard@lrc.epfl.ch". Please don't Patches should be submitted to "julliard@lrc.epfl.ch". Please don't
forget to include a ChangeLog entry. forget to include a ChangeLog entry.
WHAT'S NEW with Wine-960421: (see ChangeLog for details) WHAT'S NEW with Wine-960428: (see ChangeLog for details)
- Preliminary support for W32SYS.DLL. - Preliminary support for VER.DLL.
- Built-in COMMDLG improvements. - Suuport for Korean [Ko] language.
- New format and location for registry files. - More Win32 functions.
- Window refresh optimized.
- Lots of bug fixes. - Lots of bug fixes.
See the README file in the distribution for installation instructions. See the README file in the distribution for installation instructions.
...@@ -18,10 +17,10 @@ Because of lags created by using mirror, this message may reach you before ...@@ -18,10 +17,10 @@ Because of lags created by using mirror, this message may reach you before
the release is available at the ftp sites. The sources will be available the release is available at the ftp sites. The sources will be available
from the following locations: from the following locations:
sunsite.unc.edu:/pub/Linux/ALPHA/wine/development/Wine-960421.tar.gz sunsite.unc.edu:/pub/Linux/ALPHA/wine/development/Wine-960428.tar.gz
tsx-11.mit.edu:/pub/linux/ALPHA/Wine/development/Wine-960421.tar.gz tsx-11.mit.edu:/pub/linux/ALPHA/Wine/development/Wine-960428.tar.gz
ftp.infomagic.com:/pub/mirrors/linux/wine/development/Wine-960421.tar.gz ftp.infomagic.com:/pub/mirrors/linux/wine/development/Wine-960428.tar.gz
aris.com:/pub/linux/ALPHA/Wine/development/Wine-960421.tar.gz aris.com:/pub/linux/ALPHA/Wine/development/Wine-960428.tar.gz
It should also be available from any site that mirrors tsx-11 or sunsite. It should also be available from any site that mirrors tsx-11 or sunsite.
......
----------------------------------------------------------------------
Sun Apr 28 14:32:43 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [Makefile.in]
Subdir memory is now also compiled for Winelib, in order to get
the Win32 heap functions.
* [if1632/Makefile.in]
Renamed winprocs and winprocs32 to wprocs and wprocs32 to avoid
DLL names > 8 characters.
* [loader/builtin.c] (New file)
Grouped all built-in DLLs code in a single file.
* [memory/global.c]
Use the Win32 heap code instead of malloc() to allocate linear
memory. This will help test the heap code.
* [memory/local.c]
Fixed FreeSelector() to clear DS and ES correctly for huge blocks.
* [tools/build.c] [if1632/relay.c]
Removed 'id' directive in spec files. For relay debugging, the DLL
entry point is now computed from the CS:IP entry point address.
Added 'heap' directive to specifiy a local heap for the DLL. USER
and GDI heap are now created this way.
* [windows/class.c] [include/class.h]
Changed the class structure to use pointers instead of handles.
Changed Get/SetClassWord/Long to use a switch statement; this
allows changing the layout of the CLASS structure.
* [windows/win.c] [include/win.h]
Use a CLASS * instead of a handle for the window class.
Sat Apr 27 18:10:11 Martin von Loewis <loewis@informatik.hu-berlin.de>
* [if1632/kernel32.spec] [memory/global.c]
[win32/memory.c] [win32/process.c]
GetProcessAffinityMask,GlobalLock,IsBadReadPtr,IsBadWritePtr,
LocalLock,SetThreadAffinityMask: new relays.
* [win32/cursoricon32.c]
Return same handle if a cursor is loaded multiple times.
Sat Apr 27 15:13:37 1996 Bang Jun Young <bangjy@nownuri.nowcom.co.kr>
* [resources/sysres_Ko.rc]
Added support for Korean [Ko] language.
Fri Apr 26 00:49:05 1996 Huw D. M. Davies <h.davies1@physics.oxford.ac.uk>
* [objects/dc.c] [objects/font.c]
Fixed problem with SaveDC()/RestoreDC() and font cache 'used' count.
* [objects/metafile.c] [objects/dcvalues.c]
Fixed broken SetTextAlign() on metafiles.
* [objects/metafile.c]
Delete objects in handle table at end of PlayMetaFile().
Wed Apr 24 19:21:01 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [if1632/ver.spec] [misc/ver.c] [include/ver.h] (New files)
VER.DLL (partially) implemented (VerFindFile,VerInstallFile)
[If it doesn't work for you, use -dll -ver and report it to me]
* [if1632/user32.spec] [if1632/kernel32.spec] [if1632/shell.spec]
[if1632/shell32.spec] [misc/ole2nls.c] [windows/message.c]
[windows/graphics.c]
Simple win32 functions, where we can just use the win16 counterpart.
Misc. stubs.
* [misc/lstr.c]
Someone reported a _lstrlen(NULL). NULL is a valid argument. Fixed.
* [misc/registry.c]
Some alloclens were off by 1, one double fclose() fixed.
Requesting value 0 of a key with no values returns an error
(should we always return a made up value NULL? what does win3.1?)
Tue Apr 23 17:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [misc/shell.c]
Implemented FindEnvironmentString(), DoEnvironmentSubst(),
ExtractIcon(), InternalExtractIcon() and ExtractAssociatedIcon().
* [misc/user.c]
Do extensive cleanup on application exit.
* [windows/hook.c] [windows/win.c] [windows/class.c]
Added miscellaneous cleanup routines.
* [controls/menu.c]
More efficient popup menu window handling.
Mon Apr 22 21:35:22 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/windows.h][objects/oembitmap.c][include/bitmaps/obm_trtype]
Added "TT-bitmap" for later usage in a ChooseFont() ownerdraw combobox.
---------------------------------------------------------------------- ----------------------------------------------------------------------
Sat Apr 20 23:23:16 1996 Robert Pouliot <krynos@qbc.clic.net> Sat Apr 20 23:23:16 1996 Robert Pouliot <krynos@qbc.clic.net>
......
...@@ -53,6 +53,7 @@ COMMONSUBDIRS = \ ...@@ -53,6 +53,7 @@ COMMONSUBDIRS = \
files \ files \
ipc \ ipc \
loader \ loader \
memory \
misc \ misc \
multimedia \ multimedia \
objects \ objects \
...@@ -65,7 +66,6 @@ EMUSUBDIRS = \ ...@@ -65,7 +66,6 @@ EMUSUBDIRS = \
debugger \ debugger \
debugger/readline \ debugger/readline \
if1632 \ if1632 \
memory \
miscemu miscemu
LIBSUBDIRS = library LIBSUBDIRS = library
...@@ -79,6 +79,7 @@ COMMONOBJS = \ ...@@ -79,6 +79,7 @@ COMMONOBJS = \
files/files.o \ files/files.o \
ipc/ipc.o \ ipc/ipc.o \
loader/loader.o \ loader/loader.o \
memory/memory.o \
misc/misc.o \ misc/misc.o \
multimedia/multimedia.o \ multimedia/multimedia.o \
objects/objects.o \ objects/objects.o \
...@@ -90,7 +91,6 @@ EMUOBJS = \ ...@@ -90,7 +91,6 @@ EMUOBJS = \
debugger/debugger.o \ debugger/debugger.o \
debugger/readline/readline.o \ debugger/readline/readline.o \
if1632/if1632.o \ if1632/if1632.o \
memory/memory.o \
miscemu/miscemu.o miscemu/miscemu.o
LIBOBJS = library/library.o LIBOBJS = library/library.o
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include "windows.h" #include "windows.h"
#include "syscolor.h" #include "syscolor.h"
#include "sysmetrics.h" #include "sysmetrics.h"
#include "task.h"
#include "win.h" #include "win.h"
#include "menu.h" #include "menu.h"
#include "module.h" #include "module.h"
...@@ -65,6 +66,12 @@ extern void NC_DrawSysButton(HWND hwnd, HDC hdc, BOOL down); /* nonclient.c */ ...@@ -65,6 +66,12 @@ extern void NC_DrawSysButton(HWND hwnd, HDC hdc, BOOL down); /* nonclient.c */
static HBITMAP hStdCheck = 0; static HBITMAP hStdCheck = 0;
static HBITMAP hStdMnArrow = 0; static HBITMAP hStdMnArrow = 0;
/* we _can_ use global popup window because there's no way 2 menues can
* be tracked at the same time.
*/
static WND* pTopPWnd = 0;
static UINT uSubPWndLevel = 0;
/*********************************************************************** /***********************************************************************
* MENU_Init * MENU_Init
...@@ -678,6 +685,23 @@ UINT MENU_DrawMenuBar(HDC hDC, LPRECT lprect, HWND hwnd, BOOL suppress_draw) ...@@ -678,6 +685,23 @@ UINT MENU_DrawMenuBar(HDC hDC, LPRECT lprect, HWND hwnd, BOOL suppress_draw)
return lppop->Height; return lppop->Height;
} }
/***********************************************************************
* MENU_SwitchTPWndTo
*/
BOOL MENU_SwitchTPWndTo( HTASK hTask)
{
/* This is supposed to be called when popup is hidden */
TDB* task = (TDB*)GlobalLock(hTask);
if( !task ) return 0;
/* if this task got as far as menu tracking it must have a queue */
pTopPWnd->hInstance = task->hInstance;
pTopPWnd->hmemTaskQ = task->hQueue;
return 1;
}
/*********************************************************************** /***********************************************************************
* MENU_ShowPopup * MENU_ShowPopup
...@@ -686,7 +710,9 @@ UINT MENU_DrawMenuBar(HDC hDC, LPRECT lprect, HWND hwnd, BOOL suppress_draw) ...@@ -686,7 +710,9 @@ UINT MENU_DrawMenuBar(HDC hDC, LPRECT lprect, HWND hwnd, BOOL suppress_draw)
*/ */
static BOOL MENU_ShowPopup(HWND hwndOwner, HMENU hmenu, UINT id, int x, int y) static BOOL MENU_ShowPopup(HWND hwndOwner, HMENU hmenu, UINT id, int x, int y)
{ {
POPUPMENU *menu; POPUPMENU *menu;
WND *wndPtr = NULL;
BOOL skip_init = 0;
if (!(menu = (POPUPMENU *) USER_HEAP_LIN_ADDR( hmenu ))) return FALSE; if (!(menu = (POPUPMENU *) USER_HEAP_LIN_ADDR( hmenu ))) return FALSE;
if (menu->FocusedItem != NO_SELECTED_ITEM) if (menu->FocusedItem != NO_SELECTED_ITEM)
...@@ -698,21 +724,47 @@ static BOOL MENU_ShowPopup(HWND hwndOwner, HMENU hmenu, UINT id, int x, int y) ...@@ -698,21 +724,47 @@ static BOOL MENU_ShowPopup(HWND hwndOwner, HMENU hmenu, UINT id, int x, int y)
SendMessage( hwndOwner, WM_INITMENUPOPUP, (WPARAM)hmenu, SendMessage( hwndOwner, WM_INITMENUPOPUP, (WPARAM)hmenu,
MAKELONG( id, (menu->wFlags & MF_SYSMENU) ? 1 : 0 )); MAKELONG( id, (menu->wFlags & MF_SYSMENU) ? 1 : 0 ));
MENU_PopupMenuCalcSize( menu, hwndOwner ); MENU_PopupMenuCalcSize( menu, hwndOwner );
if (!menu->hWnd)
{ wndPtr = WIN_FindWndPtr( hwndOwner );
WND *wndPtr = WIN_FindWndPtr( hwndOwner ); if (!wndPtr) return FALSE;
if (!wndPtr) return FALSE;
menu->hWnd = CreateWindow( POPUPMENU_CLASS_ATOM, (SEGPTR)0, if (!pTopPWnd)
WS_POPUP | WS_BORDER, x, y, {
menu->Width + 2*SYSMETRICS_CXBORDER, pTopPWnd = WIN_FindWndPtr(CreateWindow( POPUPMENU_CLASS_ATOM, (SEGPTR)0,
menu->Height + 2*SYSMETRICS_CYBORDER, WS_POPUP | WS_BORDER, x, y,
0, 0, wndPtr->hInstance, (SEGPTR)hmenu ); menu->Width + 2*SYSMETRICS_CXBORDER,
if (!menu->hWnd) return FALSE; menu->Height + 2*SYSMETRICS_CYBORDER,
} 0, 0, wndPtr->hInstance, (SEGPTR)hmenu ));
else SetWindowPos( menu->hWnd, 0, x, y, if (!pTopPWnd) return FALSE;
menu->Width + 2*SYSMETRICS_CXBORDER, skip_init = TRUE;
menu->Height + 2*SYSMETRICS_CYBORDER, }
SWP_NOACTIVATE | SWP_NOZORDER );
if( uSubPWndLevel )
{
/* create new window for the submenu */
HWND hWnd = CreateWindow( POPUPMENU_CLASS_ATOM, (SEGPTR)0,
WS_POPUP | WS_BORDER, x, y,
menu->Width + 2*SYSMETRICS_CXBORDER,
menu->Height + 2*SYSMETRICS_CYBORDER,
menu->hWnd, 0, wndPtr->hInstance, (SEGPTR)hmenu );
if( !hWnd ) return FALSE;
menu->hWnd = hWnd;
}
else
{
if( !skip_init )
{
MENU_SwitchTPWndTo(GetCurrentTask());
SendMessage( pTopPWnd->hwndSelf, WM_USER, (WPARAM)hmenu, 0L);
}
menu->hWnd = pTopPWnd->hwndSelf;
}
uSubPWndLevel++;
SetWindowPos(menu->hWnd, 0, x, y, menu->Width + 2*SYSMETRICS_CXBORDER,
menu->Height + 2*SYSMETRICS_CYBORDER,
SWP_NOACTIVATE | SWP_NOZORDER );
/* Display the window */ /* Display the window */
...@@ -1095,7 +1147,16 @@ static void MENU_HideSubPopups( HWND hwndOwner, HMENU hmenu ) ...@@ -1095,7 +1147,16 @@ static void MENU_HideSubPopups( HWND hwndOwner, HMENU hmenu )
} }
submenu = (POPUPMENU *) USER_HEAP_LIN_ADDR( hsubmenu ); submenu = (POPUPMENU *) USER_HEAP_LIN_ADDR( hsubmenu );
MENU_HideSubPopups( hwndOwner, hsubmenu ); MENU_HideSubPopups( hwndOwner, hsubmenu );
if (submenu->hWnd) ShowWindow( submenu->hWnd, SW_HIDE ); if (submenu->hWnd == pTopPWnd->hwndSelf )
{
ShowWindow( submenu->hWnd, SW_HIDE );
uSubPWndLevel = 0;
}
else
{
DestroyWindow( submenu->hWnd );
submenu->hWnd = 0;
}
MENU_SelectItem( hwndOwner, hsubmenu, NO_SELECTED_ITEM ); MENU_SelectItem( hwndOwner, hsubmenu, NO_SELECTED_ITEM );
} }
...@@ -1596,7 +1657,11 @@ static BOOL MENU_TrackMenu( HMENU hmenu, UINT wFlags, int x, int y, ...@@ -1596,7 +1657,11 @@ static BOOL MENU_TrackMenu( HMENU hmenu, UINT wFlags, int x, int y,
USER_HEAP_FREE( hMsg ); USER_HEAP_FREE( hMsg );
ReleaseCapture(); ReleaseCapture();
MENU_HideSubPopups( hwnd, hmenu ); MENU_HideSubPopups( hwnd, hmenu );
if (menu->wFlags & MF_POPUP) ShowWindow( menu->hWnd, SW_HIDE ); if (menu->wFlags & MF_POPUP)
{
ShowWindow( menu->hWnd, SW_HIDE );
uSubPWndLevel = 0;
}
MENU_SelectItem( hwnd, hmenu, NO_SELECTED_ITEM ); MENU_SelectItem( hwnd, hmenu, NO_SELECTED_ITEM );
SendMessage( hwnd, WM_MENUSELECT, 0, MAKELONG( 0xffff, 0 ) ); SendMessage( hwnd, WM_MENUSELECT, 0, MAKELONG( 0xffff, 0 ) );
fEndMenuCalled = FALSE; fEndMenuCalled = FALSE;
...@@ -1743,6 +1808,25 @@ LRESULT PopupMenuWndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) ...@@ -1743,6 +1808,25 @@ LRESULT PopupMenuWndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
return 0; return 0;
} }
case WM_DESTROY:
/* zero out global pointer in case system popup
* was destroyed by AppExit
*/
if( hwnd == pTopPWnd->hwndSelf )
pTopPWnd = 0;
else
uSubPWndLevel--;
break;
case WM_USER:
if( wParam )
#ifdef WINELIB32
SetWindowLong( hwnd, 0, (HMENU)wParam );
#else
SetWindowWord( hwnd, 0, (HMENU)wParam );
#endif
break;
default: default:
return DefWindowProc(hwnd, message, wParam, lParam); return DefWindowProc(hwnd, message, wParam, lParam);
} }
...@@ -2139,7 +2223,7 @@ BOOL DestroyMenu(HMENU hMenu) ...@@ -2139,7 +2223,7 @@ BOOL DestroyMenu(HMENU hMenu)
lppop = (LPPOPUPMENU) USER_HEAP_LIN_ADDR(hMenu); lppop = (LPPOPUPMENU) USER_HEAP_LIN_ADDR(hMenu);
if (!lppop || (lppop->wMagic != MENU_MAGIC)) return FALSE; if (!lppop || (lppop->wMagic != MENU_MAGIC)) return FALSE;
lppop->wMagic = 0; /* Mark it as destroyed */ lppop->wMagic = 0; /* Mark it as destroyed */
if ((lppop->wFlags & MF_POPUP) && lppop->hWnd) if ((lppop->wFlags & MF_POPUP) && lppop->hWnd && lppop->hWnd != pTopPWnd->hwndSelf )
DestroyWindow( lppop->hWnd ); DestroyWindow( lppop->hWnd );
if (lppop->hItems) if (lppop->hItems)
......
...@@ -129,7 +129,7 @@ break_command: ...@@ -129,7 +129,7 @@ break_command:
info_command: info_command:
tINFO tBREAK tEOL { DEBUG_InfoBreakpoints(); } tINFO tBREAK tEOL { DEBUG_InfoBreakpoints(); }
| tINFO tCLASS expr tEOL { CLASS_DumpClass( $3 ); } | tINFO tCLASS expr tEOL { CLASS_DumpClass( (CLASS *)$3 ); }
| tINFO tMODULE expr tEOL { MODULE_DumpModule( $3 ); } | tINFO tMODULE expr tEOL { MODULE_DumpModule( $3 ); }
| tINFO tQUEUE expr tEOL { QUEUE_DumpQueue( $3 ); } | tINFO tQUEUE expr tEOL { QUEUE_DumpQueue( $3 ); }
| tINFO tREGS tEOL { DEBUG_InfoRegisters(); } | tINFO tREGS tEOL { DEBUG_InfoRegisters(); }
......
...@@ -71,7 +71,7 @@ void DEBUG_BackTrace(void) ...@@ -71,7 +71,7 @@ void DEBUG_BackTrace(void)
DEBUG_PrintAddress( &addr, 32 ); DEBUG_PrintAddress( &addr, 32 );
fprintf( stderr, "\n" ); fprintf( stderr, "\n" );
addr.off = EBP_reg(DEBUG_context); addr.off = EBP_reg(DEBUG_context);
for (;;) while (addr.off)
{ {
FRAME32 *frame = (FRAME32 *)addr.off; FRAME32 *frame = (FRAME32 *)addr.off;
if (!DBG_CHECK_READ_PTR( &addr, sizeof(FRAME32) )) return; if (!DBG_CHECK_READ_PTR( &addr, sizeof(FRAME32) )) return;
......
...@@ -34,12 +34,13 @@ DLLS = \ ...@@ -34,12 +34,13 @@ DLLS = \
toolhelp.spec \ toolhelp.spec \
user.spec \ user.spec \
user32.spec \ user32.spec \
ver.spec \
w32sys.spec \ w32sys.spec \
win87em.spec \ win87em.spec \
winprocs.spec \
winprocs32.spec \
winsock.spec \ winsock.spec \
winspool.spec winspool.spec \
wprocs.spec \
wprocs32.spec
SPEC_FILES = $(DLLS:.spec=.S) SPEC_FILES = $(DLLS:.spec=.S)
......
name commdlg name commdlg
type win16 type win16
id 14
1 pascal16 GetOpenFileName(ptr) GetOpenFileName 1 pascal16 GetOpenFileName(ptr) GetOpenFileName
2 pascal16 GetSaveFileName(ptr) GetSaveFileName 2 pascal16 GetSaveFileName(ptr) GetSaveFileName
......
name compobj name compobj
type win16 type win16
id 22
1 pascal CoBuildVersion() CoBuildVersion 1 pascal CoBuildVersion() CoBuildVersion
2 pascal CoInitialize(long) CoInitialize 2 pascal CoInitialize(long) CoInitialize
......
name ddeml name ddeml
type win16 type win16
id 25
2 stub DdeInitialize #(ptr segptr long long) DdeInitialize 2 stub DdeInitialize #(ptr segptr long long) DdeInitialize
3 stub DdeUnInitialize #(long) DdeUnInitialize 3 stub DdeUnInitialize #(long) DdeUnInitialize
......
name gdi name gdi
type win16 type win16
id 3 heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
1 pascal SetBkColor(word long) SetBkColor 1 pascal SetBkColor(word long) SetBkColor
2 pascal16 SetBkMode(word word) SetBkMode 2 pascal16 SetBkMode(word word) SetBkMode
......
name kernel name kernel
type win16 type win16
id 1
1 stub FatalExit 1 stub FatalExit
2 stub ExitKernel 2 stub ExitKernel
......
...@@ -31,7 +31,7 @@ base 1 ...@@ -31,7 +31,7 @@ base 1
0026 stub CommConfigDialogA 0026 stub CommConfigDialogA
0027 stub CommConfigDialogW 0027 stub CommConfigDialogW
0028 stub CompareFileTime 0028 stub CompareFileTime
0029 stub CompareStringA 0029 stdcall CompareStringA(long long ptr long ptr long) CompareStringA
0030 stub CompareStringW 0030 stub CompareStringW
0031 stub ConnectNamedPipe 0031 stub ConnectNamedPipe
0032 stub ConsoleMenuControl 0032 stub ConsoleMenuControl
...@@ -231,7 +231,7 @@ base 1 ...@@ -231,7 +231,7 @@ base 1
0226 stub GetLargestConsoleWindowSize 0226 stub GetLargestConsoleWindowSize
0227 stdcall GetLastError() GetLastError 0227 stdcall GetLastError() GetLastError
0228 stdcall GetLocalTime(ptr) GetLocalTime 0228 stdcall GetLocalTime(ptr) GetLocalTime
0229 stub GetLocaleInfoA 0229 stdcall GetLocaleInfoA(long long ptr long) GetLocaleInfoA
0230 stub GetLocaleInfoW 0230 stub GetLocaleInfoW
0231 stub GetLogicalDriveStringsA 0231 stub GetLogicalDriveStringsA
0232 stub GetLogicalDriveStringsW 0232 stub GetLogicalDriveStringsW
...@@ -257,10 +257,10 @@ base 1 ...@@ -257,10 +257,10 @@ base 1
0252 stub GetPrivateProfileIntW 0252 stub GetPrivateProfileIntW
0253 stub GetPrivateProfileSectionA 0253 stub GetPrivateProfileSectionA
0254 stub GetPrivateProfileSectionW 0254 stub GetPrivateProfileSectionW
0255 stub GetPrivateProfileStringA 0255 stdcall GetPrivateProfileStringA(ptr ptr ptr ptr long ptr) GetPrivateProfileString
0256 stub GetPrivateProfileStringW 0256 stub GetPrivateProfileStringW
0257 stdcall GetProcAddress(long long) WIN32_GetProcAddress 0257 stdcall GetProcAddress(long long) WIN32_GetProcAddress
0258 stub GetProcessAffinityMask 0258 stdcall GetProcessAffinityMask(long ptr ptr) GetProcessAffinityMask
0259 stdcall GetProcessHeap() GetProcessHeap 0259 stdcall GetProcessHeap() GetProcessHeap
0260 stub GetProcessHeaps 0260 stub GetProcessHeaps
0261 stub GetProcessShutdownParameters 0261 stub GetProcessShutdownParameters
...@@ -270,7 +270,7 @@ base 1 ...@@ -270,7 +270,7 @@ base 1
0265 stub GetProfileIntW 0265 stub GetProfileIntW
0266 stub GetProfileSectionA 0266 stub GetProfileSectionA
0267 stub GetProfileSectionW 0267 stub GetProfileSectionW
0268 stub GetProfileStringA 0268 stdcall GetProfileStringA(ptr ptr ptr ptr long) GetProfileString
0269 stub GetProfileStringW 0269 stub GetProfileStringW
0270 stub GetQueuedCompletionStatus 0270 stub GetQueuedCompletionStatus
0271 stub GetShortPathNameA 0271 stub GetShortPathNameA
...@@ -282,7 +282,7 @@ base 1 ...@@ -282,7 +282,7 @@ base 1
0277 stub GetStringTypeExA 0277 stub GetStringTypeExA
0278 stub GetStringTypeExW 0278 stub GetStringTypeExW
0279 stub GetStringTypeW 0279 stub GetStringTypeW
0280 stub GetSystemDefaultLCID 0280 stdcall GetSystemDefaultLCID() GetSystemDefaultLCID
0281 stub GetSystemDefaultLangID 0281 stub GetSystemDefaultLangID
0282 stub GetSystemDirectoryA 0282 stub GetSystemDirectoryA
0283 stub GetSystemDirectoryW 0283 stub GetSystemDirectoryW
...@@ -329,7 +329,7 @@ base 1 ...@@ -329,7 +329,7 @@ base 1
0323 stub GlobalGetAtomNameA 0323 stub GlobalGetAtomNameA
0324 stub GlobalGetAtomNameW 0324 stub GlobalGetAtomNameW
0325 stub GlobalHandle 0325 stub GlobalHandle
0326 stub GlobalLock 0326 stdcall GlobalLock(long) GlobalLock32
0327 stub GlobalMemoryStatus 0327 stub GlobalMemoryStatus
0328 stub GlobalReAlloc 0328 stub GlobalReAlloc
0329 stub GlobalSize 0329 stub GlobalSize
...@@ -357,10 +357,10 @@ base 1 ...@@ -357,10 +357,10 @@ base 1
0351 stub IsBadCodePtr 0351 stub IsBadCodePtr
0352 stub IsBadHugeReadPtr 0352 stub IsBadHugeReadPtr
0353 stub IsBadHugeWritePtr 0353 stub IsBadHugeWritePtr
0354 stub IsBadReadPtr 0354 stdcall IsBadReadPtr(ptr long) WIN32_IsBadReadPtr
0355 stub IsBadStringPtrA 0355 stub IsBadStringPtrA
0356 stub IsBadStringPtrW 0356 stub IsBadStringPtrW
0357 stub IsBadWritePtr 0357 stdcall IsBadWritePtr(ptr long) WIN32_IsBadWritePtr
0358 stub IsDBCSLeadByte 0358 stub IsDBCSLeadByte
0359 stub IsDBCSLeadByteEx 0359 stub IsDBCSLeadByteEx
0360 stub IsValidCodePage 0360 stub IsValidCodePage
...@@ -380,7 +380,7 @@ base 1 ...@@ -380,7 +380,7 @@ base 1
0374 stub LocalFlags 0374 stub LocalFlags
0375 stub LocalFree 0375 stub LocalFree
0376 stub LocalHandle 0376 stub LocalHandle
0377 stub LocalLock 0377 stdcall LocalLock(long) GlobalLock32
0378 stub LocalReAlloc 0378 stub LocalReAlloc
0379 stub LocalShrink 0379 stub LocalShrink
0380 stub LocalSize 0380 stub LocalSize
...@@ -502,7 +502,7 @@ base 1 ...@@ -502,7 +502,7 @@ base 1
0496 stub SetLastConsoleEventActive 0496 stub SetLastConsoleEventActive
0497 stdcall SetLastError(long) SetLastError 0497 stdcall SetLastError(long) SetLastError
0498 stub SetLocalTime 0498 stub SetLocalTime
0499 stub SetLocaleInfoA 0499 stdcall SetLocaleInfoA(long long ptr) SetLocaleInfoA
0500 stub SetLocaleInfoW 0500 stub SetLocaleInfoW
0501 stub SetMailslotInfo 0501 stub SetMailslotInfo
0502 stub SetNamedPipeHandleState 0502 stub SetNamedPipeHandleState
...@@ -514,7 +514,7 @@ base 1 ...@@ -514,7 +514,7 @@ base 1
0508 stub SetSystemTimeAdjustment 0508 stub SetSystemTimeAdjustment
0509 stub SetTapeParameters 0509 stub SetTapeParameters
0510 stub SetTapePosition 0510 stub SetTapePosition
0511 stub SetThreadAffinityMask 0511 stdcall SetThreadAffinityMask(long long) SetThreadAffinityMask
0512 stub SetThreadContext 0512 stub SetThreadContext
0513 stub SetThreadLocale 0513 stub SetThreadLocale
0514 stub SetThreadPriority 0514 stub SetThreadPriority
......
name keyboard name keyboard
type win16 type win16
id 7
#1 pascal Inquire #1 pascal Inquire
#2 pascal Enable #2 pascal Enable
......
name lzexpand name lzexpand
type win16 type win16
id 26
1 pascal LZCopy(word word) LZCopy 1 pascal LZCopy(word word) LZCopy
2 pascal16 LZOpenFile(ptr ptr word) LZOpenFile 2 pascal16 LZOpenFile(ptr ptr word) LZOpenFile
......
name mmsystem name mmsystem
type win16 type win16
id 10
#1 pascal MMSYSTEM_WEP(word word word ptr) MMSYSTEM_WEP #1 pascal MMSYSTEM_WEP(word word word ptr) MMSYSTEM_WEP
2 pascal SNDPLAYSOUND(ptr word) sndPlaySound 2 pascal SNDPLAYSOUND(ptr word) sndPlaySound
......
name mouse name mouse
type win16 type win16
id 13
1 stub INQUIRE 1 stub INQUIRE
2 stub ENABLE 2 stub ENABLE
......
name OLE2 name OLE2
type win16 type win16
id 15
1 pascal OleBuildVersion() OleBuildVersion 1 pascal OleBuildVersion() OleBuildVersion
2 pascal OleInitialize(ptr) OleInitialize 2 pascal OleInitialize(ptr) OleInitialize
......
name ole2conv name ole2conv
type win16 type win16
id 16
1 stub GETFILTERINFO 1 stub GETFILTERINFO
2 stub IMPORTGR 2 stub IMPORTGR
......
name ole2disp name ole2disp
type win16 type win16
id 17
1 stub DLLGETCLASSOBJECT 1 stub DLLGETCLASSOBJECT
2 pascal SysAllocString(ptr) SysAllocString 2 pascal SysAllocString(ptr) SysAllocString
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment