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 "@") {
diff --git a/tools/winapi_check/modules.dat b/tools/winapi_check/modules.dat
index 68b0153..f7dd46d 100644
--- a/tools/winapi_check/modules.dat
+++ b/tools/winapi_check/modules.dat
@@ -535,6 +535,14 @@
 
 dlls/winmm/winealsa
 
+% dlls/winmm/wineaudioio/wineaudioio.drv.spec
+
+dlls/winmm/wineaudioio
+
+% dlls/winmm/winenas/winenas.drv.spec
+
+dlls/winmm/winenas
+
 % dlls/winmm/wineoss/wineoss.drv.spec
 
 dlls/winmm/wineoss
diff --git a/tools/winapi_check/winapi_check b/tools/winapi_check/winapi_check
index a4814aa..0eb8885 100755
--- a/tools/winapi_check/winapi_check
+++ b/tools/winapi_check/winapi_check
@@ -561,7 +561,9 @@
 
 		if($check_protection && $header) {
 		    if((-e "$wine_dir/include/$header" || -e "$wine_dir/$file_dir/$header")) {
-			if($header !~ /^(oleauto\.h|win(?:base|def|error|gdi|nls|nt|user)\.h)$/) {
+			if($header !~ /^(oleauto\.h|win(?:base|def|error|gdi|nls|nt|user)\.h)$/ &&
+			   $file_dir !~ /tests$/)
+			{
 			    $output->write("$file: #include \<$header\> is a local include\n");
 			}
 		    }
@@ -577,6 +579,7 @@
 			    } elsif($macro =~ /^HAVE_(.*?)_H$/) {
 				my $name = $1;
 				if($header !~ /^alloca\.h|sys\/time\.h|unistd\.h$/ &&
+				   $file_dir !~ /tests$/ &&
 				   !$preprocessor->is_def("STATFS_DEFINED_BY_$name"))
 				{
 				    $output->write("$file: #$directive $argument: is a conditional include, " .