Replaced forwards by normal function declarations.

diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 0997215..356b81a 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -133,7 +133,7 @@
 @ stub InitiateSystemShutdownW
 @ stub InstallApplication
 @ stub IsProcessRestricted
-@ forward IsTextUnicode ntdll.RtlIsTextUnicode
+@ stdcall IsTextUnicode(ptr long ptr) ntdll.RtlIsTextUnicode
 @ stub IsTokenRestricted
 @ stub IsValidAcl
 @ stdcall IsValidSecurityDescriptor(ptr) IsValidSecurityDescriptor
diff --git a/dlls/dplay/dplay.spec b/dlls/dplay/dplay.spec
index 19ddc5d..9ee08c1 100644
--- a/dlls/dplay/dplay.spec
+++ b/dlls/dplay/dplay.spec
@@ -1,4 +1,4 @@
 # First DirectPlay dll. Replaced by dplayx.dll.
 
-@ forward DirectPlayCreate dplayx.DirectPlayCreate
-@ forward DirectPlayEnumerate dplayx.DirectPlayEnumerate
+@ stdcall DirectPlayCreate(ptr ptr ptr) dplayx.DirectPlayCreate
+@ stdcall DirectPlayEnumerate(ptr ptr) dplayx.DirectPlayEnumerate
diff --git a/dlls/kernel/kernel32.spec b/dlls/kernel/kernel32.spec
index 003613c..71de244 100644
--- a/dlls/kernel/kernel32.spec
+++ b/dlls/kernel/kernel32.spec
@@ -79,20 +79,20 @@
  69 stdcall K32WOWGetVDMPointerUnfix(long) K32WOWGetVDMPointerUnfix
  70 stdcall K32WOWGetDescriptor(long long) K32WOWGetDescriptor
  71 stub IsThreadId
- 72 forward K32RtlLargeIntegerAdd ntdll.RtlLargeIntegerAdd
- 73 forward K32RtlEnlargedIntegerMultiply ntdll.RtlEnlargedIntegerMultiply
- 74 forward K32RtlEnlargedUnsignedMultiply ntdll.RtlEnlargedUnsignedMultiply
- 75 forward K32RtlEnlargedUnsignedDivide ntdll.RtlEnlargedUnsignedDivide
- 76 forward K32RtlExtendedLargeIntegerDivide ntdll.RtlExtendedLargeIntegerDivide
- 77 forward K32RtlExtendedMagicDivide ntdll.RtlExtendedMagicDivide
- 78 forward K32RtlExtendedIntegerMultiply ntdll.RtlExtendedIntegerMultiply
- 79 forward K32RtlLargeIntegerShiftLeft ntdll.RtlLargeIntegerShiftLeft
- 80 forward K32RtlLargeIntegerShiftRight ntdll.RtlLargeIntegerShiftRight
- 81 forward K32RtlLargeIntegerArithmeticShift ntdll.RtlLargeIntegerArithmeticShift
- 82 forward K32RtlLargeIntegerNegate ntdll.RtlLargeIntegerNegate
- 83 forward K32RtlLargeIntegerSubtract ntdll.RtlLargeIntegerSubtract
- 84 forward K32RtlConvertLongToLargeInteger ntdll.RtlConvertLongToLargeInteger
- 85 forward K32RtlConvertUlongToLargeInteger ntdll.RtlConvertUlongToLargeInteger
+72 stdcall -ret64 K32RtlLargeIntegerAdd(long long long long) ntdll.RtlLargeIntegerAdd
+73 stdcall -ret64 K32RtlEnlargedIntegerMultiply(long long) ntdll.RtlEnlargedIntegerMultiply
+74 stdcall -ret64 K32RtlEnlargedUnsignedMultiply(long long) ntdll.RtlEnlargedUnsignedMultiply
+75 stdcall K32RtlEnlargedUnsignedDivide(long long long ptr) ntdll.RtlEnlargedUnsignedDivide
+76 stdcall -ret64 K32RtlExtendedLargeIntegerDivide(long long long ptr) ntdll.RtlExtendedLargeIntegerDivide
+77 stdcall -ret64 K32RtlExtendedMagicDivide(long long long long long) ntdll.RtlExtendedMagicDivide
+78 stdcall -ret64 K32RtlExtendedIntegerMultiply(long long long) ntdll.RtlExtendedIntegerMultiply
+79 stdcall -ret64 K32RtlLargeIntegerShiftLeft(long long long) ntdll.RtlLargeIntegerShiftLeft
+80 stdcall -ret64 K32RtlLargeIntegerShiftRight(long long long) ntdll.RtlLargeIntegerShiftRight
+81 stdcall -ret64 K32RtlLargeIntegerArithmeticShift(long long long) ntdll.RtlLargeIntegerArithmeticShift
+82 stdcall -ret64 K32RtlLargeIntegerNegate(long long) ntdll.RtlLargeIntegerNegate
+83 stdcall -ret64 K32RtlLargeIntegerSubtract(long long long long) ntdll.RtlLargeIntegerSubtract
+84 stdcall -ret64 K32RtlConvertLongToLargeInteger(long) ntdll.RtlConvertLongToLargeInteger
+85 stdcall -ret64 K32RtlConvertUlongToLargeInteger(long) ntdll.RtlConvertUlongToLargeInteger
  86 stdcall @(ptr) _KERNEL32_86
  87 stdcall SSOnBigStack() SSOnBigStack
  88 varargs SSCall(long long ptr) SSCall
@@ -835,7 +835,7 @@
 @ stub ValidateLocale
 @ stdcall VerLanguageNameA(long str long) VerLanguageNameA
 @ stdcall VerLanguageNameW(long wstr long) VerLanguageNameW
-@ forward VerSetConditionMask ntdll.VerSetConditionMask
+@ stdcall -ret64 VerSetConditionMask(long long long long) ntdll.VerSetConditionMask
 @ stdcall VirtualAlloc(ptr long long long) VirtualAlloc
 @ stdcall VirtualFree(ptr long long) VirtualFree
 @ stdcall VirtualLock(ptr long) VirtualLock
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 19debb6..6ba7e98 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -134,8 +134,8 @@
 @ cdecl __set_app_type(long) MSVCRT___set_app_type
 @ extern __setlc_active MSVCRT___setlc_active
 @ cdecl __setusermatherr(ptr) MSVCRT___setusermatherr
-@ forward __threadhandle kernel32.GetCurrentThread
-@ forward __threadid kernel32.GetCurrentThreadId
+@ cdecl __threadhandle() kernel32.GetCurrentThread
+@ cdecl __threadid() kernel32.GetCurrentThreadId
 @ cdecl __toascii(long) MSVCRT___toascii
 @ cdecl __unDName(long str ptr ptr long) MSVCRT___unDName
 @ cdecl __unDNameEx() MSVCRT___unDNameEx #FIXME
@@ -164,7 +164,7 @@
 @ cdecl _amsg_exit(long) MSVCRT__amsg_exit
 @ cdecl _assert(str str long) MSVCRT__assert
 @ stub _atodbl
-@ forward _atoi64 ntdll._atoi64
+@ cdecl -ret64 _atoi64(str) ntdll._atoi64
 @ stub _atoldbl
 @ cdecl _beep(long long) _beep
 @ cdecl _beginthread (ptr long ptr) _beginthread
@@ -243,7 +243,7 @@
 @ cdecl _fstat(long ptr) MSVCRT__fstat
 @ cdecl _fstati64(long ptr) _fstati64
 @ cdecl _ftime(ptr) _ftime
-@ forward _ftol ntdll._ftol
+@ cdecl _ftol() ntdll._ftol
 @ cdecl _fullpath(ptr str long) _fullpath
 @ cdecl _futime(long ptr) _futime
 @ cdecl _gcvt( double long str) gcvt
@@ -256,10 +256,10 @@
 @ cdecl _getdiskfree(long ptr) _getdiskfree
 @ cdecl _getdllprocaddr(long str long) _getdllprocaddr
 @ cdecl _getdrive() _getdrive
-@ forward _getdrives kernel32.GetLogicalDrives
+@ cdecl _getdrives() kernel32.GetLogicalDrives
 @ stub _getmaxstdio #()
 @ cdecl _getmbcp() _getmbcp
-@ forward _getpid kernel32.GetCurrentProcessId
+@ cdecl _getpid() kernel32.GetCurrentProcessId
 @ stub _getsystime #(ptr)
 @ cdecl _getw(ptr) _getw
 @ cdecl _getws(ptr) MSVCRT__getws
@@ -271,8 +271,8 @@
 @ stub _heapused #(ptr ptr)
 @ cdecl _heapwalk(ptr) _heapwalk
 @ cdecl _hypot(double double) hypot
-@ forward _i64toa ntdll._i64toa
-@ forward _i64tow ntdll._i64tow
+@ cdecl _i64toa(long long ptr long) ntdll._i64toa
+@ cdecl _i64tow(long long ptr long) ntdll._i64tow
 @ cdecl _initterm(ptr ptr) _initterm
 @ stub _inp #(long) -i386
 @ stub _inpd #(long) -i386
@@ -310,8 +310,8 @@
 @ cdecl _ismbslead(ptr ptr) _ismbslead
 @ cdecl _ismbstrail(ptr ptr) _ismbstrail
 @ cdecl _isnan( double ) _isnan
-@ forward _itoa ntdll._itoa
-@ forward _itow ntdll._itow
+@ cdecl _itoa(long ptr long) ntdll._itoa
+@ cdecl _itow(long ptr long) ntdll._itow
 @ cdecl _j0(double) j0
 @ cdecl _j1(double) j1
 @ cdecl _jn(long double) jn
@@ -328,8 +328,8 @@
 @ cdecl _lsearch(ptr ptr long long ptr) _lsearch
 @ cdecl _lseek(long long long) _lseek
 @ cdecl -ret64 _lseeki64(long long long long) _lseeki64
-@ forward _ltoa ntdll._ltoa
-@ forward _ltow ntdll._ltow
+@ cdecl _ltoa(long ptr long) ntdll._ltoa
+@ cdecl _ltow(long ptr long) ntdll._ltow
 @ cdecl _makepath(str str str str str) _makepath
 @ cdecl _matherr(ptr) _matherr
 @ cdecl _mbbtombc(long) _mbbtombc
@@ -388,7 +388,7 @@
 @ cdecl _mbstrlen(str) _mbstrlen
 @ cdecl _mbsupr(str) _mbsupr
 @ cdecl _memccpy(ptr ptr long long) memccpy
-@ forward _memicmp ntdll._memicmp
+@ cdecl _memicmp(str str long) ntdll._memicmp
 @ cdecl _mkdir(str) _mkdir
 @ cdecl _mktemp(str) _mktemp
 @ cdecl _msize(ptr) _msize
@@ -434,7 +434,7 @@
 @ stub _setsystime #(ptr long)
 @ cdecl _sleep(long) _sleep
 @ varargs _snprintf(str long str) snprintf
-@ forward _snwprintf ntdll._snwprintf
+@ varargs _snwprintf(wstr long wstr) ntdll._snwprintf
 @ varargs _sopen(str long long) MSVCRT__sopen
 @ varargs _spawnl(long str str) _spawnl
 @ stub _spawnle #(str str) varargs
@@ -444,7 +444,7 @@
 @ cdecl _spawnve(long str ptr ptr) _spawnve
 @ cdecl _spawnvp(long str ptr) _spawnvp
 @ cdecl _spawnvpe(long str ptr ptr) _spawnvpe
-@ forward _splitpath ntdll._splitpath
+@ cdecl _splitpath(str ptr ptr ptr ptr) ntdll._splitpath
 @ cdecl _stat(str ptr) MSVCRT__stat
 @ cdecl _stati64(str ptr) _stati64
 @ cdecl _statusfp() _statusfp
@@ -454,7 +454,7 @@
 @ cdecl _strerror(long) _strerror
 @ cdecl _stricmp(str str) strcasecmp
 @ stub _stricoll #(str str)
-@ forward _strlwr ntdll._strlwr
+@ cdecl _strlwr(str) ntdll._strlwr
 @ stub _strncoll #(str str long)
 @ cdecl _strnicmp(str str long) strncasecmp
 @ stub _strnicoll #(str str long)
@@ -462,7 +462,7 @@
 @ cdecl _strrev(str) _strrev
 @ cdecl _strset(str long) _strset
 @ cdecl _strtime(str) _strtime
-@ forward _strupr ntdll._strupr
+@ cdecl _strupr(str) ntdll._strupr
 @ cdecl _swab(str str long) _swab
 @ extern _sys_errlist MSVCRT__sys_errlist
 @ extern _sys_nerr MSVCRT__sys_nerr
@@ -474,10 +474,10 @@
 @ cdecl _toupper(long) MSVCRT__toupper
 @ stub _tzname
 @ cdecl _tzset() tzset
-@ forward _ui64toa ntdll._ui64toa
-@ forward _ui64tow ntdll._ui64tow
-@ forward _ultoa ntdll._ultoa
-@ forward _ultow ntdll._ultow
+@ cdecl _ui64toa(long long ptr long) ntdll._ui64toa
+@ cdecl _ui64tow(long long ptr long) ntdll._ui64tow
+@ cdecl _ultoa(long ptr long) ntdll._ultoa
+@ cdecl _ultow(long ptr long) ntdll._ultow
 @ cdecl _umask(long) _umask
 @ cdecl _ungetch(long) _ungetch
 @ cdecl _unlink(str) _unlink
@@ -493,16 +493,16 @@
 @ extern _wcmdln MSVCRT__wcmdln
 @ cdecl _wcreat(wstr long) _wcreat
 @ cdecl _wcsdup(wstr) _wcsdup
-@ forward _wcsicmp ntdll._wcsicmp
+@ cdecl _wcsicmp(wstr wstr) ntdll._wcsicmp
 @ cdecl _wcsicoll(wstr wstr) _wcsicoll
-@ forward _wcslwr ntdll._wcslwr
+@ cdecl _wcslwr(wstr) ntdll._wcslwr
 @ stub _wcsncoll #(wstr wstr long)
-@ forward _wcsnicmp ntdll._wcsnicmp
+@ cdecl _wcsnicmp(wstr wstr long) ntdll._wcsnicmp
 @ stub _wcsnicoll #(wstr wstr long)
 @ cdecl _wcsnset(wstr long long) _wcsnset
 @ cdecl _wcsrev(wstr) _wcsrev
 @ cdecl _wcsset(wstr long) _wcsset
-@ forward _wcsupr ntdll._wcsupr
+@ cdecl _wcsupr(wstr) ntdll._wcsupr
 @ stub _wctime #(ptr)
 @ extern _wenviron MSVCRT__wenviron
 @ stub _wexecl #(wstr wstr) varargs
@@ -559,9 +559,9 @@
 @ stub _wsystem #(wstr)
 @ cdecl _wtempnam(wstr wstr) _wtempnam
 @ stub _wtmpnam #(wstr)
-@ forward _wtoi ntdll._wtoi
-@ forward _wtoi64 ntdll._wtoi64
-@ forward _wtol ntdll._wtol
+@ cdecl _wtoi(wstr) ntdll._wtoi
+@ cdecl _wtoi64(wstr) ntdll._wtoi64
+@ cdecl _wtol(wstr) ntdll._wtol
 @ cdecl _wunlink(wstr) _wunlink
 @ cdecl _wutime(wstr ptr) _wutime
 @ cdecl _y0(double) _y0
@@ -626,7 +626,7 @@
 @ cdecl getwc(ptr) MSVCRT_getwc
 @ cdecl getwchar() MSVCRT_getwchar
 @ cdecl gmtime(ptr) gmtime
-@ forward is_wctype ntdll.iswctype
+@ cdecl is_wctype(long long) ntdll.iswctype
 @ cdecl isalnum(long) MSVCRT_isalnum
 @ cdecl isalpha(long) MSVCRT_isalpha
 @ cdecl iscntrl(long) MSVCRT_iscntrl
@@ -639,10 +639,10 @@
 @ cdecl isspace(long) MSVCRT_isspace
 @ cdecl isupper(long) MSVCRT_isupper
 @ cdecl iswalnum(long) MSVCRT_iswalnum
-@ forward iswalpha ntdll.iswalpha
+@ cdecl iswalpha(long) ntdll.iswalpha
 @ cdecl iswascii(long) MSVCRT_iswascii
 @ cdecl iswcntrl(long) MSVCRT_iswcntrl
-@ forward iswctype ntdll.iswctype
+@ cdecl iswctype(long long) ntdll.iswctype
 @ cdecl iswdigit(long) MSVCRT_iswdigit
 @ cdecl iswgraph(long) MSVCRT_iswgraph
 @ cdecl iswlower(long) MSVCRT_iswlower
@@ -662,7 +662,7 @@
 @ cdecl -register -i386 longjmp(ptr long) _MSVCRT_longjmp
 @ cdecl malloc(long) MSVCRT_malloc
 @ cdecl mblen(ptr long) MSVCRT_mblen
-@ forward mbstowcs ntdll.mbstowcs
+@ cdecl mbstowcs(ptr str long) ntdll.mbstowcs
 @ cdecl mbtowc(wstr str long) MSVCRT_mbtowc
 @ cdecl memchr(ptr long long) memchr
 @ cdecl memcmp(ptr ptr long) memcmp
@@ -718,7 +718,7 @@
 @ cdecl strtol(str ptr long) strtol
 @ cdecl strtoul(str ptr long) strtoul
 @ cdecl strxfrm(ptr str long) strxfrm
-@ forward swprintf ntdll.swprintf
+@ varargs swprintf(wstr wstr) ntdll.swprintf
 @ varargs swscanf(wstr wstr) MSVCRT_swscanf
 @ cdecl system(str) MSVCRT_system
 @ cdecl tan(double) tan
@@ -728,8 +728,8 @@
 @ cdecl tmpnam(str) MSVCRT_tmpnam
 @ cdecl tolower(long) tolower
 @ cdecl toupper(long) toupper
-@ forward towlower ntdll.towlower
-@ forward towupper ntdll.towupper
+@ cdecl towlower(long) ntdll.towlower
+@ cdecl towupper(long) ntdll.towupper
 @ cdecl ungetc(long ptr) MSVCRT_ungetc
 @ cdecl ungetwc(long ptr) MSVCRT_ungetwc
 @ cdecl vfprintf(ptr str long) MSVCRT_vfprintf
