Commit 1051c3fe authored by Patrik Stridvall's avatar Patrik Stridvall Committed by Alexandre Julliard

- Support for stdcall64

- Minor API updates.
parent 6d52787f
...@@ -356,6 +356,7 @@ dlls/win32s ...@@ -356,6 +356,7 @@ dlls/win32s
% dlls/win32s/win32s16.spec % dlls/win32s/win32s16.spec
dlls/kernel
dlls/win32s dlls/win32s
memory memory
scheduler scheduler
......
...@@ -51,6 +51,7 @@ MMIOINFO16 * ...@@ -51,6 +51,7 @@ MMIOINFO16 *
UINT16 * UINT16 *
WAVEHDR * WAVEHDR *
WORD * WORD *
YIELDPROC16
%ptr # --forbidden %ptr # --forbidden
...@@ -63,10 +64,6 @@ FARPROC16 ...@@ -63,10 +64,6 @@ FARPROC16
LPTIMECALLBACK16 LPTIMECALLBACK16
SEGPTR SEGPTR
%segptr # --forbidden
YIELDPROC
%str %str
LPCSTR LPCSTR
......
...@@ -9,16 +9,26 @@ LPDWORD ...@@ -9,16 +9,26 @@ LPDWORD
%ptr # --forbidden %ptr # --forbidden
HINF16 *
LPHKEY LPHKEY
LPWORD
%str %str
LPCSTR LPCSTR
LPSTR LPSTR
%void
void
%word # --forbidden %word # --forbidden
INT16 INT16
LOGDISKID16
HINF16
HINSTANCE16 HINSTANCE16
HKEY HKEY
HWND16 HWND16
RETERR16
WORD
...@@ -33,7 +33,6 @@ LPDWORD ...@@ -33,7 +33,6 @@ LPDWORD
LPICONINFO16 LPICONINFO16
LPINT16 LPINT16
LPMSG16 LPMSG16
LPMSG16_32
LPMSGBOXPARAMS16 LPMSGBOXPARAMS16
LPPAINTSTRUCT16 LPPAINTSTRUCT16
LPPOINT16 LPPOINT16
......
...@@ -38,10 +38,6 @@ HMODULE16 ...@@ -38,10 +38,6 @@ HMODULE16
UINT16 UINT16
int int
%longlong
LARGE_INTEGER
%ptr %ptr
BOOL * BOOL *
......
...@@ -38,21 +38,23 @@ unsigned long ...@@ -38,21 +38,23 @@ unsigned long
%longlong %longlong
LARGE_INTEGER LONGLONG
ULONGLONG
%ptr %ptr
CONTEXT * CONTEXT *
CONTEXT86 * CONTEXT86 *
CRITICAL_SECTION *
DWORD * DWORD *
EXCEPTION_FRAME * EXCEPTION_FRAME *
EXCEPTION_RECORD * EXCEPTION_RECORD *
FILETIME *
HANDLE * HANDLE *
INT *
LARGE_INTEGER *
LPBYTE LPBYTE
LPDWORD LPDWORD
LPDWORD * LPDWORD *
LPFILETIME
LPRTL_RWLOCK LPRTL_RWLOCK
LPVOID LPVOID
LPVOID * LPVOID *
...@@ -90,7 +92,10 @@ PULONG ...@@ -90,7 +92,10 @@ PULONG
PUNICODE_STRING PUNICODE_STRING
PVOID PVOID
PVOID * PVOID *
RTL_CRITICAL_SECTION *
STRING * STRING *
UINT *
ULONGLONG *
UNICODE_STRING * UNICODE_STRING *
VOID * VOID *
struct _TEB * struct _TEB *
......
...@@ -38,6 +38,7 @@ HIMAGELIST * ...@@ -38,6 +38,7 @@ HIMAGELIST *
HWND * HWND *
IShellFolder ** IShellFolder **
IStream * IStream *
ITEMIDLIST *
IUnknown * IUnknown *
LPBROWSEINFOA LPBROWSEINFOA
LPBYTE LPBYTE
......
...@@ -24,12 +24,12 @@ int ...@@ -24,12 +24,12 @@ int
DLLVERSIONINFO * DLLVERSIONINFO *
IStream * IStream *
ITEMIDLIST *
IUnknown * IUnknown *
LPBYTE LPBYTE
LPCLSID LPCLSID
LPCVOID LPCVOID
LPDWORD LPDWORD
LPITEMIDLIST
LPSTRRET LPSTRRET
LPVOID LPVOID
REFGUID REFGUID
......
%long %long
BOOL
DWORD DWORD
%ptr %ptr
LPSRB LPDWORD
\ No newline at end of file LPSRB
LPVOID
...@@ -268,7 +268,7 @@ sub parse_spec_file { ...@@ -268,7 +268,7 @@ sub parse_spec_file {
} }
my $ordinal; my $ordinal;
if(/^(\d+|@)\s+(pascal|pascal16|stdcall|cdecl|register|interrupt|varargs)\s+(\S+)\s*\(\s*(.*?)\s*\)\s*(\S+)$/) { if(/^(\d+|@)\s+(pascal|pascal16|stdcall|stdcall64|cdecl|register|interrupt|varargs)\s+(\S+)\s*\(\s*(.*?)\s*\)\s*(\S+)$/) {
my $calling_convention = $2; my $calling_convention = $2;
my $external_name = $3; my $external_name = $3;
my $arguments = $4; my $arguments = $4;
......
...@@ -75,7 +75,11 @@ sub check_function { ...@@ -75,7 +75,11 @@ sub check_function {
} elsif($calling_convention =~ /^VFWAPIV|WINAPIV$/) { } elsif($calling_convention =~ /^VFWAPIV|WINAPIV$/) {
$implemented_calling_convention = "varargs"; $implemented_calling_convention = "varargs";
} elsif($calling_convention =~ /^__stdcall|VFWAPI|WINAPI|CALLBACK$/) { } elsif($calling_convention =~ /^__stdcall|VFWAPI|WINAPI|CALLBACK$/) {
$implemented_calling_convention = "stdcall"; if($implemented_return_kind =~ /^longlong$/) {
$implemented_calling_convention = "stdcall64";
} else {
$implemented_calling_convention = "stdcall";
}
} else { } else {
$implemented_calling_convention = "cdecl"; $implemented_calling_convention = "cdecl";
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment