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

This commit is contained in:
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_plk.mc.rc
dlls/kernel32/nls/winerr_ptg.mc.rc
dlls/krnl386.exe16
dlls/libd3dx9.def
dlls/libwinspool.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"
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 \\
dlls/loadperf/Makefile"
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/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/kernel32/tests/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/localspl/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/localspl/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/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/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/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])

View File

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

View File

@ -9,8 +9,6 @@ IMPORTS = ntdll
EXTRALIBS = @COREFOUNDATIONLIB@ @LIBPOLL@
EXTRADLLFLAGS = -Wb,-F,KERNEL32.dll -Wl,--image-base,0x7b800000
SPEC_SRCS16 = krnl386.exe.spec
C_SRCS = \
actctx.c \
atom.c \
@ -20,64 +18,38 @@ C_SRCS = \
console.c \
cpu.c \
debugger.c \
dosmem.c \
editline.c \
environ.c \
except.c \
fiber.c \
file.c \
file16.c \
format_msg.c \
global16.c \
heap.c \
instr.c \
kernel_main.c \
lcformat.c \
local16.c \
locale.c \
lzexpand.c \
module.c \
ne_module.c \
ne_segment.c \
oldconfig.c \
path.c \
powermgnt.c \
process.c \
profile.c \
relay16.c \
resource.c \
resource16.c \
selector.c \
snoop16.c \
string.c \
sync.c \
syslevel.c \
tape.c \
task.c \
thread.c \
thunk.c \
time.c \
toolhelp.c \
utthunk.c \
version.c \
virtual.c \
volume.c \
vxd.c \
wowthunk.c
C_SRCS16 = \
atom16.c \
error16.c \
kernel16.c \
registry16.c
volume.c
RC_SRCS = \
locale_rc.rc \
version.rc
RC_SRCS16 = \
version16.rc
MC_SRCS = \
nls/winerr_deu.mc \
nls/winerr_enu.mc \
@ -90,20 +62,8 @@ MC_SRCS = \
nls/winerr_plk.mc \
nls/winerr_ptg.mc
EXTRA_OBJS = relay16asm.o
EXTRASUBDIRS = nls
@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

View File

@ -40,7 +40,6 @@
#include "winternl.h"
#include "winioctl.h"
#include "wincon.h"
#include "wine/winbase16.h"
#include "kernel_private.h"
#include "wine/exception.h"
@ -1363,7 +1362,13 @@ HANDLE WINAPI CreateFileW( LPCWSTR filename, DWORD access, DWORD sharing,
options, NULL, 0 );
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);
ret = INVALID_HANDLE_VALUE;
@ -2345,7 +2350,13 @@ BOOL WINAPI DeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode,
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,
lpvOutBuffer, cbOutBuffer, lpcbBytesReturned, lpOverlapped );
}

View File

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

View File

@ -33,10 +33,8 @@
#include "winternl.h"
#include "wownt32.h"
#include "wine/winbase16.h"
#include "wine/library.h"
#include "kernel_private.h"
#include "kernel16_private.h"
#include "console_private.h"
#include "wine/debug.h"
@ -46,32 +44,6 @@ extern int CDECL __wine_set_signal_handler(unsigned, int (*)(unsigned));
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
*/
@ -156,8 +128,6 @@ static BOOL process_attach( HMODULE module )
{
/* create the shared heap for broken win95 native dlls */
HeapCreate( HEAP_SHARED, 0, 0 );
/* setup emulation of protected instructions from 32-bit code */
RtlAddVectoredExceptionHandler( TRUE, INSTR_vectored_handler );
}
#endif
@ -176,10 +146,7 @@ static BOOL process_attach( HMODULE module )
* TBD when not using wineserver handles for console handles
*/
/* Create 16-bit task */
LoadLibrary16( "krnl386.exe" );
thread_attach();
TASK_CreateMainTask();
LoadLibraryA( "krnl386.exe16" );
return TRUE;
}
@ -191,13 +158,8 @@ BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
switch(reason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls( hinst );
return process_attach( hinst );
case DLL_THREAD_ATTACH:
thread_attach();
break;
case DLL_THREAD_DETACH:
thread_detach();
break;
case DLL_PROCESS_DETACH:
WritePrivateProfileSectionW( NULL, NULL, NULL );
break;

View File

@ -85,11 +85,6 @@ extern void MODULE_get_binary_info( HANDLE hfile, struct binary_info *info );
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 */
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 );
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 "wine/port.h"
#ifdef __i386__
#include <stdarg.h>
#include "windef.h"
@ -922,5 +920,3 @@ FARPROC16 WINAPI GetSetKernelDOSProc16( FARPROC16 DosProc )
FIXME("(DosProc=%p): stub\n", DosProc);
return NULL;
}
#endif /* __i386__ */