@@ -738,26 +738,26 @@
 @ cdecl vsprintf(ptr str ptr) vsprintf
 @ cdecl vswprintf(ptr wstr long) MSVCRT_vswprintf
 @ cdecl vwprintf(wstr long) MSVCRT_vwprintf
-@ forward wcscat ntdll.wcscat
-@ forward wcschr ntdll.wcschr
-@ forward wcscmp ntdll.wcscmp
+@ cdecl wcscat(wstr wstr) ntdll.wcscat
+@ cdecl wcschr(wstr long) ntdll.wcschr
+@ cdecl wcscmp(wstr wstr) ntdll.wcscmp
 @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll
-@ forward wcscpy ntdll.wcscpy
-@ forward wcscspn ntdll.wcscspn
+@ cdecl wcscpy(ptr wstr) ntdll.wcscpy
+@ cdecl wcscspn(wstr wstr) ntdll.wcscspn
 @ stub wcsftime #(wstr long wstr ptr)
-@ forward wcslen ntdll.wcslen
-@ forward wcsncat ntdll.wcsncat
-@ forward wcsncmp ntdll.wcsncmp
-@ forward wcsncpy ntdll.wcsncpy
+@ cdecl wcslen(wstr) ntdll.wcslen
+@ cdecl wcsncat(wstr wstr long) ntdll.wcsncat
+@ cdecl wcsncmp(wstr wstr long) ntdll.wcsncmp
+@ cdecl wcsncpy(ptr wstr long) ntdll.wcsncpy
 @ cdecl wcspbrk(wstr wstr) MSVCRT_wcspbrk
-@ forward wcsrchr ntdll.wcsrchr
-@ forward wcsspn ntdll.wcsspn
-@ forward wcsstr ntdll.wcsstr
+@ cdecl wcsrchr(wstr long) ntdll.wcsrchr
+@ cdecl wcsspn(wstr wstr) ntdll.wcsspn
+@ cdecl wcsstr(wstr wstr) ntdll.wcsstr
 @ stub wcstod #(wstr ptr)
-@ forward wcstok ntdll.wcstok
-@ forward wcstol ntdll.wcstol
-@ forward wcstombs ntdll.wcstombs
-@ forward wcstoul ntdll.wcstoul
+@ cdecl wcstok(wstr wstr) ntdll.wcstok
+@ cdecl wcstol(wstr ptr long) ntdll.wcstol
+@ cdecl wcstombs(ptr ptr long) ntdll.wcstombs
+@ cdecl wcstoul(wstr ptr long) ntdll.wcstoul
 @ stub wcsxfrm #(wstr wstr long)
 @ cdecl wctomb(ptr long) MSVCRT_wctomb
 @ varargs wprintf(wstr) MSVCRT_wprintf
diff --git a/dlls/netapi32/netapi32.spec b/dlls/netapi32/netapi32.spec
index a8ed5bd..ea3e36f 100644
--- a/dlls/netapi32/netapi32.spec
+++ b/dlls/netapi32/netapi32.spec
@@ -219,7 +219,7 @@
 @ stub NetpCreateSecurityObject
 @ stub NetpDbgDisplayServerInfo
 @ stub NetpDbgPrint
-@ forward NetpDeleteSecurityObject ntdll.RtlDeleteSecurityObject
+@ stdcall NetpDeleteSecurityObject(long) ntdll.RtlDeleteSecurityObject
 @ stdcall NetpGetComputerName(ptr) NetpGetComputerName
 @ stub NetpGetConfigBool
 @ stub NetpGetConfigDword
@@ -229,7 +229,7 @@
 @ stub NetpGetFileSecurity
 @ stub NetpGetPrivilege
 @ stub NetpHexDump
-@ forward NetpInitOemString ntdll.RtlInitAnsiString
+@ stdcall NetpInitOemString(ptr str) ntdll.RtlInitAnsiString
 @ stub NetpIsRemote
 @ stub NetpIsUncComputerNameValid
 @ stub NetpLocalTimeZoneOffset
diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec
index dfd4e56..f6a812e 100644
--- a/dlls/ole32/ole32.spec
+++ b/dlls/ole32/ole32.spec
@@ -6,9 +6,9 @@
   6 stdcall CoCreateGuid(ptr) CoCreateGuid
   7 stdcall CoCreateInstance(ptr ptr long ptr ptr) CoCreateInstance
   8 stdcall CoDisconnectObject(ptr long) CoDisconnectObject
-  9 forward CoDosDateTimeToFileTime kernel32.DosDateTimeToFileTime
+  9 stdcall CoDosDateTimeToFileTime(long long ptr) kernel32.DosDateTimeToFileTime
  10 stdcall CoFileTimeNow(ptr) CoFileTimeNow
- 11 forward CoFileTimeToDosDateTime kernel32.FileTimeToDosDateTime
+ 11 stdcall CoFileTimeToDosDateTime(ptr ptr ptr) kernel32.FileTimeToDosDateTime
  12 stdcall CoFreeAllLibraries() CoFreeAllLibraries
  13 stdcall CoFreeLibrary(long) CoFreeLibrary
  14 stdcall CoFreeUnusedLibraries() CoFreeUnusedLibraries
diff --git a/dlls/oleaut32/oleaut32.spec b/dlls/oleaut32/oleaut32.spec
index 0ebd047..4e869cc 100644
--- a/dlls/oleaut32/oleaut32.spec
+++ b/dlls/oleaut32/oleaut32.spec
@@ -195,9 +195,9 @@
 197 stub VarDecFromStr
 198 stub VarDecFromDisp
 199 stub VarDecFromBool
-200 forward GetErrorInfo ole32.GetErrorInfo
-201 forward SetErrorInfo ole32.SetErrorInfo
-202 forward CreateErrorInfo ole32.CreateErrorInfo
+200 stdcall GetErrorInfo(long ptr) ole32.GetErrorInfo
+201 stdcall SetErrorInfo(long ptr) ole32.SetErrorInfo
+202 stdcall CreateErrorInfo(ptr) ole32.CreateErrorInfo
 203 stub VarDecRound # stdcall (ptr long ptr)
 204 stub VarDecCmp # stdcall (ptr ptr)
 205 stdcall VarI2FromI1(long ptr) VarI2FromI1
diff --git a/dlls/olecli/olecli32.spec b/dlls/olecli/olecli32.spec
index 6985956..ef559f0 100644
--- a/dlls/olecli/olecli32.spec
+++ b/dlls/olecli/olecli32.spec
@@ -1,7 +1,7 @@
    1 stub WEP
    2 stub OleDelete
-   3 forward OleSaveToStream ole32.OleSaveToStream
-   4 forward OleLoadFromStream ole32.OleLoadFromStream
+   3 stdcall OleSaveToStream(ptr ptr) ole32.OleSaveToStream
+   4 stdcall OleLoadFromStream(ptr ptr ptr) ole32.OleLoadFromStream
    6 stub OleClone
    7 stub OleCopyFromLink
    8 stub OleEqual
@@ -30,11 +30,11 @@
   31 stub OleQueryOutOfDate
   32 stub OleObjectConvert
   33 stub OleCreateFromTemplate
-  34 forward OleCreate ole32.OleCreate
+  34 stdcall OleCreate(ptr ptr long ptr ptr ptr ptr) ole32.OleCreate
   35 stub OleQueryReleaseStatus
   36 stub OleQueryReleaseError
   37 stub OleQueryReleaseMethod
-  38 forward OleCreateFromFile ole32.OleCreateFromFile
+  38 stdcall OleCreateFromFile(ptr ptr ptr long ptr ptr ptr ptr) ole32.OleCreateFromFile
   39 stub OleCreateLinkFromFile
   40 stub OleRelease
   41 stdcall OleRegisterClientDoc(str str long ptr) OleRegisterClientDoc
diff --git a/dlls/olepro32/olepro32.spec b/dlls/olepro32/olepro32.spec
index 34d70fe..b309846 100644
--- a/dlls/olepro32/olepro32.spec
+++ b/dlls/olepro32/olepro32.spec
@@ -1,10 +1,10 @@
-248 forward OleIconToCursor OLEAUT32.OleIconToCursor
-249 forward OleCreatePropertyFrameIndirect OLEAUT32.OleCreatePropertyFrameIndirect
-250 forward OleCreatePropertyFrame OLEAUT32.OleCreatePropertyFrame
-251 forward OleLoadPicture OLEAUT32.OleLoadPicture
-252 forward OleCreatePictureIndirect OLEAUT32.OleCreatePictureIndirect
-253 forward OleCreateFontIndirect OLEAUT32.OleCreateFontIndirect
-254 forward OleTranslateColor OLEAUT32.OleTranslateColor
+248 stdcall OleIconToCursor(long long) oleaut32.OleIconToCursor
+249 stdcall OleCreatePropertyFrameIndirect(ptr) oleaut32.OleCreatePropertyFrameIndirect
+250 stdcall OleCreatePropertyFrame(ptr long long ptr long ptr long ptr ptr long ptr) oleaut32.OleCreatePropertyFrame
+251 stdcall OleLoadPicture(ptr long long ptr ptr) oleaut32.OleLoadPicture
+252 stdcall OleCreatePictureIndirect(ptr ptr long ptr) oleaut32.OleCreatePictureIndirect
+253 stdcall OleCreateFontIndirect(ptr ptr ptr) oleaut32.OleCreateFontIndirect
+254 stdcall OleTranslateColor(long long long) oleaut32.OleTranslateColor
 255 stdcall DllCanUnloadNow() OLEPRO32_DllCanUnloadNow
 256 stdcall DllGetClassObject( ptr ptr ptr )  OLEPRO32_DllGetClassObject
 257 stdcall DllRegisterServer() OLEPRO32_DllRegisterServer
