kernel32: Make krnl386.exe into a stand-alone 16-bit module.

oldstable
Alexandre Julliard 2009-12-29 16:24:00 +01:00
parent 89df78e2c0
commit 475b7d226c
35 changed files with 582 additions and 389 deletions

1
.gitignore vendored
View File

@ -58,7 +58,6 @@ dlls/kernel32/nls/winerr_nld.mc.rc
dlls/kernel32/nls/winerr_nor.mc.rc dlls/kernel32/nls/winerr_nor.mc.rc
dlls/kernel32/nls/winerr_plk.mc.rc dlls/kernel32/nls/winerr_plk.mc.rc
dlls/kernel32/nls/winerr_ptg.mc.rc dlls/kernel32/nls/winerr_ptg.mc.rc
dlls/krnl386.exe16
dlls/libd3dx9.def dlls/libd3dx9.def
dlls/libwinspool.def dlls/libwinspool.def
dlls/libxinput.def dlls/libxinput.def

9
configure vendored
View File

@ -15121,6 +15121,14 @@ ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
dlls/keyboard.drv16/Makefile: dlls/keyboard.drv16/Makefile.in dlls/Makedll.rules" dlls/keyboard.drv16/Makefile: dlls/keyboard.drv16/Makefile.in dlls/Makedll.rules"
ac_config_files="$ac_config_files dlls/keyboard.drv16/Makefile" ac_config_files="$ac_config_files dlls/keyboard.drv16/Makefile"
ALL_MAKEFILES="$ALL_MAKEFILES \\
dlls/krnl386.exe16/Makefile"
test "x$enable_win16" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
krnl386.exe16"
ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
dlls/krnl386.exe16/Makefile: dlls/krnl386.exe16/Makefile.in dlls/Makedll.rules"
ac_config_files="$ac_config_files dlls/krnl386.exe16/Makefile"
ALL_MAKEFILES="$ALL_MAKEFILES \\ ALL_MAKEFILES="$ALL_MAKEFILES \\
dlls/loadperf/Makefile" dlls/loadperf/Makefile"
test "x$enable_loadperf" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\ test "x$enable_loadperf" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
@ -18924,6 +18932,7 @@ do
"dlls/kernel32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/kernel32/Makefile" ;; "dlls/kernel32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/kernel32/Makefile" ;;
"dlls/kernel32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/kernel32/tests/Makefile" ;; "dlls/kernel32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/kernel32/tests/Makefile" ;;
"dlls/keyboard.drv16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/keyboard.drv16/Makefile" ;; "dlls/keyboard.drv16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/keyboard.drv16/Makefile" ;;
"dlls/krnl386.exe16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/krnl386.exe16/Makefile" ;;
"dlls/loadperf/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/loadperf/Makefile" ;; "dlls/loadperf/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/loadperf/Makefile" ;;
"dlls/localspl/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/localspl/Makefile" ;; "dlls/localspl/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/localspl/Makefile" ;;
"dlls/localspl/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/localspl/tests/Makefile" ;; "dlls/localspl/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/localspl/tests/Makefile" ;;

View File

