Author: tkreuzer
Date: Tue Aug 23 08:58:15 2011
New Revision: 53399
URL:
http://svn.reactos.org/svn/reactos?rev=53399&view=rev
Log:
[VMWINST] Fix amd64 build
[NTDLL] add missing amd64 specific exports
[MSVCRT*] Fix mangled c++ exports for amd64
[OLEAUT32] Add amd64 adm stub for call_method, fix MSVC/amd64 build
[RICHED20] Fix MSVC thiscall wrapper
[RPCRT4] add amd64 specific asm
[KSFILTER] Add c++ aliases, use dummy KeSaveFloatingPointState and
KeRestoreFloatingPointState on non-x86 builds
[KMIXER] Fix a broken DPRINT
[PSEH] Priorize native SEH over dummy SEH
Modified:
trunk/reactos/base/setup/vmwinst/vmwinst.c
trunk/reactos/dll/ntdll/def/ntdll.spec
trunk/reactos/dll/win32/msvcrt/msvcrt.spec
trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec
trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec
trunk/reactos/dll/win32/oleaut32/msvc.S
trunk/reactos/dll/win32/oleaut32/tmarshal.c
trunk/reactos/dll/win32/riched20/msvc-thiscall.c
trunk/reactos/dll/win32/rpcrt4/msvc.S
trunk/reactos/drivers/ksfilter/ks/msvc.S
trunk/reactos/drivers/wdm/audio/filters/kmixer/kmixer.h
trunk/reactos/drivers/wdm/audio/filters/kmixer/pin.c
trunk/reactos/include/reactos/libs/pseh/pseh2.h
Modified: trunk/reactos/base/setup/vmwinst/vmwinst.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/vmwinst/vmwinst…
==============================================================================
--- trunk/reactos/base/setup/vmwinst/vmwinst.c [iso-8859-1] (original)
+++ trunk/reactos/base/setup/vmwinst/vmwinst.c [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -78,7 +78,7 @@
__asm__ __volatile__("inl %%dx, %%eax"
: "=a" (ver), "=b" (magic)
: "0" (0x564d5868), "d" (0x5658), "c" (0xa));
-#elif defined(_MSC_VER)
+#elif defined(_MSC_VER) && defined(_M_IX86)
__asm
{
push ebx
@@ -90,6 +90,9 @@
mov [magic], ebx
pop ebx
}
+#elif defined(_MSC_VER) && defined(_M_AMD64)
+ DPRINT1("DetectVMware stub\n");
+ return FALSE;
#else
#error TODO
#endif
Modified: trunk/reactos/dll/ntdll/def/ntdll.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/def/ntdll.spec?r…
==============================================================================
--- trunk/reactos/dll/ntdll/def/ntdll.spec [iso-8859-1] (original)
+++ trunk/reactos/dll/ntdll/def/ntdll.spec [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -1296,7 +1296,7 @@
;@ cdecl -private -arch=i386 _CIpow()
;@ cdecl _CIsin
;@ cdecl _CIsqrt
-;@ stdcall -arch=x86_64 __C_specific_handler(ptr long ptr ptr)
+@ cdecl -arch=x86_64 __C_specific_handler(ptr long ptr ptr)
@ cdecl __isascii(long)
@ cdecl __iscsym(long)
@ cdecl __iscsymf(long)
@@ -1321,6 +1321,7 @@
@ cdecl _itoa(long ptr long)
@ cdecl _itow(long ptr long)
@ cdecl _lfind(ptr ptr ptr long ptr)
+@ cdecl -arch=x86_64 _local_unwind()
@ cdecl _ltoa(long ptr long)
@ cdecl _ltow(long ptr long)
@ cdecl _memccpy(ptr ptr long long)
Modified: trunk/reactos/dll/win32/msvcrt/msvcrt.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt/msvcrt.sp…
==============================================================================
--- trunk/reactos/dll/win32/msvcrt/msvcrt.spec [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msvcrt/msvcrt.spec [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -43,9 +43,11 @@
@ cdecl -i386 -norelay ??_Gbad_cast@@UAEPAXI@Z(long)
__thiscall_MSVCRT_bad_cast_scalar_dtor
@ cdecl -i386 -norelay ??_Gbad_typeid@@UAEPAXI@Z(long)
__thiscall_MSVCRT_bad_typeid_scalar_dtor
@ cdecl -i386 -norelay ??_Gexception@@UAEPAXI@Z(long)
__thiscall_MSVCRT_exception_scalar_dtor
-@ cdecl ??_U@YAPAXI@Z(long) MSVCRT_operator_new
+@ cdecl -arch=win32 ??_U@YAPAXI@Z(long) MSVCRT_operator_new
+@ cdecl -arch=win64 ??_U@YAPEAX_K@Z(long) MSVCRT_operator_new
# @ cdecl ??_U@YAPAXIHPBDH@Z(long long str long) MSVCRT_operator_new_dbg
-@ cdecl ??_V@YAXPAX@Z(ptr) MSVCRT_operator_delete
+@ cdecl -arch=win32 ??_V@YAXPAX@Z(ptr) MSVCRT_operator_delete
+@ cdecl -arch=win64 ??_V@YAXPEAX@Z(ptr) MSVCRT_operator_delete
@ cdecl ?_query_new_handler@@YAP6AHI@ZXZ() MSVCRT__query_new_handler
@ cdecl ?_query_new_mode@@YAHXZ() MSVCRT__query_new_mode
@ cdecl ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z(ptr) MSVCRT__set_new_handler
@@ -1190,7 +1192,9 @@
@ cdecl fgetwc(ptr)
@ cdecl fgetws(ptr long ptr)
@ cdecl floor(double)
+@ cdecl -arch=x86_64 floorf(long)
@ cdecl fmod(double double)
+@ cdecl -arch=x86_64 fmodf(long)
@ cdecl fopen(str str)
# @ cdecl fopen_s(ptr str str)
@ varargs fprintf(ptr str)
@@ -1278,6 +1282,7 @@
@ cdecl modf(double ptr)
@ cdecl perror(str)
@ cdecl pow(double double)
+@ cdecl -arch=x86_64 powf(long)
@ varargs printf(str)
# stub printf_s
@ cdecl putc(long ptr)
@@ -1302,10 +1307,12 @@
@ cdecl setvbuf(ptr str long long)
@ cdecl signal(long long)
@ cdecl sin(double)
+@ cdecl -arch=x86_64 sinf(long)
@ cdecl sinh(double)
@ varargs sprintf(ptr str)
# @ varargs sprintf_s(ptr long str)
@ cdecl sqrt(double)
+@ cdecl -arch=x86_64 sqrtf(long)
@ cdecl srand(long)
@ varargs sscanf(str str)
# @ varargs sscanf_s(str str)
Modified: trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt20/msvcrt2…
==============================================================================
--- trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -77,8 +77,10 @@
@ stub ??1streambuf@@UAE@XZ #
@ stub ??1strstream@@UAE@XZ #
@ stub ??1strstreambuf@@UAE@XZ #
-@ cdecl ??2@YAPAXI@Z(long) MSVCRT_operator_new
-@ cdecl ??3@YAXPAX@Z(ptr) MSVCRT_operator_delete
+@ cdecl -arch=win32 ??2@YAPAXI@Z(long) MSVCRT_operator_new
+@ cdecl -arch=win64 ??2@YAPEAX_K@Z(double) MSVCRT_operator_new
+@ cdecl -arch=win32 ??3@YAXPAX@Z(ptr) MSVCRT_operator_delete
+@ cdecl -arch=win64 ??3@YAXPEAX@Z(ptr) MSVCRT_operator_delete
@ stub ??4Iostream_init@@QAEAAV0@ABV0@@Z #
@ stub ??4filebuf@@QAEAAV0@ABV0@@Z #
@ stub ??4fstream@@QAEAAV0@AAV0@@Z #
@@ -457,7 +459,7 @@
@ extern _HUGE
@ cdecl _XcptFilter(long ptr)
@ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr)
-@ stdcall __CxxLongjmpUnwind(ptr)
+@ stdcall -i386 __CxxLongjmpUnwind(ptr)
@ cdecl __STRINGTOLD(ptr ptr str long)
@ extern __argc
@ extern __argv
@@ -596,7 +598,7 @@
@ cdecl _fsopen(str str long)
@ cdecl _fstat(long ptr)
@ cdecl _ftime(ptr)
-@ cdecl -ret64 _ftol()
+@ cdecl -arch=i386 -ret64 _ftol()
@ cdecl _fullpath(ptr str long)
@ cdecl _futime(long ptr)
@ cdecl _gcvt(double long str)
Modified: trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt40/msvcrt4…
==============================================================================
--- trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -93,8 +93,10 @@
@ stub ??1strstream@@UAE@XZ
@ stub ??1strstreambuf@@UAE@XZ
@ cdecl -i386 ??1type_info@@UAE@XZ() __thiscall_MSVCRT_type_info_dtor
-@ cdecl ??2@YAPAXI@Z(long) MSVCRT_operator_new
-@ cdecl ??3@YAXPAX@Z(ptr) MSVCRT_operator_delete
+@ cdecl -arch=win32 ??2@YAPAXI@Z(long) MSVCRT_operator_new
+@ cdecl -arch=win64 ??2@YAPEAX_K@Z(double) MSVCRT_operator_new
+@ cdecl -arch=win32 ??3@YAXPAX@Z(ptr) MSVCRT_operator_delete
+@ cdecl -arch=win64 ??3@YAXPEAX@Z(ptr) MSVCRT_operator_delete
@ stub ??4Iostream_init@@QAEAAV0@ABV0@@Z
@ cdecl -i386 ??4__non_rtti_object@@QAEAAV0@ABV0@@Z(ptr)
__thiscall_MSVCRT___non_rtti_object_opequals
@ cdecl -i386 ??4bad_cast@@QAEAAV0@ABV0@@Z(ptr) __thiscall_MSVCRT_bad_cast_opequals
@@ -481,685 +483,685 @@
@ stub ?xsgetn@streambuf@@UAEHPADH@Z
@ stub ?xsputn@streambuf@@UAEHPBDH@Z
@ cdecl $I10_OUTPUT() MSVCRT_I10_OUTPUT
-@ cdecl -arch=i386 _CIacos()
-@ cdecl -arch=i386 _CIasin()
-@ cdecl -arch=i386 _CIatan()
-@ cdecl -arch=i386 _CIatan2()
-@ cdecl -arch=i386 _CIcos()
-@ cdecl -arch=i386 _CIcosh()
-@ cdecl -arch=i386 _CIexp()
-@ cdecl -arch=i386 _CIfmod()
-@ cdecl -arch=i386 _CIlog()
-@ cdecl -arch=i386 _CIlog10()
-@ cdecl -arch=i386 _CIpow()
-@ cdecl -arch=i386 _CIsin()
-@ cdecl -arch=i386 _CIsinh()
-@ cdecl -arch=i386 _CIsqrt()
-@ cdecl -arch=i386 _CItan()
-@ cdecl -arch=i386 _CItanh()
-@ stdcall _CxxThrowException(long long)
-@ cdecl -i386 _EH_prolog()
-@ extern _HUGE
-@ cdecl _XcptFilter(long ptr)
-@ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr)
-@ stdcall __CxxLongjmpUnwind(ptr)
+@ cdecl -arch=i386 _CIacos()
+@ cdecl -arch=i386 _CIasin()
+@ cdecl -arch=i386 _CIatan()
+@ cdecl -arch=i386 _CIatan2()
+@ cdecl -arch=i386 _CIcos()
+@ cdecl -arch=i386 _CIcosh()
+@ cdecl -arch=i386 _CIexp()
+@ cdecl -arch=i386 _CIfmod()
+@ cdecl -arch=i386 _CIlog()
+@ cdecl -arch=i386 _CIlog10()
+@ cdecl -arch=i386 _CIpow()
+@ cdecl -arch=i386 _CIsin()
+@ cdecl -arch=i386 _CIsinh()
+@ cdecl -arch=i386 _CIsqrt()
+@ cdecl -arch=i386 _CItan()
+@ cdecl -arch=i386 _CItanh()
+@ stdcall _CxxThrowException(long long)
+@ cdecl -i386 _EH_prolog()
+@ extern _HUGE
+@ cdecl _XcptFilter(long ptr)
+@ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr)
+@ stdcall -i386 __CxxLongjmpUnwind(ptr)
@ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid
@ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast
@ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid
-@ cdecl __STRINGTOLD(ptr ptr str long)
-@ extern __argc
-@ extern __argv
-@ cdecl __dllonexit(ptr ptr ptr)
-@ cdecl __doserrno()
-@ cdecl __fpecode()
-@ cdecl __getmainargs(ptr ptr ptr long ptr)
-@ extern __initenv
-@ cdecl __isascii(long)
-@ cdecl __iscsym(long)
-@ cdecl __iscsymf(long)
-@ cdecl __lconv_init()
-@ extern __mb_cur_max
-@ cdecl -arch=i386 __p___argc()
-@ cdecl -arch=i386 __p___argv()
-@ cdecl -arch=i386 __p___initenv()
-@ cdecl -arch=i386 __p___mb_cur_max()
-@ cdecl -arch=i386 __p___wargv()
-@ cdecl -arch=i386 __p___winitenv()
-@ cdecl -arch=i386 __p__acmdln()
-@ cdecl -arch=i386 __p__amblksiz()
-@ cdecl -arch=i386 __p__commode()
-@ cdecl -arch=i386 __p__daylight()
-@ cdecl -arch=i386 __p__dstbias()
-@ cdecl -arch=i386 __p__environ()
-@ cdecl -arch=i386 __p__fmode()
-@ cdecl -arch=i386 __p__iob()
-@ cdecl -arch=i386 __p__mbctype()
-@ cdecl -arch=i386 __p__osver()
-@ cdecl -arch=i386 __p__pctype()
-@ cdecl -arch=i386 __p__pgmptr()
-@ cdecl -arch=i386 __p__pwctype()
-@ cdecl -arch=i386 __p__timezone()
-@ cdecl -arch=i386 __p__tzname()
-@ cdecl -arch=i386 __p__wcmdln()
-@ cdecl -arch=i386 __p__wenviron()
-@ cdecl -arch=i386 __p__winmajor()
-@ cdecl -arch=i386 __p__winminor()
-@ cdecl -arch=i386 __p__winver()
-@ cdecl -arch=i386 __p__wpgmptr()
-@ cdecl __pxcptinfoptrs()
-@ cdecl __set_app_type(long)
-@ cdecl __setusermatherr(ptr)
-@ cdecl __threadhandle()
-@ cdecl __threadid()
-@ cdecl __toascii(long)
-@ cdecl __unDName(long str ptr ptr long)
-@ extern __wargv
-@ cdecl __wgetmainargs(ptr ptr ptr long ptr)
-@ extern __winitenv
-@ cdecl _abnormal_termination()
-@ cdecl _access(str long)
-@ extern _acmdln
-@ stdcall _adj_fdiv_m16i(long)
-@ stdcall _adj_fdiv_m32(long)
-@ stdcall _adj_fdiv_m32i(long)
-@ stdcall _adj_fdiv_m64(long long)
-@ cdecl _adj_fdiv_r()
-@ stdcall _adj_fdivr_m16i(long)
-@ stdcall _adj_fdivr_m32(long)
-@ stdcall _adj_fdivr_m32i(long)
-@ stdcall _adj_fdivr_m64(long long)
-@ cdecl _adj_fpatan()
-@ cdecl _adj_fprem()
-@ cdecl _adj_fprem1()
-@ cdecl _adj_fptan()
-@ extern _adjust_fdiv
-@ extern _aexit_rtn
-@ cdecl _amsg_exit(long)
-@ cdecl _assert(str str long)
-@ cdecl _atodbl(ptr str)
-@ cdecl _atoldbl(ptr str)
-@ cdecl _beep(long long)
-@ cdecl _beginthread(ptr long ptr)
-@ cdecl _beginthreadex(ptr long ptr ptr long ptr)
-@ cdecl _c_exit()
-@ cdecl _cabs(long)
-@ cdecl _cexit()
-@ cdecl _cgets(str)
-@ cdecl _chdir(str)
-@ cdecl _chdrive(long)
-@ cdecl _chgsign( double )
-@ cdecl _chmod(str long)
-@ cdecl _chsize(long long)
-@ cdecl _clearfp()
-@ cdecl _close(long)
-@ cdecl _commit(long)
-@ extern _commode
-@ cdecl _control87(long long)
-@ cdecl _controlfp(long long)
-@ cdecl _copysign( double double )
-@ varargs _cprintf(str)
-@ cdecl _cputs(str)
-@ cdecl _creat(str long)
-@ varargs _cscanf(str)
-@ extern _ctype
-@ cdecl _cwait(ptr long long)
-@ extern _daylight
-@ extern _dstbias
-@ cdecl _dup(long)
-@ cdecl _dup2(long long)
-@ cdecl _ecvt( double long ptr ptr)
-@ cdecl _endthread()
-@ cdecl _endthreadex(long)
-@ extern _environ
-@ cdecl _eof(long)
-@ cdecl _errno()
-@ cdecl _except_handler2(ptr ptr ptr ptr)
-@ cdecl _except_handler3(ptr ptr ptr ptr)
-@ varargs _execl(str str)
-@ varargs _execle(str str)
-@ varargs _execlp(str str)
-@ varargs _execlpe(str str)
-@ cdecl _execv(str ptr)
-@ cdecl _execve(str ptr ptr)
-@ cdecl _execvp(str ptr)
-@ cdecl _execvpe(str ptr ptr)
-@ cdecl _exit(long)
-@ cdecl _expand(ptr long)
-@ cdecl _fcloseall()
-@ cdecl _fcvt( double long ptr ptr)
-@ cdecl _fdopen(long str)
-@ cdecl _fgetchar()
-@ cdecl _fgetwchar()
-@ cdecl _filbuf(ptr)
-@ extern _fileinfo
-@ cdecl _filelength(long)
-@ cdecl -ret64 _filelengthi64(long)
-@ cdecl _fileno(ptr)
-@ cdecl _findclose(long)
-@ cdecl _findfirst(str ptr)
-@ cdecl _findfirsti64(str ptr)
-@ cdecl _findnext(long ptr)
-@ cdecl _findnexti64(long ptr)
-@ cdecl _finite( double )
-@ cdecl _flsbuf(long ptr)
-@ cdecl _flushall()
-@ extern _fmode
-@ cdecl _fpclass(double)
-@ cdecl _fpieee_flt(long ptr ptr)
-@ cdecl _fpreset()
-@ cdecl _fputchar(long)
-@ cdecl _fputwchar(long)
-@ cdecl _fsopen(str str long)
-@ cdecl _fstat(long ptr)
-@ cdecl _fstati64(long ptr)
-@ cdecl _ftime(ptr)
-@ cdecl -ret64 _ftol()
-@ cdecl _fullpath(ptr str long)
-@ cdecl _futime(long ptr)
-@ cdecl _gcvt( double long str)
-@ cdecl _get_osfhandle(long)
-@ cdecl _getch()
-@ cdecl _getche()
-@ cdecl _getcwd(str long)
-@ cdecl _getdcwd(long str long)
-@ cdecl _getdiskfree(long ptr)
-@ cdecl _getdllprocaddr(long str long)
-@ cdecl _getdrive()
-@ cdecl _getdrives()
-@ cdecl _getmaxstdio()
-@ cdecl _getmbcp()
-@ cdecl _getpid()
-@ cdecl _getsystime(ptr)
-@ cdecl _getw(ptr)
-@ cdecl _getws(ptr)
-@ cdecl _global_unwind2(ptr)
-@ cdecl _heapadd(ptr long)
-@ cdecl _heapchk()
-@ cdecl _heapmin()
-@ cdecl _heapset(long)
-@ cdecl _heapused(ptr ptr)
-@ cdecl _heapwalk(ptr)
-@ cdecl _hypot(double double)
-@ cdecl _initterm(ptr ptr)
+@ cdecl __STRINGTOLD(ptr ptr str long)
+@ extern __argc
+@ extern __argv
+@ cdecl __dllonexit(ptr ptr ptr)
+@ cdecl __doserrno()
+@ cdecl __fpecode()
+@ cdecl __getmainargs(ptr ptr ptr long ptr)
+@ extern __initenv
+@ cdecl __isascii(long)
+@ cdecl __iscsym(long)
+@ cdecl __iscsymf(long)
+@ cdecl __lconv_init()
+@ extern __mb_cur_max
+@ cdecl -arch=i386 __p___argc()
+@ cdecl -arch=i386 __p___argv()
+@ cdecl -arch=i386 __p___initenv()
+@ cdecl -arch=i386 __p___mb_cur_max()
+@ cdecl -arch=i386 __p___wargv()
+@ cdecl -arch=i386 __p___winitenv()
+@ cdecl -arch=i386 __p__acmdln()
+@ cdecl -arch=i386 __p__amblksiz()
+@ cdecl -arch=i386 __p__commode()
+@ cdecl -arch=i386 __p__daylight()
+@ cdecl -arch=i386 __p__dstbias()
+@ cdecl -arch=i386 __p__environ()
+@ cdecl -arch=i386 __p__fmode()
+@ cdecl -arch=i386 __p__iob()
+@ cdecl -arch=i386 __p__mbctype()
+@ cdecl -arch=i386 __p__osver()
+@ cdecl -arch=i386 __p__pctype()
+@ cdecl -arch=i386 __p__pgmptr()
+@ cdecl -arch=i386 __p__pwctype()
+@ cdecl -arch=i386 __p__timezone()
+@ cdecl -arch=i386 __p__tzname()
+@ cdecl -arch=i386 __p__wcmdln()
+@ cdecl -arch=i386 __p__wenviron()
+@ cdecl -arch=i386 __p__winmajor()
+@ cdecl -arch=i386 __p__winminor()
+@ cdecl -arch=i386 __p__winver()
+@ cdecl -arch=i386 __p__wpgmptr()
+@ cdecl __pxcptinfoptrs()
+@ cdecl __set_app_type(long)
+@ cdecl __setusermatherr(ptr)
+@ cdecl __threadhandle()
+@ cdecl __threadid()
+@ cdecl __toascii(long)
+@ cdecl __unDName(long str ptr ptr long)
+@ extern __wargv
+@ cdecl __wgetmainargs(ptr ptr ptr long ptr)
+@ extern __winitenv
+@ cdecl _abnormal_termination()
+@ cdecl _access(str long)
+@ extern _acmdln
+@ stdcall _adj_fdiv_m16i(long)
+@ stdcall _adj_fdiv_m32(long)
+@ stdcall _adj_fdiv_m32i(long)
+@ stdcall _adj_fdiv_m64(long long)
+@ cdecl _adj_fdiv_r()
+@ stdcall _adj_fdivr_m16i(long)
+@ stdcall _adj_fdivr_m32(long)
+@ stdcall _adj_fdivr_m32i(long)
+@ stdcall _adj_fdivr_m64(long long)
+@ cdecl _adj_fpatan()
+@ cdecl _adj_fprem()
+@ cdecl _adj_fprem1()
+@ cdecl _adj_fptan()
+@ extern _adjust_fdiv
+@ extern _aexit_rtn
+@ cdecl _amsg_exit(long)
+@ cdecl _assert(str str long)
+@ cdecl _atodbl(ptr str)
+@ cdecl _atoldbl(ptr str)
+@ cdecl _beep(long long)
+@ cdecl _beginthread(ptr long ptr)
+@ cdecl _beginthreadex(ptr long ptr ptr long ptr)
+@ cdecl _c_exit()
+@ cdecl _cabs(long)
+@ cdecl _cexit()
+@ cdecl _cgets(str)
+@ cdecl _chdir(str)
+@ cdecl _chdrive(long)
+@ cdecl _chgsign( double )
+@ cdecl _chmod(str long)
+@ cdecl _chsize(long long)
+@ cdecl _clearfp()
+@ cdecl _close(long)
+@ cdecl _commit(long)
+@ extern _commode
+@ cdecl _control87(long long)
+@ cdecl _controlfp(long long)
+@ cdecl _copysign( double double )
+@ varargs _cprintf(str)
+@ cdecl _cputs(str)
+@ cdecl _creat(str long)
+@ varargs _cscanf(str)
+@ extern _ctype
+@ cdecl _cwait(ptr long long)
+@ extern _daylight
+@ extern _dstbias
+@ cdecl _dup(long)
+@ cdecl _dup2(long long)
+@ cdecl _ecvt( double long ptr ptr)
+@ cdecl _endthread()
+@ cdecl _endthreadex(long)
+@ extern _environ
+@ cdecl _eof(long)
+@ cdecl _errno()
+@ cdecl _except_handler2(ptr ptr ptr ptr)
+@ cdecl _except_handler3(ptr ptr ptr ptr)
+@ varargs _execl(str str)
+@ varargs _execle(str str)
+@ varargs _execlp(str str)
+@ varargs _execlpe(str str)
+@ cdecl _execv(str ptr)
+@ cdecl _execve(str ptr ptr)
+@ cdecl _execvp(str ptr)
+@ cdecl _execvpe(str ptr ptr)
+@ cdecl _exit(long)
+@ cdecl _expand(ptr long)
+@ cdecl _fcloseall()
+@ cdecl _fcvt( double long ptr ptr)
+@ cdecl _fdopen(long str)
+@ cdecl _fgetchar()
+@ cdecl _fgetwchar()
+@ cdecl _filbuf(ptr)
+@ extern _fileinfo
+@ cdecl _filelength(long)
+@ cdecl -ret64 _filelengthi64(long)
+@ cdecl _fileno(ptr)
+@ cdecl _findclose(long)
+@ cdecl _findfirst(str ptr)
+@ cdecl _findfirsti64(str ptr)
+@ cdecl _findnext(long ptr)
+@ cdecl _findnexti64(long ptr)
+@ cdecl _finite( double )
+@ cdecl _flsbuf(long ptr)
+@ cdecl _flushall()
+@ extern _fmode
+@ cdecl _fpclass(double)
+@ cdecl _fpieee_flt(long ptr ptr)
+@ cdecl _fpreset()
+@ cdecl _fputchar(long)
+@ cdecl _fputwchar(long)
+@ cdecl _fsopen(str str long)
+@ cdecl _fstat(long ptr)
+@ cdecl _fstati64(long ptr)
+@ cdecl _ftime(ptr)
+@ cdecl -arch=i386 -ret64 _ftol()
+@ cdecl _fullpath(ptr str long)
+@ cdecl _futime(long ptr)
+@ cdecl _gcvt( double long str)
+@ cdecl _get_osfhandle(long)
+@ cdecl _getch()
+@ cdecl _getche()
+@ cdecl _getcwd(str long)
+@ cdecl _getdcwd(long str long)
+@ cdecl _getdiskfree(long ptr)
+@ cdecl _getdllprocaddr(long str long)
+@ cdecl _getdrive()
+@ cdecl _getdrives()
+@ cdecl _getmaxstdio()
+@ cdecl _getmbcp()
+@ cdecl _getpid()
+@ cdecl _getsystime(ptr)
+@ cdecl _getw(ptr)
+@ cdecl _getws(ptr)
+@ cdecl _global_unwind2(ptr)
+@ cdecl _heapadd(ptr long)
+@ cdecl _heapchk()
+@ cdecl _heapmin()
+@ cdecl _heapset(long)
+@ cdecl _heapused(ptr ptr)
+@ cdecl _heapwalk(ptr)
+@ cdecl _hypot(double double)
+@ cdecl _initterm(ptr ptr)
@ cdecl -i386 _inp(long) MSVCRT__inp
@ cdecl -i386 _inpd(long) MSVCRT__inpd
@ cdecl -i386 _inpw(long) MSVCRT__inpw
-@ extern _iob
-@ cdecl _isatty(long)
-@ cdecl _isctype(long long)
-@ cdecl _ismbbalnum(long)
-@ cdecl _ismbbalpha(long)
-@ cdecl _ismbbgraph(long)
-@ cdecl _ismbbkalnum(long)
-@ cdecl _ismbbkana(long)
-@ cdecl _ismbbkprint(long)
-@ cdecl _ismbbkpunct(long)
-@ cdecl _ismbblead(long)
-@ cdecl _ismbbprint(long)
-@ cdecl _ismbbpunct(long)
-@ cdecl _ismbbtrail(long)
-@ cdecl _ismbcalnum(long)
-@ cdecl _ismbcalpha(long)
-@ cdecl _ismbcdigit(long)
-@ cdecl _ismbcgraph(long)
-@ cdecl _ismbchira(long)
-@ cdecl _ismbckata(long)
-@ cdecl _ismbcl0(long)
-@ cdecl _ismbcl1(long)
-@ cdecl _ismbcl2(long)
-@ cdecl _ismbclegal(long)
-@ cdecl _ismbclower(long)
-@ cdecl _ismbcprint(long)
-@ cdecl _ismbcpunct(long)
-@ cdecl _ismbcspace(long)
-@ cdecl _ismbcsymbol(long)
-@ cdecl _ismbcupper(long)
-@ cdecl _ismbslead(ptr ptr)
-@ cdecl _ismbstrail(ptr ptr)
-@ cdecl _isnan( double )
-@ cdecl _itoa(long ptr long)
-@ cdecl _itow(long ptr long)
-@ cdecl _j0(double)
-@ cdecl _j1(double)
-@ cdecl _jn(long double)
-@ cdecl _kbhit()
-@ cdecl _lfind(ptr ptr ptr long ptr)
-@ cdecl _loaddll(str)
-@ cdecl _local_unwind2(ptr long)
-@ cdecl _locking(long long long)
-@ cdecl _logb(double)
+@ extern _iob
+@ cdecl _isatty(long)
+@ cdecl _isctype(long long)
+@ cdecl _ismbbalnum(long)
+@ cdecl _ismbbalpha(long)
+@ cdecl _ismbbgraph(long)
+@ cdecl _ismbbkalnum(long)
+@ cdecl _ismbbkana(long)
+@ cdecl _ismbbkprint(long)
+@ cdecl _ismbbkpunct(long)
+@ cdecl _ismbblead(long)
+@ cdecl _ismbbprint(long)
+@ cdecl _ismbbpunct(long)
+@ cdecl _ismbbtrail(long)
+@ cdecl _ismbcalnum(long)
+@ cdecl _ismbcalpha(long)
+@ cdecl _ismbcdigit(long)
+@ cdecl _ismbcgraph(long)
+@ cdecl _ismbchira(long)
+@ cdecl _ismbckata(long)
+@ cdecl _ismbcl0(long)
+@ cdecl _ismbcl1(long)
+@ cdecl _ismbcl2(long)
+@ cdecl _ismbclegal(long)
+@ cdecl _ismbclower(long)
+@ cdecl _ismbcprint(long)
+@ cdecl _ismbcpunct(long)
+@ cdecl _ismbcspace(long)
+@ cdecl _ismbcsymbol(long)
+@ cdecl _ismbcupper(long)
+@ cdecl _ismbslead(ptr ptr)
+@ cdecl _ismbstrail(ptr ptr)
+@ cdecl _isnan( double )
+@ cdecl _itoa(long ptr long)
+@ cdecl _itow(long ptr long)
+@ cdecl _j0(double)
+@ cdecl _j1(double)
+@ cdecl _jn(long double)
+@ cdecl _kbhit()
+@ cdecl _lfind(ptr ptr ptr long ptr)
+@ cdecl _loaddll(str)
+@ cdecl _local_unwind2(ptr long)
+@ cdecl _locking(long long long)
+@ cdecl _logb(double)
@ cdecl _longjmpex(ptr long) longjmp
-@ cdecl _lrotl(long long)
-@ cdecl _lrotr(long long)
-@ cdecl _lsearch(ptr ptr long long ptr)
-@ cdecl _lseek(long long long)
-@ cdecl -ret64 _lseeki64(long long long long)
-@ cdecl _ltoa(long ptr long)
-@ cdecl _ltow(long ptr long)
-@ cdecl _makepath(str str str str str)
-@ cdecl _mbbtombc(long)
-@ cdecl _mbbtype(long long)
-@ cdecl _mbccpy(str str)
-@ cdecl _mbcjistojms(long)
-@ cdecl _mbcjmstojis(long)
-@ cdecl _mbclen(ptr)
-@ cdecl _mbctohira(long)
-@ cdecl _mbctokata(long)
-@ cdecl _mbctolower(long)
-@ cdecl _mbctombb(long)
-@ cdecl _mbctoupper(long)
-@ extern _mbctype
-@ cdecl _mbsbtype(str long)
-@ cdecl _mbscat(str str)
-@ cdecl _mbschr(str long)
-@ cdecl _mbscmp(str str)
-@ cdecl _mbscoll(str str)
-@ cdecl _mbscpy(ptr str)
-@ cdecl _mbscspn(str str)
-@ cdecl _mbsdec(ptr ptr)
-@ cdecl _mbsdup(str)
-@ cdecl _mbsicmp(str str)
-@ cdecl _mbsicoll(str str)
-@ cdecl _mbsinc(str)
-@ cdecl _mbslen(str)
-@ cdecl _mbslwr(str)
-@ cdecl _mbsnbcat(str str long)
-@ cdecl _mbsnbcmp(str str long)
-@ cdecl _mbsnbcnt(ptr long)
-@ cdecl _mbsnbcoll(str str long)
-@ cdecl _mbsnbcpy(ptr str long)
-@ cdecl _mbsnbicmp(str str long)
-@ cdecl _mbsnbicoll(str str long)
-@ cdecl _mbsnbset(str long long)
-@ cdecl _mbsncat(str str long)
-@ cdecl _mbsnccnt(str long)
-@ cdecl _mbsncmp(str str long)
-@ cdecl _mbsncoll(str str long)
-@ cdecl _mbsncpy(str str long)
-@ cdecl _mbsnextc(str)
-@ cdecl _mbsnicmp(str str long)
-@ cdecl _mbsnicoll(str str long)
-@ cdecl _mbsninc(str long)
-@ cdecl _mbsnset(str long long)
-@ cdecl _mbspbrk(str str)
-@ cdecl _mbsrchr(str long)
-@ cdecl _mbsrev(str)
-@ cdecl _mbsset(str long)
-@ cdecl _mbsspn(str str)
-@ cdecl _mbsspnp(str str)
-@ cdecl _mbsstr(str str)
-@ cdecl _mbstok(str str)
-@ cdecl _mbstrlen(str)
-@ cdecl _mbsupr(str)
-@ cdecl _memccpy(ptr ptr long long)
-@ cdecl _memicmp(str str long)
-@ cdecl _mkdir(str)
-@ cdecl _mktemp(str)
-@ cdecl _msize(ptr)
+@ cdecl _lrotl(long long)
+@ cdecl _lrotr(long long)
+@ cdecl _lsearch(ptr ptr long long ptr)
+@ cdecl _lseek(long long long)
+@ cdecl -ret64 _lseeki64(long long long long)
+@ cdecl _ltoa(long ptr long)
+@ cdecl _ltow(long ptr long)
+@ cdecl _makepath(str str str str str)
+@ cdecl _mbbtombc(long)
+@ cdecl _mbbtype(long long)
+@ cdecl _mbccpy(str str)
+@ cdecl _mbcjistojms(long)
+@ cdecl _mbcjmstojis(long)
+@ cdecl _mbclen(ptr)
+@ cdecl _mbctohira(long)
+@ cdecl _mbctokata(long)
+@ cdecl _mbctolower(long)
+@ cdecl _mbctombb(long)
+@ cdecl _mbctoupper(long)
+@ extern _mbctype
+@ cdecl _mbsbtype(str long)
+@ cdecl _mbscat(str str)
+@ cdecl _mbschr(str long)
+@ cdecl _mbscmp(str str)
+@ cdecl _mbscoll(str str)
+@ cdecl _mbscpy(ptr str)
+@ cdecl _mbscspn(str str)
+@ cdecl _mbsdec(ptr ptr)
+@ cdecl _mbsdup(str)
+@ cdecl _mbsicmp(str str)
+@ cdecl _mbsicoll(str str)
+@ cdecl _mbsinc(str)
+@ cdecl _mbslen(str)
+@ cdecl _mbslwr(str)
+@ cdecl _mbsnbcat(str str long)
+@ cdecl _mbsnbcmp(str str long)
+@ cdecl _mbsnbcnt(ptr long)
+@ cdecl _mbsnbcoll(str str long)
+@ cdecl _mbsnbcpy(ptr str long)
+@ cdecl _mbsnbicmp(str str long)
+@ cdecl _mbsnbicoll(str str long)
+@ cdecl _mbsnbset(str long long)
+@ cdecl _mbsncat(str str long)
+@ cdecl _mbsnccnt(str long)
+@ cdecl _mbsncmp(str str long)
+@ cdecl _mbsncoll(str str long)
+@ cdecl _mbsncpy(str str long)
+@ cdecl _mbsnextc(str)
+@ cdecl _mbsnicmp(str str long)
+@ cdecl _mbsnicoll(str str long)
+@ cdecl _mbsninc(str long)
+@ cdecl _mbsnset(str long long)
+@ cdecl _mbspbrk(str str)
+@ cdecl _mbsrchr(str long)
+@ cdecl _mbsrev(str)
+@ cdecl _mbsset(str long)
+@ cdecl _mbsspn(str str)
+@ cdecl _mbsspnp(str str)
+@ cdecl _mbsstr(str str)
+@ cdecl _mbstok(str str)
+@ cdecl _mbstrlen(str)
+@ cdecl _mbsupr(str)
+@ cdecl _memccpy(ptr ptr long long)
+@ cdecl _memicmp(str str long)
+@ cdecl _mkdir(str)
+@ cdecl _mktemp(str)
+@ cdecl _msize(ptr)
@ stub _mtlock
@ stub _mtunlock
-@ cdecl _nextafter(double double)
-@ cdecl _onexit(ptr)
-@ varargs _open(str long)
-@ cdecl _open_osfhandle(long long)
-@ extern _osver
+@ cdecl _nextafter(double double)
+@ cdecl _onexit(ptr)
+@ varargs _open(str long)
+@ cdecl _open_osfhandle(long long)
+@ extern _osver
@ cdecl -i386 _outp(long long) MSVCRT__outp
-@ cdecl -i386 _outpd(long long) MSVCRT__outpd
+@ cdecl -i386 _outpd(long long) MSVCRT__outpd
@ cdecl -i386 _outpw(long long) MSVCRT__outpw
-@ cdecl _pclose(ptr)
-@ extern _pctype
-@ extern _pgmptr
-@ cdecl _pipe(ptr long long)
-@ cdecl _popen(str str)
-@ cdecl _purecall()
-@ cdecl _putch(long)
-@ cdecl _putenv(str)
-@ cdecl _putw(long ptr)
-@ cdecl _putws(wstr)
-@ extern _pwctype
-@ cdecl _read(long ptr long)
-@ cdecl _rmdir(str)
-@ cdecl _rmtmp()
-@ cdecl _rotl(long long)
-@ cdecl _rotr(long long)
-@ cdecl _safe_fdiv()
-@ cdecl _safe_fdivr()
-@ cdecl _safe_fprem()
-@ cdecl _safe_fprem1()
-@ cdecl _scalb( double long)
-@ cdecl _searchenv(str str ptr)
-@ stdcall -i386 _seh_longjmp_unwind(ptr)
-@ cdecl _set_error_mode(long)
-@ cdecl _seterrormode(long)
-@ cdecl -i386 _setjmp(ptr)
-@ cdecl -i386 _setjmp3(ptr long)
-@ cdecl _setmaxstdio(long)
-@ cdecl _setmbcp(long)
-@ cdecl _setmode(long long)
-@ cdecl _setsystime(ptr long)
-@ cdecl _sleep(long)
-@ varargs _snprintf(str long str)
-@ varargs _snwprintf(wstr long wstr)
-@ varargs _sopen(str long long)
-@ varargs _spawnl(long str str)
-@ varargs _spawnle(long str str)
-@ varargs _spawnlp(long str str)
-@ varargs _spawnlpe(long str str)
-@ cdecl _spawnv(long str ptr)
-@ cdecl _spawnve(long str ptr ptr)
-@ cdecl _spawnvp(long str ptr)
-@ cdecl _spawnvpe(long str ptr ptr)
-@ cdecl _splitpath(str ptr ptr ptr ptr)
-@ cdecl _stat(str ptr)
-@ cdecl _stati64(str ptr)
-@ cdecl _statusfp()
-@ cdecl _strcmpi(str str)
-@ cdecl _strdate(ptr)
-@ cdecl _strdup(str)
-@ cdecl _strerror(long)
-@ cdecl _stricmp(str str)
-@ cdecl _stricoll(str str)
-@ cdecl _strlwr(str)
-@ cdecl _strncoll(str str long)
-@ cdecl _strnicmp(str str long)
-@ cdecl _strnicoll(str str long)
-@ cdecl _strnset(str long long)
-@ cdecl _strrev(str)
-@ cdecl _strset(str long)
-@ cdecl _strtime(ptr)
-@ cdecl _strupr(str)
-@ cdecl _swab(str str long)
-@ extern _sys_errlist
-@ extern _sys_nerr
-@ cdecl _tell(long)
-@ cdecl -ret64 _telli64(long)
-@ cdecl _tempnam(str str)
-@ extern _timezone
-@ cdecl _tolower(long)
-@ cdecl _toupper(long)
-@ extern _tzname
-@ cdecl _tzset()
-@ cdecl _ultoa(long ptr long)
-@ cdecl _ultow(long ptr long)
-@ cdecl _umask(long)
-@ cdecl _ungetch(long)
-@ cdecl _unlink(str)
-@ cdecl _unloaddll(long)
-@ cdecl _utime(str ptr)
-@ cdecl _vsnprintf(ptr long ptr ptr)
-@ cdecl _vsnwprintf(ptr long wstr long)
-@ cdecl _waccess(wstr long)
-@ cdecl _wasctime(ptr)
-@ cdecl _wchdir(wstr)
-@ cdecl _wchmod(wstr long)
-@ extern _wcmdln
-@ cdecl _wcreat(wstr long)
-@ cdecl _wcsdup(wstr)
-@ cdecl _wcsicmp(wstr wstr)
-@ cdecl _wcsicoll(wstr wstr)
-@ cdecl _wcslwr(wstr)
-@ cdecl _wcsncoll(wstr wstr long)
-@ cdecl _wcsnicmp(wstr wstr long)
-@ cdecl _wcsnicoll(wstr wstr long)
-@ cdecl _wcsnset(wstr long long)
-@ cdecl _wcsrev(wstr)
-@ cdecl _wcsset(wstr long)
-@ cdecl _wcsupr(wstr)
-@ cdecl _wctime(ptr)
-@ extern _wenviron
-@ varargs _wexecl(wstr wstr)
-@ varargs _wexecle(wstr wstr)
-@ varargs _wexeclp(wstr wstr)
-@ varargs _wexeclpe(wstr wstr)
-@ varargs _wexecv(wstr ptr)
-@ varargs _wexecve(wstr ptr ptr)
-@ varargs _wexecvp(wstr ptr)
-@ varargs _wexecvpe(wstr ptr ptr)
-@ cdecl _wfdopen(long wstr)
-@ cdecl _wfindfirst(wstr ptr)
-@ cdecl _wfindfirsti64(wstr ptr)
-@ cdecl _wfindnext(long ptr)
-@ cdecl _wfindnexti64(long ptr)
-@ cdecl _wfopen(wstr wstr)
-@ cdecl _wfreopen(wstr wstr ptr)
-@ cdecl _wfsopen(wstr wstr long)
-@ cdecl _wfullpath(ptr wstr long)
-@ cdecl _wgetcwd(wstr long)
-@ cdecl _wgetdcwd(long wstr long)
-@ cdecl _wgetenv(wstr)
-@ extern _winmajor
-@ extern _winminor
-@ extern _winver
-@ cdecl _wmakepath(wstr wstr wstr wstr wstr)
-@ cdecl _wmkdir(wstr)
-@ cdecl _wmktemp(wstr)
-@ varargs _wopen(wstr long)
-@ cdecl _wperror(wstr)
-@ extern _wpgmptr
-@ cdecl _wpopen(wstr wstr)
-@ cdecl _wputenv(wstr)
-@ cdecl _wremove(wstr)
-@ cdecl _wrename(wstr wstr)
-@ cdecl _write(long ptr long)
-@ cdecl _wrmdir(wstr)
-@ cdecl _wsearchenv(wstr wstr ptr)
-@ cdecl _wsetlocale(long wstr)
-@ varargs _wsopen(wstr long long)
-@ varargs _wspawnl(long wstr wstr)
-@ varargs _wspawnle(long wstr wstr)
-@ varargs _wspawnlp(long wstr wstr)
-@ varargs _wspawnlpe(long wstr wstr)
-@ cdecl _wspawnv(long wstr ptr)
-@ cdecl _wspawnve(long wstr ptr ptr)
-@ cdecl _wspawnvp(long wstr ptr)
-@ cdecl _wspawnvpe(long wstr ptr ptr)
-@ cdecl _wsplitpath(wstr wstr wstr wstr wstr)
-@ cdecl _wstat(wstr ptr)
-@ cdecl _wstati64(wstr ptr)
-@ cdecl _wstrdate(ptr)
-@ cdecl _wstrtime(ptr)
-@ cdecl _wsystem(wstr)
-@ cdecl _wtempnam(wstr wstr)
-@ cdecl _wtmpnam(ptr)
-@ cdecl _wtoi(wstr)
-@ cdecl _wtol(wstr)
-@ cdecl _wunlink(wstr)
-@ cdecl _wutime(wstr ptr)
-@ cdecl _y0(double)
-@ cdecl _y1(double)
-@ cdecl _yn(long double )
-@ cdecl abort()
-@ cdecl abs(long)
-@ cdecl acos(double)
-@ cdecl asctime(ptr)
-@ cdecl asin(double)
-@ cdecl atan(double)
-@ cdecl atan2(double double)
+@ cdecl _pclose(ptr)
+@ extern _pctype
+@ extern _pgmptr
+@ cdecl _pipe(ptr long long)
+@ cdecl _popen(str str)
+@ cdecl _purecall()
+@ cdecl _putch(long)
+@ cdecl _putenv(str)
+@ cdecl _putw(long ptr)
+@ cdecl _putws(wstr)
+@ extern _pwctype
+@ cdecl _read(long ptr long)
+@ cdecl _rmdir(str)
+@ cdecl _rmtmp()
+@ cdecl _rotl(long long)
+@ cdecl _rotr(long long)
+@ cdecl _safe_fdiv()
+@ cdecl _safe_fdivr()
+@ cdecl _safe_fprem()
+@ cdecl _safe_fprem1()
+@ cdecl _scalb( double long)
+@ cdecl _searchenv(str str ptr)
+@ stdcall -i386 _seh_longjmp_unwind(ptr)
+@ cdecl _set_error_mode(long)
+@ cdecl _seterrormode(long)
+@ cdecl -i386 _setjmp(ptr)
+@ cdecl -i386 _setjmp3(ptr long)
+@ cdecl _setmaxstdio(long)
+@ cdecl _setmbcp(long)
+@ cdecl _setmode(long long)
+@ cdecl _setsystime(ptr long)
+@ cdecl _sleep(long)
+@ varargs _snprintf(str long str)
+@ varargs _snwprintf(wstr long wstr)
+@ varargs _sopen(str long long)
+@ varargs _spawnl(long str str)
+@ varargs _spawnle(long str str)
+@ varargs _spawnlp(long str str)
+@ varargs _spawnlpe(long str str)
+@ cdecl _spawnv(long str ptr)
+@ cdecl _spawnve(long str ptr ptr)
+@ cdecl _spawnvp(long str ptr)
+@ cdecl _spawnvpe(long str ptr ptr)
+@ cdecl _splitpath(str ptr ptr ptr ptr)
+@ cdecl _stat(str ptr)
+@ cdecl _stati64(str ptr)
+@ cdecl _statusfp()
+@ cdecl _strcmpi(str str)
+@ cdecl _strdate(ptr)
+@ cdecl _strdup(str)
+@ cdecl _strerror(long)
+@ cdecl _stricmp(str str)
+@ cdecl _stricoll(str str)
+@ cdecl _strlwr(str)
+@ cdecl _strncoll(str str long)
+@ cdecl _strnicmp(str str long)
+@ cdecl _strnicoll(str str long)
+@ cdecl _strnset(str long long)
+@ cdecl _strrev(str)
+@ cdecl _strset(str long)
+@ cdecl _strtime(ptr)
+@ cdecl _strupr(str)
+@ cdecl _swab(str str long)
+@ extern _sys_errlist
+@ extern _sys_nerr
+@ cdecl _tell(long)
+@ cdecl -ret64 _telli64(long)
+@ cdecl _tempnam(str str)
+@ extern _timezone
+@ cdecl _tolower(long)
+@ cdecl _toupper(long)
+@ extern _tzname
+@ cdecl _tzset()
+@ cdecl _ultoa(long ptr long)
+@ cdecl _ultow(long ptr long)
+@ cdecl _umask(long)
+@ cdecl _ungetch(long)
+@ cdecl _unlink(str)
+@ cdecl _unloaddll(long)
+@ cdecl _utime(str ptr)
+@ cdecl _vsnprintf(ptr long ptr ptr)
+@ cdecl _vsnwprintf(ptr long wstr long)
+@ cdecl _waccess(wstr long)
+@ cdecl _wasctime(ptr)
+@ cdecl _wchdir(wstr)
+@ cdecl _wchmod(wstr long)
+@ extern _wcmdln
+@ cdecl _wcreat(wstr long)
+@ cdecl _wcsdup(wstr)
+@ cdecl _wcsicmp(wstr wstr)
+@ cdecl _wcsicoll(wstr wstr)
+@ cdecl _wcslwr(wstr)
+@ cdecl _wcsncoll(wstr wstr long)
+@ cdecl _wcsnicmp(wstr wstr long)
+@ cdecl _wcsnicoll(wstr wstr long)
+@ cdecl _wcsnset(wstr long long)
+@ cdecl _wcsrev(wstr)
+@ cdecl _wcsset(wstr long)
+@ cdecl _wcsupr(wstr)
+@ cdecl _wctime(ptr)
+@ extern _wenviron
+@ varargs _wexecl(wstr wstr)
+@ varargs _wexecle(wstr wstr)
+@ varargs _wexeclp(wstr wstr)
+@ varargs _wexeclpe(wstr wstr)
+@ varargs _wexecv(wstr ptr)
+@ varargs _wexecve(wstr ptr ptr)
+@ varargs _wexecvp(wstr ptr)
+@ varargs _wexecvpe(wstr ptr ptr)
+@ cdecl _wfdopen(long wstr)
+@ cdecl _wfindfirst(wstr ptr)
+@ cdecl _wfindfirsti64(wstr ptr)
+@ cdecl _wfindnext(long ptr)
+@ cdecl _wfindnexti64(long ptr)
+@ cdecl _wfopen(wstr wstr)
+@ cdecl _wfreopen(wstr wstr ptr)
+@ cdecl _wfsopen(wstr wstr long)
+@ cdecl _wfullpath(ptr wstr long)
+@ cdecl _wgetcwd(wstr long)
+@ cdecl _wgetdcwd(long wstr long)
+@ cdecl _wgetenv(wstr)
+@ extern _winmajor
+@ extern _winminor
+@ extern _winver
+@ cdecl _wmakepath(wstr wstr wstr wstr wstr)
+@ cdecl _wmkdir(wstr)
+@ cdecl _wmktemp(wstr)
+@ varargs _wopen(wstr long)
+@ cdecl _wperror(wstr)
+@ extern _wpgmptr
+@ cdecl _wpopen(wstr wstr)
+@ cdecl _wputenv(wstr)
+@ cdecl _wremove(wstr)
+@ cdecl _wrename(wstr wstr)
+@ cdecl _write(long ptr long)
+@ cdecl _wrmdir(wstr)
+@ cdecl _wsearchenv(wstr wstr ptr)
+@ cdecl _wsetlocale(long wstr)
+@ varargs _wsopen(wstr long long)
+@ varargs _wspawnl(long wstr wstr)
+@ varargs _wspawnle(long wstr wstr)
+@ varargs _wspawnlp(long wstr wstr)
+@ varargs _wspawnlpe(long wstr wstr)
+@ cdecl _wspawnv(long wstr ptr)
+@ cdecl _wspawnve(long wstr ptr ptr)
+@ cdecl _wspawnvp(long wstr ptr)
+@ cdecl _wspawnvpe(long wstr ptr ptr)
+@ cdecl _wsplitpath(wstr wstr wstr wstr wstr)
+@ cdecl _wstat(wstr ptr)
+@ cdecl _wstati64(wstr ptr)
+@ cdecl _wstrdate(ptr)
+@ cdecl _wstrtime(ptr)
+@ cdecl _wsystem(wstr)
+@ cdecl _wtempnam(wstr wstr)
+@ cdecl _wtmpnam(ptr)
+@ cdecl _wtoi(wstr)
+@ cdecl _wtol(wstr)
+@ cdecl _wunlink(wstr)
+@ cdecl _wutime(wstr ptr)
+@ cdecl _y0(double)
+@ cdecl _y1(double)
+@ cdecl _yn(long double )
+@ cdecl abort()
+@ cdecl abs(long)
+@ cdecl acos(double)
+@ cdecl asctime(ptr)
+@ cdecl asin(double)
+@ cdecl atan(double)
+@ cdecl atan2(double double)
@ extern atexit # <-- changing this will kill your cat, understand?
-@ cdecl atof(str)
-@ cdecl atoi(str)
-@ cdecl atol(str)
-@ cdecl bsearch(ptr ptr long long ptr)
-@ cdecl calloc(long long)
-@ cdecl ceil(double)
-@ cdecl clearerr(ptr)
-@ cdecl clock()
-@ cdecl cos(double)
-@ cdecl cosh(double)
-@ cdecl ctime(ptr)
-@ cdecl difftime(long long)
-@ cdecl div(long long)
-@ cdecl exit(long)
-@ cdecl exp(double)
-@ cdecl fabs(double)
-@ cdecl fclose(ptr)
-@ cdecl feof(ptr)
-@ cdecl ferror(ptr)
-@ cdecl fflush(ptr)
-@ cdecl fgetc(ptr)
-@ cdecl fgetpos(ptr ptr)
-@ cdecl fgets(ptr long ptr)
-@ cdecl fgetwc(ptr)
-@ cdecl fgetws(ptr long ptr)
-@ cdecl floor(double)
-@ cdecl fmod(double double)
-@ cdecl fopen(str str)
-@ varargs fprintf(ptr str)
-@ cdecl fputc(long ptr)
-@ cdecl fputs(str ptr)
-@ cdecl fputwc(long ptr)
-@ cdecl fputws(wstr ptr)
-@ cdecl fread(ptr long long ptr)
-@ cdecl free(ptr)
-@ cdecl freopen(str str ptr)
-@ cdecl frexp(double ptr)
-@ varargs fscanf(ptr str)
-@ cdecl fseek(ptr long long)
-@ cdecl fsetpos(ptr ptr)
-@ cdecl ftell(ptr)
-@ varargs fwprintf(ptr wstr)
-@ cdecl fwrite(ptr long long ptr)
-@ varargs fwscanf(ptr wstr)
-@ cdecl getc(ptr)
-@ cdecl getchar()
-@ cdecl getenv(str)
-@ cdecl gets(str)
-@ cdecl getwc(ptr)
-@ cdecl getwchar()
-@ cdecl gmtime(ptr)
-@ cdecl is_wctype(long long)
-@ cdecl isalnum(long)
-@ cdecl isalpha(long)
-@ cdecl iscntrl(long)
-@ cdecl isdigit(long)
-@ cdecl isgraph(long)
-@ cdecl isleadbyte(long)
-@ cdecl islower(long)
-@ cdecl isprint(long)
-@ cdecl ispunct(long)
-@ cdecl isspace(long)
-@ cdecl isupper(long)
-@ cdecl iswalnum(long)
-@ cdecl iswalpha(long)
-@ cdecl iswascii(long)
-@ cdecl iswcntrl(long)
-@ cdecl iswctype(long long)
-@ cdecl iswdigit(long)
-@ cdecl iswgraph(long)
-@ cdecl iswlower(long)
-@ cdecl iswprint(long)
-@ cdecl iswpunct(long)
-@ cdecl iswspace(long)
-@ cdecl iswupper(long)
-@ cdecl iswxdigit(long)
-@ cdecl isxdigit(long)
-@ cdecl labs(long)
-@ cdecl ldexp( double long)
-@ cdecl ldiv(long long)
-@ cdecl localeconv()
-@ cdecl localtime(ptr)
-@ cdecl log(double)
-@ cdecl log10(double)
-@ cdecl -i386 longjmp(ptr long)
-@ cdecl malloc(long)
-@ cdecl mblen(ptr long)
-@ cdecl mbstowcs(ptr str long)
-@ cdecl mbtowc(wstr str long)
-@ cdecl memchr(ptr long long)
-@ cdecl memcmp(ptr ptr long)
-@ cdecl memcpy(ptr ptr long)
-@ cdecl memmove(ptr ptr long)
-@ cdecl memset(ptr long long)
-@ cdecl mktime(ptr)
-@ cdecl modf(double ptr)
-@ cdecl perror(str)
-@ cdecl pow(double double)
-@ varargs printf(str)
-@ cdecl putc(long ptr)
-@ cdecl putchar(long)
-@ cdecl puts(str)
+@ cdecl atof(str)
+@ cdecl atoi(str)
+@ cdecl atol(str)
+@ cdecl bsearch(ptr ptr long long ptr)
+@ cdecl calloc(long long)
+@ cdecl ceil(double)
+@ cdecl clearerr(ptr)
+@ cdecl clock()
+@ cdecl cos(double)
+@ cdecl cosh(double)
+@ cdecl ctime(ptr)
+@ cdecl difftime(long long)
+@ cdecl div(long long)
+@ cdecl exit(long)
+@ cdecl exp(double)
+@ cdecl fabs(double)
+@ cdecl fclose(ptr)
+@ cdecl feof(ptr)
+@ cdecl ferror(ptr)
+@ cdecl fflush(ptr)
+@ cdecl fgetc(ptr)
+@ cdecl fgetpos(ptr ptr)
+@ cdecl fgets(ptr long ptr)
+@ cdecl fgetwc(ptr)
+@ cdecl fgetws(ptr long ptr)
+@ cdecl floor(double)
+@ cdecl fmod(double double)
+@ cdecl fopen(str str)
+@ varargs fprintf(ptr str)
+@ cdecl fputc(long ptr)
+@ cdecl fputs(str ptr)
+@ cdecl fputwc(long ptr)
+@ cdecl fputws(wstr ptr)
+@ cdecl fread(ptr long long ptr)
+@ cdecl free(ptr)
+@ cdecl freopen(str str ptr)
+@ cdecl frexp(double ptr)
+@ varargs fscanf(ptr str)
+@ cdecl fseek(ptr long long)
+@ cdecl fsetpos(ptr ptr)
+@ cdecl ftell(ptr)
+@ varargs fwprintf(ptr wstr)
+@ cdecl fwrite(ptr long long ptr)
+@ varargs fwscanf(ptr wstr)
+@ cdecl getc(ptr)
+@ cdecl getchar()
+@ cdecl getenv(str)
+@ cdecl gets(str)
+@ cdecl getwc(ptr)
+@ cdecl getwchar()
+@ cdecl gmtime(ptr)
+@ cdecl is_wctype(long long)
+@ cdecl isalnum(long)
+@ cdecl isalpha(long)
+@ cdecl iscntrl(long)
+@ cdecl isdigit(long)
+@ cdecl isgraph(long)
+@ cdecl isleadbyte(long)
+@ cdecl islower(long)
+@ cdecl isprint(long)
+@ cdecl ispunct(long)
+@ cdecl isspace(long)
+@ cdecl isupper(long)
+@ cdecl iswalnum(long)
+@ cdecl iswalpha(long)
+@ cdecl iswascii(long)
+@ cdecl iswcntrl(long)
+@ cdecl iswctype(long long)
+@ cdecl iswdigit(long)
+@ cdecl iswgraph(long)
+@ cdecl iswlower(long)
+@ cdecl iswprint(long)
+@ cdecl iswpunct(long)
+@ cdecl iswspace(long)
+@ cdecl iswupper(long)
+@ cdecl iswxdigit(long)
+@ cdecl isxdigit(long)
+@ cdecl labs(long)
+@ cdecl ldexp( double long)
+@ cdecl ldiv(long long)
+@ cdecl localeconv()
+@ cdecl localtime(ptr)
+@ cdecl log(double)
+@ cdecl log10(double)
+@ cdecl -i386 longjmp(ptr long)
+@ cdecl malloc(long)
+@ cdecl mblen(ptr long)
+@ cdecl mbstowcs(ptr str long)
+@ cdecl mbtowc(wstr str long)
+@ cdecl memchr(ptr long long)
+@ cdecl memcmp(ptr ptr long)
+@ cdecl memcpy(ptr ptr long)
+@ cdecl memmove(ptr ptr long)
+@ cdecl memset(ptr long long)
+@ cdecl mktime(ptr)
+@ cdecl modf(double ptr)
+@ cdecl perror(str)
+@ cdecl pow(double double)
+@ varargs printf(str)
+@ cdecl putc(long ptr)
+@ cdecl putchar(long)
+@ cdecl puts(str)
@ cdecl putwc(long ptr) fputwc
@ cdecl putwchar(long) _fputwchar
-@ cdecl qsort(ptr long long ptr)
-@ cdecl raise(long)
-@ cdecl rand()
-@ cdecl realloc(ptr long)
-@ cdecl remove(str)
-@ cdecl rename(str str)
-@ cdecl rewind(ptr)
-@ varargs scanf(str)
-@ cdecl setbuf(ptr ptr)
-@ cdecl setlocale(long str)
-@ cdecl setvbuf(ptr str long long)
-@ cdecl signal(long long)
-@ cdecl sin(double)
-@ cdecl sinh(double)
-@ varargs sprintf(ptr str)
-@ cdecl sqrt(double)
-@ cdecl srand(long)
-@ varargs sscanf(str str)
-@ cdecl strcat(str str)
-@ cdecl strchr(str long)
-@ cdecl strcmp(str str)
-@ cdecl strcoll(str str)
-@ cdecl strcpy(ptr str)
-@ cdecl strcspn(str str)
-@ cdecl strerror(long)
-@ cdecl strftime(str long str ptr)
-@ cdecl strlen(str)
-@ cdecl strncat(str str long)
-@ cdecl strncmp(str str long)
-@ cdecl strncpy(ptr str long)
-@ cdecl strpbrk(str str)
-@ cdecl strrchr(str long)
-@ cdecl strspn(str str)
-@ cdecl strstr(str str)
-@ cdecl strtod(str ptr)
-@ cdecl strtok(str str)
-@ cdecl strtol(str ptr long)
-@ cdecl strtoul(str ptr long)
-@ cdecl strxfrm(ptr str long)
-@ varargs swprintf(wstr wstr)
-@ varargs swscanf(wstr wstr)
-@ cdecl system(str)
-@ cdecl tan(double)
-@ cdecl tanh(double)
-@ cdecl time(ptr)
-@ cdecl tmpfile()
-@ cdecl tmpnam(ptr)
-@ cdecl tolower(long)
-@ cdecl toupper(long)
-@ cdecl towlower(long)
-@ cdecl towupper(long)
-@ cdecl ungetc(long ptr)
-@ cdecl ungetwc(long ptr)
-@ cdecl vfprintf(ptr str long)
-@ cdecl vfwprintf(ptr wstr long)
-@ cdecl vprintf(str long)
-@ cdecl vsprintf(ptr str ptr)
-@ cdecl vswprintf(ptr wstr long)
-@ cdecl vwprintf(wstr long)
-@ cdecl wcscat(wstr wstr)
-@ cdecl wcschr(wstr long)
-@ cdecl wcscmp(wstr wstr)
-@ cdecl wcscoll(wstr wstr)
-@ cdecl wcscpy(ptr wstr)
-@ cdecl wcscspn(wstr wstr)
-@ cdecl wcsftime(ptr long wstr ptr)
-@ cdecl wcslen(wstr)
-@ cdecl wcsncat(wstr wstr long)
-@ cdecl wcsncmp(wstr wstr long)
-@ cdecl wcsncpy(ptr wstr long)
-@ cdecl wcspbrk(wstr wstr)
-@ cdecl wcsrchr(wstr long)
-@ cdecl wcsspn(wstr wstr)
-@ cdecl wcsstr(wstr wstr)
-@ cdecl wcstod(wstr ptr)
-@ cdecl wcstok(wstr wstr)
-@ cdecl wcstol(wstr ptr long)
-@ cdecl wcstombs(ptr ptr long)
-@ cdecl wcstoul(wstr ptr long)
-@ cdecl wcsxfrm(ptr wstr long)
-@ cdecl wctomb(ptr long)
-@ varargs wprintf(wstr)
-@ varargs wscanf(wstr)
+@ cdecl qsort(ptr long long ptr)
+@ cdecl raise(long)
+@ cdecl rand()
+@ cdecl realloc(ptr long)
+@ cdecl remove(str)
+@ cdecl rename(str str)
+@ cdecl rewind(ptr)
+@ varargs scanf(str)
+@ cdecl setbuf(ptr ptr)
+@ cdecl setlocale(long str)
+@ cdecl setvbuf(ptr str long long)
+@ cdecl signal(long long)
+@ cdecl sin(double)
+@ cdecl sinh(double)
+@ varargs sprintf(ptr str)
+@ cdecl sqrt(double)
+@ cdecl srand(long)
+@ varargs sscanf(str str)
+@ cdecl strcat(str str)
+@ cdecl strchr(str long)
+@ cdecl strcmp(str str)
+@ cdecl strcoll(str str)
+@ cdecl strcpy(ptr str)
+@ cdecl strcspn(str str)
+@ cdecl strerror(long)
+@ cdecl strftime(str long str ptr)
+@ cdecl strlen(str)
+@ cdecl strncat(str str long)
+@ cdecl strncmp(str str long)
+@ cdecl strncpy(ptr str long)
+@ cdecl strpbrk(str str)
+@ cdecl strrchr(str long)
+@ cdecl strspn(str str)
+@ cdecl strstr(str str)
+@ cdecl strtod(str ptr)
+@ cdecl strtok(str str)
+@ cdecl strtol(str ptr long)
+@ cdecl strtoul(str ptr long)
+@ cdecl strxfrm(ptr str long)
+@ varargs swprintf(wstr wstr)
+@ varargs swscanf(wstr wstr)
+@ cdecl system(str)
+@ cdecl tan(double)
+@ cdecl tanh(double)
+@ cdecl time(ptr)
+@ cdecl tmpfile()
+@ cdecl tmpnam(ptr)
+@ cdecl tolower(long)
+@ cdecl toupper(long)
+@ cdecl towlower(long)
+@ cdecl towupper(long)
+@ cdecl ungetc(long ptr)
+@ cdecl ungetwc(long ptr)
+@ cdecl vfprintf(ptr str long)
+@ cdecl vfwprintf(ptr wstr long)
+@ cdecl vprintf(str long)
+@ cdecl vsprintf(ptr str ptr)
+@ cdecl vswprintf(ptr wstr long)
+@ cdecl vwprintf(wstr long)
+@ cdecl wcscat(wstr wstr)
+@ cdecl wcschr(wstr long)
+@ cdecl wcscmp(wstr wstr)
+@ cdecl wcscoll(wstr wstr)
+@ cdecl wcscpy(ptr wstr)
+@ cdecl wcscspn(wstr wstr)
+@ cdecl wcsftime(ptr long wstr ptr)
+@ cdecl wcslen(wstr)
+@ cdecl wcsncat(wstr wstr long)
+@ cdecl wcsncmp(wstr wstr long)
+@ cdecl wcsncpy(ptr wstr long)
+@ cdecl wcspbrk(wstr wstr)
+@ cdecl wcsrchr(wstr long)
+@ cdecl wcsspn(wstr wstr)
+@ cdecl wcsstr(wstr wstr)
+@ cdecl wcstod(wstr ptr)
+@ cdecl wcstok(wstr wstr)
+@ cdecl wcstol(wstr ptr long)
+@ cdecl wcstombs(ptr ptr long)
+@ cdecl wcstoul(wstr ptr long)
+@ cdecl wcsxfrm(ptr wstr long)
+@ cdecl wctomb(ptr long)
+@ varargs wprintf(wstr)
+@ varargs wscanf(wstr)
Modified: trunk/reactos/dll/win32/oleaut32/msvc.S
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oleaut32/msvc.S?…
==============================================================================
--- trunk/reactos/dll/win32/oleaut32/msvc.S [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/oleaut32/msvc.S [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -1,6 +1,15 @@
#include <asm.inc>
+#ifdef _M_AMD64
+.code64
+
+PUBLIC call_method
+call_method:
+ int 2ch
+ ret
+
+#else
.code32
PUBLIC _call_method
@@ -26,5 +35,6 @@
pop esi
pop ebp
ret
+#endif
END
Modified: trunk/reactos/dll/win32/oleaut32/tmarshal.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oleaut32/tmarsha…
==============================================================================
--- trunk/reactos/dll/win32/oleaut32/tmarshal.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/oleaut32/tmarshal.c [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -136,41 +136,41 @@
DWORD xsize;
TRACE("...%s...\n",debugstr_guid(riid));
-
+
*pUnk = NULL;
hres = xbuf_get(buf,(LPBYTE)&xsize,sizeof(xsize));
if (hres) {
ERR("xbuf_get failed\n");
return hres;
}
-
+
if (xsize == 0) return S_OK;
-
+
hres = CreateStreamOnHGlobal(0,TRUE,&pStm);
if (hres) {
ERR("Stream create failed %x\n",hres);
return hres;
}
-
+
hres = IStream_Write(pStm,buf->base+buf->curoff,xsize,&res);
if (hres) {
ERR("stream write %x\n",hres);
return hres;
}
-
+
memset(&seekto,0,sizeof(seekto));
hres = IStream_Seek(pStm,seekto,SEEK_SET,&newpos);
if (hres) {
ERR("Failed Seek %x\n",hres);
return hres;
}
-
+
hres = CoUnmarshalInterface(pStm,riid,(LPVOID*)pUnk);
if (hres) {
ERR("Unmarshalling interface %s failed with %x\n",debugstr_guid(riid),hres);
return hres;
}
-
+
IStream_Release(pStm);
return xbuf_skip(buf,xsize);
}
@@ -200,25 +200,25 @@
hres = E_FAIL;
TRACE("...%s...\n",debugstr_guid(riid));
-
+
hres = CreateStreamOnHGlobal(0,TRUE,&pStm);
if (hres) {
ERR("Stream create failed %x\n",hres);
goto fail;
}
-
+
hres = CoMarshalInterface(pStm,riid,pUnk,0,NULL,0);
if (hres) {
ERR("Marshalling interface %s failed with %x\n", debugstr_guid(riid), hres);
goto fail;
}
-
+
hres = IStream_Stat(pStm,&ststg,STATFLAG_NONAME);
if (hres) {
ERR("Stream stat failed\n");
goto fail;
}
-
+
tempbuf = HeapAlloc(GetProcessHeap(), 0, ststg.cbSize.u.LowPart);
memset(&seekto,0,sizeof(seekto));
hres = IStream_Seek(pStm,seekto,SEEK_SET,&newpos);
@@ -226,22 +226,22 @@
ERR("Failed Seek %x\n",hres);
goto fail;
}
-
+
hres = IStream_Read(pStm,tempbuf,ststg.cbSize.u.LowPart,&res);
if (hres) {
ERR("Failed Read %x\n",hres);
goto fail;
}
-
+
xsize = ststg.cbSize.u.LowPart;
xbuf_add(buf,(LPBYTE)&xsize,sizeof(xsize));
hres = xbuf_add(buf,tempbuf,ststg.cbSize.u.LowPart);
-
+
HeapFree(GetProcessHeap(),0,tempbuf);
IStream_Release(pStm);
-
+
return hres;
-
+
fail:
xsize = 0;
xbuf_add(buf,(LPBYTE)&xsize,sizeof(xsize));
@@ -385,8 +385,13 @@
#include "poppack.h"
#else /* __i386__ */
+#ifdef _MSC_VER
+#pragma message("You need to implement stubless proxies for your
architecture")
+#else
# warning You need to implement stubless proxies for your architecture
+#endif
typedef struct _TMAsmProxy {
+ char a;
} TMAsmProxy;
#endif
@@ -1010,7 +1015,7 @@
ITypeInfo_ReleaseTypeAttr(tinfo2, tattr);
ITypeInfo_Release(tinfo2);
}
- /* read it in all cases, we need to know if we have
+ /* read it in all cases, we need to know if we have
* NULL pointer or not.
*/
hres = xbuf_get(buf,(LPBYTE)&cookie,sizeof(cookie));
@@ -1862,7 +1867,7 @@
{
TMStubImpl *This = (TMStubImpl *)iface;
ULONG refCount = InterlockedIncrement(&This->ref);
-
+
TRACE("(%p)->(ref before=%u)\n", This, refCount - 1);
return refCount;
Modified: trunk/reactos/dll/win32/riched20/msvc-thiscall.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/msvc-th…
==============================================================================
--- trunk/reactos/dll/win32/riched20/msvc-thiscall.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/msvc-thiscall.c [iso-8859-1] Tue Aug 23 08:58:15
2011
@@ -52,11 +52,9 @@
DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxImmReleaseContext,8)
DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetSelectionBarWidth,8)
-#define STDCALL(func) __stdcall_ ## func
#define DEFINE_STDCALL_WRAPPER(num,func,args) \
__declspec(naked) void __stdcall __stdcall_##func(_tag_##func p1) \
{ \
- __asm pop eax \
__asm pop eax \
__asm pop ecx \
__asm push eax \
Modified: trunk/reactos/dll/win32/rpcrt4/msvc.S
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rpcrt4/msvc.S?re…
==============================================================================
--- trunk/reactos/dll/win32/rpcrt4/msvc.S [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/rpcrt4/msvc.S [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -1,6 +1,7 @@
#include <asm.inc>
+#ifdef _M_IX86
.code32
EXTERN _ndr_client_call:PROC
@@ -28,5 +29,118 @@
mov ecx, [esp] /* return address */
add esp, edx
jmp ecx
+#else
+.code64
-END
+EXTERN ndr_client_call:PROC
+
+PUBLIC call_stubless_func
+FUNC call_stubless_func
+ mov [rsp + 8], rcx
+ .SAVEREG rcx, 8
+ mov [rsp + 10h], rdx
+ .SAVEREG rdx, 10h
+ mov [rsp + 18h], r8
+ .SAVEREG r8, 18h
+ mov [rsp + 20h], r9
+ .SAVEREG r9, 20h
+ sub rsp, 38h
+ .ALLOCSTACK 38h
+ .ENDPROLOG
+
+ lea r8, [rsp +38h + 8] /* &This */
+ mov rcx, [rcx] /* This->lpVtbl */
+ mov rcx, [rcx - 10h] /* MIDL_STUBLESS_PROXY_INFO */
+ mov rdx, [rcx + 10h] /* info->FormatStringOffset */
+ movzx rdx, word ptr [rdx+r10*2] /* FormatStringOffset[index] */
+ add rdx, [rcx + 8] /* info->ProcFormatString + offset */
+ mov rcx, [rcx] /* info->pStubDesc */
+
+ movaps [rsp + 20h], xmm1
+ movaps [rsp + 28h], xmm2
+ movaps [rsp + 30h], xmm3
+ lea r9, [rsp + 18h] /* fpu_args */
+ call ndr_client_call
+ add rsp, 38h
+ ret
+ENDFUNC call_stubless_func
+
+PUBLIC call_server_func
+FUNC call_server_func
+ push rbp
+ .PUSHREG rbp
+ mov rbp, rsp
+ push rsi
+ .PUSHREG rsi
+ push rdi
+ .PUSHREG rdi
+ .ENDPROLOG
+
+ mov rax, rcx /* function to call */
+ mov rcx, 32 /* allocate max(32,stack_size) bytes of stack space */
+ cmp r8, rcx
+ cmovg rcx, r8
+ sub rsp, rcx
+ and rsp, NOT 15
+ mov rcx, r8
+ shr rcx, 3
+ mov rdi, rsp
+ mov rsi, rdx
+ rep movsq /* copy arguments */
+ mov rcx, [rsp]
+ mov rdx, [rsp + 8]
+ mov r8, [rsp + 16]
+ mov r9, [rsp + 24]
+ movd xmm0, rcx
+ movd xmm1, rdx
+ movd xmm2, r8
+ movd xmm3, r9
+ call rax
+
+ lea rsp, [rbp - 16] /* restore stack */
+ pop rdi
+ pop rsi
+ pop rbp
+ ret
+ENDFUNC call_server_func
+
+
+PUBLIC NdrClientCall2
+FUNC NdrClientCall2
+ mov [rsp + 18h], r8
+ .SAVEREG r8, 18h
+ mov [rsp + 20h], r9
+ .SAVEREG r9, 20h
+ sub rsp, 28h
+ .ALLOCSTACK 28h
+ .ENDPROLOG
+
+ lea r8, [rsp + 28h + 18h]
+ xor r9, r9
+ call ndr_client_call
+
+ add rsp, 28h
+ ret
+ENDFUNC NdrClientCall2
+
+EXTERN ndr_async_client_call:PROC
+PUBLIC NdrAsyncClientCall
+FUNC NdrAsyncClientCall
+ mov [rsp + 18h], r8
+ .SAVEREG r8, 18h
+ mov [rsp + 20h], r9
+ .SAVEREG r9, 20h
+ sub rsp, 28h
+ .ALLOCSTACK 28h
+ .ENDPROLOG
+
+ lea r8, [rsp + 28h + 18h]
+ call ndr_async_client_call
+
+ add rsp, 28h
+ ret
+ENDFUNC NdrAsyncClientCall
+
+#endif
+
+END
Modified: trunk/reactos/drivers/ksfilter/ks/msvc.S
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/ksfilter/ks/msvc.S…
==============================================================================
--- trunk/reactos/drivers/ksfilter/ks/msvc.S [iso-8859-1] (original)
+++ trunk/reactos/drivers/ksfilter/ks/msvc.S [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -8,10 +8,10 @@
ALIAS <&alias> = <&orig>
ENDM
+#ifdef _M_IX86
PUBLIC ?NonDelegatedRelease@CBaseUnknown@@UAGKXZ
?NonDelegatedRelease@CBaseUnknown@@UAGKXZ:
jmp _IIndirectedUnknown_fnRelease@4
-
DEFINE_ALIAS ??0CBaseUnknown@@QAE@ABU_GUID@@PAUIUnknown@@@Z,
@CBaseUnknown_ConstructorWithGUID@16
DEFINE_ALIAS ??0CBaseUnknown@@QAE@PAUIUnknown@@@Z, @CBaseUnknown_Constructor@12
@@ -22,5 +22,21 @@
DEFINE_ALIAS ?IndirectedRelease@CBaseUnknown@@UAGKXZ, _IIndirectedUnknown_fnRelease@4
DEFINE_ALIAS ?NonDelegatedAddRef@CBaseUnknown@@UAGKXZ, _INonDelegatedUnknown_fnAddRef@4
DEFINE_ALIAS ?NonDelegatedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z,
_INonDelegatedUnknown_fnQueryInterface@12
+#else
+EXTERN IIndirectedUnknown_fnRelease:PROC
+PUBLIC ?NonDelegatedRelease@CBaseUnknown@@UAGKXZ
+?NonDelegatedRelease@CBaseUnknown@@UAGKXZ:
+ jmp IIndirectedUnknown_fnRelease
+
+DEFINE_ALIAS ??0CBaseUnknown@@QAE@ABU_GUID@@PAUIUnknown@@@Z,
CBaseUnknown_ConstructorWithGUID
+DEFINE_ALIAS ??0CBaseUnknown@@QAE@PAUIUnknown@@@Z, CBaseUnknown_Constructor
+DEFINE_ALIAS ??1CBaseUnknown@@UAE@XZ, CBaseUnknown_DefaultDestructor
+DEFINE_ALIAS ??_FCBaseUnknown@@QAEXXZ, CBaseUnknown_Destructor
+DEFINE_ALIAS ?IndirectedAddRef@CBaseUnknown@@UAGKXZ, IIndirectedUnknown_fnAddRef
+DEFINE_ALIAS ?IndirectedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z,
IIndirectedUnknown_fnQueryInterface
+DEFINE_ALIAS ?IndirectedRelease@CBaseUnknown@@UAGKXZ, IIndirectedUnknown_fnRelease
+DEFINE_ALIAS ?NonDelegatedAddRef@CBaseUnknown@@UAGKXZ, INonDelegatedUnknown_fnAddRef
+DEFINE_ALIAS ?NonDelegatedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z,
INonDelegatedUnknown_fnQueryInterface
+#endif
END
Modified: trunk/reactos/drivers/wdm/audio/filters/kmixer/kmixer.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/filters/…
==============================================================================
--- trunk/reactos/drivers/wdm/audio/filters/kmixer/kmixer.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/filters/kmixer/kmixer.h [iso-8859-1] Tue Aug 23
08:58:15 2011
@@ -32,3 +32,8 @@
NTSTATUS
CreatePin(
IN PIRP Irp);
+
+#ifndef _M_IX86
+#define KeSaveFloatingPointState(x) ((void)(x), STATUS_SUCCESS)
+#define KeRestoreFloatingPointState(x) ((void)0)
+#endif
Modified: trunk/reactos/drivers/wdm/audio/filters/kmixer/pin.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/filters/…
==============================================================================
--- trunk/reactos/drivers/wdm/audio/filters/kmixer/pin.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/filters/kmixer/pin.c [iso-8859-1] Tue Aug 23 08:58:15
2011
@@ -76,7 +76,7 @@
State = src_new(SRC_SINC_FASTEST, NumChannels, &error);
if (!State)
{
- DPRINT1("KeSaveFloatingPointState failed with %x\n", Status);
+ DPRINT1("src_new failed with %x\n", error);
KeRestoreFloatingPointState(&FloatSave);
ExFreePool(FloatIn);
ExFreePool(FloatOut);
Modified: trunk/reactos/include/reactos/libs/pseh/pseh2.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/pseh/…
==============================================================================
--- trunk/reactos/include/reactos/libs/pseh/pseh2.h [iso-8859-1] (original)
+++ trunk/reactos/include/reactos/libs/pseh/pseh2.h [iso-8859-1] Tue Aug 23 08:58:15 2011
@@ -23,19 +23,7 @@
#ifndef KJK_PSEH2_H_
#define KJK_PSEH2_H_
-#if defined(USE_DUMMY_PSEH) || defined (__arm__) || defined(__clang__) ||
defined(_M_AMD64)
-
-#define _SEH2_TRY {
-#define _SEH2_FINALLY } {
-#define _SEH2_EXCEPT(...) } if (0) {
-#define _SEH2_END }
-#define _SEH2_GetExceptionInformation()
-#define _SEH2_GetExceptionCode() 0
-#define _SEH2_AbnormalTermination()
-#define _SEH2_YIELD(STMT_) STMT_
-#define _SEH2_LEAVE
-
-#elif defined(USE_NATIVE_SEH) || defined(_MSC_VER)
+#if defined(USE_NATIVE_SEH) || defined(_MSC_VER)
#include <excpt.h>
#define _SEH2_TRY __try
@@ -47,6 +35,18 @@
#define _SEH2_AbnormalTermination() (AbnormalTermination())
#define _SEH2_YIELD(STMT_) STMT_
#define _SEH2_LEAVE __leave
+
+#elif defined(USE_DUMMY_PSEH) || defined (__arm__) || defined(__clang__) ||
defined(_M_AMD64)
+
+#define _SEH2_TRY {
+#define _SEH2_FINALLY } {
+#define _SEH2_EXCEPT(...) } if (0) {
+#define _SEH2_END }
+#define _SEH2_GetExceptionInformation()
+#define _SEH2_GetExceptionCode() 0
+#define _SEH2_AbnormalTermination()
+#define _SEH2_YIELD(STMT_) STMT_
+#define _SEH2_LEAVE
#elif defined(__GNUC__)