diff --git a/dlls/opengl32/opengl32.spec b/dlls/opengl32/opengl32.spec
index 2cd0dce..2182620 100644
--- a/dlls/opengl32/opengl32.spec
+++ b/dlls/opengl32/opengl32.spec
@@ -20,11 +20,11 @@
 @  stub    wglUseFontBitmapsW
 @  stub    wglUseFontOutlinesW
 @  stub    wglGetDefaultProcAddress
-@  forward wglChoosePixelFormat GDI32.ChoosePixelFormat
-@  forward wglDescribePixelFormat GDI32.DescribePixelFormat
-@  forward wglGetPixelFormat GDI32.GetPixelFormat
-@  forward wglSetPixelFormat GDI32.SetPixelFormat
-@  forward wglSwapBuffers GDI32.SwapBuffers
+@  stdcall wglChoosePixelFormat(long ptr) gdi32.ChoosePixelFormat
+@  stdcall wglDescribePixelFormat(long long long ptr) gdi32.DescribePixelFormat
+@  stdcall wglGetPixelFormat(long) gdi32.GetPixelFormat
+@  stdcall wglSetPixelFormat(long long ptr) gdi32.SetPixelFormat
+@  stdcall wglSwapBuffers(long) gdi32.SwapBuffers
 @  stdcall glAccum( long long ) wine_glAccum
 @  stdcall glActiveTextureARB( long ) wine_glActiveTextureARB
 @  stdcall glAlphaFunc( long long ) wine_glAlphaFunc
diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec
index 5b921b7..1f1a096 100644
--- a/dlls/shell32/shell32.spec
+++ b/dlls/shell32/shell32.spec
@@ -76,7 +76,7 @@
   82 stdcall DragQueryFileA(long long ptr long) DragQueryFileA
   83 stdcall CIDLData_CreateFromIDArray(ptr long ptr ptr) CIDLData_CreateFromIDArray
   84 stub SHIsBadInterfacePtr
-  85 forward OpenRegStream shlwapi.SHOpenRegStreamA
+  85 stdcall OpenRegStream(long str str long) shlwapi.SHOpenRegStreamA
   86 stdcall SHRegisterDragDrop(long ptr) SHRegisterDragDrop
   87 stdcall SHRevokeDragDrop(long) SHRevokeDragDrop
   88 stdcall SHDoDragDrop(long ptr ptr long ptr) SHDoDragDrop
@@ -230,34 +230,34 @@
  298 stdcall Shell_NotifyIconW(long ptr) Shell_NotifyIconW
  299 stub Shl1632_ThunkData32
  300 stub Shl3216_ThunkData32
- 301 forward StrChrA shlwapi.StrChrA
- 302 forward StrChrIA shlwapi.StrChrIA
- 303 forward StrChrIW shlwapi.StrChrIW
- 304 forward StrChrW shlwapi.StrChrW
- 305 forward StrCmpNA shlwapi.StrCmpNA
- 306 forward StrCmpNIA shlwapi.StrCmpNIA
- 307 forward StrCmpNIW shlwapi.StrCmpNIW
- 308 forward StrCmpNW shlwapi.StrCmpNW
+ 301 stdcall StrChrA(str long) shlwapi.StrChrA
+ 302 stdcall StrChrIA(str long) shlwapi.StrChrIA
+ 303 stdcall StrChrIW(wstr long) shlwapi.StrChrIW
+ 304 stdcall StrChrW(wstr long) shlwapi.StrChrW
+ 305 stdcall StrCmpNA(str str long) shlwapi.StrCmpNA
+ 306 stdcall StrCmpNIA(str str long) shlwapi.StrCmpNIA
+ 307 stdcall StrCmpNIW(wstr wstr long) shlwapi.StrCmpNIW
+ 308 stdcall StrCmpNW(wstr wstr long) shlwapi.StrCmpNW
  309 stdcall StrCpyNA (ptr str long) lstrcpynA
- 310 forward StrCpyNW shlwapi.StrCpyNW
- 311 forward StrNCmpA shlwapi.StrCmpNA
- 312 forward StrNCmpIA shlwapi.StrCmpNIA
- 313 forward StrNCmpIW shlwapi.StrCmpNIW
- 314 forward StrNCmpW shlwapi.StrCmpNW
+ 310 stdcall StrCpyNW(wstr wstr long) shlwapi.StrCpyNW
+ 311 stdcall StrNCmpA(str str long) shlwapi.StrCmpNA
+ 312 stdcall StrNCmpIA(str str long) shlwapi.StrCmpNIA
+ 313 stdcall StrNCmpIW(wstr wstr long) shlwapi.StrCmpNIW
+ 314 stdcall StrNCmpW(wstr wstr long) shlwapi.StrCmpNW
  315 stdcall StrNCpyA (ptr str long) lstrcpynA
- 316 forward StrNCpyW shlwapi.StrCpyNW
- 317 forward StrRChrA shlwapi.StrRChrA
- 318 forward StrRChrIA shlwapi.StrRChrIA
- 319 forward StrRChrIW shlwapi.StrRChrIW
- 320 forward StrRChrW shlwapi.StrRChrW
+ 316 stdcall StrNCpyW(wstr wstr long) shlwapi.StrCpyNW
+ 317 stdcall StrRChrA(str str long) shlwapi.StrRChrA
+ 318 stdcall StrRChrIA(str str long) shlwapi.StrRChrIA
+ 319 stdcall StrRChrIW(str str long) shlwapi.StrRChrIW
+ 320 stdcall StrRChrW(wstr wstr long) shlwapi.StrRChrW
  321 stub StrRStrA
- 322 forward StrRStrIA shlwapi.StrRStrIA
- 323 forward StrRStrIW shlwapi.StrRStrIW
+ 322 stdcall StrRStrIA(str str str) shlwapi.StrRStrIA
+ 323 stdcall StrRStrIW(wstr wstr wstr) shlwapi.StrRStrIW
  324 stub StrRStrW
- 325 forward StrStrA shlwapi.StrStrA
- 326 forward StrStrIA shlwapi.StrStrIA
- 327 forward StrStrIW shlwapi.StrStrIW
- 328 forward StrStrW shlwapi.StrStrW
+ 325 stdcall StrStrA(str str) shlwapi.StrStrA
+ 326 stdcall StrStrIA(str str) shlwapi.StrStrIA
+ 327 stdcall StrStrIW(wstr wstr) shlwapi.StrStrIW
+ 328 stdcall StrStrW(wstr wstr) shlwapi.StrStrW
 
  505 stdcall SHRegCloseKey (long) SHRegCloseKey
  506 stdcall SHRegOpenKeyA (long str long) SHRegOpenKeyA
diff --git a/dlls/shfolder/shfolder.spec b/dlls/shfolder/shfolder.spec
index e10bd73..0625024 100644
--- a/dlls/shfolder/shfolder.spec
+++ b/dlls/shfolder/shfolder.spec
@@ -1,2 +1,2 @@
-@ forward SHGetFolderPathA shell32.SHGetFolderPathA
-@ forward SHGetFolderPathW shell32.SHGetFolderPathW
+@ stdcall SHGetFolderPathA(long long long long ptr) shell32.SHGetFolderPathA
+@ stdcall SHGetFolderPathW(long long long long ptr) shell32.SHGetFolderPathW
diff --git a/dlls/shlwapi/shlwapi.spec b/dlls/shlwapi/shlwapi.spec
index 6ee31a2..3d30be6 100644
--- a/dlls/shlwapi/shlwapi.spec
+++ b/dlls/shlwapi/shlwapi.spec
@@ -34,120 +34,120 @@
 34  stdcall @(long) SHLWAPI_34
 35  stdcall @(ptr long ptr) SHLWAPI_35
 36  stdcall @(long long long wstr) SHLWAPI_36
-37  forward @ user32.CallWindowProcW
-38  forward @ user32.CharLowerW
-39  forward @ user32.CharLowerBuffW
-40  forward @ user32.CharNextW
-41  forward @ user32.CharPrevW
+37  stdcall @(ptr long long long long) user32.CallWindowProcW
+38  stdcall @(wstr) user32.CharLowerW
+39  stdcall @(wstr long) user32.CharLowerBuffW
+40  stdcall @(wstr) user32.CharNextW
+41  stdcall @(wstr wstr) user32.CharPrevW
 42  stub @