@ -2305,6 +2305,7 @@ WINE_CONFIG_MAKEFILE([dlls/jscript/tests/Makefile],[dlls/Maketest.rules],[dlls],
WINE_CONFIG_MAKEFILE([dlls/kernel32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/kernel32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/kernel32/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests]) WINE_CONFIG_MAKEFILE([dlls/kernel32/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests])
WINE_CONFIG_MAKEFILE([dlls/keyboard.drv16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS],[enable_win16]) WINE_CONFIG_MAKEFILE([dlls/keyboard.drv16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS],[enable_win16])
WINE_CONFIG_MAKEFILE([dlls/krnl386.exe16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS],[enable_win16])
WINE_CONFIG_MAKEFILE([dlls/loadperf/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/loadperf/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/localspl/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/localspl/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/localspl/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests]) WINE_CONFIG_MAKEFILE([dlls/localspl/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests])

View File

@ -18,7 +18,6 @@ DOCSUBDIRS = $(DLLSUBDIRS)
# 16-bit dlls # 16-bit dlls
WIN16_FILES = \ WIN16_FILES = \
krnl386.exe16 \
wprocs.dll16 wprocs.dll16
@MAKE_RULES@ @MAKE_RULES@
@ -29,9 +28,6 @@ all: $(BUILDSUBDIRS) @WIN16_FILES@
# Placeholders for 16-bit libraries # Placeholders for 16-bit libraries
krnl386.exe16:
echo "kernel32.dll" >$@
wprocs.dll16: wprocs.dll16:
echo "winedos.dll" >$@ echo "winedos.dll" >$@

View File

@ -9,8 +9,6 @@ IMPORTS = ntdll
EXTRALIBS = @COREFOUNDATIONLIB@ @LIBPOLL@ EXTRALIBS = @COREFOUNDATIONLIB@ @LIBPOLL@
EXTRADLLFLAGS = -Wb,-F,KERNEL32.dll -Wl,--image-base,0x7b800000 EXTRADLLFLAGS = -Wb,-F,KERNEL32.dll -Wl,--image-base,0x7b800000
SPEC_SRCS16 = krnl386.exe.spec
C_SRCS = \ C_SRCS = \
actctx.c \ actctx.c \
atom.c \ atom.c \
@ -20,64 +18,38 @@ C_SRCS = \
console.c \ console.c \
cpu.c \ cpu.c \
debugger.c \ debugger.c \
dosmem.c \
editline.c \ editline.c \
environ.c \ environ.c \
except.c \ except.c \
fiber.c \ fiber.c \
file.c \ file.c \
file16.c \
format_msg.c \ format_msg.c \
global16.c \
heap.c \ heap.c \
instr.c \
kernel_main.c \ kernel_main.c \
lcformat.c \ lcformat.c \
local16.c \
locale.c \ locale.c \
lzexpand.c \ lzexpand.c \
module.c \ module.c \
ne_module.c \
ne_segment.c \
oldconfig.c \ oldconfig.c \
path.c \ path.c \
powermgnt.c \ powermgnt.c \
process.c \ process.c \
profile.c \ profile.c \
relay16.c \
resource.c \ resource.c \
resource16.c \
selector.c \
snoop16.c \
string.c \ string.c \
sync.c \ sync.c \
syslevel.c \
tape.c \ tape.c \
task.c \
thread.c \ thread.c \
thunk.c \
time.c \ time.c \
toolhelp.c \ toolhelp.c \
utthunk.c \
version.c \ version.c \
virtual.c \ virtual.c \
volume.c \ volume.c
vxd.c \
wowthunk.c
C_SRCS16 = \
atom16.c \
error16.c \
kernel16.c \
registry16.c
RC_SRCS = \ RC_SRCS = \
locale_rc.rc \ locale_rc.rc \
version.rc version.rc
RC_SRCS16 = \
version16.rc
MC_SRCS = \ MC_SRCS = \
nls/winerr_deu.mc \ nls/winerr_deu.mc \
nls/winerr_enu.mc \ nls/winerr_enu.mc \
@ -90,20 +62,8 @@ MC_SRCS = \
nls/winerr_plk.mc \ nls/winerr_plk.mc \
nls/winerr_ptg.mc nls/winerr_ptg.mc
EXTRA_OBJS = relay16asm.o
EXTRASUBDIRS = nls EXTRASUBDIRS = nls
@MAKE_DLL_RULES@ @MAKE_DLL_RULES@
relay16asm.o: $(WINEBUILD)
$(WINEBUILD) $(WINEBUILDFLAGS) -o $@ --relay16
# Special rules for 16-bit resource and spec files
krnl386.exe.spec.o: krnl386.exe.spec version16.res
$(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --dll-name kernel --main-module $(MODULE) --res version16.res --export $(SRCDIR)/krnl386.exe.spec
version16.res: version16.rc
$(LDPATH) $(RC16) $(RC16FLAGS) -fo$@ $(SRCDIR)/version16.rc
@DEPENDENCIES@ # everything below this line is overwritten by make depend @DEPENDENCIES@ # everything below this line is overwritten by make depend

View File

@ -40,7 +40,6 @@
#include "winternl.h" #include "winternl.h"
#include "winioctl.h" #include "winioctl.h"
#include "wincon.h" #include "wincon.h"
#include "wine/winbase16.h"
#include "kernel_private.h" #include "kernel_private.h"
#include "wine/exception.h" #include "wine/exception.h"
@ -1363,7 +1362,13 @@ HANDLE WINAPI CreateFileW( LPCWSTR filename, DWORD access, DWORD sharing,
options, NULL, 0 ); options, NULL, 0 );
if (status) if (status)
{ {
if (vxd_name && vxd_name[0] && (ret = VXD_Open( vxd_name, access, sa ))) goto done; if (vxd_name && vxd_name[0])
{
static HANDLE (*vxd_open)(LPCWSTR,DWORD,SECURITY_ATTRIBUTES*);
if (!vxd_open) vxd_open = (void *)GetProcAddress( GetModuleHandleA("krnl386.exe16"),
"__wine_vxd_open" );
if (vxd_open && (ret = vxd_open( vxd_name, access, sa ))) goto done;
}
WARN("Unable to create file %s (status %x)\n", debugstr_w(filename), status); WARN("Unable to create file %s (status %x)\n", debugstr_w(filename), status);
ret = INVALID_HANDLE_VALUE; ret = INVALID_HANDLE_VALUE;
@ -2345,7 +2350,13 @@ BOOL WINAPI DeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode,
if (HIWORD( dwIoControlCode ) == 0 && (GetVersion() & 0x80000000)) if (HIWORD( dwIoControlCode ) == 0 && (GetVersion() & 0x80000000))
{ {
DeviceIoProc proc = VXD_get_proc( hDevice ); typedef BOOL (WINAPI *DeviceIoProc)(DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
static DeviceIoProc (*vxd_get_proc)(HANDLE);
DeviceIoProc proc = NULL;
if (!vxd_get_proc) vxd_get_proc = (void *)GetProcAddress( GetModuleHandleA("krnl386.exe16"),
"__wine_vxd_get_proc" );
if (vxd_get_proc) proc = vxd_get_proc( hDevice );
if (proc) return proc( dwIoControlCode, lpvInBuffer, cbInBuffer, if (proc) return proc( dwIoControlCode, lpvInBuffer, cbInBuffer,
lpvOutBuffer, cbOutBuffer, lpcbBytesReturned, lpOverlapped ); lpvOutBuffer, cbOutBuffer, lpcbBytesReturned, lpOverlapped );
} }

View File

@ -8,128 +8,128 @@
# - code generated by the MS Thunk Compiler # - code generated by the MS Thunk Compiler
# - symbols exported by the Oct 94 beta version of kernel32.dll # - symbols exported by the Oct 94 beta version of kernel32.dll
1 stdcall -noname -i386 -register VxDCall0(long) VxDCall 1 stdcall -noname -i386 -register VxDCall0(long) krnl386.exe16.VxDCall0
2 stdcall -noname -i386 -register VxDCall1(long) VxDCall 2 stdcall -noname -i386 -register VxDCall1(long) krnl386.exe16.VxDCall1
3 stdcall -noname -i386 -register VxDCall2(long) VxDCall 3 stdcall -noname -i386 -register VxDCall2(long) krnl386.exe16.VxDCall2
4 stdcall -noname -i386 -register VxDCall3(long) VxDCall 4 stdcall -noname -i386 -register VxDCall3(long) krnl386.exe16.VxDCall3
5 stdcall -noname -i386 -register VxDCall4(long) VxDCall 5 stdcall -noname -i386 -register VxDCall4(long) krnl386.exe16.VxDCall4
6 stdcall -noname -i386 -register VxDCall5(long) VxDCall 6 stdcall -noname -i386 -register VxDCall5(long) krnl386.exe16.VxDCall5
7 stdcall -noname -i386 -register VxDCall6(long) VxDCall 7 stdcall -noname -i386 -register VxDCall6(long) krnl386.exe16.VxDCall6
8 stdcall -noname -i386 -register VxDCall7(long) VxDCall 8 stdcall -noname -i386 -register VxDCall7(long) krnl386.exe16.VxDCall7
9 stdcall -noname -i386 -register VxDCall8(long) VxDCall 9 stdcall -noname -i386 -register VxDCall8(long) krnl386.exe16.VxDCall8
10 stdcall -noname -i386 k32CharToOemA(str ptr) 10 stdcall -noname -i386 k32CharToOemA(str ptr) krnl386.exe16.k32CharToOemA
11 stdcall -noname -i386 k32CharToOemBuffA(str ptr long) 11 stdcall -noname -i386 k32CharToOemBuffA(str ptr long) krnl386.exe16.k32CharToOemBuffA
12 stdcall -noname -i386 k32OemToCharA(ptr ptr) 12 stdcall -noname -i386 k32OemToCharA(ptr ptr) krnl386.exe16.k32OemToCharA
13 stdcall -noname -i386 k32OemToCharBuffA(ptr ptr long) 13 stdcall -noname -i386 k32OemToCharBuffA(ptr ptr long) krnl386.exe16.k32OemToCharBuffA
14 stdcall -noname -i386 k32LoadStringA(long long ptr long) 14 stdcall -noname -i386 k32LoadStringA(long long ptr long) krnl386.exe16.k32LoadStringA
15 varargs -noname -i386 k32wsprintfA(str str) 15 varargs -noname -i386 k32wsprintfA(str str) krnl386.exe16.k32wsprintfA
16 stdcall -noname -i386 k32wvsprintfA(ptr str ptr) 16 stdcall -noname -i386 k32wvsprintfA(ptr str ptr) krnl386.exe16.k32wvsprintfA
17 stdcall -noname -i386 -register CommonUnimpStub() 17 stdcall -noname -i386 -register CommonUnimpStub() krnl386.exe16.CommonUnimpStub
18 stdcall -noname GetProcessDword(long long) 18 stdcall -noname -i386 GetProcessDword(long long) krnl386.exe16.GetProcessDword
19 stub -noname ThunkTheTemplateHandle 19 stub -noname -i386 ThunkTheTemplateHandle
20 stdcall -noname DosFileHandleToWin32Handle(long) 20 stdcall -noname -i386 DosFileHandleToWin32Handle(long) krnl386.exe16.DosFileHandleToWin32Handle
21 stdcall -noname Win32HandleToDosFileHandle(long) 21 stdcall -noname -i386 Win32HandleToDosFileHandle(long) krnl386.exe16.Win32HandleToDosFileHandle
22 stdcall -noname DisposeLZ32Handle(long) 22 stdcall -noname -i386 DisposeLZ32Handle(long) krnl386.exe16.DisposeLZ32Handle
23 stub -noname GDIReallyCares 23 stub -noname -i386 GDIReallyCares
24 stdcall -noname GlobalAlloc16(long long) 24 stdcall -noname -i386 GlobalAlloc16(long long) krnl386.exe16.GlobalAlloc16
25 stdcall -noname GlobalLock16(long) 25 stdcall -noname -i386 GlobalLock16(long) krnl386.exe16.GlobalLock16
26 stdcall -noname GlobalUnlock16(long) 26 stdcall -noname -i386 GlobalUnlock16(long) krnl386.exe16.GlobalUnlock16
27 stdcall -noname GlobalFix16(long) 27 stdcall -noname -i386 GlobalFix16(long) krnl386.exe16.GlobalFix16
28 stdcall -noname GlobalUnfix16(long) 28 stdcall -noname -i386 GlobalUnfix16(long) krnl386.exe16.GlobalUnfix16
29 stdcall -noname GlobalWire16(long) 29 stdcall -noname -i386 GlobalWire16(long) krnl386.exe16.GlobalWire16
30 stdcall -noname GlobalUnWire16(long) 30 stdcall -noname -i386 GlobalUnWire16(long) krnl386.exe16.GlobalUnWire16
31 stdcall -noname GlobalFree16(long) 31 stdcall -noname -i386 GlobalFree16(long) krnl386.exe16.GlobalFree16
32 stdcall -noname GlobalSize16(long) 32 stdcall -noname -i386 GlobalSize16(long) krnl386.exe16.GlobalSize16
33 stdcall -noname -i386 HouseCleanLogicallyDeadHandles() 33 stdcall -noname -i386 HouseCleanLogicallyDeadHandles() krnl386.exe16.HouseCleanLogicallyDeadHandles
34 stdcall -noname -i386 GetWin16DOSEnv() 34 stdcall -noname -i386 GetWin16DOSEnv() krnl386.exe16.GetWin16DOSEnv
35 stdcall -noname LoadLibrary16(str) 35 stdcall -noname -i386 LoadLibrary16(str) krnl386.exe16.LoadLibrary16
36 stdcall -noname FreeLibrary16(long) 36 stdcall -noname -i386 FreeLibrary16(long) krnl386.exe16.FreeLibrary16
37 stdcall -noname GetProcAddress16(long str) WIN32_GetProcAddress16 37 stdcall -noname -i386 GetProcAddress16(long str) krnl386.exe16.GetProcAddress16
38 stdcall -noname -i386 -register AllocMappedBuffer() 38 stdcall -noname -i386 -register AllocMappedBuffer() krnl386.exe16.AllocMappedBuffer
39 stdcall -noname -i386 -register FreeMappedBuffer() 39 stdcall -noname -i386 -register FreeMappedBuffer() krnl386.exe16.FreeMappedBuffer
40 stdcall -noname -i386 -register OT_32ThkLSF() 40 stdcall -noname -i386 -register OT_32ThkLSF() krnl386.exe16.OT_32ThkLSF
41 stdcall -noname -i386 ThunkInitLSF(long str long str str) 41 stdcall -noname -i386 ThunkInitLSF(long str long str str) krnl386.exe16.ThunkInitLSF
42 stdcall -noname -i386 -register LogApiThkLSF(str) 42 stdcall -noname -i386 -register LogApiThkLSF(str) krnl386.exe16.LogApiThkLSF
43 stdcall -noname -i386 ThunkInitLS(long str long str str) 43 stdcall -noname -i386 ThunkInitLS(long str long str str) krnl386.exe16.ThunkInitLS
44 stdcall -noname -i386 -register LogApiThkSL(str) 44 stdcall -noname -i386 -register LogApiThkSL(str) krnl386.exe16.LogApiThkSL
45 stdcall -noname -i386 -register Common32ThkLS() 45 stdcall -noname -i386 -register Common32ThkLS() krnl386.exe16.Common32ThkLS
46 stdcall -noname -i386 ThunkInitSL(long str long str str) 46 stdcall -noname -i386 ThunkInitSL(long str long str str) krnl386.exe16.ThunkInitSL
47 stdcall -noname -i386 -register LogCBThkSL(str) 47 stdcall -noname -i386 -register LogCBThkSL(str) krnl386.exe16.LogCBThkSL
48 stdcall -noname ReleaseThunkLock(ptr) 48 stdcall -noname -i386 ReleaseThunkLock(ptr) krnl386.exe16.ReleaseThunkLock
49 stdcall -noname RestoreThunkLock(long) 49 stdcall -noname -i386 RestoreThunkLock(long) krnl386.exe16.RestoreThunkLock
51 stdcall -noname -i386 -register W32S_BackTo32() 51 stdcall -noname -i386 -register W32S_BackTo32() krnl386.exe16.W32S_BackTo32
52 stdcall -noname -i386 GetThunkBuff() 52 stdcall -noname -i386 GetThunkBuff() krnl386.exe16.GetThunkBuff
53 stdcall -noname -i386 GetThunkStuff(str str) 53 stdcall -noname -i386 GetThunkStuff(str str) krnl386.exe16.GetThunkStuff
54 stdcall -noname K32WOWCallback16(long long) 54 stdcall -noname -i386 K32WOWCallback16(long long) krnl386.exe16.K32WOWCallback16
55 stdcall -noname K32WOWCallback16Ex(ptr long long ptr ptr) 55 stdcall -noname -i386 K32WOWCallback16Ex(ptr long long ptr ptr) krnl386.exe16.K32WOWCallback16Ex
56 stdcall -noname K32WOWGetVDMPointer(long long long) 56 stdcall -noname -i386 K32WOWGetVDMPointer(long long long) krnl386.exe16.K32WOWGetVDMPointer
57 stdcall -noname K32WOWHandle32(long long) 57 stdcall -noname -i386 K32WOWHandle32(long long) krnl386.exe16.K32WOWHandle32
58 stdcall -noname K32WOWHandle16(long long) 58 stdcall -noname -i386 K32WOWHandle16(long long) krnl386.exe16.K32WOWHandle16
59 stdcall -noname K32WOWGlobalAlloc16(long long) 59 stdcall -noname -i386 K32WOWGlobalAlloc16(long long) krnl386.exe16.K32WOWGlobalAlloc16
60 stdcall -noname K32WOWGlobalLock16(long) 60 stdcall -noname -i386 K32WOWGlobalLock16(long) krnl386.exe16.K32WOWGlobalLock16
61 stdcall -noname K32WOWGlobalUnlock16(long) 61 stdcall -noname -i386 K32WOWGlobalUnlock16(long) krnl386.exe16.K32WOWGlobalUnlock16
62 stdcall -noname K32WOWGlobalFree16(long) 62 stdcall -noname -i386 K32WOWGlobalFree16(long) krnl386.exe16.K32WOWGlobalFree16
63 stdcall -noname K32WOWGlobalAllocLock16(long long ptr) 63 stdcall -noname -i386 K32WOWGlobalAllocLock16(long long ptr) krnl386.exe16.K32WOWGlobalAllocLock16
64 stdcall -noname K32WOWGlobalUnlockFree16(long) 64 stdcall -noname -i386 K32WOWGlobalUnlockFree16(long) krnl386.exe16.K32WOWGlobalUnlockFree16
65 stdcall -noname K32WOWGlobalLockSize16(long ptr) 65 stdcall -noname -i386 K32WOWGlobalLockSize16(long ptr) krnl386.exe16.K32WOWGlobalLockSize16
66 stdcall -noname K32WOWYield16() 66 stdcall -noname -i386 K32WOWYield16() krnl386.exe16.K32WOWYield16
67 stdcall -noname K32WOWDirectedYield16(long) 67 stdcall -noname -i386 K32WOWDirectedYield16(long) krnl386.exe16.K32WOWDirectedYield16
68 stdcall -noname K32WOWGetVDMPointerFix(long long long) 68 stdcall -noname -i386 K32WOWGetVDMPointerFix(long long long) krnl386.exe16.K32WOWGetVDMPointerFix
69 stdcall -noname K32WOWGetVDMPointerUnfix(long) 69 stdcall -noname -i386 K32WOWGetVDMPointerUnfix(long) krnl386.exe16.K32WOWGetVDMPointerUnfix
70 stdcall -noname K32WOWGetDescriptor(long long) 70 stdcall -noname -i386 K32WOWGetDescriptor(long long) krnl386.exe16.K32WOWGetDescriptor
71 stub -noname IsThreadId 71 stub -noname -i386 IsThreadId
72 stdcall -noname -arch=win32 -ret64 K32RtlLargeIntegerAdd(long long long long) ntdll.RtlLargeIntegerAdd 72 stdcall -noname -i386 -ret64 K32RtlLargeIntegerAdd(long long long long) ntdll.RtlLargeIntegerAdd
73 stdcall -noname -arch=win32 -ret64 K32RtlEnlargedIntegerMultiply(long long) ntdll.RtlEnlargedIntegerMultiply 73 stdcall -noname -i386 -ret64 K32RtlEnlargedIntegerMultiply(long long) ntdll.RtlEnlargedIntegerMultiply
74 stdcall -noname -arch=win32 -ret64 K32RtlEnlargedUnsignedMultiply(long long) ntdll.RtlEnlargedUnsignedMultiply 74 stdcall -noname -i386 -ret64 K32RtlEnlargedUnsignedMultiply(long long) ntdll.RtlEnlargedUnsignedMultiply
75 stdcall -noname -arch=win32 K32RtlEnlargedUnsignedDivide(long long long ptr) ntdll.RtlEnlargedUnsignedDivide 75 stdcall -noname -i386 K32RtlEnlargedUnsignedDivide(long long long ptr) ntdll.RtlEnlargedUnsignedDivide
76 stdcall -noname -arch=win32 -ret64 K32RtlExtendedLargeIntegerDivide(long long long ptr) ntdll.RtlExtendedLargeIntegerDivide 76 stdcall -noname -i386 -ret64 K32RtlExtendedLargeIntegerDivide(long long long ptr) ntdll.RtlExtendedLargeIntegerDivide
77 stdcall -noname -arch=win32 -ret64 K32RtlExtendedMagicDivide(long long long long long) ntdll.RtlExtendedMagicDivide 77 stdcall -noname -i386 -ret64 K32RtlExtendedMagicDivide(long long long long long) ntdll.RtlExtendedMagicDivide
78 stdcall -noname -arch=win32 -ret64 K32RtlExtendedIntegerMultiply(long long long) ntdll.RtlExtendedIntegerMultiply 78 stdcall -noname -i386 -ret64 K32RtlExtendedIntegerMultiply(long long long) ntdll.RtlExtendedIntegerMultiply
79 stdcall -noname -arch=win32 -ret64 K32RtlLargeIntegerShiftLeft(long long long) ntdll.RtlLargeIntegerShiftLeft 79 stdcall -noname -i386 -ret64 K32RtlLargeIntegerShiftLeft(long long long) ntdll.RtlLargeIntegerShiftLeft
80 stdcall -noname -arch=win32 -ret64 K32RtlLargeIntegerShiftRight(long long long) ntdll.RtlLargeIntegerShiftRight 80 stdcall -noname -i386 -ret64 K32RtlLargeIntegerShiftRight(long long long) ntdll.RtlLargeIntegerShiftRight
81 stdcall -noname -arch=win32 -ret64 K32RtlLargeIntegerArithmeticShift(long long long) ntdll.RtlLargeIntegerArithmeticShift 81 stdcall -noname -i386 -ret64 K32RtlLargeIntegerArithmeticShift(long long long) ntdll.RtlLargeIntegerArithmeticShift
82 stdcall -noname -arch=win32 -ret64 K32RtlLargeIntegerNegate(long long) ntdll.RtlLargeIntegerNegate 82 stdcall -noname -i386 -ret64 K32RtlLargeIntegerNegate(long long) ntdll.RtlLargeIntegerNegate
83 stdcall -noname -arch=win32 -ret64 K32RtlLargeIntegerSubtract(long long long long) ntdll.RtlLargeIntegerSubtract 83 stdcall -noname -i386 -ret64 K32RtlLargeIntegerSubtract(long long long long) ntdll.RtlLargeIntegerSubtract
84 stdcall -noname -arch=win32 -ret64 K32RtlConvertLongToLargeInteger(long) ntdll.RtlConvertLongToLargeInteger 84 stdcall -noname -i386 -ret64 K32RtlConvertLongToLargeInteger(long) ntdll.RtlConvertLongToLargeInteger
85 stdcall -noname -arch=win32 -ret64 K32RtlConvertUlongToLargeInteger(long) ntdll.RtlConvertUlongToLargeInteger 85 stdcall -noname -i386 -ret64 K32RtlConvertUlongToLargeInteger(long) ntdll.RtlConvertUlongToLargeInteger
86 stdcall @(ptr) _KERNEL32_86 86 stdcall -i386 @(ptr) krnl386.exe16._KERNEL32_86
87 stdcall -noname -i386 SSOnBigStack() 87 stdcall -noname -i386 SSOnBigStack() krnl386.exe16.SSOnBigStack
88 varargs -noname -i386 SSCall(long long ptr) 88 varargs -noname -i386 SSCall(long long ptr) krnl386.exe16.SSCall
89 stdcall -noname -i386 -register FT_PrologPrime() 89 stdcall -noname -i386 -register FT_PrologPrime() krnl386.exe16.FT_PrologPrime
90 stdcall -noname -i386 -register QT_ThunkPrime() 90 stdcall -noname -i386 -register QT_ThunkPrime() krnl386.exe16.QT_ThunkPrime
91 stdcall -noname -i386 PK16FNF(ptr) 91 stdcall -noname -i386 PK16FNF(ptr) krnl386.exe16.PK16FNF
92 stdcall -noname -i386 GetPK16SysVar() 92 stdcall -noname -i386 GetPK16SysVar() krnl386.exe16.GetPK16SysVar
93 stdcall -noname GetpWin16Lock(ptr) 93 stdcall -noname -i386 GetpWin16Lock(ptr) krnl386.exe16.GetpWin16Lock
94 stdcall -noname _CheckNotSysLevel(ptr) 94 stdcall -noname -i386 _CheckNotSysLevel(ptr) krnl386.exe16._CheckNotSysLevel
95 stdcall -noname _ConfirmSysLevel(ptr) 95 stdcall -noname -i386 _ConfirmSysLevel(ptr) krnl386.exe16._ConfirmSysLevel
96 stdcall -noname _ConfirmWin16Lock() 96 stdcall -noname -i386 _ConfirmWin16Lock() krnl386.exe16._ConfirmWin16Lock
97 stdcall -noname _EnterSysLevel(ptr) 97 stdcall -noname -i386 _EnterSysLevel(ptr) krnl386.exe16._EnterSysLevel
98 stdcall -noname _LeaveSysLevel(ptr) 98 stdcall -noname -i386 _LeaveSysLevel(ptr) krnl386.exe16._LeaveSysLevel
99 stdcall -i386 @(long) _KERNEL32_99 99 stdcall -i386 @(long) krnl386.exe16._KERNEL32_99
100 stdcall -i386 @(long long long) _KERNEL32_100 100 stdcall -i386 @(long long long) krnl386.exe16._KERNEL32_100
101 stub @ 101 stub -i386 @
102 stub @ 102 stub -i386 @
103 stub @ 103 stub -i386 @
104 stub @ 104 stub -i386 @
105 stub @ 105 stub -i386 @
106 stub @ 106 stub -i386 @
107 stub @ 107 stub -i386 @
108 stub @ 108 stub -i386 @
109 stub @ 109 stub -i386 @
110 stub @ 110 stub -i386 @
111 stub @ 111 stub -i386 @
112 stub @ 112 stub -i386 @
113 stub @ 113 stub -i386 @
114 stub @ 114 stub -i386 @
115 stub @ 115 stub -i386 @
116 stub @ 116 stub -i386 @
117 stub @ 117 stub -i386 @
119 stub @ 119 stub -i386 @
120 stub @ 120 stub -i386 @
121 stub @ 121 stub -i386 @
122 stub @ 122 stub -i386 @
# functions exported by name, ordinal doesn't matter # functions exported by name, ordinal doesn't matter
@ -144,7 +144,7 @@
@ stdcall AddVectoredExceptionHandler(long ptr) ntdll.RtlAddVectoredExceptionHandler @ stdcall AddVectoredExceptionHandler(long ptr) ntdll.RtlAddVectoredExceptionHandler
@ stdcall AllocConsole() @ stdcall AllocConsole()
@ stub -i386 AllocLSCallback @ stub -i386 AllocLSCallback
@ stdcall -i386 AllocSLCallback(ptr ptr) @ stdcall -i386 AllocSLCallback(ptr ptr) krnl386.exe16.AllocSLCallback
@ stub AllocateUserPhysicalPages @ stub AllocateUserPhysicalPages
@ stdcall AreFileApisANSI() @ stdcall AreFileApisANSI()
@ stdcall AssignProcessToJobObject(ptr ptr) @ stdcall AssignProcessToJobObject(ptr ptr)
@ -341,23 +341,23 @@
@ stub ExpungeConsoleCommandHistoryA @ stub ExpungeConsoleCommandHistoryA
@ stub ExpungeConsoleCommandHistoryW @ stub ExpungeConsoleCommandHistoryW
@ stub ExtendVirtualBuffer @ stub ExtendVirtualBuffer
@ stdcall -i386 -norelay FT_Exit0() @ stdcall -i386 -norelay FT_Exit0() krnl386.exe16.FT_Exit0
@ stdcall -i386 -norelay FT_Exit12() @ stdcall -i386 -norelay FT_Exit12() krnl386.exe16.FT_Exit12
@ stdcall -i386 -norelay FT_Exit16() @ stdcall -i386 -norelay FT_Exit16() krnl386.exe16.FT_Exit16
@ stdcall -i386 -norelay FT_Exit20() @ stdcall -i386 -norelay FT_Exit20() krnl386.exe16.FT_Exit20
@ stdcall -i386 -norelay FT_Exit24() @ stdcall -i386 -norelay FT_Exit24() krnl386.exe16.FT_Exit24
@ stdcall -i386 -norelay FT_Exit28() @ stdcall -i386 -norelay FT_Exit28() krnl386.exe16.FT_Exit28
@ stdcall -i386 -norelay FT_Exit32() @ stdcall -i386 -norelay FT_Exit32() krnl386.exe16.FT_Exit32
@ stdcall -i386 -norelay FT_Exit36() @ stdcall -i386 -norelay FT_Exit36() krnl386.exe16.FT_Exit36
@ stdcall -i386 -norelay FT_Exit40() @ stdcall -i386 -norelay FT_Exit40() krnl386.exe16.FT_Exit40
@ stdcall -i386 -norelay FT_Exit44() @ stdcall -i386 -norelay FT_Exit44() krnl386.exe16.FT_Exit44
@ stdcall -i386 -norelay FT_Exit48() @ stdcall -i386 -norelay FT_Exit48() krnl386.exe16.FT_Exit48
@ stdcall -i386 -norelay FT_Exit4() @ stdcall -i386 -norelay FT_Exit4() krnl386.exe16.FT_Exit4
@ stdcall -i386 -norelay FT_Exit52() @ stdcall -i386 -norelay FT_Exit52() krnl386.exe16.FT_Exit52
@ stdcall -i386 -norelay FT_Exit56() @ stdcall -i386 -norelay FT_Exit56() krnl386.exe16.FT_Exit56
@ stdcall -i386 -norelay FT_Exit8() @ stdcall -i386 -norelay FT_Exit8() krnl386.exe16.FT_Exit8
@ stdcall -i386 -register FT_Prolog() @ stdcall -i386 -register FT_Prolog() krnl386.exe16.FT_Prolog
@ stdcall -i386 -register FT_Thunk() @ stdcall -i386 -register FT_Thunk() krnl386.exe16.FT_Thunk
@ stdcall FatalAppExitA(long str) @ stdcall FatalAppExitA(long str)
@ stdcall FatalAppExitW(long wstr) @ stdcall FatalAppExitW(long wstr)
@ stdcall FatalExit(long) @ stdcall FatalExit(long)
@ -412,15 +412,15 @@
@ stdcall FreeConsole() @ stdcall FreeConsole()
@ stdcall FreeEnvironmentStringsA(ptr) @ stdcall FreeEnvironmentStringsA(ptr)
@ stdcall FreeEnvironmentStringsW(ptr) @ stdcall FreeEnvironmentStringsW(ptr)
@ stub FreeLSCallback @ stub -i386 FreeLSCallback
@ stdcall FreeLibrary(long) @ stdcall FreeLibrary(long)
@ stdcall FreeLibraryAndExitThread(long long) @ stdcall FreeLibraryAndExitThread(long long)
@ stdcall FreeResource(long) @ stdcall FreeResource(long)
@ stdcall -i386 FreeSLCallback(long) @ stdcall -i386 FreeSLCallback(long) krnl386.exe16.FreeSLCallback
@ stub FreeUserPhysicalPages @ stub FreeUserPhysicalPages
@ stub FreeVirtualBuffer @ stub FreeVirtualBuffer
@ stdcall GenerateConsoleCtrlEvent(long long) @ stdcall GenerateConsoleCtrlEvent(long long)
@ stdcall -i386 Get16DLLAddress(long str) @ stdcall -i386 Get16DLLAddress(long str) krnl386.exe16.Get16DLLAddress
@ stdcall GetACP() @ stdcall GetACP()
@ stdcall GetAtomNameA(long ptr long) @ stdcall GetAtomNameA(long ptr long)
@ stdcall GetAtomNameW(long ptr long) @ stdcall GetAtomNameW(long ptr long)
@ -536,8 +536,8 @@
@ stdcall GetGeoInfoW(long long ptr long long) @ stdcall GetGeoInfoW(long long ptr long long)
@ stdcall GetHandleContext(long) @ stdcall GetHandleContext(long)
@ stdcall GetHandleInformation(long ptr) @ stdcall GetHandleInformation(long ptr)
@ stub GetLSCallbackTarget @ stub -i386 GetLSCallbackTarget
@ stub GetLSCallbackTemplate @ stub -i386 GetLSCallbackTemplate
@ stdcall GetLargestConsoleWindowSize(long) @ stdcall GetLargestConsoleWindowSize(long)
@ stdcall GetLastError() @ stdcall GetLastError()
@ stub GetLinguistLangSize @ stub GetLinguistLangSize
@ -608,8 +608,8 @@
@ stdcall GetProfileStringA(str str str ptr long) @ stdcall GetProfileStringA(str str str ptr long)
@ stdcall GetProfileStringW(wstr wstr wstr ptr long) @ stdcall GetProfileStringW(wstr wstr wstr ptr long)
@ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) @ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long)
@ stub GetSLCallbackTarget @ stub -i386 GetSLCallbackTarget
@ stub GetSLCallbackTemplate @ stub -i386 GetSLCallbackTemplate
@ stdcall GetShortPathNameA(str ptr long) @ stdcall GetShortPathNameA(str ptr long)
@ stdcall GetShortPathNameW(wstr ptr long) @ stdcall GetShortPathNameW(wstr ptr long)
@ stdcall GetStartupInfoA(ptr) @ stdcall GetStartupInfoA(ptr)
@ -744,18 +744,18 @@
@ stdcall IsDBCSLeadByte(long) @ stdcall IsDBCSLeadByte(long)
@ stdcall IsDBCSLeadByteEx(long long) @ stdcall IsDBCSLeadByteEx(long long)
@ stdcall IsDebuggerPresent() @ stdcall IsDebuggerPresent()
@ stub IsLSCallback @ stub -i386 IsLSCallback
@ stdcall IsProcessInJob(long long ptr) @ stdcall IsProcessInJob(long long ptr)
@ stdcall IsProcessorFeaturePresent(long) @ stdcall IsProcessorFeaturePresent(long)
@ stub IsSLCallback @ stub -i386 IsSLCallback
@ stdcall IsSystemResumeAutomatic() @ stdcall IsSystemResumeAutomatic()
@ stdcall IsValidCodePage(long) @ stdcall IsValidCodePage(long)
@ stdcall IsValidLanguageGroup(long long) @ stdcall IsValidLanguageGroup(long long)
@ stdcall IsValidLocale(long long) @ stdcall IsValidLocale(long long)
# @ stub IsValidUILanguage # @ stub IsValidUILanguage
@ stdcall IsWow64Process(ptr ptr) @ stdcall IsWow64Process(ptr ptr)
@ stdcall -i386 -register K32Thk1632Epilog() @ stdcall -i386 -register K32Thk1632Epilog() krnl386.exe16.K32Thk1632Epilog
@ stdcall -i386 -register K32Thk1632Prolog() @ stdcall -i386 -register K32Thk1632Prolog() krnl386.exe16.K32Thk1632Prolog
@ stdcall LCIDToLocaleName(long ptr long long) @ stdcall LCIDToLocaleName(long ptr long long)
@ stdcall LCMapStringA(long long str long ptr long) @ stdcall LCMapStringA(long long str long ptr long)
@ stdcall LCMapStringW(long long wstr long ptr long) @ stdcall LCMapStringW(long long wstr long ptr long)
@ -793,15 +793,15 @@
@ stdcall LockFileEx(long long long long long ptr) @ stdcall LockFileEx(long long long long long ptr)
@ stdcall LockResource(long) @ stdcall LockResource(long)
@ stdcall MakeCriticalSectionGlobal(ptr) @ stdcall MakeCriticalSectionGlobal(ptr)
@ stdcall -i386 -norelay MapHInstLS() @ stdcall -i386 -norelay MapHInstLS() krnl386.exe16.MapHInstLS
@ stdcall -i386 -norelay MapHInstLS_PN() @ stdcall -i386 -norelay MapHInstLS_PN() krnl386.exe16.MapHInstLS_PN
@ stdcall -i386 -norelay MapHInstSL() @ stdcall -i386 -norelay MapHInstSL() krnl386.exe16.MapHInstSL
@ stdcall -i386 -norelay MapHInstSL_PN() @ stdcall -i386 -norelay MapHInstSL_PN() krnl386.exe16.MapHInstSL_PN
@ stdcall MapHModuleLS(long) @ stdcall -i386 MapHModuleLS(long) krnl386.exe16.MapHModuleLS
@ stdcall MapHModuleSL(long) @ stdcall -i386 MapHModuleSL(long) krnl386.exe16.MapHModuleSL
@ stdcall MapLS(ptr) @ stdcall -i386 MapLS(ptr) krnl386.exe16.MapLS
@ stdcall MapSL(long) @ stdcall -i386 MapSL(long) krnl386.exe16.MapSL
@ stdcall MapSLFix(long) @ stdcall -i386 MapSLFix(long) krnl386.exe16.MapSLFix
# @ stub MapUserPhysicalPages # @ stub MapUserPhysicalPages
# @ stub MapUserPhysicalPagesScatter # @ stub MapUserPhysicalPagesScatter
@ stdcall MapViewOfFile(long long long long long) @ stdcall MapViewOfFile(long long long long long)
@ -841,7 +841,7 @@
@ stdcall OpenSemaphoreA(long long str) @ stdcall OpenSemaphoreA(long long str)
@ stdcall OpenSemaphoreW(long long wstr) @ stdcall OpenSemaphoreW(long long wstr)
@ stdcall OpenThread(long long long) @ stdcall OpenThread(long long long)
@ stdcall OpenVxDHandle(long) @ stdcall -i386 OpenVxDHandle(long)
@ stdcall OpenWaitableTimerA(long long str) @ stdcall OpenWaitableTimerA(long long str)
@ stdcall OpenWaitableTimerW(long long wstr) @ stdcall OpenWaitableTimerW(long long wstr)
@ stdcall OutputDebugStringA(str) @ stdcall OutputDebugStringA(str)
@ -853,8 +853,8 @@
@ stdcall PrepareTape(ptr long long) @ stdcall PrepareTape(ptr long long)
@ stub PrivCopyFileExW @ stub PrivCopyFileExW
@ stub PrivMoveFileIdentityW @ stub PrivMoveFileIdentityW
@ stdcall PrivateFreeLibrary(long) @ stdcall -i386 PrivateFreeLibrary(long) krnl386.exe16.PrivateFreeLibrary
@ stdcall PrivateLoadLibrary(str) @ stdcall -i386 PrivateLoadLibrary(str) krnl386.exe16.PrivateLoadLibrary
@ stdcall Process32First (ptr ptr) @ stdcall Process32First (ptr ptr)
@ stdcall Process32FirstW (ptr ptr) @ stdcall Process32FirstW (ptr ptr)
@ stdcall Process32Next (ptr ptr) @ stdcall Process32Next (ptr ptr)
@ -862,7 +862,7 @@
@ stdcall ProcessIdToSessionId(long ptr) @ stdcall ProcessIdToSessionId(long ptr)
@ stdcall PulseEvent(long) @ stdcall PulseEvent(long)
@ stdcall PurgeComm(long long) @ stdcall PurgeComm(long long)
@ stdcall -i386 -register QT_Thunk() @ stdcall -i386 -register QT_Thunk() krnl386.exe16.QT_Thunk
@ stdcall QueryActCtxW(long ptr ptr long ptr long ptr) @ stdcall QueryActCtxW(long ptr ptr long ptr long ptr)
@ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList @ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList
@ stdcall QueryDosDeviceA(str ptr long) @ stdcall QueryDosDeviceA(str ptr long)
@ -934,26 +934,26 @@
@ stdcall -arch=x86_64 RtlUnwindEx(long long ptr long ptr) ntdll.RtlUnwindEx @ stdcall -arch=x86_64 RtlUnwindEx(long long ptr long ptr) ntdll.RtlUnwindEx
@ stdcall -arch=x86_64 RtlVirtualUnwind(long long long ptr ptr ptr ptr ptr) ntdll.RtlVirtualUnwind @ stdcall -arch=x86_64 RtlVirtualUnwind(long long long ptr ptr ptr ptr ptr) ntdll.RtlVirtualUnwind
@ stdcall RtlZeroMemory(ptr long) ntdll.RtlZeroMemory @ stdcall RtlZeroMemory(ptr long) ntdll.RtlZeroMemory
@ stdcall -i386 -norelay SMapLS() @ stdcall -i386 -norelay SMapLS() krnl386.exe16.SMapLS
@ stdcall -i386 -norelay SMapLS_IP_EBP_12() @ stdcall -i386 -norelay SMapLS_IP_EBP_12() krnl386.exe16.SMapLS_IP_EBP_12
@ stdcall -i386 -norelay SMapLS_IP_EBP_16() @ stdcall -i386 -norelay SMapLS_IP_EBP_16() krnl386.exe16.SMapLS_IP_EBP_16
@ stdcall -i386 -norelay SMapLS_IP_EBP_20() @ stdcall -i386 -norelay SMapLS_IP_EBP_20() krnl386.exe16.SMapLS_IP_EBP_20
@ stdcall -i386 -norelay SMapLS_IP_EBP_24() @ stdcall -i386 -norelay SMapLS_IP_EBP_24() krnl386.exe16.SMapLS_IP_EBP_24
@ stdcall -i386 -norelay SMapLS_IP_EBP_28() @ stdcall -i386 -norelay SMapLS_IP_EBP_28() krnl386.exe16.SMapLS_IP_EBP_28
@ stdcall -i386 -norelay SMapLS_IP_EBP_32() @ stdcall -i386 -norelay SMapLS_IP_EBP_32() krnl386.exe16.SMapLS_IP_EBP_32
@ stdcall -i386 -norelay SMapLS_IP_EBP_36() @ stdcall -i386 -norelay SMapLS_IP_EBP_36() krnl386.exe16.SMapLS_IP_EBP_36
@ stdcall -i386 -norelay SMapLS_IP_EBP_40() @ stdcall -i386 -norelay SMapLS_IP_EBP_40() krnl386.exe16.SMapLS_IP_EBP_40
@ stdcall -i386 -norelay SMapLS_IP_EBP_8() @ stdcall -i386 -norelay SMapLS_IP_EBP_8() krnl386.exe16.SMapLS_IP_EBP_8
@ stdcall -i386 -norelay SUnMapLS() @ stdcall -i386 -norelay SUnMapLS() krnl386.exe16.SUnMapLS
@ stdcall -i386 -norelay SUnMapLS_IP_EBP_12() @ stdcall -i386 -norelay SUnMapLS_IP_EBP_12() krnl386.exe16.SUnMapLS_IP_EBP_12
@ stdcall -i386 -norelay SUnMapLS_IP_EBP_16() @ stdcall -i386 -norelay SUnMapLS_IP_EBP_16() krnl386.exe16.SUnMapLS_IP_EBP_16
@ stdcall -i386 -norelay SUnMapLS_IP_EBP_20() @ stdcall -i386 -norelay SUnMapLS_IP_EBP_20() krnl386.exe16.SUnMapLS_IP_EBP_20
@ stdcall -i386 -norelay SUnMapLS_IP_EBP_24() @ stdcall -i386 -norelay SUnMapLS_IP_EBP_24() krnl386.exe16.SUnMapLS_IP_EBP_24
@ stdcall -i386 -norelay SUnMapLS_IP_EBP_28() @ stdcall -i386 -norelay SUnMapLS_IP_EBP_28() krnl386.exe16.SUnMapLS_IP_EBP_28
@ stdcall -i386 -norelay SUnMapLS_IP_EBP_32() @ stdcall -i386 -norelay SUnMapLS_IP_EBP_32() krnl386.exe16.SUnMapLS_IP_EBP_32
@ stdcall -i386 -norelay SUnMapLS_IP_EBP_36() @ stdcall -i386 -norelay SUnMapLS_IP_EBP_36() krnl386.exe16.SUnMapLS_IP_EBP_36
@ stdcall -i386 -norelay SUnMapLS_IP_EBP_40() @ stdcall -i386 -norelay SUnMapLS_IP_EBP_40() krnl386.exe16.SUnMapLS_IP_EBP_40
@ stdcall -i386 -norelay SUnMapLS_IP_EBP_8() @ stdcall -i386 -norelay SUnMapLS_IP_EBP_8() krnl386.exe16.SUnMapLS_IP_EBP_8
@ stdcall ScrollConsoleScreenBufferA(long ptr ptr ptr ptr) @ stdcall ScrollConsoleScreenBufferA(long ptr ptr ptr ptr)
@ stdcall ScrollConsoleScreenBufferW(long ptr ptr ptr ptr) @ stdcall ScrollConsoleScreenBufferW(long ptr ptr ptr ptr)
@ stdcall SearchPathA(str str str long ptr ptr) @ stdcall SearchPathA(str str str long ptr ptr)
@ -1088,7 +1088,7 @@
@ stdcall TermsrvAppInstallMode() @ stdcall TermsrvAppInstallMode()
@ stdcall Thread32First(long ptr) @ stdcall Thread32First(long ptr)
@ stdcall Thread32Next(long ptr) @ stdcall Thread32Next(long ptr)
@ stdcall -i386 ThunkConnect32(ptr str str str ptr ptr) @ stdcall -i386 ThunkConnect32(ptr str str str ptr ptr) krnl386.exe16.ThunkConnect32
@ stdcall TlsAlloc() @ stdcall TlsAlloc()
@ stub TlsAllocInternal @ stub TlsAllocInternal
@ stdcall TlsFree(long) @ stdcall TlsFree(long)
@ -1101,10 +1101,10 @@
@ stub TrimVirtualBuffer @ stub TrimVirtualBuffer
@ stdcall TryEnterCriticalSection(ptr) ntdll.RtlTryEnterCriticalSection @ stdcall TryEnterCriticalSection(ptr) ntdll.RtlTryEnterCriticalSection
@ stdcall TzSpecificLocalTimeToSystemTime(ptr ptr ptr) @ stdcall TzSpecificLocalTimeToSystemTime(ptr ptr ptr)
@ stdcall -i386 UTRegister(long str str str ptr ptr ptr) @ stdcall -i386 UTRegister(long str str str ptr ptr ptr) krnl386.exe16.UTRegister
@ stdcall -i386 UTUnRegister(long) @ stdcall -i386 UTUnRegister(long) krnl386.exe16.UTUnRegister
@ stdcall UnMapLS(long) @ stdcall -i386 UnMapLS(long) krnl386.exe16.UnMapLS
@ stdcall -i386 -norelay UnMapSLFixArray(long long) @ stdcall -i386 -norelay UnMapSLFixArray(long long) krnl386.exe16.UnMapSLFixArray
@ stdcall UnhandledExceptionFilter(ptr) @ stdcall UnhandledExceptionFilter(ptr)
@ stdcall UninitializeCriticalSection(ptr) @ stdcall UninitializeCriticalSection(ptr)
@ stdcall UnlockFile(long long long long long) @ stdcall UnlockFile(long long long long long)
@ -1210,47 +1210,47 @@
################################################################ ################################################################
# Wine extensions: Win16 functions that are needed by other dlls # Wine extensions: Win16 functions that are needed by other dlls
# #
@ stdcall _lclose16(long) @ stdcall -i386 _lclose16(long) krnl386.exe16._lclose16
@ stdcall AllocCStoDSAlias16(long) @ stdcall -i386 AllocCStoDSAlias16(long) krnl386.exe16.AllocCStoDSAlias16
@ stdcall AllocSelectorArray16(long) @ stdcall -i386 AllocSelectorArray16(long) krnl386.exe16.AllocSelectorArray16
@ stdcall ConvertDialog32To16(ptr long ptr) @ stdcall -i386 ConvertDialog32To16(ptr long ptr) krnl386.exe16.ConvertDialog32To16
@ stdcall FarGetOwner16(long) @ stdcall -i386 FarGetOwner16(long) krnl386.exe16.FarGetOwner16
@ stdcall FarSetOwner16(long long) @ stdcall -i386 FarSetOwner16(long long) krnl386.exe16.FarSetOwner16
@ stdcall FindResource16(long str str) @ stdcall -i386 FindResource16(long str str) krnl386.exe16.FindResource16
@ stdcall FreeResource16(long) @ stdcall -i386 FreeResource16(long) krnl386.exe16.FreeResource16
@ stdcall FreeSelector16(long) @ stdcall -i386 FreeSelector16(long) krnl386.exe16.FreeSelector16
@ stdcall GetCurrentPDB16() @ stdcall -i386 GetCurrentPDB16() krnl386.exe16.GetCurrentPDB16
@ stdcall GetCurrentTask() @ stdcall -i386 GetCurrentTask() krnl386.exe16.GetCurrentTask
@ stdcall GetDOSEnvironment16() @ stdcall -i386 GetDOSEnvironment16() krnl386.exe16.GetDOSEnvironment16
@ stdcall GetExePtr(long) @ stdcall -i386 GetExePtr(long) krnl386.exe16.GetExePtr
@ stdcall GetExpWinVer16(long) @ stdcall -i386 GetExpWinVer16(long) krnl386.exe16.GetExpWinVer16
@ stdcall GetModuleHandle16(str) @ stdcall -i386 GetModuleHandle16(str) krnl386.exe16.GetModuleHandle16
@ stdcall GetSelectorLimit16(long) @ stdcall -i386 GetSelectorLimit16(long) krnl386.exe16.GetSelectorLimit16
@ stdcall GlobalDOSAlloc16(long) @ stdcall -i386 GlobalDOSAlloc16(long) krnl386.exe16.GlobalDOSAlloc16
@ stdcall GlobalDOSFree16(long) @ stdcall -i386 GlobalDOSFree16(long) krnl386.exe16.GlobalDOSFree16
@ stdcall GlobalFlags16(long) @ stdcall -i386 GlobalFlags16(long) krnl386.exe16.GlobalFlags16
@ stdcall GlobalReAlloc16(long long long) @ stdcall -i386 GlobalReAlloc16(long long long) krnl386.exe16.GlobalReAlloc16
@ stdcall InitTask16(ptr) @ stdcall -i386 InitTask16(ptr) krnl386.exe16.InitTask16
@ stdcall IsBadReadPtr16(long long) @ stdcall -i386 IsBadReadPtr16(long long) krnl386.exe16.IsBadReadPtr16
@ stdcall IsTask16(long) @ stdcall -i386 IsTask16(long) krnl386.exe16.IsTask16
@ stdcall LoadModule16(str long) @ stdcall -i386 LoadModule16(str long) krnl386.exe16.LoadModule16
@ stdcall LoadResource16(long long) @ stdcall -i386 LoadResource16(long long) krnl386.exe16.LoadResource16
@ stdcall LocalAlloc16(long long) @ stdcall -i386 LocalAlloc16(long long) krnl386.exe16.LocalAlloc16
@ stdcall LocalInit16(long long long) @ stdcall -i386 LocalInit16(long long long) krnl386.exe16.LocalInit16
@ stdcall LocalLock16(long) @ stdcall -i386 LocalLock16(long) krnl386.exe16.LocalLock16
@ stdcall LocalUnlock16(long) @ stdcall -i386 LocalUnlock16(long) krnl386.exe16.LocalUnlock16
@ stdcall LocalReAlloc16(long long long) @ stdcall -i386 LocalReAlloc16(long long long) krnl386.exe16.LocalReAlloc16
@ stdcall LocalFree16(long) @ stdcall -i386 LocalFree16(long) krnl386.exe16.LocalFree16
@ stdcall LocalSize16(long) @ stdcall -i386 LocalSize16(long) krnl386.exe16.LocalSize16
@ stdcall LocalCompact16(long) @ stdcall -i386 LocalCompact16(long) krnl386.exe16.LocalCompact16
@ stdcall LocalCountFree16() @ stdcall -i386 LocalCountFree16() krnl386.exe16.LocalCountFree16
@ stdcall LocalHeapSize16() @ stdcall -i386 LocalHeapSize16() krnl386.exe16.LocalHeapSize16
@ stdcall LockResource16(long) @ stdcall -i386 LockResource16(long) krnl386.exe16.LockResource16
@ stdcall SelectorAccessRights16(long long long) @ stdcall -i386 SelectorAccessRights16(long long long) krnl386.exe16.SelectorAccessRights16
@ stdcall SetSelectorBase(long long) @ stdcall -i386 SetSelectorBase(long long) krnl386.exe16.SetSelectorBase
@ stdcall SetSelectorLimit16(long long) @ stdcall -i386 SetSelectorLimit16(long long) krnl386.exe16.SetSelectorLimit16
@ stdcall SizeofResource16(long long) @ stdcall -i386 SizeofResource16(long long) krnl386.exe16.SizeofResource16
@ stdcall WinExec16(str long) @ stdcall -i386 WinExec16(str long) krnl386.exe16.WinExec16
################################################################ ################################################################
# Wine internal extensions # Wine internal extensions
@ -1258,11 +1258,11 @@
# All functions must be prefixed with '__wine_' (for internal functions) # All functions must be prefixed with '__wine_' (for internal functions)
# or 'wine_' (for user-visible functions) to avoid namespace conflicts. # or 'wine_' (for user-visible functions) to avoid namespace conflicts.
# 16-bit relays # 16-bit relays (for backwards compatibility)
@ cdecl -i386 __wine_dll_register_16(ptr str) @ cdecl -i386 __wine_dll_register_16(ptr str)
@ cdecl -i386 __wine_dll_unregister_16(ptr) @ cdecl -i386 __wine_dll_unregister_16(ptr)
@ varargs -i386 -private __wine_call_from_16_regs() @ stub -i386 __wine_call_from_16_regs
@ cdecl -i386 __wine_emulate_instruction(ptr ptr) @ cdecl -i386 __wine_emulate_instruction(ptr ptr) krnl386.exe16.__wine_emulate_instruction
# Unix files # Unix files
@ cdecl wine_get_unix_file_name(wstr) @ cdecl wine_get_unix_file_name(wstr)

View File

@ -33,10 +33,8 @@
#include "winternl.h" #include "winternl.h"
#include "wownt32.h" #include "wownt32.h"
#include "wine/winbase16.h"
#include "wine/library.h" #include "wine/library.h"
#include "kernel_private.h" #include "kernel_private.h"
#include "kernel16_private.h"
#include "console_private.h" #include "console_private.h"
#include "wine/debug.h" #include "wine/debug.h"
@ -46,32 +44,6 @@ extern int CDECL __wine_set_signal_handler(unsigned, int (*)(unsigned));
static ULONGLONG server_start_time; static ULONGLONG server_start_time;
/***********************************************************************
* KERNEL thread initialisation routine
*/
static void thread_attach(void)
{
/* allocate the 16-bit stack (FIXME: should be done lazily) */
HGLOBAL16 hstack = WOWGlobalAlloc16( GMEM_FIXED, 0x10000 );
kernel_get_thread_data()->stack_sel = GlobalHandleToSel16( hstack );
NtCurrentTeb()->WOW32Reserved = (void *)MAKESEGPTR( kernel_get_thread_data()->stack_sel,
0x10000 - sizeof(STACK16FRAME) );
memset( (char *)GlobalLock16(hstack) + 0x10000 - sizeof(STACK16FRAME), 0, sizeof(STACK16FRAME) );
}
/***********************************************************************
* KERNEL thread finalisation routine
*/
static void thread_detach(void)
{
/* free the 16-bit stack */
WOWGlobalFree16( kernel_get_thread_data()->stack_sel );
NtCurrentTeb()->WOW32Reserved = 0;
if (NtCurrentTeb()->Tib.SubSystemTib) TASK_ExitTask();
}
/*********************************************************************** /***********************************************************************
* set_entry_point * set_entry_point
*/ */
@ -156,8 +128,6 @@ static BOOL process_attach( HMODULE module )
{ {
/* create the shared heap for broken win95 native dlls */ /* create the shared heap for broken win95 native dlls */
HeapCreate( HEAP_SHARED, 0, 0 ); HeapCreate( HEAP_SHARED, 0, 0 );
/* setup emulation of protected instructions from 32-bit code */
RtlAddVectoredExceptionHandler( TRUE, INSTR_vectored_handler );
} }
#endif #endif
@ -176,10 +146,7 @@ static BOOL process_attach( HMODULE module )
* TBD when not using wineserver handles for console handles * TBD when not using wineserver handles for console handles
*/ */
/* Create 16-bit task */ LoadLibraryA( "krnl386.exe16" );
LoadLibrary16( "krnl386.exe" );
thread_attach();
TASK_CreateMainTask();
return TRUE; return TRUE;
} }
@ -191,13 +158,8 @@ BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
switch(reason) switch(reason)
{ {
case DLL_PROCESS_ATTACH: case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls( hinst );
return process_attach( hinst ); return process_attach( hinst );
case DLL_THREAD_ATTACH:
thread_attach();
break;
case DLL_THREAD_DETACH:
thread_detach();
break;
case DLL_PROCESS_DETACH: case DLL_PROCESS_DETACH:
WritePrivateProfileSectionW( NULL, NULL, NULL ); WritePrivateProfileSectionW( NULL, NULL, NULL );
break; break;

View File

@ -85,11 +85,6 @@ extern void MODULE_get_binary_info( HANDLE hfile, struct binary_info *info );
extern BOOL NLS_IsUnicodeOnlyLcid(LCID); extern BOOL NLS_IsUnicodeOnlyLcid(LCID);
/* vxd.c */
typedef BOOL (WINAPI *DeviceIoProc)(DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
extern DeviceIoProc VXD_get_proc( HANDLE handle );
extern HANDLE VXD_Open( LPCWSTR filename, DWORD access, LPSECURITY_ATTRIBUTES sa );
/* environ.c */ /* environ.c */
extern void ENV_CopyStartupInformation(void); extern void ENV_CopyStartupInformation(void);

View File

@ -1065,3 +1065,28 @@ FARPROC WINAPI DelayLoadFailureHook( LPCSTR name, LPCSTR function )
RaiseException( EXCEPTION_WINE_STUB, EH_NONCONTINUABLE, 2, args ); RaiseException( EXCEPTION_WINE_STUB, EH_NONCONTINUABLE, 2, args );
return NULL; return NULL;
} }
#ifdef __i386__
/***********************************************************************
* __wine_dll_register_16 (KERNEL32.@)
*
* No longer used.
*/
void __wine_dll_register_16( const IMAGE_DOS_HEADER *header, const char *file_name )
{
ERR( "loading old style 16-bit dll %s no longer supported\n", file_name );
}
/***********************************************************************
* __wine_dll_unregister_16 (KERNEL32.@)
*
* No longer used.
*/
void __wine_dll_unregister_16( const IMAGE_DOS_HEADER *header )
{
}
#endif

View File

@ -0,0 +1,42 @@
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = krnl386.exe16
IMPORTS = kernel32 ntdll
EXTRADLLFLAGS = -Wb,--subsystem,win16,--dll-name,kernel
EXTRARCFLAGS = -O res16
C_SRCS = \
atom.c \
dosmem.c \
error.c \
file.c \
global.c \
instr.c \
kernel.c \
local.c \
ne_module.c \
ne_segment.c \
registry.c \
relay.c \
resource.c \
selector.c \
snoop.c \
syslevel.c \
task.c \
thunk.c \
utthunk.c \
vxd.c \
wowthunk.c
RC_SRCS = version.rc
EXTRA_OBJS = relay16asm.o
@MAKE_DLL_RULES@
relay16asm.o: $(WINEBUILD)
$(WINEBUILD) $(WINEBUILDFLAGS) -o $@ --relay16
@DEPENDENCIES@ # everything below this line is overwritten by make depend

View File

@ -23,8 +23,6 @@
#include "config.h" #include "config.h"
#include "wine/port.h" #include "wine/port.h"
#ifdef __i386__
#include <stdarg.h> #include <stdarg.h>
#include "windef.h" #include "windef.h"
@ -922,5 +920,3 @@ FARPROC16 WINAPI GetSetKernelDOSProc16( FARPROC16 DosProc )
FIXME("(DosProc=%p): stub\n", DosProc); FIXME("(DosProc=%p): stub\n", DosProc);
return NULL; return NULL;
} }
#endif /* __i386__ */