View File

@ -36,6 +36,53 @@ extern DWORD WINAPI GetProcessFlags( DWORD processid );
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)
*/
@ -48,6 +95,9 @@ BOOL WINAPI KERNEL_DllEntryPoint( DWORD reasion, HINSTANCE16 inst, WORD ds,
if (done) return TRUE;
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 */
if (!WOWTHUNK_Init()) return FALSE;
@ -68,6 +118,7 @@ BOOL WINAPI KERNEL_DllEntryPoint( DWORD reasion, HINSTANCE16 inst, WORD ds,
/* Initialize KERNEL.THHOOK */
TASK_InstallTHHook(MapSL((SEGPTR)GetProcAddress16( inst, (LPCSTR)332 )));
TASK_CreateMainTask();
/* Initialize the real-mode selector entry points */
#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;
}
#ifdef __i386__
#define DEFINE_REGS_ENTRYPOINT( name, args ) \
__ASM_GLOBAL_FUNC( name, \
".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 */ \
"call " __ASM_NAME("__wine_call_from_32_regs") "\n\t" \
"ret $(4*" #args ")" ) /* fake ret to make copy protections happy */
#endif
#endif /* __WINE_KERNEL16_PRIVATE_H */

View File

@ -527,3 +527,207 @@
# Win95 krnl386.exe also exports ordinals 802-864,
# however, those seem to be only callback stubs that are
# 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 */
static inline void patch_code_segment( NE_MODULE *pModule )
{
#ifdef __i386__
int i;
CALLFROM16 *call;
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 */
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 );
}
#ifdef __i386__
/***************************************************************************
* MapHInstLS (KERNEL32.@)
*/
@ -2205,5 +2201,3 @@ __ASM_STDCALL_FUNC( MapHInstSL_PN, 0,
"pushl %eax\n\t"
"call " __ASM_NAME("MapHModuleSL") __ASM_STDCALL(4) "\n"
"1:\tret" )
#endif /* __i386__ */

View File

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

View File

@ -36,8 +36,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(snoop);
#ifdef __i386__
#include "pshpack1.h"
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));
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",
lock, lock->level, GetCurrentThreadId(), thread_data->sys_count[lock->level] );
#ifdef __i386__
if (lock == &Win16Mutex) CallTo16_TebSelector = wine_get_fs();
#endif
}
/************************************************************************

View File

@ -31,8 +31,6 @@
# include <unistd.h>
#endif
#ifdef __i386__
#include "windef.h"
#include "winbase.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);
return 0;
}
#endif /* __i386__ */

View File

@ -18,8 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifdef __i386__
#include <stdarg.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 );
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 */
DeviceIoProc VXD_get_proc( HANDLE handle )
DeviceIoProc __wine_vxd_get_proc( HANDLE handle )
{
DeviceIoProc ret = NULL;
int status, i;
@ -171,7 +171,7 @@ done:
/* 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};
int i;
@ -179,12 +179,6 @@ HANDLE VXD_Open( LPCWSTR filenameW, DWORD access, SECURITY_ATTRIBUTES *sa )
HMODULE module;
WCHAR *p, name[16];
if (!(GetVersion() & 0x80000000)) /* there are no VxDs on NT */
{
SetLastError( ERROR_FILE_NOT_FOUND );
return 0;
}
/* normalize the filename */
if (strlenW( filenameW ) >= sizeof(name)/sizeof(WCHAR) - 4 ||

View File

@ -37,9 +37,6 @@
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(thunk);
#ifdef __i386__
WINE_DECLARE_DEBUG_CHANNEL(relay);
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)
*/
@ -535,7 +522,6 @@ WORD WINAPI K32WOWHandle16( HANDLE handle, WOW_HANDLE_TYPE type )
BOOL WINAPI K32WOWCallback16Ex( DWORD vpfn16, DWORD dwFlags,
DWORD cbArgs, LPVOID pArgs, LPDWORD pdwRetCode )
{
#ifdef __i386__
/*
* Arguments must be prepared in the correct order by the caller
* (both for PASCAL and CDECL calling convention), so we simply
@ -674,9 +660,6 @@ BOOL WINAPI K32WOWCallback16Ex( DWORD vpfn16, DWORD dwFlags,
SYSLEVEL_CheckNotLevel( 2 );
}
}
#else
assert(0); /* cannot call to 16-bit on non-Intel architectures */
#endif /* __i386__ */
return TRUE; /* success */
}