-43  forward @ user32.CharUpperW
-44  forward @ user32.CharUpperBuffW
-45  forward @ kernel32.CompareStringW
-46  forward @ user32.CopyAcceleratorTableW
-47  forward @ user32.CreateAcceleratorTableW
-48  forward @ gdi32.CreateDCW
-49  forward @ user32.CreateDialogParamA
-50  forward @ kernel32.CreateDirectoryW
-51  forward @ kernel32.CreateEventW
-52  forward @ kernel32.CreateFileW
-53  forward @ gdi32.CreateFontIndirectW
-54  forward @ gdi32.CreateICW
-55  forward @ user32.CreateWindowExW
-56  forward @ user32.DefWindowProcW
-57  forward @ kernel32.DeleteFileW
+43  stdcall @(wstr) user32.CharUpperW
+44  stdcall @(wstr long) user32.CharUpperBuffW
+45  stdcall @(long long wstr long wstr long) kernel32.CompareStringW
+46  stdcall @(long ptr long) user32.CopyAcceleratorTableW
+47  stdcall @(ptr long) user32.CreateAcceleratorTableW
+48  stdcall @(wstr wstr wstr ptr) gdi32.CreateDCW
+49  stdcall @(long ptr long ptr long) user32.CreateDialogParamA
+50  stdcall @(wstr ptr) kernel32.CreateDirectoryW
+51  stdcall @(ptr long long wstr) kernel32.CreateEventW
+52  stdcall @(wstr long long ptr long long long) kernel32.CreateFileW
+53  stdcall @(ptr) gdi32.CreateFontIndirectW
+54  stdcall @(wstr wstr wstr ptr) gdi32.CreateICW
+55  stdcall @(long wstr wstr long long long long long long long long ptr) user32.CreateWindowExW
+56  stdcall @(long long long long) user32.DefWindowProcW
+57  stdcall @(wstr) kernel32.DeleteFileW
 58  stub @
 59  stub @
-60  forward @ user32.DispatchMessageW
-61  forward @ user32.DrawTextW
-62  forward @ gdi32.EnumFontFamiliesW
-63  forward @ gdi32.EnumFontFamiliesExW
-64  forward @ kernel32.EnumResourceNamesW
-65  forward @ kernel32.FindFirstFileW
-66  forward @ kernel32.FindResourceW
-67  forward @ user32.FindWindowW
-68  forward @ kernel32.FormatMessageW
-69  forward @ user32.GetClassInfoW
-70  forward @ user32.GetClassLongW
-71  forward @ user32.GetClassNameW
-72  forward @ user32.GetClipboardFormatNameW
-73  forward @ kernel32.GetCurrentDirectoryW
+60  stdcall @(ptr) user32.DispatchMessageW
+61  stdcall @(long wstr long ptr long) user32.DrawTextW
+62  stdcall @(long wstr ptr long) gdi32.EnumFontFamiliesW
+63  stdcall @(long ptr ptr long long) gdi32.EnumFontFamiliesExW
+64  stdcall @(long wstr ptr long) kernel32.EnumResourceNamesW
+65  stdcall @(wstr ptr) kernel32.FindFirstFileW
+66  stdcall @(long wstr wstr) kernel32.FindResourceW
+67  stdcall @(wstr wstr) user32.FindWindowW
+68  stdcall @(long ptr long long ptr long ptr) kernel32.FormatMessageW
+69  stdcall @(long wstr ptr) user32.GetClassInfoW
+70  stdcall @(long long) user32.GetClassLongW
+71  stdcall @(long ptr long) user32.GetClassNameW
+72  stdcall @(long ptr long) user32.GetClipboardFormatNameW
+73  stdcall @(long ptr) kernel32.GetCurrentDirectoryW
 74  stdcall @(long long wstr long) SHLWAPI_74
-75  forward @ kernel32.GetFileAttributesW
-76  forward @ kernel32.GetFullPathNameW
-77  forward @ kernel32.GetLocaleInfoW
-78  forward @ user32.GetMenuStringW
-79  forward @ user32.GetMessageW
-80  forward @ kernel32.GetModuleFileNameW
-81  forward @ kernel32.GetSystemDirectoryW
-82  forward @ kernel32.SearchPathW
-83  forward @ kernel32.GetModuleHandleW
-84  forward @ gdi32.GetObjectW
-85  forward @ kernel32.GetPrivateProfileIntW
-86  forward @ kernel32.GetProfileStringW
-87  forward @ user32.GetPropW
-88  forward @ kernel32.GetStringTypeExW
-89  forward @ kernel32.GetTempFileNameW
-90  forward @ kernel32.GetTempPathW
-91  forward @ gdi32.GetTextExtentPoint32W
-92  forward @ gdi32.GetTextFaceW
-93  forward @ gdi32.GetTextMetricsW
-94  forward @ user32.GetWindowLongW
-95  forward @ user32.GetWindowTextW
-96  forward @ user32.GetWindowTextLengthW
-97  forward @ kernel32.GetWindowsDirectoryW
-98  forward @ user32.InsertMenuW
-99  forward @ user32.IsDialogMessageW
-100 forward @ user32.LoadAcceleratorsW
-101 forward @ user32.LoadBitmapW
-102 forward @ user32.LoadCursorW
-103 forward @ user32.LoadIconW
-104 forward @ user32.LoadImageW
-105 forward @ kernel32.LoadLibraryExW
-106 forward @ user32.LoadMenuW
-107 forward @ user32.LoadStringW
-108 forward @ user32.MessageBoxIndirectW
-109 forward @ user32.ModifyMenuW
-110 forward @ gdi32.GetCharWidth32W
-111 forward @ gdi32.GetCharacterPlacementW
-112 forward @ kernel32.CopyFileW
-113 forward @ kernel32.MoveFileW
-114 forward @ user32.OemToCharW
-115 forward @ kernel32.OutputDebugStringW
-116 forward @ user32.PeekMessageW
-117 forward @ user32.PostMessageW
-118 forward @ user32.PostThreadMessageW
-119 forward @ advapi32.RegCreateKeyW
-120 forward @ advapi32.RegCreateKeyExW
-121 forward @ advapi32.RegDeleteKeyW
-122 forward @ advapi32.RegEnumKeyW
-123 forward @ advapi32.RegEnumKeyExW
-124 forward @ advapi32.RegOpenKeyW
-125 forward @ advapi32.RegOpenKeyExW
-126 forward @ advapi32.RegQueryInfoKeyW
-127 forward @ advapi32.RegQueryValueW
-128 forward @ advapi32.RegQueryValueExW
-129 forward @ advapi32.RegSetValueW
-130 forward @ advapi32.RegSetValueExW
-131 forward @ user32.RegisterClassW
-132 forward @ user32.RegisterClipboardFormatW
-133 forward @ user32.RegisterWindowMessageW
-134 forward @ user32.RemovePropW
-135 forward @ user32.SendDlgItemMessageW
-136 forward @ user32.SendMessageW
-137 forward @ kernel32.SetCurrentDirectoryW
+75  stdcall @(wstr) kernel32.GetFileAttributesW
+76  stdcall @(wstr long ptr ptr) kernel32.GetFullPathNameW
+77  stdcall @(long long ptr long) kernel32.GetLocaleInfoW
+78  stdcall @(long long ptr long long) user32.GetMenuStringW
+79  stdcall @(ptr long long long) user32.GetMessageW
+80  stdcall @(long ptr long) kernel32.GetModuleFileNameW
+81  stdcall @(ptr long) kernel32.GetSystemDirectoryW
+82  stdcall @(wstr wstr wstr long ptr ptr) kernel32.SearchPathW
+83  stdcall @(wstr) kernel32.GetModuleHandleW
+84  stdcall @(long long ptr) gdi32.GetObjectW
+85  stdcall @(wstr wstr long wstr) kernel32.GetPrivateProfileIntW
+86  stdcall @(wstr wstr wstr ptr long) kernel32.GetProfileStringW
+87  stdcall @(long wstr) user32.GetPropW
+88  stdcall @(long long wstr long ptr) kernel32.GetStringTypeExW
+89  stdcall @(wstr wstr long ptr) kernel32.GetTempFileNameW
+90  stdcall @(long ptr) kernel32.GetTempPathW
+91  stdcall @(long wstr long ptr) gdi32.GetTextExtentPoint32W
+92  stdcall @(long long ptr) gdi32.GetTextFaceW
+93  stdcall @(long ptr) gdi32.GetTextMetricsW
+94  stdcall @(long long) user32.GetWindowLongW
+95  stdcall @(long ptr long) user32.GetWindowTextW
+96  stdcall @(long) user32.GetWindowTextLengthW
+97  stdcall @(ptr long) kernel32.GetWindowsDirectoryW
+98  stdcall @(long long long long ptr) user32.InsertMenuW
+99  stdcall @(long ptr) user32.IsDialogMessageW
+100 stdcall @(long wstr) user32.LoadAcceleratorsW
+101 stdcall @(long wstr) user32.LoadBitmapW
+102 stdcall @(long wstr) user32.LoadCursorW
+103 stdcall @(long wstr) user32.LoadIconW
+104 stdcall @(long wstr long long long long) user32.LoadImageW
+105 stdcall @(wstr long long) kernel32.LoadLibraryExW
+106 stdcall @(long wstr) user32.LoadMenuW
+107 stdcall @(long long ptr long) user32.LoadStringW
+108 stdcall @(ptr) user32.MessageBoxIndirectW
+109 stdcall @(long long long long ptr) user32.ModifyMenuW
+110 stdcall @(long long long long) gdi32.GetCharWidth32W
+111 stdcall @(long wstr long long ptr long) gdi32.GetCharacterPlacementW
+112 stdcall @(wstr wstr long) kernel32.CopyFileW
+113 stdcall @(wstr wstr) kernel32.MoveFileW
+114 stdcall @(ptr ptr) user32.OemToCharW
+115 stdcall @(wstr) kernel32.OutputDebugStringW
+116 stdcall @(ptr long long long long) user32.PeekMessageW
+117 stdcall @(long long long long) user32.PostMessageW
+118 stdcall @(long long long long) user32.PostThreadMessageW
+119 stdcall @(long wstr ptr) advapi32.RegCreateKeyW
+120 stdcall @(long wstr long ptr long long ptr ptr ptr) advapi32.RegCreateKeyExW
+121 stdcall @(long wstr) advapi32.RegDeleteKeyW
+122 stdcall @(long long ptr long) advapi32.RegEnumKeyW
+123 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumKeyExW
+124 stdcall @(long wstr ptr) advapi32.RegOpenKeyW
+125 stdcall @(long wstr long long ptr) advapi32.RegOpenKeyExW
+126 stdcall @(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) advapi32.RegQueryInfoKeyW
+127 stdcall @(long wstr ptr ptr) advapi32.RegQueryValueW
+128 stdcall @(long wstr ptr ptr ptr ptr) advapi32.RegQueryValueExW
+129 stdcall @(long wstr long ptr long) advapi32.RegSetValueW
+130 stdcall @(long wstr long long ptr long) advapi32.RegSetValueExW
+131 stdcall @(ptr) user32.RegisterClassW
+132 stdcall @(wstr) user32.RegisterClipboardFormatW
+133 stdcall @(wstr) user32.RegisterWindowMessageW
+134 stdcall @(long wstr) user32.RemovePropW
+135 stdcall @(long long long long long) user32.SendDlgItemMessageW
+136 stdcall @(long long long long) user32.SendMessageW
+137 stdcall @(wstr) kernel32.SetCurrentDirectoryW
 138 stdcall @(long long wstr) SHLWAPI_138
 139 stub @