View File

@ -36,6 +36,53 @@ extern DWORD WINAPI GetProcessFlags( DWORD processid );
static DWORD process_dword; static DWORD process_dword;
/***********************************************************************
* KERNEL thread initialisation routine
*/
static void thread_attach(void)
{
/* allocate the 16-bit stack (FIXME: should be done lazily) */
HGLOBAL16 hstack = WOWGlobalAlloc16( GMEM_FIXED, 0x10000 );
kernel_get_thread_data()->stack_sel = GlobalHandleToSel16( hstack );
NtCurrentTeb()->WOW32Reserved = (void *)MAKESEGPTR( kernel_get_thread_data()->stack_sel,
0x10000 - sizeof(STACK16FRAME) );
memset( (char *)GlobalLock16(hstack) + 0x10000 - sizeof(STACK16FRAME), 0, sizeof(STACK16FRAME) );
}
/***********************************************************************
* KERNEL thread finalisation routine
*/
static void thread_detach(void)
{
/* free the 16-bit stack */
WOWGlobalFree16( kernel_get_thread_data()->stack_sel );
NtCurrentTeb()->WOW32Reserved = 0;
if (NtCurrentTeb()->Tib.SubSystemTib) TASK_ExitTask();
}
/**************************************************************************
* DllMain
*/
BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
{
switch(reason)
{
case DLL_PROCESS_ATTACH:
LoadLibrary16( "krnl386.exe" );
/* fall through */
case DLL_THREAD_ATTACH:
thread_attach();
break;
case DLL_THREAD_DETACH:
thread_detach();
break;
}
return TRUE;
}
/************************************************************************** /**************************************************************************
* DllEntryPoint (KERNEL.669) * DllEntryPoint (KERNEL.669)
*/ */
@ -48,6 +95,9 @@ BOOL WINAPI KERNEL_DllEntryPoint( DWORD reasion, HINSTANCE16 inst, WORD ds,
if (done) return TRUE; if (done) return TRUE;
done = 1; done = 1;
/* setup emulation of protected instructions from 32-bit code */
if (GetVersion() & 0x80000000) RtlAddVectoredExceptionHandler( TRUE, INSTR_vectored_handler );
/* Initialize 16-bit thunking entry points */ /* Initialize 16-bit thunking entry points */
if (!WOWTHUNK_Init()) return FALSE; if (!WOWTHUNK_Init()) return FALSE;
@ -68,6 +118,7 @@ BOOL WINAPI KERNEL_DllEntryPoint( DWORD reasion, HINSTANCE16 inst, WORD ds,
/* Initialize KERNEL.THHOOK */ /* Initialize KERNEL.THHOOK */
TASK_InstallTHHook(MapSL((SEGPTR)GetProcAddress16( inst, (LPCSTR)332 ))); TASK_InstallTHHook(MapSL((SEGPTR)GetProcAddress16( inst, (LPCSTR)332 )));
TASK_CreateMainTask();
/* Initialize the real-mode selector entry points */ /* Initialize the real-mode selector entry points */
#define SET_ENTRY_POINT( num, addr ) \ #define SET_ENTRY_POINT( num, addr ) \

View File

@ -290,7 +290,6 @@ static inline struct kernel_thread_data *kernel_get_thread_data(void)
return (struct kernel_thread_data *)NtCurrentTeb()->SystemReserved1; return (struct kernel_thread_data *)NtCurrentTeb()->SystemReserved1;
} }
#ifdef __i386__
#define DEFINE_REGS_ENTRYPOINT( name, args ) \ #define DEFINE_REGS_ENTRYPOINT( name, args ) \
__ASM_GLOBAL_FUNC( name, \ __ASM_GLOBAL_FUNC( name, \
".byte 0x68\n\t" /* pushl $__regs_func */ \ ".byte 0x68\n\t" /* pushl $__regs_func */ \
@ -298,6 +297,5 @@ static inline struct kernel_thread_data *kernel_get_thread_data(void)
".byte 0x6a," #args "\n\t" /* pushl $args */ \ ".byte 0x6a," #args "\n\t" /* pushl $args */ \
"call " __ASM_NAME("__wine_call_from_32_regs") "\n\t" \ "call " __ASM_NAME("__wine_call_from_32_regs") "\n\t" \
"ret $(4*" #args ")" ) /* fake ret to make copy protections happy */ "ret $(4*" #args ")" ) /* fake ret to make copy protections happy */
#endif
#endif /* __WINE_KERNEL16_PRIVATE_H */ #endif /* __WINE_KERNEL16_PRIVATE_H */

View File

@ -527,3 +527,207 @@
# Win95 krnl386.exe also exports ordinals 802-864, # Win95 krnl386.exe also exports ordinals 802-864,
# however, those seem to be only callback stubs that are # however, those seem to be only callback stubs that are
# never called directly by other modules ... # never called directly by other modules ...
################################################################
# 32-bit version of the various 16-bit functions exported by kernel32
#
@ stdcall -arch=win32 -register VxDCall0(long) VxDCall
@ stdcall -arch=win32 -register VxDCall1(long) VxDCall
@ stdcall -arch=win32 -register VxDCall2(long) VxDCall
@ stdcall -arch=win32 -register VxDCall3(long) VxDCall
@ stdcall -arch=win32 -register VxDCall4(long) VxDCall
@ stdcall -arch=win32 -register VxDCall5(long) VxDCall
@ stdcall -arch=win32 -register VxDCall6(long) VxDCall
@ stdcall -arch=win32 -register VxDCall7(long) VxDCall
@ stdcall -arch=win32 -register VxDCall8(long) VxDCall
@ stdcall -arch=win32 k32CharToOemA(str ptr)
@ stdcall -arch=win32 k32CharToOemBuffA(str ptr long)
@ stdcall -arch=win32 k32OemToCharA(ptr ptr)
@ stdcall -arch=win32 k32OemToCharBuffA(ptr ptr long)
@ stdcall -arch=win32 k32LoadStringA(long long ptr long)
@ varargs -arch=win32 k32wsprintfA(str str)
@ stdcall -arch=win32 k32wvsprintfA(ptr str ptr)
@ stdcall -arch=win32 -register CommonUnimpStub()
@ stdcall -arch=win32 GetProcessDword16(long long)
@ stdcall -arch=win32 DosFileHandleToWin32Handle(long)
@ stdcall -arch=win32 Win32HandleToDosFileHandle(long)
@ stdcall -arch=win32 DisposeLZ32Handle(long)
@ stdcall -arch=win32 GlobalAlloc16(long long)
@ stdcall -arch=win32 GlobalLock16(long)
@ stdcall -arch=win32 GlobalUnlock16(long)
@ stdcall -arch=win32 GlobalFix16(long)
@ stdcall -arch=win32 GlobalUnfix16(long)
@ stdcall -arch=win32 GlobalWire16(long)
@ stdcall -arch=win32 GlobalUnWire16(long)
@ stdcall -arch=win32 GlobalFree16(long)
@ stdcall -arch=win32 GlobalSize16(long)
@ stdcall -arch=win32 HouseCleanLogicallyDeadHandles()
@ stdcall -arch=win32 GetWin16DOSEnv()
@ stdcall -arch=win32 LoadLibrary16(str)
@ stdcall -arch=win32 FreeLibrary16(long)
@ stdcall -arch=win32 GetProcAddress16(long str) WIN32_GetProcAddress16
@ stdcall -arch=win32 -register AllocMappedBuffer()
@ stdcall -arch=win32 -register FreeMappedBuffer()
@ stdcall -arch=win32 -register OT_32ThkLSF()
@ stdcall -arch=win32 ThunkInitLSF(long str long str str)
@ stdcall -arch=win32 -register LogApiThkLSF(str)
@ stdcall -arch=win32 ThunkInitLS(long str long str str)
@ stdcall -arch=win32 -register LogApiThkSL(str)
@ stdcall -arch=win32 -register Common32ThkLS()
@ stdcall -arch=win32 ThunkInitSL(long str long str str)
@ stdcall -arch=win32 -register LogCBThkSL(str)
@ stdcall -arch=win32 ReleaseThunkLock(ptr)
@ stdcall -arch=win32 RestoreThunkLock(long)
@ stdcall -arch=win32 -register W32S_BackTo32()
@ stdcall -arch=win32 GetThunkBuff()
@ stdcall -arch=win32 GetThunkStuff(str str)
@ stdcall -arch=win32 K32WOWCallback16(long long)
@ stdcall -arch=win32 K32WOWCallback16Ex(ptr long long ptr ptr)
@ stdcall -arch=win32 K32WOWGetVDMPointer(long long long)
@ stdcall -arch=win32 K32WOWHandle32(long long)
@ stdcall -arch=win32 K32WOWHandle16(long long)
@ stdcall -arch=win32 K32WOWGlobalAlloc16(long long)
@ stdcall -arch=win32 K32WOWGlobalLock16(long)
@ stdcall -arch=win32 K32WOWGlobalUnlock16(long)
@ stdcall -arch=win32 K32WOWGlobalFree16(long)
@ stdcall -arch=win32 K32WOWGlobalAllocLock16(long long ptr)
@ stdcall -arch=win32 K32WOWGlobalUnlockFree16(long)
@ stdcall -arch=win32 K32WOWGlobalLockSize16(long ptr)
@ stdcall -arch=win32 K32WOWYield16()
@ stdcall -arch=win32 K32WOWDirectedYield16(long)
@ stdcall -arch=win32 K32WOWGetVDMPointerFix(long long long)
@ stdcall -arch=win32 K32WOWGetVDMPointerUnfix(long)
@ stdcall -arch=win32 K32WOWGetDescriptor(long long)
@ stdcall -arch=win32 _KERNEL32_86(ptr)
@ stdcall -arch=win32 SSOnBigStack()
@ varargs -arch=win32 SSCall(long long ptr)
@ stdcall -arch=win32 -register FT_PrologPrime()
@ stdcall -arch=win32 -register QT_ThunkPrime()
@ stdcall -arch=win32 PK16FNF(ptr)
@ stdcall -arch=win32 GetPK16SysVar()
@ stdcall -arch=win32 GetpWin16Lock(ptr)
@ stdcall -arch=win32 _CheckNotSysLevel(ptr)
@ stdcall -arch=win32 _ConfirmSysLevel(ptr)
@ stdcall -arch=win32 _ConfirmWin16Lock()
@ stdcall -arch=win32 _EnterSysLevel(ptr)
@ stdcall -arch=win32 _LeaveSysLevel(ptr)
@ stdcall -arch=win32 _KERNEL32_99(long)
@ stdcall -arch=win32 _KERNEL32_100(long long long)
@ stdcall -arch=win32 AllocSLCallback(ptr ptr)
@ stdcall -arch=win32 -norelay FT_Exit0()
@ stdcall -arch=win32 -norelay FT_Exit12()
@ stdcall -arch=win32 -norelay FT_Exit16()
@ stdcall -arch=win32 -norelay FT_Exit20()
@ stdcall -arch=win32 -norelay FT_Exit24()
@ stdcall -arch=win32 -norelay FT_Exit28()
@ stdcall -arch=win32 -norelay FT_Exit32()
@ stdcall -arch=win32 -norelay FT_Exit36()
@ stdcall -arch=win32 -norelay FT_Exit40()
@ stdcall -arch=win32 -norelay FT_Exit44()
@ stdcall -arch=win32 -norelay FT_Exit48()
@ stdcall -arch=win32 -norelay FT_Exit4()
@ stdcall -arch=win32 -norelay FT_Exit52()
@ stdcall -arch=win32 -norelay FT_Exit56()
@ stdcall -arch=win32 -norelay FT_Exit8()
@ stdcall -arch=win32 -register FT_Prolog()
@ stdcall -arch=win32 -register FT_Thunk()
@ stdcall -arch=win32 FreeSLCallback(long)
@ stdcall -arch=win32 Get16DLLAddress(long str)
@ stdcall -arch=win32 -register K32Thk1632Epilog()
@ stdcall -arch=win32 -register K32Thk1632Prolog()
@ stdcall -arch=win32 -norelay MapHInstLS()
@ stdcall -arch=win32 -norelay MapHInstLS_PN()
@ stdcall -arch=win32 -norelay MapHInstSL()
@ stdcall -arch=win32 -norelay MapHInstSL_PN()
@ stdcall -arch=win32 MapHModuleLS(long)
@ stdcall -arch=win32 MapHModuleSL(long)
@ stdcall -arch=win32 MapLS(ptr)
@ stdcall -arch=win32 MapSL(long)
@ stdcall -arch=win32 MapSLFix(long)
@ stdcall -arch=win32 PrivateFreeLibrary(long)
@ stdcall -arch=win32 PrivateLoadLibrary(str)
@ stdcall -arch=win32 -register QT_Thunk()
@ stdcall -arch=win32 -norelay SMapLS()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_12()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_16()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_20()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_24()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_28()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_32()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_36()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_40()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_8()
@ stdcall -arch=win32 -norelay SUnMapLS()
@ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_12()
@ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_16()
@ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_20()
@ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_24()
@ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_28()
@ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_32()
@ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_36()
@ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_40()
@ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_8()
@ stdcall -arch=win32 ThunkConnect32(ptr str str str ptr ptr)
@ stdcall -arch=win32 UTRegister(long str str str ptr ptr ptr)
@ stdcall -arch=win32 UTUnRegister(long)
@ stdcall -arch=win32 UnMapLS(long)
@ stdcall -arch=win32 -norelay UnMapSLFixArray(long long)
@ stdcall -arch=win32 _lclose16(long)
################################################################
# 16-bit symbols not available from kernel32 but used by other 16-bit dlls
#
@ stdcall -arch=win32 AllocCStoDSAlias16(long)
@ stdcall -arch=win32 AllocSelectorArray16(long)
@ stdcall -arch=win32 ConvertDialog32To16(ptr long ptr)
@ stdcall -arch=win32 FarGetOwner16(long)
@ stdcall -arch=win32 FarSetOwner16(long long)
@ stdcall -arch=win32 FindResource16(long str str)
@ stdcall -arch=win32 FreeResource16(long)
@ stdcall -arch=win32 FreeSelector16(long)
@ stdcall -arch=win32 GetCurrentPDB16()
@ stdcall -arch=win32 GetCurrentTask()
@ stdcall -arch=win32 GetDOSEnvironment16()
@ stdcall -arch=win32 GetExePtr(long)
@ stdcall -arch=win32 GetExpWinVer16(long)
@ stdcall -arch=win32 GetModuleHandle16(str)
@ stdcall -arch=win32 GetSelectorLimit16(long)
@ stdcall -arch=win32 GlobalDOSAlloc16(long)
@ stdcall -arch=win32 GlobalDOSFree16(long)
@ stdcall -arch=win32 GlobalFlags16(long)
@ stdcall -arch=win32 GlobalReAlloc16(long long long)
@ stdcall -arch=win32 InitTask16(ptr)
@ stdcall -arch=win32 IsBadReadPtr16(long long)
@ stdcall -arch=win32 IsTask16(long)
@ stdcall -arch=win32 LoadModule16(str long)
@ stdcall -arch=win32 LoadResource16(long long)
@ stdcall -arch=win32 LocalAlloc16(long long)
@ stdcall -arch=win32 LocalInit16(long long long)
@ stdcall -arch=win32 LocalLock16(long)
@ stdcall -arch=win32 LocalUnlock16(long)
@ stdcall -arch=win32 LocalReAlloc16(long long long)
@ stdcall -arch=win32 LocalFree16(long)
@ stdcall -arch=win32 LocalSize16(long)
@ stdcall -arch=win32 LocalCompact16(long)
@ stdcall -arch=win32 LocalCountFree16()
@ stdcall -arch=win32 LocalHeapSize16()
@ stdcall -arch=win32 LockResource16(long)
@ stdcall -arch=win32 SelectorAccessRights16(long long long)
@ stdcall -arch=win32 SetSelectorBase(long long)
@ stdcall -arch=win32 SetSelectorLimit16(long long)
@ stdcall -arch=win32 SizeofResource16(long long)
@ stdcall -arch=win32 WinExec16(str long)
################################################################
# Wine internal extensions
#
# All functions must be prefixed with '__wine_' (for internal functions)
# or 'wine_' (for user-visible functions) to avoid namespace conflicts.
# 16-bit relays
@ cdecl -arch=win32 -private __wine_emulate_instruction(ptr ptr)
# VxDs
@ cdecl -arch=win32 -private __wine_vxd_open(wstr long ptr)
@ cdecl -arch=win32 -private __wine_vxd_get_proc(long)

View File

@ -90,7 +90,6 @@ static HMODULE16 NE_GetModuleByFilename( LPCSTR name );
/* patch all the flat cs references of the code segment if necessary */ /* patch all the flat cs references of the code segment if necessary */
static inline void patch_code_segment( NE_MODULE *pModule ) static inline void patch_code_segment( NE_MODULE *pModule )
{ {
#ifdef __i386__
int i; int i;
CALLFROM16 *call; CALLFROM16 *call;
SEGTABLEENTRY *pSeg = NE_SEG_TABLE( pModule ); SEGTABLEENTRY *pSeg = NE_SEG_TABLE( pModule );
@ -112,7 +111,6 @@ static inline void patch_code_segment( NE_MODULE *pModule )
if (TRACE_ON(relay)) /* patch relay functions to all point to relay_call_from_16 */ if (TRACE_ON(relay)) /* patch relay functions to all point to relay_call_from_16 */
for (i = 0; call[i].pushl == 0x68; i++) call[i].relay = relay_call_from_16; for (i = 0; call[i].pushl == 0x68; i++) call[i].relay = relay_call_from_16;
#endif
} }
@ -2168,8 +2166,6 @@ void WINAPI MapHInstSL16( CONTEXT86 *context )
context->Eax = (DWORD)MapHModuleSL( context->Eax ); context->Eax = (DWORD)MapHModuleSL( context->Eax );
} }
#ifdef __i386__
/*************************************************************************** /***************************************************************************
* MapHInstLS (KERNEL32.@) * MapHInstLS (KERNEL32.@)
*/ */
@ -2205,5 +2201,3 @@ __ASM_STDCALL_FUNC( MapHInstSL_PN, 0,
"pushl %eax\n\t" "pushl %eax\n\t"
"call " __ASM_NAME("MapHModuleSL") __ASM_STDCALL(4) "\n" "call " __ASM_NAME("MapHModuleSL") __ASM_STDCALL(4) "\n"
"1:\tret" ) "1:\tret" )
#endif /* __i386__ */

