API file update.
diff --git a/tools/winapi/win32.api b/tools/winapi/win32.api
index 655f9a9..027c0f9 100644
--- a/tools/winapi/win32.api
+++ b/tools/winapi/win32.api
@@ -284,6 +284,8 @@
%long
int
+size_t
+unsigned int
%ptr
@@ -1187,6 +1189,8 @@
%ptr
+EXCEPTION_FRAME *
+EXCEPTION_FRAME **
MSVCRT_EXCEPTION_FRAME *
MSVCRT_FILE *
MSVCRT_compar_fn_t
@@ -1220,11 +1224,10 @@
char *
char **
char ***
+cxx_exception_type *
exception *
int *
struct MSVCRT_tm *
-struct __EXCEPTION_FRAME *
-struct __EXCEPTION_FRAME **
struct _diskfree_t *
struct _finddata_t *
struct _stat *
@@ -1429,6 +1432,7 @@
struct _TEB *
union cptable *
void *
+wine_signal_handler
%ptr --extension
@@ -1541,6 +1545,7 @@
LPGUID
LPLOCKBYTES *
LPMALLOC *
+LPMALLOCSPY
LPMARSHAL *
LPMESSAGEFILTER
LPMESSAGEFILTER *
@@ -2220,7 +2225,6 @@
LPBROWSEINFOW
LPBYTE
LPCITEMIDLIST
-LPCLSID
LPCSHLWAPI_CLIST
LPCSTR *
LPCVOID
@@ -2233,17 +2237,17 @@
LPOPENFILENAMEW
LPPAGESETUPDLGW
LPPRINTDLGW
+LPSECURITY_ATTRIBUTES
LPSHELLEXECUTEINFOW
LPSHFILEOPSTRUCTW
LPSHLWAPI_CLIST
LPSHLWAPI_CLIST *
LPSTRRET
-LPUNKNOWN *
+LPTHREAD_START_ROUTINE
LPVOID
LPVOID *
LPWORD
LPWSTR *
-PACL
PHUSKEY
PLONG
PSECURITY_DESCRIPTOR
@@ -2253,6 +2257,7 @@
SHFILEINFOW *
UINT *
ULARGE_INTEGER *
+VOID *
WNDCLASSA *
unsigned char *
va_list
@@ -2671,6 +2676,16 @@
UINT
WORD
+%%wineaudioio.drv
+
+%long
+
+DWORD
+HDRVR
+LONG
+UINT
+WORD
+
%%winedos.dll
%long
@@ -2703,6 +2718,16 @@
LRESULT
UINT
+%%winenas.drv
+
+%long
+
+DWORD
+HDRVR
+LONG
+WORD
+UINT
+
%%wineoss.drv
%long
@@ -2777,6 +2802,7 @@
HANDLE
HINTERNET
HRESULT
+HWND
INTERNET_PORT
%ptr
diff --git a/tools/winapi/winapi.pm b/tools/winapi/winapi.pm
index 20c7347..77731ea 100644
--- a/tools/winapi/winapi.pm
+++ b/tools/winapi/winapi.pm
@@ -250,7 +250,7 @@
my $ordinal;
if(/^(\d+|@)\s+
(pascal|pascal16|stdcall|cdecl|varargs)\s+
- ((?:(?:-noimport|-norelay|-i386|-ret64|-register|-interrupt)\s+)*)(\S+)\s*\(\s*(.*?)\s*\)\s*(\S+)$/x)
+ ((?:(?:-noimport|-noname|-norelay|-i386|-ret64|-register|-interrupt)\s+)*)(\S+)\s*\(\s*(.*?)\s*\)\s*(\S+)$/x)
{
my $calling_convention = $2;
my $flags = $3;
@@ -262,6 +262,10 @@
$flags =~ s/\s+/ /g;
+ if($flags =~ /-noname/) {
+ # $external_name = "@";
+ }
+
if($flags =~ /(?:-register|-interrupt)/) {
if($arguments) { $arguments .= " "; }
$arguments .= "ptr";
@@ -338,11 +342,18 @@
}
}
}
- } elsif(/^(\d+|@)\s+stub(?:\s+(?:-noimport|-norelay|-i386|-ret64))?\s+(\S+)$/) {
- my $external_name = $2;
-
+ } elsif(/^(\d+|@)\s+stub(?:\s+(-noimport|-noname|-norelay|-i386|-ret64))?\s+(\S+)$/) {
$ordinal = $1;
+ my $flags = $2;
+ my $external_name = $3;
+
+ $flags = "" if !defined($flags);
+
+ if($flags =~ /-noname/) {
+ # $external_name = "@";
+ }
+
my $internal_name = $external_name;
if ($external_name ne "@") {