-140 forward @ user32.SetPropW
-141 forward @ user32.SetWindowLongW
-142 forward @ user32.SetWindowsHookExW
-143 forward @ user32.SetWindowTextW
-144 forward @ gdi32.StartDocW
-145 forward @ user32.SystemParametersInfoW
-146 forward @ user32.TranslateAcceleratorW
-147 forward @ user32.UnregisterClassW
-148 forward @ user32.VkKeyScanW
-149 forward @ user32.WinHelpW
-150 forward @ user32.wvsprintfW
+140 stdcall @(long wstr long) user32.SetPropW
+141 stdcall @(long long long) user32.SetWindowLongW
+142 stdcall @(long long long long) user32.SetWindowsHookExW
+143 stdcall @(long wstr) user32.SetWindowTextW
+144 stdcall @(long ptr) gdi32.StartDocW
+145 stdcall @(long long ptr long) user32.SystemParametersInfoW
+146 stdcall @(long long ptr) user32.TranslateAcceleratorW
+147 stdcall @(wstr long) user32.UnregisterClassW
+148 stdcall @(long) user32.VkKeyScanW
+149 stdcall @(long wstr long long) user32.WinHelpW
+150 stdcall @(ptr wstr ptr) user32.wvsprintfW
 151 stdcall @(str ptr long) SHLWAPI_151
 152 stdcall @(wstr wstr long) SHLWAPI_152
 153 stdcall @(long long long) SHLWAPI_153
@@ -156,7 +156,7 @@
 156 stdcall @(wstr wstr) SHLWAPI_156
 157 stdcall @(str str) SHLWAPI_157
 158 stdcall @(wstr wstr) SHLWAPI_158
-159 forward @ kernel32.CompareStringW
+159 stdcall @(long long wstr long wstr long) kernel32.CompareStringW
 160 stub @
 161 stub @
 162 stdcall @(str long) SHLWAPI_162
@@ -295,28 +295,28 @@
 295 stdcall @(wstr ptr wstr wstr) SHLWAPI_295
 296 stub @
 297 stub @
-298 forward @ kernel32.WritePrivateProfileStringW
+298 stdcall @(wstr wstr wstr wstr) kernel32.WritePrivateProfileStringW
 299 stdcall @(long long long long ptr wstr long ptr) SHLWAPI_299
-300 forward @ gdi32.CreateFontW
-301 forward @ user32.DrawTextExW
-302 forward @ user32.GetMenuItemInfoW
-303 forward @ user32.InsertMenuItemW
-304 forward @ gdi32.CreateMetaFileW
-305 forward @ kernel32.CreateMutexW
-306 forward @ kernel32.ExpandEnvironmentStringsW
-307 forward @ kernel32.CreateSemaphoreW
-308 forward @ kernel32.IsBadStringPtrW
-309 forward @ kernel32.LoadLibraryW
-310 forward @ kernel32.GetTimeFormatW
-311 forward @ kernel32.GetDateFormatW
-312 forward @ kernel32.GetPrivateProfileStringW
+300 stdcall @(long long long long long long long long long long long long long wstr) gdi32.CreateFontW
+301 stdcall @(long wstr long ptr long ptr) user32.DrawTextExW
+302 stdcall @(long long long ptr) user32.GetMenuItemInfoW
+303 stdcall @(long long long ptr) user32.InsertMenuItemW
+304 stdcall @(wstr) gdi32.CreateMetaFileW
+305 stdcall @(ptr long wstr) kernel32.CreateMutexW
+306 stdcall @(wstr ptr long) kernel32.ExpandEnvironmentStringsW
+307 stdcall @(ptr long long wstr) kernel32.CreateSemaphoreW
+308 stdcall @(ptr long) kernel32.IsBadStringPtrW
+309 stdcall @(wstr) kernel32.LoadLibraryW
+310 stdcall @(long long ptr wstr ptr long) kernel32.GetTimeFormatW
+311 stdcall @(long long ptr wstr ptr long) kernel32.GetDateFormatW
+312 stdcall @(wstr wstr wstr ptr long wstr) kernel32.GetPrivateProfileStringW
 313 stdcall @(ptr long ptr long long) SHLWAPI_313
-314 forward @ user32.RegisterClassExW
-315 forward @ user32.GetClassInfoExW
+314 stdcall @(ptr) user32.RegisterClassExW
+315 stdcall @(long wstr ptr) user32.GetClassInfoExW
 316 stub SHCreateStreamOnFileAOld
 317 stub SHCreateStreamOnFileWOld
 318 stdcall @(long long wstr long) SHLWAPI_318
-319 forward @ user32.FindWindowExW
+319 stdcall @(long long wstr wstr) user32.FindWindowExW
 320 stdcall @(str str) SHLWAPI_320
 321 stdcall @(wstr wstr) SHLWAPI_321
 322 stdcall @(str) SHLWAPI_322
@@ -329,22 +329,22 @@
 329 stdcall @(wstr ptr long) SHLWAPI_329
 330 stub @
 331 stub @
-332 forward @ user32.CallMsgFilterW
+332 stdcall @(ptr long) user32.CallMsgFilterW
 333 stdcall @(ptr) SHLWAPI_333
 334 stdcall @(ptr ptr) SHLWAPI_334
 335 stdcall @(ptr) SHLWAPI_335
 336 stdcall @(ptr) SHLWAPI_336
 337 stdcall @(wstr long ptr ptr long) SHLWAPI_337
-338 forward @ kernel32.SetFileAttributesW
-339 forward @ kernel32.GetNumberFormatW
-340 forward @ user32.MessageBoxW
-341 forward @ kernel32.FindNextFileW
+338 stdcall @(wstr long) kernel32.SetFileAttributesW
+339 stdcall @(long long wstr ptr ptr long) kernel32.GetNumberFormatW
+340 stdcall @(long wstr wstr long) user32.MessageBoxW
+341 stdcall @(long ptr) kernel32.FindNextFileW
 342 stdcall @(ptr long long) SHInterlockedCompareExchange
 343 stub @
 344 stub @
 345 stub @
 346 stdcall @(wstr ptr long) SHLWAPI_346
-347 forward @ advapi32.RegDeleteValueW
+347 stdcall @(long wstr) advapi32.RegDeleteValueW
 348 stub @
 349 stub @
 350 stdcall @(wstr ptr) SHLWAPI_350
@@ -356,17 +356,17 @@
 356 stdcall -noname _CreateAllAccessSecurityAttributes(ptr ptr) _CreateAllAccessSecurityAttributes
 357 stdcall @(wstr wstr wstr long long) SHLWAPI_357
 358 stdcall @(wstr long long ptr ptr long) SHLWAPI_358
-359 forward @ kernel32.OpenEventW
-360 forward @ kernel32.RemoveDirectoryW
-361 forward @ kernel32.GetShortPathNameW
-362 forward @ advapi32.GetUserNameW
+359 stdcall @(long long wstr) kernel32.OpenEventW
+360 stdcall @(wstr) kernel32.RemoveDirectoryW
+361 stdcall @(wstr ptr long) kernel32.GetShortPathNameW
+362 stdcall @(ptr ptr) advapi32.GetUserNameW
 363 stub @
 364 stdcall @(str str long) SHLWAPI_364
 365 stub @