View File

@ -89,11 +89,9 @@ WORD WINAPI FreeSelector16( WORD sel )
wine_ldt_get_entry( sel, &entry ); wine_ldt_get_entry( sel, &entry );
if (wine_ldt_is_empty( &entry )) return sel; /* error */ if (wine_ldt_is_empty( &entry )) return sel; /* error */
#ifdef __i386__
/* Check if we are freeing current %fs selector */ /* Check if we are freeing current %fs selector */
if (!((wine_get_fs() ^ sel) & ~3)) if (!((wine_get_fs() ^ sel) & ~3))
WARN("Freeing %%fs selector (%04x), not good.\n", wine_get_fs() ); WARN("Freeing %%fs selector (%04x), not good.\n", wine_get_fs() );
#endif /* __i386__ */
wine_ldt_free_entries( sel, 1 ); wine_ldt_free_entries( sel, 1 );
return 0; return 0;
} }
@ -523,7 +521,6 @@ LPVOID WINAPI MapSLFix( SEGPTR sptr )
return MapSL(sptr); return MapSL(sptr);
} }
#ifdef __i386__
/*********************************************************************** /***********************************************************************
* UnMapSLFixArray (KERNEL32.@) * UnMapSLFixArray (KERNEL32.@)
@ -618,5 +615,3 @@ DEFINE_SUnMapLS(28)
DEFINE_SUnMapLS(32) DEFINE_SUnMapLS(32)
DEFINE_SUnMapLS(36) DEFINE_SUnMapLS(36)
DEFINE_SUnMapLS(40) DEFINE_SUnMapLS(40)
#endif /* __i386__ */

View File

@ -36,8 +36,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(snoop); WINE_DEFAULT_DEBUG_CHANNEL(snoop);
#ifdef __i386__
#include "pshpack1.h" #include "pshpack1.h"
static void WINAPI SNOOP16_Entry(FARPROC proc, LPBYTE args, CONTEXT86 *context); static void WINAPI SNOOP16_Entry(FARPROC proc, LPBYTE args, CONTEXT86 *context);
@ -343,13 +341,3 @@ static void WINAPI SNOOP16_Return(FARPROC proc, LPBYTE args, CONTEXT86 *context)
HIWORD(ret->origreturn),LOWORD(ret->origreturn)); HIWORD(ret->origreturn),LOWORD(ret->origreturn));
ret->origreturn = NULL; /* mark as empty */ ret->origreturn = NULL; /* mark as empty */
} }
#else /* !__i386__ */
void SNOOP16_RegisterDLL(HMODULE16 hModule,LPCSTR name) {
if (!TRACE_ON(snoop)) return;
FIXME("snooping works only on i386 for now.\n");
}
FARPROC16 SNOOP16_GetProcAddress16(HMODULE16 hmod,DWORD ordinal,FARPROC16 origfun) {
return origfun;
}
#endif /* !__i386__ */

View File

@ -108,9 +108,7 @@ VOID WINAPI _EnterSysLevel(SYSLEVEL *lock)
TRACE("(%p, level %d): thread %x count after %d\n", TRACE("(%p, level %d): thread %x count after %d\n",
lock, lock->level, GetCurrentThreadId(), thread_data->sys_count[lock->level] ); lock, lock->level, GetCurrentThreadId(), thread_data->sys_count[lock->level] );
#ifdef __i386__
if (lock == &Win16Mutex) CallTo16_TebSelector = wine_get_fs(); if (lock == &Win16Mutex) CallTo16_TebSelector = wine_get_fs();
#endif
} }
/************************************************************************ /************************************************************************

View File

@ -31,8 +31,6 @@
# include <unistd.h> # include <unistd.h>
#endif #endif
#ifdef __i386__
#include "windef.h" #include "windef.h"
#include "winbase.h" #include "winbase.h"
#include "winerror.h" #include "winerror.h"
@ -2538,5 +2536,3 @@ DWORD WINAPIV WOW16Call(WORD x, WORD y, WORD z, VA_LIST16 args)
DPRINTF(") calling address was 0x%08x\n",calladdr); DPRINTF(") calling address was 0x%08x\n",calladdr);
return 0; return 0;
} }
#endif /* __i386__ */

