ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
August 2011
----- 2024 -----
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
18 participants
498 discussions
Start a n
N
ew thread
[tkreuzer] 53401: [XDK/DDK] Add KeSaveFloatingPointState as well
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Tue Aug 23 22:59:23 2011 New Revision: 53401 URL:
http://svn.reactos.org/svn/reactos?rev=53401&view=rev
Log: [XDK/DDK] Add KeSaveFloatingPointState as well Modified: trunk/reactos/include/ddk/wdm.h trunk/reactos/include/reactos/arm/armddk.h trunk/reactos/include/xdk/amd64/ke.h Modified: trunk/reactos/include/ddk/wdm.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/wdm.h?rev=5340…
============================================================================== --- trunk/reactos/include/ddk/wdm.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/wdm.h [iso-8859-1] Tue Aug 23 22:59:23 2011 @@ -7946,6 +7946,14 @@ FORCEINLINE NTSTATUS +KeSaveFloatingPointState(PVOID FloatingState) +{ + UNREFERENCED_PARAMETER(FloatingState); + return STATUS_SUCCESS; +} + +FORCEINLINE +NTSTATUS KeRestoreFloatingPointState(PVOID FloatingState) { UNREFERENCED_PARAMETER(FloatingState); Modified: trunk/reactos/include/reactos/arm/armddk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/arm/armddk…
============================================================================== --- trunk/reactos/include/reactos/arm/armddk.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/arm/armddk.h [iso-8859-1] Tue Aug 23 22:59:23 2011 @@ -197,6 +197,14 @@ FORCEINLINE NTSTATUS +KeSaveFloatingPointState(PVOID FloatingState) +{ + UNREFERENCED_PARAMETER(FloatingState); + return STATUS_SUCCESS; +} + +FORCEINLINE +NTSTATUS KeRestoreFloatingPointState(PVOID FloatingState) { UNREFERENCED_PARAMETER(FloatingState); Modified: trunk/reactos/include/xdk/amd64/ke.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/xdk/amd64/ke.h?rev…
============================================================================== --- trunk/reactos/include/xdk/amd64/ke.h [iso-8859-1] (original) +++ trunk/reactos/include/xdk/amd64/ke.h [iso-8859-1] Tue Aug 23 22:59:23 2011 @@ -109,6 +109,14 @@ KeGetCurrentThread(VOID) { return (struct _KTHREAD *)__readgsqword(0x188); +} + +FORCEINLINE +NTSTATUS +KeSaveFloatingPointState(PVOID FloatingState) +{ + UNREFERENCED_PARAMETER(FloatingState); + return STATUS_SUCCESS; } FORCEINLINE
13 years, 2 months
1
0
0
0
[tkreuzer] 53400: [DDK(XDK] Add inline functionss Ke*FloatingPointState for amd64 and arm, doing nothing. Noticed by Thomas Faber.
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Tue Aug 23 22:31:20 2011 New Revision: 53400 URL:
http://svn.reactos.org/svn/reactos?rev=53400&view=rev
Log: [DDK(XDK] Add inline functionss Ke*FloatingPointState for amd64 and arm, doing nothing. Noticed by Thomas Faber. Modified: trunk/reactos/include/ddk/ntddk.h trunk/reactos/include/ddk/ntifs.h trunk/reactos/include/ddk/wdm.h trunk/reactos/include/reactos/arm/armddk.h trunk/reactos/include/xdk/amd64/ke.h Modified: trunk/reactos/include/ddk/ntddk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntddk.h?rev=53…
============================================================================== --- trunk/reactos/include/ddk/ntddk.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ntddk.h [iso-8859-1] Tue Aug 23 22:31:20 2011 @@ -1919,7 +1919,7 @@ typedef enum _TIMER_SET_INFORMATION_CLASS { TimerSetCoalescableTimer, - MaxTimerInfoClass + MaxTimerInfoClass } TIMER_SET_INFORMATION_CLASS; #if (NTDDI_VERSION >= NTDDI_WIN7) @@ -5607,8 +5607,8 @@ NTAPI ZwDisplayString( IN PUNICODE_STRING String); - -NTSYSCALLAPI + +NTSYSAPI NTSTATUS NTAPI ZwPowerInformation( Modified: trunk/reactos/include/ddk/ntifs.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntifs.h?rev=53…
============================================================================== --- trunk/reactos/include/ddk/ntifs.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ntifs.h [iso-8859-1] Tue Aug 23 22:31:20 2011 @@ -9615,7 +9615,7 @@ #if (VER_PRODUCTBUILD >= 2195) -NTSYSCALLAPI +NTSYSAPI NTSTATUS NTAPI ZwInitiatePowerAction ( Modified: trunk/reactos/include/ddk/wdm.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/wdm.h?rev=5340…
============================================================================== --- trunk/reactos/include/ddk/wdm.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/wdm.h [iso-8859-1] Tue Aug 23 22:31:20 2011 @@ -5457,6 +5457,7 @@ #define IRP_DEFER_IO_COMPLETION 0x00000800 #define IRP_OB_QUERY_NAME 0x00001000 #define IRP_HOLD_DEVICE_QUEUE 0x00002000 +/* The following 2 are missing in latest WDK */ #define IRP_RETRY_IO_COMPLETION 0x00004000 #define IRP_CLASS_CACHE_OPERATION 0x00008000 @@ -7943,6 +7944,14 @@ return (struct _KTHREAD *)__readgsqword(0x188); } +FORCEINLINE +NTSTATUS +KeRestoreFloatingPointState(PVOID FloatingState) +{ + UNREFERENCED_PARAMETER(FloatingState); + return STATUS_SUCCESS; +} + /* VOID * KeFlushIoBuffers( * IN PMDL Mdl, Modified: trunk/reactos/include/reactos/arm/armddk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/arm/armddk…
============================================================================== --- trunk/reactos/include/reactos/arm/armddk.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/arm/armddk.h [iso-8859-1] Tue Aug 23 22:31:20 2011 @@ -195,6 +195,14 @@ NTAPI KeGetCurrentThread(VOID); +FORCEINLINE +NTSTATUS +KeRestoreFloatingPointState(PVOID FloatingState) +{ + UNREFERENCED_PARAMETER(FloatingState); + return STATUS_SUCCESS; +} + extern volatile struct _KSYSTEM_TIME KeTickCount; #ifndef YieldProcessor Modified: trunk/reactos/include/xdk/amd64/ke.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/xdk/amd64/ke.h?rev…
============================================================================== --- trunk/reactos/include/xdk/amd64/ke.h [iso-8859-1] (original) +++ trunk/reactos/include/xdk/amd64/ke.h [iso-8859-1] Tue Aug 23 22:31:20 2011 @@ -109,6 +109,14 @@ KeGetCurrentThread(VOID) { return (struct _KTHREAD *)__readgsqword(0x188); +} + +FORCEINLINE +NTSTATUS +KeRestoreFloatingPointState(PVOID FloatingState) +{ + UNREFERENCED_PARAMETER(FloatingState); + return STATUS_SUCCESS; } /* VOID
13 years, 2 months
1
0
0
0
[tkreuzer] 53399: [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 buil...
by tkreuzer@svn.reactos.org
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__)
13 years, 2 months
1
0
0
0
[tkreuzer] 53398: [RTL] Remove duplicate function [CRT] add _local_unwind stub and fix c++ symbols
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Tue Aug 23 08:45:46 2011 New Revision: 53398 URL:
http://svn.reactos.org/svn/reactos?rev=53398&view=rev
Log: [RTL] Remove duplicate function [CRT] add _local_unwind stub and fix c++ symbols Modified: trunk/reactos/lib/rtl/amd64/stubs.c trunk/reactos/lib/sdk/crt/except/amd64/cpp.s trunk/reactos/lib/sdk/crt/except/amd64/seh.s Modified: trunk/reactos/lib/rtl/amd64/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/amd64/stubs.c?rev=…
============================================================================== --- trunk/reactos/lib/rtl/amd64/stubs.c [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/amd64/stubs.c [iso-8859-1] Tue Aug 23 08:45:46 2011 @@ -61,17 +61,4 @@ UNIMPLEMENTED; } -NTSYSAPI -BOOLEAN -RtlInstallFunctionTableCallback( - DWORD64 TableIdentifier, - DWORD64 BaseAddress, - DWORD Length, - PGET_RUNTIME_FUNCTION_CALLBACK Callback, - PVOID Context, - PCWSTR OutOfProcessCallbackDll) -{ - UNIMPLEMENTED; - return FALSE; -} Modified: trunk/reactos/lib/sdk/crt/except/amd64/cpp.s URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/except/amd64/c…
============================================================================== --- trunk/reactos/lib/sdk/crt/except/amd64/cpp.s [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/crt/except/amd64/cpp.s [iso-8859-1] Tue Aug 23 08:45:46 2011 @@ -34,10 +34,10 @@ ALIAS <&alias> = <&orig> ENDM -DEFINE_ALIAS ??3@YAXPAX@Z, MSVCRT_operator_delete -DEFINE_ALIAS ??_U@YAPAXI@Z, MSVCRT_operator_new -DEFINE_ALIAS ??_V@YAXPAX@Z, MSVCRT_operator_delete -DEFINE_ALIAS ??2@YAPAXI@Z, MSVCRT_operator_new +DEFINE_ALIAS ??3@YAXPEAX@Z, MSVCRT_operator_delete +DEFINE_ALIAS ??_U@YAPEAX_K@Z, MSVCRT_operator_new +DEFINE_ALIAS ??_V@YAXPEAX@Z, MSVCRT_operator_delete +DEFINE_ALIAS ??2@YAPEAX_K@Z, MSVCRT_operator_new DEFINE_ALIAS ?_query_new_handler@@YAP6AHI@ZXZ, MSVCRT__query_new_handler DEFINE_ALIAS ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z, MSVCRT__set_new_handler DEFINE_ALIAS ?set_new_handler@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_new_handler Modified: trunk/reactos/lib/sdk/crt/except/amd64/seh.s URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/except/amd64/s…
============================================================================== --- trunk/reactos/lib/sdk/crt/except/amd64/seh.s [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/crt/except/amd64/seh.s [iso-8859-1] Tue Aug 23 08:45:46 2011 @@ -18,6 +18,7 @@ /* GLOBALS *******************************************************************/ PUBLIC _global_unwind2 +PUBLIC _local_unwind PUBLIC _local_unwind2 PUBLIC _abnormal_termination PUBLIC _except_handler2 @@ -41,6 +42,11 @@ ret ENDFUNC _abnormal_termination +FUNC _local_unwind + .endprolog + ret +ENDFUNC _local_unwind + FUNC _local_unwind2 .endprolog ret
13 years, 2 months
1
0
0
0
[tkreuzer] 53397: [INTRIN] - Deconstify most parameters in the intrinsics. - add __movsq, _bittest64, __umulh
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Tue Aug 23 08:42:13 2011 New Revision: 53397 URL:
http://svn.reactos.org/svn/reactos?rev=53397&view=rev
Log: [INTRIN] - Deconstify most parameters in the intrinsics. - add __movsq, _bittest64, __umulh Modified: trunk/reactos/include/crt/msc/intrin.h Modified: trunk/reactos/include/crt/msc/intrin.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/crt/msc/intrin.h?r…
============================================================================== --- trunk/reactos/include/crt/msc/intrin.h [iso-8859-1] (original) +++ trunk/reactos/include/crt/msc/intrin.h [iso-8859-1] Tue Aug 23 08:42:13 2011 @@ -32,160 +32,164 @@ #endif /*** Atomic operations ***/ -long _InterlockedCompareExchange(volatile long * const Destination, const long Exchange, const long Comperand); +long _InterlockedCompareExchange(volatile long * Destination, long Exchange, long Comperand); #pragma intrinsic(_InterlockedCompareExchange) -long _InterlockedExchange(volatile long * const Target, const long Value); +long _InterlockedExchange(volatile long * Target, long Value); #pragma intrinsic(_InterlockedExchange) -long _InterlockedExchangeAdd(volatile long * const Addend, const long Value); +long _InterlockedExchangeAdd(volatile long * Addend, long Value); #pragma intrinsic(_InterlockedExchangeAdd) -char _InterlockedAnd8(volatile char * const value, const char mask); +char _InterlockedAnd8(volatile char * value, char mask); #pragma intrinsic(_InterlockedAnd8) -short _InterlockedAnd16(volatile short * const value, const short mask); +short _InterlockedAnd16(volatile short * value, short mask); #pragma intrinsic(_InterlockedAnd16) -long _InterlockedAnd(volatile long * const value, const long mask); +long _InterlockedAnd(volatile long * value, long mask); #pragma intrinsic(_InterlockedAnd) -char _InterlockedOr8(volatile char * const value, const char mask); +char _InterlockedOr8(volatile char * value, char mask); #pragma intrinsic(_InterlockedOr8) -short _InterlockedOr16(volatile short * const value, const short mask); +short _InterlockedOr16(volatile short * value, short mask); #pragma intrinsic(_InterlockedOr16) -long _InterlockedOr(volatile long * const value, const long mask); +long _InterlockedOr(volatile long * value, long mask); #pragma intrinsic(_InterlockedOr) -char _InterlockedXor8(volatile char * const value, const char mask); +char _InterlockedXor8(volatile char * value, char mask); #pragma intrinsic(_InterlockedXor8) -short _InterlockedXor16(volatile short * const value, const short mask); +short _InterlockedXor16(volatile short * value, short mask); #pragma intrinsic(_InterlockedXor16) -long _InterlockedXor(volatile long * const value, const long mask); +long _InterlockedXor(volatile long * value, long mask); #pragma intrinsic(_InterlockedXor) -long _InterlockedDecrement(volatile long * const lpAddend); +long _InterlockedDecrement(volatile long * lpAddend); #pragma intrinsic(_InterlockedDecrement) -long _InterlockedIncrement(volatile long * const lpAddend); +long _InterlockedIncrement(volatile long * lpAddend); #pragma intrinsic(_InterlockedIncrement) -short _InterlockedDecrement16(volatile short * const lpAddend); +short _InterlockedDecrement16(volatile short * lpAddend); #pragma intrinsic(_InterlockedDecrement16) -short _InterlockedIncrement16(volatile short * const lpAddend); +short _InterlockedIncrement16(volatile short * lpAddend); #pragma intrinsic(_InterlockedIncrement16) -unsigned char _interlockedbittestandreset(volatile long * a, const long b); +unsigned char _interlockedbittestandreset(volatile long * a, long b); #pragma intrinsic(_interlockedbittestandreset) -unsigned char _interlockedbittestandset(volatile long * a, const long b); +unsigned char _interlockedbittestandset(volatile long * a, long b); #pragma intrinsic(_interlockedbittestandset) #if defined(_M_IX86) -long _InterlockedAddLargeStatistic(volatile __int64 * const Addend, const long Value); +long _InterlockedAddLargeStatistic(volatile __int64 * Addend, long Value); #pragma intrinsic(_InterlockedAddLargeStatistic) #elif defined(_M_AMD64) -__int64 _InterlockedExchange64(volatile __int64 * const Target, const __int64 Value); +__int64 _InterlockedExchange64(volatile __int64 * Target, __int64 Value); #pragma intrinsic(_InterlockedExchange64) -__int64 _InterlockedExchangeAdd64(volatile __int64 * const Addend, const __int64 Value); +__int64 _InterlockedExchangeAdd64(volatile __int64 * Addend, __int64 Value); #pragma intrinsic(_InterlockedExchangeAdd64) -void * _InterlockedCompareExchangePointer(void * volatile * const Destination, void * const Exchange, void * const Comperand); +void * _InterlockedCompareExchangePointer(void * volatile * Destination, void * Exchange, void * Comperand); #pragma intrinsic(_InterlockedCompareExchangePointer) -void * _InterlockedExchangePointer(void * volatile * const Target, void * const Value); +void * _InterlockedExchangePointer(void * volatile * Target, void * Value); #pragma intrinsic(_InterlockedExchangePointer) -__int64 _InterlockedAnd64(volatile __int64 * const value, const __int64 mask); +__int64 _InterlockedAnd64(volatile __int64 * value, __int64 mask); #pragma intrinsic(_InterlockedAnd64) -__int64 _InterlockedOr64(volatile __int64 * const value, const __int64 mask); +__int64 _InterlockedOr64(volatile __int64 * value, __int64 mask); #pragma intrinsic(_InterlockedOr64) -__int64 _InterlockedCompareExchange64(volatile __int64 * const Destination, const __int64 Exchange, const __int64 Comperand); +__int64 _InterlockedCompareExchange64(volatile __int64 * Destination, __int64 Exchange, __int64 Comperand); #pragma intrinsic(_InterlockedCompareExchange64) -__int64 _InterlockedDecrement64(volatile __int64 * const lpAddend); +__int64 _InterlockedDecrement64(volatile __int64 * lpAddend); #pragma intrinsic(_InterlockedDecrement64) -__int64 _InterlockedIncrement64(volatile __int64 * const lpAddend); +__int64 _InterlockedIncrement64(volatile __int64 * lpAddend); #pragma intrinsic(_InterlockedIncrement64) -unsigned char _interlockedbittestandreset64(volatile __int64 * a, const __int64 b); +unsigned char _interlockedbittestandreset64(volatile __int64 * a, __int64 b); #pragma intrinsic(_interlockedbittestandreset64) -unsigned char _interlockedbittestandset64(volatile __int64 * a, const __int64 b); +unsigned char _interlockedbittestandset64(volatile __int64 * a, __int64 b); #pragma intrinsic(_interlockedbittestandset64) #endif /*** String operations ***/ -void __stosb(unsigned char * Dest, const unsigned char Data, size_t Count); +void __stosb(unsigned char * Dest, unsigned char Data, size_t Count); #pragma intrinsic(__stosb) -void __stosw(unsigned short * Dest, const unsigned short Data, size_t Count); +void __stosw(unsigned short * Dest, unsigned short Data, size_t Count); #pragma intrinsic(__stosw) -void __stosd(unsigned long * Dest, const unsigned long Data, size_t Count); +void __stosd(unsigned long * Dest, unsigned long Data, size_t Count); #pragma intrinsic(__stosd) -void __movsb(unsigned char * Destination, const unsigned char * Source, size_t Count); +void __movsb(unsigned char * Destination, unsigned char const * Source, size_t Count); #pragma intrinsic(__movsb) -void __movsw(unsigned short * Destination, const unsigned short * Source, size_t Count); +void __movsw(unsigned short * Destination, unsigned short const * Source, size_t Count); #pragma intrinsic(__movsw) -void __movsd(unsigned long * Destination, const unsigned long * Source, size_t Count); +void __movsd(unsigned long * Destination, unsigned long const * Source, size_t Count); #pragma intrinsic(__movsd) +#ifdef _M_AMD64 +void __movsq(unsigned __int64 * Destination, unsigned __int64 const * Source, size_t Count); +#pragma intrinsic(__movsq) +#endif #if defined(_M_AMD64) /*** GS segment addressing ***/ -void __writegsbyte(const unsigned long Offset, const unsigned char Data); +void __writegsbyte(unsigned long Offset, unsigned char Data); #pragma intrinsic(__writegsbyte) -void __writegsword(const unsigned long Offset, const unsigned short Data); +void __writegsword(unsigned long Offset, unsigned short Data); #pragma intrinsic(__writegsword) -void __writegsdword(const unsigned long Offset, const unsigned long Data); +void __writegsdword(unsigned long Offset, unsigned long Data); #pragma intrinsic(__writegsdword) -void __writegsqword(const unsigned long Offset, const unsigned __int64 Data); +void __writegsqword(unsigned long Offset, unsigned __int64 Data); #pragma intrinsic(__writegsqword) -unsigned char __readgsbyte(const unsigned long Offset); +unsigned char __readgsbyte(unsigned long Offset); #pragma intrinsic(__readgsbyte) -unsigned short __readgsword(const unsigned long Offset); +unsigned short __readgsword(unsigned long Offset); #pragma intrinsic(__readgsword) -unsigned long __readgsdword(const unsigned long Offset); +unsigned long __readgsdword(unsigned long Offset); #pragma intrinsic(__readgsdword) -unsigned __int64 __readgsqword(const unsigned long Offset); +unsigned __int64 __readgsqword(unsigned long Offset); #pragma intrinsic(__readgsqword) -void __incgsbyte(const unsigned long Offset); +void __incgsbyte(unsigned long Offset); #pragma intrinsic(__incgsbyte) -void __incgsword(const unsigned long Offset); +void __incgsword(unsigned long Offset); #pragma intrinsic(__incgsword) -void __incgsdword(const unsigned long Offset); +void __incgsdword(unsigned long Offset); #pragma intrinsic(__incgsdword) -void __addgsbyte(const unsigned long Offset, const unsigned char Data); +void __addgsbyte(unsigned long Offset, unsigned char Data); #pragma intrinsic(__addgsbyte) -void __addgsword(const unsigned long Offset, const unsigned short Data); +void __addgsword(unsigned long Offset, unsigned short Data); #pragma intrinsic(__addgsword) -void __addgsdword(const unsigned long Offset, const unsigned int Data); +void __addgsdword(unsigned long Offset, unsigned int Data); #pragma intrinsic(__addgsdword) -void __addgsqword(const unsigned long Offset, const unsigned __int64 Data); +void __addgsqword(unsigned long Offset, unsigned __int64 Data); #pragma intrinsic(__addgsqword) #endif #if defined(_M_IX86) /*** FS segment addressing ***/ -void __writefsbyte(const unsigned long Offset, const unsigned char Data); +void __writefsbyte(unsigned long Offset, unsigned char Data); #pragma intrinsic(__writefsbyte) -void __writefsword(const unsigned long Offset, const unsigned short Data); +void __writefsword(unsigned long Offset, unsigned short Data); #pragma intrinsic(__writefsword) -void __writefsdword(const unsigned long Offset, const unsigned long Data); +void __writefsdword(unsigned long Offset, unsigned long Data); #pragma intrinsic(__writefsdword) -unsigned char __readfsbyte(const unsigned long Offset); +unsigned char __readfsbyte(unsigned long Offset); #pragma intrinsic(__readfsbyte) -unsigned short __readfsword(const unsigned long Offset); +unsigned short __readfsword(unsigned long Offset); #pragma intrinsic(__readfsword) -unsigned long __readfsdword(const unsigned long Offset); +unsigned long __readfsdword(unsigned long Offset); #pragma intrinsic(__readfsdword) -void __incfsbyte(const unsigned long Offset); +void __incfsbyte(unsigned long Offset); #pragma intrinsic(__incfsbyte) -void __incfsword(const unsigned long Offset); +void __incfsword(unsigned long Offset); #pragma intrinsic(__incfsword) -void __incfsdword(const unsigned long Offset); +void __incfsdword(unsigned long Offset); #pragma intrinsic(__incfsdword) -void __addfsbyte(const unsigned long Offset, const unsigned char Data); +void __addfsbyte(unsigned long Offset, unsigned char Data); #pragma intrinsic(__addfsbyte) -void __addfsword(const unsigned long Offset, const unsigned short Data); +void __addfsword(unsigned long Offset, unsigned short Data); #pragma intrinsic(__addfsword) -void __addfsdword(const unsigned long Offset, const unsigned int Data); +void __addfsdword(unsigned long Offset, unsigned int Data); #pragma intrinsic(__addfsdword) #endif /*** Bit manipulation ***/ -unsigned char _BitScanForward(unsigned long * const Index, const unsigned long Mask); +unsigned char _BitScanForward(unsigned long * Index, unsigned long Mask); #pragma intrinsic(_BitScanForward) -unsigned char _BitScanReverse(unsigned long * const Index, const unsigned long Mask); +unsigned char _BitScanReverse(unsigned long * Index, unsigned long Mask); #pragma intrinsic(_BitScanReverse) -unsigned char _bittest(const long * const a, const long b); +unsigned char _bittest(const long * a, long b); #pragma intrinsic(_bittest) -unsigned char _bittestandcomplement(long * const a, const long b); +unsigned char _bittestandcomplement(long * a, long b); #pragma intrinsic(_bittestandcomplement) -unsigned char _bittestandreset(long * const a, const long b); +unsigned char _bittestandreset(long * a, long b); #pragma intrinsic(_bittestandreset) -unsigned char _bittestandset(long * const a, const long b); +unsigned char _bittestandset(long * a, long b); #pragma intrinsic(_bittestandset) unsigned char _rotl8(unsigned char value, unsigned char shift); #pragma intrinsic(_rotl8) @@ -199,11 +203,11 @@ #pragma intrinsic(_rotr8) unsigned short _rotr16(unsigned short value, unsigned char shift); #pragma intrinsic(_rotr16) -unsigned __int64 __ll_lshift(const unsigned __int64 Mask, const int Bit); +unsigned __int64 __ll_lshift(unsigned __int64 Mask, int Bit); #pragma intrinsic(__ll_lshift) -__int64 __ll_rshift(const __int64 Mask, const int Bit); +__int64 __ll_rshift(__int64 Mask, int Bit); #pragma intrinsic(__ll_rshift) -unsigned __int64 __ull_rshift(const unsigned __int64 Mask, int Bit); +unsigned __int64 __ull_rshift(unsigned __int64 Mask, int Bit); #pragma intrinsic(__ull_rshift) unsigned short _byteswap_ushort(unsigned short value); #pragma intrinsic(_byteswap_ushort) @@ -211,19 +215,27 @@ #pragma intrinsic(_byteswap_ulong) unsigned __int64 _byteswap_uint64(unsigned __int64 value); #pragma intrinsic(_byteswap_uint64) +#ifdef _M_AMD64 +unsigned char _bittest64(__int64 *a, __int64 b); +#pragma intrinsic(_bittest64) +#endif /*** 64-bit math ***/ -__int64 __emul(const int a, const int b); +__int64 __emul(int a, int b); #pragma intrinsic(__emul) -unsigned __int64 __emulu(const unsigned int a, const unsigned int b); +unsigned __int64 __emulu(unsigned int a, unsigned int b); #pragma intrinsic(__emulu) +#ifdef _M_AMD64 +unsigned __int64 __umulh(unsigned __int64 a, unsigned __int64 b); +#pragma intrinsic(__umulh) +#endif /*** Port I/O ***/ -unsigned char __inbyte(const unsigned short Port); +unsigned char __inbyte(unsigned short Port); #pragma intrinsic(__inbyte) -unsigned short __inword(const unsigned short Port); +unsigned short __inword(unsigned short Port); #pragma intrinsic(__inword) -unsigned long __indword(const unsigned short Port); +unsigned long __indword(unsigned short Port); #pragma intrinsic(__indword) void __inbytestring(unsigned short Port, unsigned char * Buffer, unsigned long Count); #pragma intrinsic(__inbytestring) @@ -231,21 +243,21 @@ #pragma intrinsic(__inwordstring) void __indwordstring(unsigned short Port, unsigned long * Buffer, unsigned long Count); #pragma intrinsic(__indwordstring) -void __outbyte(unsigned short const Port, const unsigned char Data); +void __outbyte(unsigned short Port, unsigned char Data); #pragma intrinsic(__outbyte) -void __outword(unsigned short const Port, const unsigned short Data); +void __outword(unsigned short Port, unsigned short Data); #pragma intrinsic(__outword) -void __outdword(unsigned short const Port, const unsigned long Data); +void __outdword(unsigned short Port, unsigned long Data); #pragma intrinsic(__outdword) -void __outbytestring(unsigned short const Port, const unsigned char * const Buffer, const unsigned long Count); +void __outbytestring(unsigned short Port, unsigned char * Buffer, unsigned long Count); #pragma intrinsic(__outbytestring) -void __outwordstring(unsigned short const Port, const unsigned short * const Buffer, const unsigned long Count); +void __outwordstring(unsigned short Port, unsigned short * Buffer, unsigned long Count); #pragma intrinsic(__outwordstring) -void __outdwordstring(unsigned short const Port, const unsigned long * const Buffer, const unsigned long Count); +void __outdwordstring(unsigned short Port, unsigned long * Buffer, unsigned long Count); #pragma intrinsic(__outdwordstring) /*** System information ***/ -void __cpuid(int CPUInfo[], const int InfoType); +void __cpuid(int CPUInfo[], int InfoType); #pragma intrinsic(__cpuid) unsigned __int64 __rdtsc(void); #pragma intrinsic(__rdtsc) @@ -267,15 +279,15 @@ #pragma intrinsic(__halt) /*** Protected memory management ***/ -void __writecr0(const unsigned __int64 Data); +void __writecr0(unsigned __int64 Data); #pragma intrinsic(__writecr0) -void __writecr3(const unsigned __int64 Data); +void __writecr3(unsigned __int64 Data); #pragma intrinsic(__writecr3) -void __writecr4(const unsigned __int64 Data); +void __writecr4(unsigned __int64 Data); #pragma intrinsic(__writecr4) #ifdef _M_AMD64 -void __writecr8(const unsigned __int64 Data); +void __writecr8(unsigned __int64 Data); #pragma intrinsic(__writecr8) unsigned __int64 __readcr0(void); #pragma intrinsic(__readcr0) @@ -305,7 +317,7 @@ void __writedr(unsigned reg, unsigned int value); #endif -void __invlpg(void * const Address); +void __invlpg(void * Address); #pragma intrinsic(__invlpg) #ifdef _M_IX86 @@ -313,7 +325,7 @@ // when optimization is enabled! #pragma warning(push) #pragma warning(disable:4711) -void __forceinline __invlpg_fixed(void * const Address) +void __forceinline __invlpg_fixed(void * Address) { _ReadWriteBarrier(); __asm @@ -328,13 +340,13 @@ #endif /*** System operations ***/ -unsigned __int64 __readmsr(const int reg); +unsigned __int64 __readmsr(int reg); #pragma intrinsic(__readmsr) -void __writemsr(const unsigned long Register, const unsigned __int64 Value); +void __writemsr(unsigned long Register, unsigned __int64 Value); #pragma intrinsic(__writemsr) -unsigned __int64 __readpmc(const int counter); +unsigned __int64 __readpmc(int counter); #pragma intrinsic(__readpmc) -unsigned long __segmentlimit(const unsigned long a); +unsigned long __segmentlimit(unsigned long a); #pragma intrinsic(__segmentlimit) void __wbinvd(void); #pragma intrinsic(__wbinvd)
13 years, 2 months
1
0
0
0
[tkreuzer] 53396: [CMAKE] - fix usage of set_entrypoint - link libpng to ntdll on amd64 - build crtdll and nmidebug only on x86 - silence some linker warnings on MSVC - compile riched20/msvc-thisca...
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Tue Aug 23 08:13:33 2011 New Revision: 53396 URL:
http://svn.reactos.org/svn/reactos?rev=53396&view=rev
Log: [CMAKE] - fix usage of set_entrypoint - link libpng to ntdll on amd64 - build crtdll and nmidebug only on x86 - silence some linker warnings on MSVC - compile riched20/msvc-thiscall.c only on x86 - Add WIN64 definition to acpica - Add ehandler.c to libcntpr Modified: trunk/reactos/dll/3rdparty/libpng/CMakeLists.txt trunk/reactos/dll/win32/CMakeLists.txt trunk/reactos/dll/win32/crtdll/CMakeLists.txt trunk/reactos/dll/win32/fmifs/CMakeLists.txt trunk/reactos/dll/win32/kernel32/CMakeLists.txt trunk/reactos/dll/win32/msacm32/CMakeLists.txt trunk/reactos/dll/win32/msvcrt/CMakeLists.txt trunk/reactos/dll/win32/msvcrt20/CMakeLists.txt trunk/reactos/dll/win32/msvcrt40/CMakeLists.txt trunk/reactos/dll/win32/riched20/CMakeLists.txt trunk/reactos/drivers/base/CMakeLists.txt trunk/reactos/drivers/bus/acpi/CMakeLists.txt trunk/reactos/drivers/video/displays/framebuf/CMakeLists.txt trunk/reactos/drivers/video/displays/framebuf_new/CMakeLists.txt trunk/reactos/drivers/video/displays/vga/CMakeLists.txt trunk/reactos/drivers/video/font/bmfd/CMakeLists.txt trunk/reactos/drivers/video/font/ftfd/CMakeLists.txt trunk/reactos/hal/halx86/CMakeLists.txt trunk/reactos/lib/sdk/crt/libcntpr.cmake trunk/reactos/ntoskrnl/CMakeLists.txt Modified: trunk/reactos/dll/3rdparty/libpng/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/3rdparty/libpng/CMakeL…
============================================================================== --- trunk/reactos/dll/3rdparty/libpng/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/3rdparty/libpng/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -30,5 +30,8 @@ set_entrypoint(libpng 0) target_link_libraries(libpng zlib) add_importlibs(libpng msvcrt kernel32) +if(ARCH MATCHES amd64) + add_importlibs(libpng ntdll) +endif() add_dependencies(libpng psdk) add_cd_file(TARGET libpng DESTINATION reactos/system32 FOR all) Modified: trunk/reactos/dll/win32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/CMakeLists.txt?r…
============================================================================== --- trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -22,7 +22,9 @@ add_subdirectory(comdlg32) add_subdirectory(compstui) add_subdirectory(credui) -add_subdirectory(crtdll) +if(ARCH MATCHES i386) + add_subdirectory(crtdll) # only built on x86 +endif() add_subdirectory(crypt32) add_subdirectory(cryptdlg) add_subdirectory(cryptdll) @@ -210,7 +212,9 @@ add_subdirectory(uxtheme) add_subdirectory(vdmdbg) add_subdirectory(version) -add_subdirectory(wdmaud.drv) +if(ARCH MATCHES i386) + add_subdirectory(wdmaud.drv) +endif() add_subdirectory(windowscodecs) add_subdirectory(winemp3.acm) add_subdirectory(winfax) Modified: trunk/reactos/dll/win32/crtdll/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crtdll/CMakeList…
============================================================================== --- trunk/reactos/dll/win32/crtdll/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/crtdll/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -21,7 +21,7 @@ set_module_type(crtdll win32dll) -set_entrypoint(crtdll DllMain@12) +set_entrypoint(crtdll DllMain 12) target_link_libraries(crtdll wine crt) Modified: trunk/reactos/dll/win32/fmifs/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/fmifs/CMakeLists…
============================================================================== --- trunk/reactos/dll/win32/fmifs/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/fmifs/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -15,7 +15,7 @@ ${CMAKE_CURRENT_BINARY_DIR}/fmifs.def) add_library(fmifs SHARED ${SOURCE}) -set_entrypoint(fmifs InitializeFmIfs@12) +set_entrypoint(fmifs InitializeFmIfs 12) add_importlibs(fmifs kernel32 ntdll) add_pch(fmifs precomp.h) add_dependencies(fmifs psdk) Modified: trunk/reactos/dll/win32/kernel32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/CMakeLi…
============================================================================== --- trunk/reactos/dll/win32/kernel32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -93,7 +93,7 @@ add_library(kernel32 SHARED ${SOURCE}) -set_entrypoint(kernel32 DllMain@12) +set_entrypoint(kernel32 DllMain 12) set_image_base(kernel32 ${baseaddress_kernel32}) target_link_libraries(kernel32 wine chkstk ${PSEH_LIB}) Modified: trunk/reactos/dll/win32/msacm32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msacm32/CMakeLis…
============================================================================== --- trunk/reactos/dll/win32/msacm32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msacm32/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -20,7 +20,7 @@ add_library(msacm32 SHARED ${SOURCE}) -set_entrypoint(msacm32 DllMain@12) +set_entrypoint(msacm32 DllMain 12) set_image_base(msacm32 ${baseaddress_msacm32}) target_link_libraries(msacm32 wine) Modified: trunk/reactos/dll/win32/msvcrt/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt/CMakeList…
============================================================================== --- trunk/reactos/dll/win32/msvcrt/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -33,7 +33,9 @@ target_link_libraries(msvcrt crt wine) -if(NOT MSVC) +if(MSVC) + add_linkerflag(msvcrt "/ignore:4102") +else() target_link_libraries(msvcrt pseh) endif() Modified: trunk/reactos/dll/win32/msvcrt20/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt20/CMakeLi…
============================================================================== --- trunk/reactos/dll/win32/msvcrt20/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt20/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -20,13 +20,15 @@ ${CMAKE_CURRENT_BINARY_DIR}/msvcrt20.def) add_library(msvcrt20 SHARED ${SOURCE}) -set_entrypoint(msvcrt20 DllMain@12) +set_entrypoint(msvcrt20 DllMain 12) set_image_base(msvcrt20 ${baseaddress_msvcrt20}) target_link_libraries(msvcrt20 crt wine) -if(NOT MSVC) - target_link_libraries(msvcrt20 pseh) +if(MSVC) + add_linkerflag(msvcrt20 "/ignore:4102") +else() + target_link_libraries(msvcrt20 pseh) endif() add_importlibs(msvcrt20 kernel32 ntdll) Modified: trunk/reactos/dll/win32/msvcrt40/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt40/CMakeLi…
============================================================================== --- trunk/reactos/dll/win32/msvcrt40/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt40/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -21,11 +21,13 @@ add_library(msvcrt40 SHARED ${SOURCE}) set_image_base(msvcrt40 ${baseaddress_msvcrt40}) -set_entrypoint(msvcrt40 DllMain@12) +set_entrypoint(msvcrt40 DllMain 12) target_link_libraries(msvcrt40 crt wine) -if(NOT MSVC) +if(MSVC) + add_linkerflag(msvcrt40 "/ignore:4102") +else() target_link_libraries(msvcrt40 pseh) endif() Modified: trunk/reactos/dll/win32/riched20/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/CMakeLi…
============================================================================== --- trunk/reactos/dll/win32/riched20/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/riched20/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -30,7 +30,9 @@ ${CMAKE_CURRENT_BINARY_DIR}/riched20.def) if(MSVC) - list(APPEND SOURCE msvc-thiscall.c) + if (ARCH MATCHES i386) + list(APPEND SOURCE msvc-thiscall.c) + endif() set_source_files_properties(txthost.c txtsrv.c PROPERTIES COMPILE_FLAGS "/FImsvc.h") endif() Modified: trunk/reactos/drivers/base/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/CMakeLists.tx…
============================================================================== --- trunk/reactos/drivers/base/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/drivers/base/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -7,6 +7,7 @@ else() add_subdirectory(kdcom) endif() - -add_subdirectory(nmidebug) +if(ARCH MATCHES i386) + add_subdirectory(nmidebug) +endif() add_subdirectory(null) Modified: trunk/reactos/drivers/bus/acpi/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/CMakeList…
============================================================================== --- trunk/reactos/drivers/bus/acpi/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/acpi/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -2,6 +2,10 @@ include_directories( include acpica/include) + +if(ARCH MATCHES amd64) + add_definitions(-DWIN64) +endif() add_library(acpica acpica/dispatcher/dsfield.c Modified: trunk/reactos/drivers/video/displays/framebuf/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/displays/fra…
============================================================================== --- trunk/reactos/drivers/video/displays/framebuf/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/drivers/video/displays/framebuf/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -11,7 +11,7 @@ ${CMAKE_CURRENT_BINARY_DIR}/framebuf.def) add_pch(framebuf framebuf.h) -set_entrypoint(framebuf DrvEnableDriver@12) +set_entrypoint(framebuf DrvEnableDriver 12) set_subsystem(framebuf native) set_image_base(framebuf 0x00010000) target_link_libraries(framebuf libcntpr) Modified: trunk/reactos/drivers/video/displays/framebuf_new/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/displays/fra…
============================================================================== --- trunk/reactos/drivers/video/displays/framebuf_new/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/drivers/video/displays/framebuf_new/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -20,7 +20,7 @@ endif() endif() -set_entrypoint(framebuf_new DrvEnableDriver@12) +set_entrypoint(framebuf_new DrvEnableDriver 12) set_subsystem(framebuf_new native) set_image_base(framebuf_new 0x00010000) Modified: trunk/reactos/drivers/video/displays/vga/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/displays/vga…
============================================================================== --- trunk/reactos/drivers/video/displays/vga/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/drivers/video/displays/vga/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -15,7 +15,7 @@ vgaddi.rc ${CMAKE_CURRENT_BINARY_DIR}/vgaddi.def) -set_entrypoint(vgaddi DrvEnableDriver@12) +set_entrypoint(vgaddi DrvEnableDriver 12) set_subsystem(vgaddi native) set_image_base(vgaddi 0x00010000) add_pch(vgaddi vgaddi.h) Modified: trunk/reactos/drivers/video/font/bmfd/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/font/bmfd/CM…
============================================================================== --- trunk/reactos/drivers/video/font/bmfd/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/drivers/video/font/bmfd/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -5,7 +5,7 @@ glyph.c) add_pch(bmfd bmfd.h) -set_entrypoint(bmfd BmfdEnableDriver@12) +set_entrypoint(bmfd BmfdEnableDriver 12) set_subsystem(bmfd native) set_image_base(bmfd 0x00010000) target_link_libraries(bmfd libcntpr) Modified: trunk/reactos/drivers/video/font/ftfd/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/font/ftfd/CM…
============================================================================== --- trunk/reactos/drivers/video/font/ftfd/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/drivers/video/font/ftfd/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -11,7 +11,7 @@ sprintf.c ${CMAKE_CURRENT_BINARY_DIR}/ftfd.def) -set_entrypoint(ftfd FtfdEnableDriver@12) +set_entrypoint(ftfd FtfdEnableDriver 12) set_subsystem(ftfd native) set_image_base(ftfd ${baseaddress_ftfd}) Modified: trunk/reactos/hal/halx86/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/CMakeLists.txt?…
============================================================================== --- trunk/reactos/hal/halx86/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -96,7 +96,7 @@ add_pch(hal include/hal.h) add_dependencies(hal psdk bugcodes) - set_entrypoint(hal HalInitSystem@8) + set_entrypoint(hal HalInitSystem 8) set_subsystem(hal native) set_image_base(hal 0x00010000) add_importlibs(hal ntoskrnl) Modified: trunk/reactos/lib/sdk/crt/libcntpr.cmake URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/libcntpr.cmake…
============================================================================== --- trunk/reactos/lib/sdk/crt/libcntpr.cmake [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/crt/libcntpr.cmake [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -98,6 +98,7 @@ endif() elseif(ARCH MATCHES amd64) list(APPEND LIBCNTPR_SOURCE + except/amd64/ehandler.c except/amd64/chkstk_asm.s except/amd64/seh.s setjmp/amd64/setjmp.s Modified: trunk/reactos/ntoskrnl/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/CMakeLists.txt?re…
============================================================================== --- trunk/reactos/ntoskrnl/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/CMakeLists.txt [iso-8859-1] Tue Aug 23 08:13:33 2011 @@ -421,7 +421,7 @@ add_executable(ntoskrnl ${SOURCE}) if (ARCH MATCHES i386) - set_entrypoint(ntoskrnl KiSystemStartup@4) + set_entrypoint(ntoskrnl KiSystemStartup 4) else() set_entrypoint(ntoskrnl KiSystemStartup) endif()
13 years, 2 months
1
0
0
0
[tkreuzer] 53395: [USER32_APITEST] Fix amd64 build
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Tue Aug 23 06:45:36 2011 New Revision: 53395 URL:
http://svn.reactos.org/svn/reactos?rev=53395&view=rev
Log: [USER32_APITEST] Fix amd64 build Modified: trunk/rostests/apitests/user32/WndProc.c Modified: trunk/rostests/apitests/user32/WndProc.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/user32/WndProc.c…
============================================================================== --- trunk/rostests/apitests/user32/WndProc.c [iso-8859-1] (original) +++ trunk/rostests/apitests/user32/WndProc.c [iso-8859-1] Tue Aug 23 06:45:36 2011 @@ -32,7 +32,7 @@ { PAINTSTRUCT ps; BeginPaint(hwnd, &ps); - EndPaint(hwnd, &ps); + EndPaint(hwnd, &ps); return 1; } /* @@ -43,7 +43,7 @@ asm ("movl $0, %eax\n\t" "leave\n\t" "ret"); -#else +#elif defined(_M_IX86) //#ifdef _MSC_VER __asm { @@ -51,6 +51,8 @@ leave ret } +#else + trace("unimplemented\n"); #endif } return DefWindowProc(hwnd, msg, wparam, lparam); @@ -64,7 +66,7 @@ cls.style = CS_DBLCLKS; cls.lpfnWndProc = (WNDPROC)redraw_window_procA; cls.cbClsExtra = 0; - cls.cbWndExtra = 0; + cls.cbWndExtra = 0; cls.hInstance = GetModuleHandleA(0); cls.hIcon = 0; cls.hCursor = LoadCursorA(0, IDC_ARROW);
13 years, 2 months
1
0
0
0
[cgutman] 53394: [HAL] - Fix device reporting to work with the IoReportDetectedDevice patch [HAL/ACPI] - Turn debugging off
by cgutman@svn.reactos.org
Author: cgutman Date: Tue Aug 23 05:17:41 2011 New Revision: 53394 URL:
http://svn.reactos.org/svn/reactos?rev=53394&view=rev
Log: [HAL] - Fix device reporting to work with the IoReportDetectedDevice patch [HAL/ACPI] - Turn debugging off Modified: trunk/reactos/drivers/bus/acpi/acpienum.c trunk/reactos/drivers/bus/acpi/buspdo.c trunk/reactos/drivers/bus/acpi/main.c trunk/reactos/drivers/bus/acpi/pnp.c trunk/reactos/hal/halx86/generic/acpi/halacpi.c trunk/reactos/hal/halx86/generic/acpi/halpnpdd.c Modified: trunk/reactos/drivers/bus/acpi/acpienum.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpienum.…
============================================================================== --- trunk/reactos/drivers/bus/acpi/acpienum.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/acpi/acpienum.c [iso-8859-1] Tue Aug 23 05:17:41 2011 @@ -13,7 +13,7 @@ #include <acpi_drivers.h> #include <list.h> -//#define NDEBUG +#define NDEBUG #include <debug.h> #define HAS_CHILDREN(d) ((d)->children.next != &((d)->children)) Modified: trunk/reactos/drivers/bus/acpi/buspdo.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/buspdo.c?…
============================================================================== --- trunk/reactos/drivers/bus/acpi/buspdo.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/acpi/buspdo.c [iso-8859-1] Tue Aug 23 05:17:41 2011 @@ -11,7 +11,7 @@ #include <initguid.h> #include <poclass.h> -//#define NDEBUG +#define NDEBUG #include <debug.h> #ifdef ALLOC_PRAGMA Modified: trunk/reactos/drivers/bus/acpi/main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/main.c?re…
============================================================================== --- trunk/reactos/drivers/bus/acpi/main.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/acpi/main.c [iso-8859-1] Tue Aug 23 05:17:41 2011 @@ -9,7 +9,7 @@ #include <acpiioct.h> #include <poclass.h> -//#define NDEBUG +#define NDEBUG #include <debug.h> NTSTATUS Modified: trunk/reactos/drivers/bus/acpi/pnp.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/pnp.c?rev…
============================================================================== --- trunk/reactos/drivers/bus/acpi/pnp.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/acpi/pnp.c [iso-8859-1] Tue Aug 23 05:17:41 2011 @@ -7,7 +7,7 @@ #include <acpi_drivers.h> #include <wdmguid.h> -//#define NDEBUG +#define NDEBUG #include <debug.h> NTSTATUS Modified: trunk/reactos/hal/halx86/generic/acpi/halacpi.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/acpi/ha…
============================================================================== --- trunk/reactos/hal/halx86/generic/acpi/halacpi.c [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/generic/acpi/halacpi.c [iso-8859-1] Tue Aug 23 05:17:41 2011 @@ -9,7 +9,7 @@ /* INCLUDES *******************************************************************/ #include <hal.h> -//#define NDEBUG +#define NDEBUG #include <debug.h> /* GLOBALS ********************************************************************/ Modified: trunk/reactos/hal/halx86/generic/acpi/halpnpdd.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/acpi/ha…
============================================================================== --- trunk/reactos/hal/halx86/generic/acpi/halpnpdd.c [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/generic/acpi/halpnpdd.c [iso-8859-1] Tue Aug 23 05:17:41 2011 @@ -9,7 +9,7 @@ /* INCLUDES *******************************************************************/ #include <hal.h> -//#define NDEBUG +#define NDEBUG #include <debug.h> typedef enum _EXTENSION_TYPE @@ -563,6 +563,10 @@ switch (IdType) { case BusQueryDeviceID: + /* HACK */ + Id = L"Root\\ACPI_HAL"; + break; + case BusQueryHardwareIDs: /* This is our hardware ID */ @@ -607,21 +611,6 @@ /* Return status */ return Status; -} - -NTSTATUS -NTAPI -HalpPassIrpFromFdoToPdo(IN PDEVICE_OBJECT DeviceObject, - IN PIRP Irp) -{ - PFDO_EXTENSION FdoExtension; - - /* Get the extension */ - FdoExtension = DeviceObject->DeviceExtension; - - /* Pass it to the attached device (our PDO) */ - IoSkipCurrentIrpStackLocation(Irp); - return IoCallDriver(FdoExtension->AttachedDeviceObject, Irp); } NTSTATUS @@ -682,22 +671,11 @@ /* Pass it to the PDO */ DPRINT("Other IRP: %lx\n", Minor); - return HalpPassIrpFromFdoToPdo(DeviceObject, Irp); + Status = Irp->IoStatus.Status; + break; } - - /* What happpened? */ - if ((NT_SUCCESS(Status)) || (Status == STATUS_NOT_SUPPORTED)) - { - /* Set the IRP status, unless this isn't understood */ - if (Status != STATUS_NOT_SUPPORTED) Irp->IoStatus.Status = Status; - - /* Pass it on */ - DPRINT("Passing IRP to PDO\n"); - return HalpPassIrpFromFdoToPdo(DeviceObject, Irp); - } - - /* Otherwise, we failed, so set the status and complete the request */ - DPRINT1("IRP failed with status: %lx\n", Status); + + /* Nowhere for the IRP to go since we also own the PDO */ Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); return Status; @@ -834,20 +812,42 @@ { NTSTATUS Status; PDEVICE_OBJECT TargetDevice = NULL; + DPRINT("HAL: PnP Driver ENTRY!\n"); /* This is us */ HalpDriverObject = DriverObject; - + /* Set up add device */ DriverObject->DriverExtension->AddDevice = HalpAddDevice; - + /* Set up the callouts */ DriverObject->MajorFunction[IRP_MJ_PNP] = HalpDispatchPnp; DriverObject->MajorFunction[IRP_MJ_POWER] = HalpDispatchPower; DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = HalpDispatchWmi; - - /* Tell the PnP about us */ + + /* Create the PDO */ + Status = IoCreateDevice(DriverObject, + 0, + NULL, + FILE_DEVICE_CONTROLLER, + 0, + FALSE, + &TargetDevice); + if (!NT_SUCCESS(Status)) + return Status; + + TargetDevice->Flags &= ~DO_DEVICE_INITIALIZING; + + /* Set up the device stack */ + Status = HalpAddDevice(DriverObject, TargetDevice); + if (!NT_SUCCESS(Status)) + { + IoDeleteDevice(TargetDevice); + return Status; + } + + /* Tell the PnP manager about us */ Status = IoReportDetectedDevice(DriverObject, InterfaceTypeUndefined, -1, @@ -857,9 +857,6 @@ FALSE, &TargetDevice); - /* Now add us */ - if (NT_SUCCESS(Status)) Status = HalpAddDevice(DriverObject, TargetDevice); - /* Return to kernel */ return Status; }
13 years, 2 months
1
0
0
0
[cgutman] 53393: [PNPMGR] - Code cleanup
by cgutman@svn.reactos.org
Author: cgutman Date: Tue Aug 23 04:53:28 2011 New Revision: 53393 URL:
http://svn.reactos.org/svn/reactos?rev=53393&view=rev
Log: [PNPMGR] - Code cleanup Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.…
============================================================================== --- trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] Tue Aug 23 04:53:28 2011 @@ -1333,6 +1333,125 @@ return Status; } +NTSTATUS +IopQueryHardwareIds(PDEVICE_NODE DeviceNode, + HANDLE InstanceKey) +{ + IO_STACK_LOCATION Stack; + IO_STATUS_BLOCK IoStatusBlock; + PWSTR Ptr; + UNICODE_STRING ValueName; + NTSTATUS Status; + ULONG Length, TotalLength; + + DPRINT("Sending IRP_MN_QUERY_ID.BusQueryHardwareIDs to device stack\n"); + + RtlZeroMemory(&Stack, sizeof(Stack)); + Stack.Parameters.QueryId.IdType = BusQueryHardwareIDs; + Status = IopInitiatePnpIrp(DeviceNode->PhysicalDeviceObject, + &IoStatusBlock, + IRP_MN_QUERY_ID, + &Stack); + if (NT_SUCCESS(Status)) + { + /* + * FIXME: Check for valid characters, if there is invalid characters + * then bugcheck. + */ + TotalLength = 0; + Ptr = (PWSTR)IoStatusBlock.Information; + DPRINT("Hardware IDs:\n"); + while (*Ptr) + { + DPRINT(" %S\n", Ptr); + Length = wcslen(Ptr) + 1; + + Ptr += Length; + TotalLength += Length; + } + DPRINT("TotalLength: %hu\n", TotalLength); + DPRINT("\n"); + + RtlInitUnicodeString(&ValueName, L"HardwareID"); + Status = ZwSetValueKey(InstanceKey, + &ValueName, + 0, + REG_MULTI_SZ, + (PVOID)IoStatusBlock.Information, + (TotalLength + 1) * sizeof(WCHAR)); + if (!NT_SUCCESS(Status)) + { + DPRINT1("ZwSetValueKey() failed (Status %lx)\n", Status); + } + } + else + { + DPRINT("IopInitiatePnpIrp() failed (Status %x)\n", Status); + } + + return Status; +} + +NTSTATUS +IopQueryCompatibleIds(PDEVICE_NODE DeviceNode, + HANDLE InstanceKey) +{ + IO_STACK_LOCATION Stack; + IO_STATUS_BLOCK IoStatusBlock; + PWSTR Ptr; + UNICODE_STRING ValueName; + NTSTATUS Status; + ULONG Length, TotalLength; + + DPRINT("Sending IRP_MN_QUERY_ID.BusQueryCompatibleIDs to device stack\n"); + + RtlZeroMemory(&Stack, sizeof(Stack)); + Stack.Parameters.QueryId.IdType = BusQueryCompatibleIDs; + Status = IopInitiatePnpIrp( + DeviceNode->PhysicalDeviceObject, + &IoStatusBlock, + IRP_MN_QUERY_ID, + &Stack); + if (NT_SUCCESS(Status) && IoStatusBlock.Information) + { + /* + * FIXME: Check for valid characters, if there is invalid characters + * then bugcheck. + */ + TotalLength = 0; + Ptr = (PWSTR)IoStatusBlock.Information; + DPRINT("Compatible IDs:\n"); + while (*Ptr) + { + DPRINT(" %S\n", Ptr); + Length = wcslen(Ptr) + 1; + + Ptr += Length; + TotalLength += Length; + } + DPRINT("TotalLength: %hu\n", TotalLength); + DPRINT("\n"); + + RtlInitUnicodeString(&ValueName, L"CompatibleIDs"); + Status = ZwSetValueKey(InstanceKey, + &ValueName, + 0, + REG_MULTI_SZ, + (PVOID)IoStatusBlock.Information, + (TotalLength + 1) * sizeof(WCHAR)); + if (!NT_SUCCESS(Status)) + { + DPRINT1("ZwSetValueKey() failed (Status %lx) or no Compatible ID returned\n", Status); + } + } + else + { + DPRINT("IopInitiatePnpIrp() failed (Status %x)\n", Status); + } + + return Status; +} + /* * IopActionInterrogateDeviceStack @@ -1359,9 +1478,6 @@ WCHAR InstancePath[MAX_PATH]; IO_STACK_LOCATION Stack; NTSTATUS Status; - PWSTR Ptr; - USHORT Length; - USHORT TotalLength; ULONG RequiredLength; LCID LocaleId; HANDLE InstanceKey = NULL; @@ -1516,94 +1632,9 @@ DPRINT1("Failed to create the instance key! (Status %lx)\n", Status); } - DPRINT("Sending IRP_MN_QUERY_ID.BusQueryHardwareIDs to device stack\n"); - - Stack.Parameters.QueryId.IdType = BusQueryHardwareIDs; - Status = IopInitiatePnpIrp(DeviceNode->PhysicalDeviceObject, - &IoStatusBlock, - IRP_MN_QUERY_ID, - &Stack); - if (NT_SUCCESS(Status)) - { - /* - * FIXME: Check for valid characters, if there is invalid characters - * then bugcheck. - */ - TotalLength = 0; - Ptr = (PWSTR)IoStatusBlock.Information; - DPRINT("Hardware IDs:\n"); - while (*Ptr) - { - DPRINT(" %S\n", Ptr); - Length = wcslen(Ptr) + 1; - - Ptr += Length; - TotalLength += Length; - } - DPRINT("TotalLength: %hu\n", TotalLength); - DPRINT("\n"); - - RtlInitUnicodeString(&ValueName, L"HardwareID"); - Status = ZwSetValueKey(InstanceKey, - &ValueName, - 0, - REG_MULTI_SZ, - (PVOID)IoStatusBlock.Information, - (TotalLength + 1) * sizeof(WCHAR)); - if (!NT_SUCCESS(Status)) - { - DPRINT1("ZwSetValueKey() failed (Status %lx)\n", Status); - } - } - else - { - DPRINT("IopInitiatePnpIrp() failed (Status %x)\n", Status); - } - - DPRINT("Sending IRP_MN_QUERY_ID.BusQueryCompatibleIDs to device stack\n"); - - Stack.Parameters.QueryId.IdType = BusQueryCompatibleIDs; - Status = IopInitiatePnpIrp( - DeviceNode->PhysicalDeviceObject, - &IoStatusBlock, - IRP_MN_QUERY_ID, - &Stack); - if (NT_SUCCESS(Status) && IoStatusBlock.Information) - { - /* - * FIXME: Check for valid characters, if there is invalid characters - * then bugcheck. - */ - TotalLength = 0; - Ptr = (PWSTR)IoStatusBlock.Information; - DPRINT("Compatible IDs:\n"); - while (*Ptr) - { - DPRINT(" %S\n", Ptr); - Length = wcslen(Ptr) + 1; - - Ptr += Length; - TotalLength += Length; - } - DPRINT("TotalLength: %hu\n", TotalLength); - DPRINT("\n"); - - RtlInitUnicodeString(&ValueName, L"CompatibleIDs"); - Status = ZwSetValueKey(InstanceKey, - &ValueName, - 0, - REG_MULTI_SZ, - (PVOID)IoStatusBlock.Information, - (TotalLength + 1) * sizeof(WCHAR)); - if (!NT_SUCCESS(Status)) - { - DPRINT1("ZwSetValueKey() failed (Status %lx) or no Compatible ID returned\n", Status); - } - } - else - { - DPRINT("IopInitiatePnpIrp() failed (Status %x)\n", Status); - } + IopQueryHardwareIds(DeviceNode, InstanceKey); + + IopQueryCompatibleIds(DeviceNode, InstanceKey); DPRINT("Sending IRP_MN_QUERY_DEVICE_TEXT.DeviceTextDescription to device stack\n");
13 years, 2 months
1
0
0
0
[cgutman] 53392: [PNPMGR] - Fix IoReportDetectedDevice to use the caller's driver object
by cgutman@svn.reactos.org
Author: cgutman Date: Tue Aug 23 03:57:24 2011 New Revision: 53392 URL:
http://svn.reactos.org/svn/reactos?rev=53392&view=rev
Log: [PNPMGR] - Fix IoReportDetectedDevice to use the caller's driver object Modified: trunk/reactos/ntoskrnl/include/internal/io.h trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c trunk/reactos/ntoskrnl/io/pnpmgr/pnpreport.c trunk/reactos/ntoskrnl/io/pnpmgr/pnproot.c Modified: trunk/reactos/ntoskrnl/include/internal/io.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/io.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/io.h [iso-8859-1] Tue Aug 23 03:57:24 2011 @@ -1022,6 +1022,7 @@ NTSTATUS PnpRootCreateDevice( IN PUNICODE_STRING ServiceName, + IN OPTIONAL PDRIVER_OBJECT DriverObject, OUT PDEVICE_OBJECT *PhysicalDeviceObject, OUT OPTIONAL PUNICODE_STRING FullInstancePath ); Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.…
============================================================================== --- trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] Tue Aug 23 03:57:24 2011 @@ -690,7 +690,7 @@ RtlAppendUnicodeStringToString(&FullServiceName, &LegacyPrefix); RtlAppendUnicodeStringToString(&FullServiceName, ServiceName1); - Status = PnpRootCreateDevice(&FullServiceName, &PhysicalDeviceObject, &Node->InstancePath); + Status = PnpRootCreateDevice(&FullServiceName, NULL, &PhysicalDeviceObject, &Node->InstancePath); if (!NT_SUCCESS(Status)) { DPRINT1("PnpRootCreateDevice() failed with status 0x%08X\n", Status); Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpreport.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/pnprepo…
============================================================================== --- trunk/reactos/ntoskrnl/io/pnpmgr/pnpreport.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/pnpmgr/pnpreport.c [iso-8859-1] Tue Aug 23 03:57:24 2011 @@ -202,12 +202,12 @@ if (DeviceObject && *DeviceObject) { Pdo = *DeviceObject; - DeviceNode = IopGetDeviceNode(*DeviceObject); } else { /* Create the PDO */ Status = PnpRootCreateDevice(&ServiceName, + DriverObject, &Pdo, NULL); if (!NT_SUCCESS(Status)) @@ -215,18 +215,18 @@ DPRINT("PnpRootCreateDevice() failed (Status 0x%08lx)\n", Status); return Status; } - - /* Create the device node for the new PDO */ - Status = IopCreateDeviceNode(IopRootDeviceNode, - Pdo, - NULL, - &DeviceNode); - - if (!NT_SUCCESS(Status)) - { - DPRINT("IopCreateDeviceNode() failed (Status 0x%08lx)\n", Status); - return Status; - } + } + + /* Create the device node for the new PDO */ + Status = IopCreateDeviceNode(IopRootDeviceNode, + Pdo, + NULL, + &DeviceNode); + + if (!NT_SUCCESS(Status)) + { + DPRINT("IopCreateDeviceNode() failed (Status 0x%08lx)\n", Status); + return Status; } /* We don't call AddDevice for devices reported this way */ Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnproot.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/pnproot…
============================================================================== --- trunk/reactos/ntoskrnl/io/pnpmgr/pnproot.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/pnpmgr/pnproot.c [iso-8859-1] Tue Aug 23 03:57:24 2011 @@ -130,6 +130,7 @@ NTSTATUS PnpRootCreateDevice( IN PUNICODE_STRING ServiceName, + IN OPTIONAL PDRIVER_OBJECT DriverObject, OUT PDEVICE_OBJECT *PhysicalDeviceObject, OUT OPTIONAL PUNICODE_STRING FullInstancePath) { @@ -271,7 +272,7 @@ /* Initialize a device object */ Status = IoCreateDevice( - PnpRootDeviceObject->DriverObject, + DriverObject ? DriverObject : PnpRootDeviceObject->DriverObject, sizeof(PNPROOT_PDO_DEVICE_EXTENSION), NULL, FILE_DEVICE_CONTROLLER,
13 years, 2 months
1
0
0
0
← Newer
1
...
9
10
11
12
13
14
15
...
50
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Results per page:
10
25
50
100
200