-366 forward @ advapi32.RegEnumValueW
-367 forward @ kernel32.WritePrivateProfileStructW
-368 forward @ kernel32.GetPrivateProfileStructW
-369 forward @ kernel32.CreateProcessW
+366 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumValueW
+367 stdcall @(wstr wstr ptr long wstr) kernel32.WritePrivateProfileStructW
+368 stdcall @(wstr wstr ptr long wstr) kernel32.GetPrivateProfileStructW
+369 stdcall @(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
 370 stdcall @(long wstr long) SHLWAPI_370
 371 stub @
 372 stub @
@@ -390,8 +390,8 @@
 390 stdcall @(long wstr) SHLWAPI_390
 391 stdcall @(ptr ptr long ptr long) SHLWAPI_391
 392 stub @
-393 forward @ user32.CreateDialogIndirectParamW
-394 forward @ user32.CreateDialogIndirectParamA
+393 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamW
+394 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamA
 395 stub @
 396 stub @
 397 stub @
@@ -425,13 +425,13 @@
 425 stub @
 426 stub @
 427 stub @
-428 forward @ user32.TrackPopupMenuEx
+428 stdcall @(long long long long long ptr) user32.TrackPopupMenuEx
 429 stub @
 430 stdcall @(long long) SHLWAPI_430
 431 stdcall @(long) SHLWAPI_431
 432 stub @
 433 stub @
-434 forward @ user32.SendMessageTimeoutW
+434 stdcall @(long long long long long long ptr) user32.SendMessageTimeoutW
 435 stub @
 436 stdcall @(wstr ptr) SHLWAPI_436
 437 stdcall @(long) SHLWAPI_437
@@ -439,9 +439,9 @@
 439 stub @
 440 stub @
 441 stub @
-442 forward @ kernel32.GetEnvironmentVariableW
-443 forward @ kernel32.GetSystemWindowsDirectoryA
-444 forward @ kernel32.GetSystemWindowsDirectoryW
+442 stdcall @(wstr ptr long) kernel32.GetEnvironmentVariableW
+443 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryA
+444 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryW
 445 stdcall ColorRGBToHLS(long ptr ptr ptr) ColorRGBToHLS
 446 stub @
 
diff --git a/dlls/urlmon/urlmon.spec b/dlls/urlmon/urlmon.spec
index 96f2af8..4c16953 100644
--- a/dlls/urlmon/urlmon.spec
+++ b/dlls/urlmon/urlmon.spec
@@ -26,7 +26,7 @@
 @ stdcall DllRegisterServer() URLMON_DllRegisterServer
 @ stdcall DllRegisterServerEx() URLMON_DllRegisterServerEx
 @ stdcall DllUnregisterServer() URLMON_DllUnregisterServer
-@ forward Extract cabinet.Extract
+@ stdcall Extract(long ptr) cabinet.Extract
 @ stub FaultInIEFeature
 @ stub FindMediaType
 @ stub FindMediaTypeClass
@@ -46,7 +46,7 @@
 @ stub IsLoggingEnabledA
 @ stub IsLoggingEnabledW
 @ stub IsValidURL
-@ forward MkParseDisplayNameEx ole32.MkParseDisplayName
+@ stdcall MkParseDisplayNameEx(ptr ptr ptr ptr) ole32.MkParseDisplayName
 @ stdcall ObtainUserAgentString(long str ptr) ObtainUserAgentString
 @ stub PrivateCoInstall
 @ stdcall RegisterBindStatusCallback(ptr ptr ptr long) RegisterBindStatusCallback
diff --git a/dlls/version/version.spec b/dlls/version/version.spec
index 8bfa117..8ab59e2 100644
--- a/dlls/version/version.spec
+++ b/dlls/version/version.spec
@@ -7,8 +7,8 @@
 @ stdcall VerFindFileW(long wstr wstr wstr ptr ptr ptr ptr) VerFindFileW
 @ stdcall VerInstallFileA(long str str str str str ptr ptr) VerInstallFileA
 @ stdcall VerInstallFileW(long wstr wstr wstr wstr wstr ptr ptr) VerInstallFileW
-@ forward VerLanguageNameA KERNEL32.VerLanguageNameA
-@ forward VerLanguageNameW KERNEL32.VerLanguageNameW
+@ stdcall VerLanguageNameA(long str long) kernel32.VerLanguageNameA
+@ stdcall VerLanguageNameW(long wstr long) kernel32.VerLanguageNameW
 @ stdcall VerQueryValueA(ptr str ptr ptr) VerQueryValueA
 @ stdcall VerQueryValueW(ptr wstr ptr ptr) VerQueryValueW
 @ stub VerThkSL_ThunkData32
diff --git a/dlls/win32s/w32skrnl.spec b/dlls/win32s/w32skrnl.spec
index 0fb09a8..70d8e65 100644
--- a/dlls/win32s/w32skrnl.spec
+++ b/dlls/win32s/w32skrnl.spec
@@ -14,7 +14,7 @@
 14 stdcall _kGetWin32sDirectory@0() GetWin32sDirectory
 15 stub _sprintf
 16 stub _KIsDBCSLeadByte@4
-17 forward W32S_BackTo32 KERNEL32.W32S_BackTo32
+17 stdcall -i386 W32S_BackTo32() kernel32.W32S_BackTo32
 18 stub _KGetDbgFlags32
 19 stub SelToFlat
 20 stub _FreeKernelHeap@4
@@ -27,7 +27,7 @@
 27 stub _NtDupSection@4
 28 stub _GetSelModName@20
 29 stub _FGetDscr@8
-30 forward _RtlNtStatusToDosError ntdll.RtlNtStatusToDosError #FIXME: not sure
+30 stdcall _RtlNtStatusToDosError(long) ntdll.RtlNtStatusToDosError #FIXME: not sure
 31 stub _NtFlushVirtualMemory@16
 32 stub _snprintf
 33 stub _NtUnmapViewOfSection@8
diff --git a/dlls/winsock/ws2_32.spec b/dlls/winsock/ws2_32.spec
index 331ef08..0c945c7 100644
--- a/dlls/winsock/ws2_32.spec
+++ b/dlls/winsock/ws2_32.spec
@@ -72,7 +72,7 @@
 68  stub     WSARecvDisconnect
 69  stdcall  WSARecvFrom(long ptr long ptr ptr ptr ptr ptr ptr ) WSARecvFrom
 70  stub     WSARemoveServiceClass
-71  forward  WSAResetEvent KERNEL32.ResetEvent
+71  stdcall  WSAResetEvent(long) kernel32.ResetEvent
 72  stdcall  WSASend(long ptr long ptr long ptr ptr) WSASend
 73  stdcall  WSASendDisconnect(long ptr) WSASendDisconnect
 74  stdcall  WSASendTo(long ptr long ptr long ptr long ptr ptr) WSASendTo
@@ -83,7 +83,7 @@
 79  stub     WSASocketW
 80  stub     WSAStringToAddressA
 81  stub     WSAStringToAddressW
-82  forward  WSAWaitForMultipleEvents KERNEL32.WaitForMultipleObjectsEx
+82  stdcall  WSAWaitForMultipleEvents(long ptr long long long) kernel32.WaitForMultipleObjectsEx
 83  stdcall  WSCDeinstallProvider(ptr ptr) WSCDeinstallProvider
 84  stub     WSCEnableNSProvider
 85  stub     WSCEnumProtocols
diff --git a/dlls/wow32/wow32.spec b/dlls/wow32/wow32.spec
index e4222bd..c2837fa 100644
--- a/dlls/wow32/wow32.spec
+++ b/dlls/wow32/wow32.spec
@@ -1,19 +1,19 @@
 # ordinal exports
-1 forward WOWGetDescriptor kernel32.K32WOWGetDescriptor
+1 stdcall WOWGetDescriptor(long long) kernel32.K32WOWGetDescriptor
 
-@ forward WOWCallback16 kernel32.K32WOWCallback16
-@ forward WOWCallback16Ex kernel32.K32WOWCallback16Ex
-@ forward WOWDirectedYield16 kernel32.K32WOWDirectedYield16
-@ forward WOWGetVDMPointer kernel32.K32WOWGetVDMPointer
-@ forward WOWGetVDMPointerFix kernel32.K32WOWGetVDMPointerFix
-@ forward WOWGetVDMPointerUnfix kernel32.K32WOWGetVDMPointerUnfix
-@ forward WOWGlobalAlloc16 kernel32.K32WOWGlobalAlloc16
-@ forward WOWGlobalAllocLock16 kernel32.K32WOWGlobalAllocLock16
-@ forward WOWGlobalFree16 kernel32.K32WOWGlobalFree16
-@ forward WOWGlobalLock16 kernel32.K32WOWGlobalLock16
-@ forward WOWGlobalLockSize16 kernel32.K32WOWGlobalLockSize16
-@ forward WOWGlobalUnlock16 kernel32.K32WOWGlobalUnlock16
-@ forward WOWGlobalUnlockFree16 kernel32.K32WOWGlobalUnlockFree16
-@ forward WOWHandle16 kernel32.K32WOWHandle16
-@ forward WOWHandle32 kernel32.K32WOWHandle32
-@ forward WOWYield16 kernel32.K32WOWYield16
+@ stdcall WOWCallback16(long long) kernel32.K32WOWCallback16
+@ stdcall WOWCallback16Ex(ptr long long ptr ptr) kernel32.K32WOWCallback16Ex
+@ stdcall WOWDirectedYield16(long) kernel32.K32WOWDirectedYield16
+@ stdcall WOWGetVDMPointer(long long long) kernel32.K32WOWGetVDMPointer
+@ stdcall WOWGetVDMPointerFix(long long long) kernel32.K32WOWGetVDMPointerFix
+@ stdcall WOWGetVDMPointerUnfix(long) kernel32.K32WOWGetVDMPointerUnfix
+@ stdcall WOWGlobalAlloc16(long long) kernel32.K32WOWGlobalAlloc16
+@ stdcall WOWGlobalAllocLock16(long long ptr) kernel32.K32WOWGlobalAllocLock16
+@ stdcall WOWGlobalFree16(long) kernel32.K32WOWGlobalFree16
+@ stdcall WOWGlobalLock16(long) kernel32.K32WOWGlobalLock16
+@ stdcall WOWGlobalLockSize16(long ptr) kernel32.K32WOWGlobalLockSize16
+@ stdcall WOWGlobalUnlock16(long) kernel32.K32WOWGlobalUnlock16
+@ stdcall WOWGlobalUnlockFree16(long) kernel32.K32WOWGlobalUnlockFree16
+@ stdcall WOWHandle16(long long) kernel32.K32WOWHandle16
+@ stdcall WOWHandle32(long long) kernel32.K32WOWHandle32
+@ stdcall WOWYield16() kernel32.K32WOWYield16
diff --git a/dlls/wsock32/wsock32.spec b/dlls/wsock32/wsock32.spec
index e3e99ef..4a5bd36 100644
--- a/dlls/wsock32/wsock32.spec
+++ b/dlls/wsock32/wsock32.spec
@@ -1,51 +1,51 @@
-  1 forward accept ws2_32.accept
-  2 forward bind ws2_32.bind
-  3 forward closesocket ws2_32.closesocket
-  4 forward connect ws2_32.connect
-  5 forward getpeername ws2_32.getpeername
-  6 forward getsockname ws2_32.getsockname
-  7 forward getsockopt ws2_32.getsockopt
-  8 forward htonl ws2_32.htonl
-  9 forward htons ws2_32.htons
- 10 forward inet_addr ws2_32.inet_addr
- 11 forward inet_ntoa ws2_32.inet_ntoa
- 12 forward ioctlsocket ws2_32.ioctlsocket
- 13 forward listen ws2_32.listen
- 14 forward ntohl ws2_32.ntohl
- 15 forward ntohs ws2_32.ntohs
- 16 forward recv ws2_32.recv
- 17 forward recvfrom ws2_32.recvfrom
- 18 forward select ws2_32.select
- 19 forward send ws2_32.send
- 20 forward sendto ws2_32.sendto
- 21 forward setsockopt ws2_32.setsockopt
- 22 forward shutdown ws2_32.shutdown
- 23 forward socket ws2_32.socket
- 51 forward gethostbyaddr ws2_32.gethostbyaddr
- 52 forward gethostbyname ws2_32.gethostbyname
- 53 forward getprotobyname ws2_32.getprotobyname
- 54 forward getprotobynumber ws2_32.getprotobynumber
- 55 forward getservbyname ws2_32.getservbyname
- 56 forward getservbyport ws2_32.getservbyport
- 57 forward gethostname ws2_32.gethostname
-101 forward WSAAsyncSelect ws2_32.WSAAsyncSelect
-102 forward WSAAsyncGetHostByAddr ws2_32.WSAAsyncGetHostByAddr
-103 forward WSAAsyncGetHostByName ws2_32.WSAAsyncGetHostByName
-104 forward WSAAsyncGetProtoByNumber ws2_32.WSAAsyncGetProtoByNumber
-105 forward WSAAsyncGetProtoByName ws2_32.WSAAsyncGetProtoByName
-106 forward WSAAsyncGetServByPort ws2_32.WSAAsyncGetServByPort
-107 forward WSAAsyncGetServByName ws2_32.WSAAsyncGetServByName
-108 forward WSACancelAsyncRequest ws2_32.WSACancelAsyncRequest
-109 forward WSASetBlockingHook ws2_32.WSASetBlockingHook
-110 forward WSAUnhookBlockingHook ws2_32.WSAUnhookBlockingHook
-111 forward WSAGetLastError ws2_32.WSAGetLastError
-112 forward WSASetLastError ws2_32.WSASetLastError
-113 forward WSACancelBlockingCall ws2_32.WSACancelBlockingCall
-114 forward WSAIsBlocking ws2_32.WSAIsBlocking
-115 forward WSAStartup ws2_32.WSAStartup
-116 forward WSACleanup ws2_32.WSACleanup
-151 forward __WSAFDIsSet ws2_32.__WSAFDIsSet
-500 forward WEP ws2_32.WEP
+  1 stdcall accept(long ptr ptr) ws2_32.accept
+  2 stdcall bind(long ptr long) ws2_32.bind
+  3 stdcall closesocket(long) ws2_32.closesocket
+  4 stdcall connect(long ptr long) ws2_32.connect
+  5 stdcall getpeername(long ptr ptr) ws2_32.getpeername
+  6 stdcall getsockname(long ptr ptr) ws2_32.getsockname
+  7 stdcall getsockopt(long long long ptr ptr) ws2_32.getsockopt
+  8 stdcall htonl(long) ws2_32.htonl
+  9 stdcall htons(long) ws2_32.htons
+ 10 stdcall inet_addr(str) ws2_32.inet_addr
+ 11 stdcall inet_ntoa(ptr) ws2_32.inet_ntoa
+ 12 stdcall ioctlsocket(long long ptr) ws2_32.ioctlsocket
+ 13 stdcall listen(long long) ws2_32.listen
+ 14 stdcall ntohl(long) ws2_32.ntohl
+ 15 stdcall ntohs(long) ws2_32.ntohs
+ 16 stdcall recv(long ptr long long) ws2_32.recv
+ 17 stdcall recvfrom(long ptr long long ptr ptr) ws2_32.recvfrom
+ 18 stdcall select(long ptr ptr ptr ptr) ws2_32.select
+ 19 stdcall send(long ptr long long) ws2_32.send
+ 20 stdcall sendto(long ptr long long ptr long) ws2_32.sendto
+ 21 stdcall setsockopt(long long long ptr long) ws2_32.setsockopt
+ 22 stdcall shutdown(long long) ws2_32.shutdown
+ 23 stdcall socket(long long long) ws2_32.socket
+ 51 stdcall gethostbyaddr(ptr long long) ws2_32.gethostbyaddr
+ 52 stdcall gethostbyname(str) ws2_32.gethostbyname
+ 53 stdcall getprotobyname(str) ws2_32.getprotobyname
+ 54 stdcall getprotobynumber(long) ws2_32.getprotobynumber
+ 55 stdcall getservbyname(str str) ws2_32.getservbyname
+ 56 stdcall getservbyport(long str) ws2_32.getservbyport
+ 57 stdcall gethostname(ptr long) ws2_32.gethostname
+101 stdcall WSAAsyncSelect(long long long long) ws2_32.WSAAsyncSelect
+102 stdcall WSAAsyncGetHostByAddr(long long ptr long long ptr long) ws2_32.WSAAsyncGetHostByAddr
+103 stdcall WSAAsyncGetHostByName(long long str ptr long) ws2_32.WSAAsyncGetHostByName
+104 stdcall WSAAsyncGetProtoByNumber(long long long ptr long) ws2_32.WSAAsyncGetProtoByNumber
+105 stdcall WSAAsyncGetProtoByName(long long str ptr long) ws2_32.WSAAsyncGetProtoByName
+106 stdcall WSAAsyncGetServByPort(long long long str ptr long) ws2_32.WSAAsyncGetServByPort
+107 stdcall WSAAsyncGetServByName(long long str str ptr long) ws2_32.WSAAsyncGetServByName
+108 stdcall WSACancelAsyncRequest(long) ws2_32.WSACancelAsyncRequest
+109 stdcall WSASetBlockingHook(ptr) ws2_32.WSASetBlockingHook
+110 stdcall WSAUnhookBlockingHook() ws2_32.WSAUnhookBlockingHook
+111 stdcall WSAGetLastError() ws2_32.WSAGetLastError
+112 stdcall WSASetLastError(long) ws2_32.WSASetLastError
+113 stdcall WSACancelBlockingCall() ws2_32.WSACancelBlockingCall
+114 stdcall WSAIsBlocking() ws2_32.WSAIsBlocking
+115 stdcall WSAStartup(long ptr) ws2_32.WSAStartup
+116 stdcall WSACleanup() ws2_32.WSACleanup
+151 stdcall __WSAFDIsSet(long ptr) ws2_32.__WSAFDIsSet
+500 stdcall WEP() ws2_32.WEP
 
 # applications *should* 'degrade gracefully if these are not present
 # ... as it is, they don't