View File

@ -18,8 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#ifdef __i386__
#include <stdarg.h> #include <stdarg.h>
#include "wine/winbase16.h" #include "wine/winbase16.h"
@ -325,5 +323,3 @@ WORD WINAPI UTInit16( DWORD x1, DWORD x2, DWORD x3, DWORD x4 )
FIXME("(%08x, %08x, %08x, %08x): stub\n", x1, x2, x3, x4 ); FIXME("(%08x, %08x, %08x, %08x): stub\n", x1, x2, x3, x4 );
return 0; return 0;
} }
#endif /* __i386__ */

View File

@ -134,7 +134,7 @@ static HANDLE open_vxd_handle( LPCWSTR name )
} }
/* retrieve the DeviceIoControl function for a Vxd given a file handle */ /* retrieve the DeviceIoControl function for a Vxd given a file handle */
DeviceIoProc VXD_get_proc( HANDLE handle ) DeviceIoProc __wine_vxd_get_proc( HANDLE handle )
{ {
DeviceIoProc ret = NULL; DeviceIoProc ret = NULL;
int status, i; int status, i;
@ -171,7 +171,7 @@ done:
/* load a VxD and return a file handle to it */ /* load a VxD and return a file handle to it */
HANDLE VXD_Open( LPCWSTR filenameW, DWORD access, SECURITY_ATTRIBUTES *sa ) HANDLE __wine_vxd_open( LPCWSTR filenameW, DWORD access, SECURITY_ATTRIBUTES *sa )
{ {
static const WCHAR dotVxDW[] = {'.','v','x','d',0}; static const WCHAR dotVxDW[] = {'.','v','x','d',0};
int i; int i;
@ -179,12 +179,6 @@ HANDLE VXD_Open( LPCWSTR filenameW, DWORD access, SECURITY_ATTRIBUTES *sa )
HMODULE module; HMODULE module;
WCHAR *p, name[16]; WCHAR *p, name[16];
if (!(GetVersion() & 0x80000000)) /* there are no VxDs on NT */
{
SetLastError( ERROR_FILE_NOT_FOUND );
return 0;
}
/* normalize the filename */ /* normalize the filename */
if (strlenW( filenameW ) >= sizeof(name)/sizeof(WCHAR) - 4 || if (strlenW( filenameW ) >= sizeof(name)/sizeof(WCHAR) - 4 ||

View File

@ -37,9 +37,6 @@
#include "wine/debug.h" #include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(thunk); WINE_DEFAULT_DEBUG_CHANNEL(thunk);
#ifdef __i386__
WINE_DECLARE_DEBUG_CHANNEL(relay); WINE_DECLARE_DEBUG_CHANNEL(relay);
WINE_DECLARE_DEBUG_CHANNEL(snoop); WINE_DECLARE_DEBUG_CHANNEL(snoop);
@ -301,16 +298,6 @@ static DWORD vm86_handler( EXCEPTION_RECORD *record, EXCEPTION_REGISTRATION_RECO
} }
#else /* __i386__ */
BOOL WOWTHUNK_Init(void)
{
return TRUE;
}
#endif /* __i386__ */
/* /*
* 32-bit WOW routines (in WOW32, but actually forwarded to KERNEL32) * 32-bit WOW routines (in WOW32, but actually forwarded to KERNEL32)
*/ */
@ -535,7 +522,6 @@ WORD WINAPI K32WOWHandle16( HANDLE handle, WOW_HANDLE_TYPE type )
BOOL WINAPI K32WOWCallback16Ex( DWORD vpfn16, DWORD dwFlags, BOOL WINAPI K32WOWCallback16Ex( DWORD vpfn16, DWORD dwFlags,
DWORD cbArgs, LPVOID pArgs, LPDWORD pdwRetCode ) DWORD cbArgs, LPVOID pArgs, LPDWORD pdwRetCode )
{ {
#ifdef __i386__
/* /*
* Arguments must be prepared in the correct order by the caller * Arguments must be prepared in the correct order by the caller
* (both for PASCAL and CDECL calling convention), so we simply * (both for PASCAL and CDECL calling convention), so we simply
@ -674,9 +660,6 @@ BOOL WINAPI K32WOWCallback16Ex( DWORD vpfn16, DWORD dwFlags,
SYSLEVEL_CheckNotLevel( 2 ); SYSLEVEL_CheckNotLevel( 2 );
} }
} }
#else
assert(0); /* cannot call to 16-bit on non-Intel architectures */
#endif /* __i386__ */
return TRUE; /* success */ return TRUE; /* success */
} }